Merge similar messages for adding modeled methods
This commit is contained in:
@@ -142,8 +142,8 @@ export class DataExtensionsEditorView extends AbstractWebview<
|
||||
}
|
||||
|
||||
await this.postMessage({
|
||||
t: "setExistingModeledMethods",
|
||||
existingModeledMethods,
|
||||
t: "addModeledMethods",
|
||||
modeledMethods: existingModeledMethods,
|
||||
});
|
||||
} catch (e: unknown) {
|
||||
void extLogger.log(`Unable to read data extension YAML: ${e}`);
|
||||
@@ -250,6 +250,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
|
||||
await this.postMessage({
|
||||
t: "addModeledMethods",
|
||||
modeledMethods: modeledMethodsByName,
|
||||
overrideNone: true,
|
||||
});
|
||||
},
|
||||
(update) => this.showProgress(update),
|
||||
|
||||
@@ -493,14 +493,17 @@ export interface ShowProgressMessage {
|
||||
message: string;
|
||||
}
|
||||
|
||||
export interface SetExistingModeledMethods {
|
||||
t: "setExistingModeledMethods";
|
||||
existingModeledMethods: Record<string, ModeledMethod>;
|
||||
}
|
||||
|
||||
export interface AddModeledMethodsMessage {
|
||||
t: "addModeledMethods";
|
||||
modeledMethods: Record<string, ModeledMethod>;
|
||||
|
||||
/**
|
||||
* If true, then any existing modeled methods set to "none" will be
|
||||
* overwritten by the new modeled methods. Otherwise, the "none" modeled
|
||||
* methods will not be overwritten, even if the new modeled methods
|
||||
* contain a better model.
|
||||
*/
|
||||
overrideNone?: boolean;
|
||||
}
|
||||
|
||||
export interface SaveModeledMethods {
|
||||
@@ -516,7 +519,6 @@ export interface GenerateExternalApiMessage {
|
||||
export type ToDataExtensionsEditorMessage =
|
||||
| SetExternalApiUsagesMessage
|
||||
| ShowProgressMessage
|
||||
| SetExistingModeledMethods
|
||||
| AddModeledMethodsMessage;
|
||||
|
||||
export type FromDataExtensionsEditorMessage =
|
||||
|
||||
@@ -56,23 +56,16 @@ export function DataExtensionsEditor(): JSX.Element {
|
||||
break;
|
||||
case "showProgress":
|
||||
setProgress(msg);
|
||||
break;
|
||||
case "setExistingModeledMethods":
|
||||
setModeledMethods((oldModeledMethods) => {
|
||||
return {
|
||||
...msg.existingModeledMethods,
|
||||
...oldModeledMethods,
|
||||
};
|
||||
});
|
||||
|
||||
break;
|
||||
case "addModeledMethods":
|
||||
setModeledMethods((oldModeledMethods) => {
|
||||
const filteredOldModeledMethods = Object.fromEntries(
|
||||
Object.entries(oldModeledMethods).filter(
|
||||
([, value]) => value.type !== "none",
|
||||
),
|
||||
);
|
||||
const filteredOldModeledMethods = msg.overrideNone
|
||||
? Object.fromEntries(
|
||||
Object.entries(oldModeledMethods).filter(
|
||||
([, value]) => value.type !== "none",
|
||||
),
|
||||
)
|
||||
: oldModeledMethods;
|
||||
|
||||
return {
|
||||
...msg.modeledMethods,
|
||||
|
||||
Reference in New Issue
Block a user