Skip to content

Commit a1809b0

Browse files
committed
Merge similar messages for adding modeled methods
1 parent f78f535 commit a1809b0

3 files changed

Lines changed: 18 additions & 22 deletions

File tree

extensions/ql-vscode/src/data-extensions-editor/data-extensions-editor-view.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,8 @@ export class DataExtensionsEditorView extends AbstractWebview<
142142
}
143143

144144
await this.postMessage({
145-
t: "setExistingModeledMethods",
146-
existingModeledMethods,
145+
t: "addModeledMethods",
146+
modeledMethods: existingModeledMethods,
147147
});
148148
} catch (e: unknown) {
149149
void extLogger.log(`Unable to read data extension YAML: ${e}`);
@@ -250,6 +250,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
250250
await this.postMessage({
251251
t: "addModeledMethods",
252252
modeledMethods: modeledMethodsByName,
253+
overrideNone: true,
253254
});
254255
},
255256
(update) => this.showProgress(update),

extensions/ql-vscode/src/pure/interface-types.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -493,14 +493,17 @@ export interface ShowProgressMessage {
493493
message: string;
494494
}
495495

496-
export interface SetExistingModeledMethods {
497-
t: "setExistingModeledMethods";
498-
existingModeledMethods: Record<string, ModeledMethod>;
499-
}
500-
501496
export interface AddModeledMethodsMessage {
502497
t: "addModeledMethods";
503498
modeledMethods: Record<string, ModeledMethod>;
499+
500+
/**
501+
* If true, then any existing modeled methods set to "none" will be
502+
* overwritten by the new modeled methods. Otherwise, the "none" modeled
503+
* methods will not be overwritten, even if the new modeled methods
504+
* contain a better model.
505+
*/
506+
overrideNone?: boolean;
504507
}
505508

506509
export interface SaveModeledMethods {
@@ -516,7 +519,6 @@ export interface GenerateExternalApiMessage {
516519
export type ToDataExtensionsEditorMessage =
517520
| SetExternalApiUsagesMessage
518521
| ShowProgressMessage
519-
| SetExistingModeledMethods
520522
| AddModeledMethodsMessage;
521523

522524
export type FromDataExtensionsEditorMessage =

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

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -56,23 +56,16 @@ export function DataExtensionsEditor(): JSX.Element {
5656
break;
5757
case "showProgress":
5858
setProgress(msg);
59-
break;
60-
case "setExistingModeledMethods":
61-
setModeledMethods((oldModeledMethods) => {
62-
return {
63-
...msg.existingModeledMethods,
64-
...oldModeledMethods,
65-
};
66-
});
67-
6859
break;
6960
case "addModeledMethods":
7061
setModeledMethods((oldModeledMethods) => {
71-
const filteredOldModeledMethods = Object.fromEntries(
72-
Object.entries(oldModeledMethods).filter(
73-
([, value]) => value.type !== "none",
74-
),
75-
);
62+
const filteredOldModeledMethods = msg.overrideNone
63+
? Object.fromEntries(
64+
Object.entries(oldModeledMethods).filter(
65+
([, value]) => value.type !== "none",
66+
),
67+
)
68+
: oldModeledMethods;
7669

7770
return {
7871
...msg.modeledMethods,

0 commit comments

Comments
 (0)