Skip to content

Commit aba574e

Browse files
Pull out UmmodelableMethodRow to a separate component
1 parent 799b96e commit aba574e

File tree

1 file changed

+41
-33
lines changed
  • extensions/ql-vscode/src/view/data-extensions-editor

1 file changed

+41
-33
lines changed

extensions/ql-vscode/src/view/data-extensions-editor/MethodRow.tsx

Lines changed: 41 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,9 @@ type Props = {
5757
) => void;
5858
};
5959

60-
export const MethodRow = ({
61-
externalApiUsage,
62-
modeledMethod,
63-
mode,
64-
onChange,
65-
}: Props) => {
60+
export const MethodRow = (props: Props) => {
61+
const { externalApiUsage, modeledMethod, mode, onChange } = props;
62+
6663
const argumentsList = useMemo(() => {
6764
if (externalApiUsage.methodParameters === "()") {
6865
return [];
@@ -172,33 +169,8 @@ export const MethodRow = ({
172169
!externalApiUsage.supported ||
173170
(modeledMethod && modeledMethod?.type !== "none");
174171

175-
const externalApiUsageName = (
176-
<span>
177-
{externalApiUsage.packageName}.{externalApiUsage.typeName}.
178-
{externalApiUsage.methodName}
179-
{externalApiUsage.methodParameters}
180-
</span>
181-
);
182-
183172
if (!methodCanBeModeled) {
184-
return (
185-
<VSCodeDataGridRow>
186-
<ApiOrMethodCell gridColumn={1}>
187-
<VSCodeCheckbox />
188-
{externalApiUsageName}
189-
{mode === Mode.Application && (
190-
<UsagesButton onClick={jumpToUsage}>
191-
{externalApiUsage.usages.length}
192-
</UsagesButton>
193-
)}
194-
<ViewLink onClick={jumpToUsage}>View</ViewLink>
195-
</ApiOrMethodCell>
196-
<VSCodeDataGridCell gridColumn={2} />
197-
<VSCodeDataGridCell gridColumn={3} />
198-
<VSCodeDataGridCell gridColumn={4} />
199-
<VSCodeDataGridCell gridColumn={5} />
200-
</VSCodeDataGridRow>
201-
);
173+
return <UmmodelableMethodRow {...props} jumpToUsage={jumpToUsage} />;
202174
}
203175

204176
const showInputCell =
@@ -215,7 +187,7 @@ export const MethodRow = ({
215187
<VSCodeDataGridRow>
216188
<ApiOrMethodCell gridColumn={1}>
217189
<VSCodeCheckbox />
218-
{externalApiUsageName}
190+
<ExternalApiUsageName {...props} />
219191
{mode === Mode.Application && (
220192
<UsagesButton onClick={jumpToUsage}>
221193
{externalApiUsage.usages.length}
@@ -257,3 +229,39 @@ export const MethodRow = ({
257229
</VSCodeDataGridRow>
258230
);
259231
};
232+
233+
function UmmodelableMethodRow(props: {
234+
externalApiUsage: ExternalApiUsage;
235+
mode: Mode;
236+
jumpToUsage: () => void;
237+
}) {
238+
const { externalApiUsage, mode, jumpToUsage } = props;
239+
return (
240+
<VSCodeDataGridRow>
241+
<ApiOrMethodCell gridColumn={1}>
242+
<VSCodeCheckbox />
243+
<ExternalApiUsageName {...props} />
244+
{mode === Mode.Application && (
245+
<UsagesButton onClick={jumpToUsage}>
246+
{externalApiUsage.usages.length}
247+
</UsagesButton>
248+
)}
249+
<ViewLink onClick={jumpToUsage}>View</ViewLink>
250+
</ApiOrMethodCell>
251+
<VSCodeDataGridCell gridColumn={2} />
252+
<VSCodeDataGridCell gridColumn={3} />
253+
<VSCodeDataGridCell gridColumn={4} />
254+
<VSCodeDataGridCell gridColumn={5} />
255+
</VSCodeDataGridRow>
256+
);
257+
}
258+
259+
function ExternalApiUsageName(props: { externalApiUsage: ExternalApiUsage }) {
260+
return (
261+
<span>
262+
{props.externalApiUsage.packageName}.{props.externalApiUsage.typeName}.
263+
{props.externalApiUsage.methodName}
264+
{props.externalApiUsage.methodParameters}
265+
</span>
266+
);
267+
}

0 commit comments

Comments
 (0)