From eb58bc0d6f2f6362cb0c820381c68881a361c97b Mon Sep 17 00:00:00 2001 From: ddelpiano Date: Mon, 17 Jul 2023 19:32:36 +0200 Subject: [PATCH] serialisables for ports --- src/models/MetaPort.ts | 8 ++++++++ src/react-diagrams/MetaNodeModel.ts | 15 ++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/models/MetaPort.ts b/src/models/MetaPort.ts index c65174b..6dcfe0f 100644 --- a/src/models/MetaPort.ts +++ b/src/models/MetaPort.ts @@ -34,4 +34,12 @@ export class MetaPort { getType(): string { return this.type; } + + serialise(): any { + return { + 'id': this.getId(), + 'name': this.getName(), + 'type': this.getType(), + }; + } } diff --git a/src/react-diagrams/MetaNodeModel.ts b/src/react-diagrams/MetaNodeModel.ts index 9bf80af..5f44e4d 100644 --- a/src/react-diagrams/MetaNodeModel.ts +++ b/src/react-diagrams/MetaNodeModel.ts @@ -64,6 +64,15 @@ export class MetaNodeModel extends NodeModel { return this.getOptions()[label]; } + setLoggable(loggable: string, value: any, triggerUpdate?: boolean | undefined) { + // TODO: we need to move this away from meta-diagram but I don't really have time to think about this atm + // @ts-ignore + this.options['Loggables'][loggable] = value; + if (triggerUpdate) { + this.flagUpdate(CallbackTypes.OPTIONS_UPDATED); + } + } + getId(): string[] { return [...this.getOption('id')]; } @@ -100,7 +109,11 @@ export class MetaNodeModel extends NodeModel { }); return { ...super.serialize(), - ...additionalParams, + 'name': this.getOption('name'), + 'graphPath': this.getOption('graphPath'), + 'class_inputs': { + ...additionalParams, + } }; } }