@@ -60,28 +60,19 @@ type Props = {
6060export const MethodRow = ( props : Props ) => {
6161 const { externalApiUsage, modeledMethod } = props ;
6262
63- const jumpToUsage = useCallback ( ( ) => {
64- vscode . postMessage ( {
65- t : "jumpToUsage" ,
66- // In framework mode, the first and only usage is the definition of the method
67- location : externalApiUsage . usages [ 0 ] . url ,
68- } ) ;
69- } , [ externalApiUsage ] ) ;
70-
7163 const methodCanBeModeled =
7264 ! externalApiUsage . supported ||
7365 ( modeledMethod && modeledMethod ?. type !== "none" ) ;
7466
7567 if ( methodCanBeModeled ) {
76- return < ModelableMethodRow { ...props } jumpToUsage = { jumpToUsage } /> ;
68+ return < ModelableMethodRow { ...props } /> ;
7769 } else {
78- return < UmmodelableMethodRow { ...props } jumpToUsage = { jumpToUsage } /> ;
70+ return < UmmodelableMethodRow { ...props } /> ;
7971 }
8072} ;
8173
82- function ModelableMethodRow ( props : Props & { jumpToUsage : ( ) => void } ) {
83- const { externalApiUsage, modeledMethod, mode, onChange, jumpToUsage } =
84- props ;
74+ function ModelableMethodRow ( props : Props ) {
75+ const { externalApiUsage, modeledMethod, mode, onChange } = props ;
8576
8677 const argumentsList = useMemo ( ( ) => {
8778 if ( externalApiUsage . methodParameters === "()" ) {
@@ -157,6 +148,11 @@ function ModelableMethodRow(props: Props & { jumpToUsage: () => void }) {
157148 [ onChange , externalApiUsage , modeledMethod ] ,
158149 ) ;
159150
151+ const jumpToUsage = useCallback (
152+ ( ) => sendJumpToUsageMessage ( externalApiUsage ) ,
153+ [ externalApiUsage ] ,
154+ ) ;
155+
160156 const inputOptions = useMemo (
161157 ( ) => [
162158 { value : "Argument[this]" , label : "Argument[this]" } ,
@@ -240,9 +236,14 @@ function ModelableMethodRow(props: Props & { jumpToUsage: () => void }) {
240236function UmmodelableMethodRow ( props : {
241237 externalApiUsage : ExternalApiUsage ;
242238 mode : Mode ;
243- jumpToUsage : ( ) => void ;
244239} ) {
245- const { externalApiUsage, mode, jumpToUsage } = props ;
240+ const { externalApiUsage, mode } = props ;
241+
242+ const jumpToUsage = useCallback (
243+ ( ) => sendJumpToUsageMessage ( externalApiUsage ) ,
244+ [ externalApiUsage ] ,
245+ ) ;
246+
246247 return (
247248 < VSCodeDataGridRow >
248249 < ApiOrMethodCell gridColumn = { 1 } >
@@ -272,3 +273,11 @@ function ExternalApiUsageName(props: { externalApiUsage: ExternalApiUsage }) {
272273 </ span >
273274 ) ;
274275}
276+
277+ function sendJumpToUsageMessage ( externalApiUsage : ExternalApiUsage ) {
278+ vscode . postMessage ( {
279+ t : "jumpToUsage" ,
280+ // In framework mode, the first and only usage is the definition of the method
281+ location : externalApiUsage . usages [ 0 ] . url ,
282+ } ) ;
283+ }
0 commit comments