From 984a76993fe2ea6e7a47e5e2052d4b6748b70842 Mon Sep 17 00:00:00 2001 From: "mario.gk" Date: Thu, 7 May 2020 21:38:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20Symbol=EF=BC=8Chistory=20?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=20isModified?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/designer/src/document/history.ts | 4 ++++ packages/vision-preset/src/index.ts | 3 +++ packages/vision-preset/src/symbols.ts | 17 +++++++++++++++++ 3 files changed, 24 insertions(+) create mode 100644 packages/vision-preset/src/symbols.ts diff --git a/packages/designer/src/document/history.ts b/packages/designer/src/document/history.ts index 0f283b65b..8a37f1032 100644 --- a/packages/designer/src/document/history.ts +++ b/packages/designer/src/document/history.ts @@ -174,6 +174,10 @@ export class History { this.emitter.removeAllListeners(); this.records = []; } + + isModified() { + return this.point !== this.session.cursor; + } } class Session { diff --git a/packages/vision-preset/src/index.ts b/packages/vision-preset/src/index.ts index 23dbe607a..ed632b3ef 100644 --- a/packages/vision-preset/src/index.ts +++ b/packages/vision-preset/src/index.ts @@ -25,6 +25,7 @@ import DragEngine from './drag-engine'; import Viewport from './viewport'; import Project from './project'; import { designer, editor } from './editor'; +import Symbols from './symbols'; import './vision.less'; @@ -109,6 +110,7 @@ const VisualEngine = { Version, Project, logger, + Symbols, }; (window as any).VisualEngine = VisualEngine; @@ -156,6 +158,7 @@ export { Version, Project, logger, + Symbols, }; diff --git a/packages/vision-preset/src/symbols.ts b/packages/vision-preset/src/symbols.ts new file mode 100644 index 000000000..81091e371 --- /dev/null +++ b/packages/vision-preset/src/symbols.ts @@ -0,0 +1,17 @@ +export class SymbolManager { + private symbolMap: { [symbolName: string]: symbol } = {}; + + public create(name: string): symbol { + if (this.symbolMap[name]) { + return this.symbolMap[name]; + } + this.symbolMap[name] = Symbol(name); + return this.symbolMap[name]; + } + + public get(name: string) { + return this.symbolMap[name]; + } +} + +export default new SymbolManager();