From 21960778f52af3f670494df99f8a8d93fd206307 Mon Sep 17 00:00:00 2001 From: MrKBear Date: Wed, 20 Apr 2022 23:23:51 +0800 Subject: [PATCH] Add parameter archive func --- source/Model/CtrlObject.ts | 21 ++++- source/Model/Parameter.ts | 175 ++++++++++++++++++++++++++++++++++--- 2 files changed, 184 insertions(+), 12 deletions(-) diff --git a/source/Model/CtrlObject.ts b/source/Model/CtrlObject.ts index 89913e1..613355c 100644 --- a/source/Model/CtrlObject.ts +++ b/source/Model/CtrlObject.ts @@ -3,6 +3,16 @@ import { v4 as uuid } from "uuid"; import type { IAnyObject, Model } from "@Model/Model"; import type { ObjectID } from "@Model/Model"; +interface IArchiveCtrlObject { + displayName: CtrlObject["displayName"]; + color: CtrlObject["color"]; + display: CtrlObject["display"]; + update: CtrlObject["update"]; + id: string; + renderParameter: Record; + deleteFlag: CtrlObject["deleteFlag"]; +} + /** * 可控对象 */ @@ -97,7 +107,14 @@ class CtrlObject extends LabelObject { public isDeleted(): boolean { return this.deleteFlag; } + + public toArchive(): IArchiveCtrlObject { + return {} as any; + } + + public fromArchive(archive: IArchiveCtrlObject): void { + + } } -export default CtrlObject; -export { CtrlObject }; \ No newline at end of file +export { CtrlObject, IArchiveCtrlObject }; \ No newline at end of file diff --git a/source/Model/Parameter.ts b/source/Model/Parameter.ts index a40eb8b..06a4683 100644 --- a/source/Model/Parameter.ts +++ b/source/Model/Parameter.ts @@ -1,6 +1,12 @@ -import type { Group } from "@Model/Group"; -import type { Range } from "@Model/Range"; -import type { Label } from "@Model/Label"; +import { Group } from "@Model/Group"; +import { Range } from "@Model/Range"; +import { Label } from "@Model/Label"; +import { Behavior } from "@Model/Behavior"; + +type IObjectParamArchiveType = { + __LIVING_TOGETHER_OBJECT_ID: string; + __LIVING_TOGETHER_OBJECT_TYPE: string; +} type IObjectParamCacheType = { picker: P; @@ -26,6 +32,15 @@ type IMapObjectParamTypeKeyToType = { "CLG": IObjectParamCacheType