Skip to content

Commit 91f6772

Browse files
committed
Add interaction to MethodRow stories
1 parent d20cf92 commit 91f6772

1 file changed

Lines changed: 23 additions & 1 deletion

File tree

extensions/ql-vscode/src/stories/model-editor/MethodRow.stories.tsx

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import * as React from "react";
2+
import { useCallback, useEffect, useState } from "react";
23

34
import { Meta, StoryFn } from "@storybook/react";
45

@@ -20,12 +21,33 @@ export default {
2021
} as Meta<typeof MethodRowComponent>;
2122

2223
const Template: StoryFn<typeof MethodRowComponent> = (args) => {
24+
const [modeledMethods, setModeledMethods] = useState<ModeledMethod[]>(
25+
args.modeledMethods,
26+
);
27+
28+
useEffect(() => {
29+
setModeledMethods(args.modeledMethods);
30+
}, [args.modeledMethods]);
31+
32+
const handleChange = useCallback(
33+
(methodSignature: string, modeledMethods: ModeledMethod[]) => {
34+
args.onChange(methodSignature, modeledMethods);
35+
setModeledMethods(modeledMethods);
36+
},
37+
[args],
38+
);
39+
2340
const gridTemplateColumns = args.viewState?.showMultipleModels
2441
? MULTIPLE_MODELS_GRID_TEMPLATE_COLUMNS
2542
: SINGLE_MODEL_GRID_TEMPLATE_COLUMNS;
43+
2644
return (
2745
<DataGrid gridTemplateColumns={gridTemplateColumns}>
28-
<MethodRowComponent {...args} />
46+
<MethodRowComponent
47+
{...args}
48+
modeledMethods={modeledMethods}
49+
onChange={handleChange}
50+
/>
2951
</DataGrid>
3052
);
3153
};

0 commit comments

Comments
 (0)