@@ -38,6 +38,25 @@ const SupportSpan = styled.span<SupportedUnsupportedSpanProps>`
3838 } } ;
3939` ;
4040
41+ type SupportedUnsupportedLinkProps = {
42+ supported : boolean ;
43+ modeled : ModeledMethod | undefined ;
44+ } ;
45+
46+ const SupportLink = styled . button < SupportedUnsupportedLinkProps > `
47+ color: ${ ( props ) => {
48+ if ( ! props . supported && props . modeled && props . modeled ?. type !== "none" ) {
49+ return "orange" ;
50+ } else {
51+ return props . supported ? "green" : "red" ;
52+ }
53+ } } ;
54+ background-color: transparent;
55+ border: none;
56+ cursor: pointer;
57+ padding: 0;
58+ ` ;
59+
4160const UsagesButton = styled . button `
4261 color: var(--vscode-editor-foreground);
4362 background-color: transparent;
@@ -140,6 +159,7 @@ export const MethodRow = ({
140159 const jumpToUsage = useCallback ( ( ) => {
141160 vscode . postMessage ( {
142161 t : "jumpToUsage" ,
162+ // In framework mode, the first and only usage is the definition of the method
143163 location : externalApiUsage . usages [ 0 ] . url ,
144164 } ) ;
145165 } , [ externalApiUsage ] ) ;
@@ -160,13 +180,25 @@ export const MethodRow = ({
160180 </ SupportSpan >
161181 </ VSCodeDataGridCell >
162182 < VSCodeDataGridCell gridColumn = { 2 } >
163- < SupportSpan
164- supported = { externalApiUsage . supported }
165- modeled = { modeledMethod }
166- >
167- { externalApiUsage . methodName }
168- { externalApiUsage . methodParameters }
169- </ SupportSpan >
183+ { mode === Mode . Application && (
184+ < SupportSpan
185+ supported = { externalApiUsage . supported }
186+ modeled = { modeledMethod }
187+ >
188+ { externalApiUsage . methodName }
189+ { externalApiUsage . methodParameters }
190+ </ SupportSpan >
191+ ) }
192+ { mode === Mode . Framework && (
193+ < SupportLink
194+ supported = { externalApiUsage . supported }
195+ modeled = { modeledMethod }
196+ onClick = { jumpToUsage }
197+ >
198+ { externalApiUsage . methodName }
199+ { externalApiUsage . methodParameters }
200+ </ SupportLink >
201+ ) }
170202 </ VSCodeDataGridCell >
171203 { mode === Mode . Application && (
172204 < VSCodeDataGridCell gridColumn = { 3 } >
0 commit comments