Skip to content

Commit 216db9f

Browse files
committed
Make "Save" button respect selected rows
1 parent 6036758 commit 216db9f

2 files changed

Lines changed: 21 additions & 9 deletions

File tree

extensions/ql-vscode/src/view/model-editor/LibraryRow.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ export const LibraryRow = ({
244244
<SectionDivider />
245245
<ButtonsContainer>
246246
<VSCodeButton onClick={handleSave} disabled={!hasUnsavedChanges}>
247-
Save
247+
{selectedSignatures.size === 0 ? "Save" : "Save selected"}
248248
</VSCodeButton>
249249
</ButtonsContainer>
250250
</>

extensions/ql-vscode/src/view/model-editor/ModelEditor.tsx

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -216,15 +216,27 @@ export function ModelEditor({
216216
const onSaveAllClick = useCallback(() => {
217217
vscode.postMessage({
218218
t: "saveModeledMethods",
219+
methodSignatures:
220+
selectedSignatures.size === 0
221+
? undefined
222+
: Array.from(selectedSignatures),
219223
});
220-
}, []);
224+
}, [selectedSignatures]);
221225

222-
const onSaveModelClick = useCallback((methodSignatures: string[]) => {
223-
vscode.postMessage({
224-
t: "saveModeledMethods",
225-
methodSignatures,
226-
});
227-
}, []);
226+
const onSaveModelClick = useCallback(
227+
(methodSignatures: string[]) => {
228+
vscode.postMessage({
229+
t: "saveModeledMethods",
230+
methodSignatures:
231+
selectedSignatures.size === 0
232+
? methodSignatures
233+
: methodSignatures.filter((signature) =>
234+
selectedSignatures.has(signature),
235+
),
236+
});
237+
},
238+
[selectedSignatures],
239+
);
228240

229241
const onGenerateFromSourceClick = useCallback(() => {
230242
vscode.postMessage({
@@ -327,7 +339,7 @@ export function ModelEditor({
327339
onClick={onSaveAllClick}
328340
disabled={modifiedSignatures.size === 0}
329341
>
330-
Save all
342+
{selectedSignatures.size === 0 ? "Save all" : "Save selected"}
331343
</VSCodeButton>
332344
<VSCodeButton appearance="secondary" onClick={onRefreshClick}>
333345
Refresh

0 commit comments

Comments
 (0)