@wcardinal/wcardinal-ui 0.199.1 → 0.200.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -60,11 +60,12 @@ export declare abstract class DDiagramBase<CANVAS extends DDiagramCanvasBase = D
60
60
  constructor(options?: OPTIONS);
61
61
  get snapshot(): DDiagramSnapshot;
62
62
  get controller(): CONTROLLER | null;
63
- set(serialized: DDiagramSerialized | null): void;
64
- protected onSet(serialized: DDiagramSerialized): void;
63
+ set(serialized: null): Promise<null>;
64
+ set(serialized: DDiagramSerialized): Promise<CANVAS>;
65
+ protected onSet(serialized: DDiagramSerialized, canvas: CANVAS): void;
65
66
  protected abstract isEditMode(): boolean;
66
- protected newLayer(serialized: DDiagramSerialized, canvas: CANVAS, isEditMode: boolean, pieces?: string[], pieceData?: Map<string, EShapeEmbeddedDatum | null>): void;
67
- protected initLayer(canvas: CANVAS, shapes: EShape[], mapper?: DDiagramDataMapper | null): void;
67
+ protected newLayer(serialized: DDiagramSerialized, canvas: CANVAS, isEditMode: boolean, pieces?: string[], pieceData?: Map<string, EShapeEmbeddedDatum | null>): Promise<CANVAS>;
68
+ protected initLayer(canvas: CANVAS, shapes: EShape[], mapper?: DDiagramDataMapper | null): CANVAS;
68
69
  protected toCanvasBaseOptions(serialized: DDiagramSerialized): DDiagramCanvasBaseOptions<any>;
69
70
  protected toCanvasBaseBackgroundOptions(serialized: DDiagramSerialized, theme: THEME, isAmbient: boolean): DDiagramCanvasBackgroundOptions;
70
71
  protected abstract newCanvas(serialized: DDiagramSerialized): CANVAS;
@@ -105,7 +105,7 @@ export declare class DDiagramEditor<THEME extends DThemeDiagramEditor = DThemeDi
105
105
  saveAs(name: string): Promise<unknown>;
106
106
  delete(): Promise<unknown>;
107
107
  create(name: string, width: number, height: number): void;
108
- protected onSet(serialized: DDiagramSerialized): void;
108
+ protected onSet(serialized: DDiagramSerialized, canvas: DDiagramCanvasEditor): void;
109
109
  protected onUnset(): void;
110
110
  open(id: number): Promise<unknown>;
111
111
  close(): void;
@@ -26,7 +26,7 @@ export declare class DDiagram<THEME extends DThemeDiagram = DThemeDiagram, OPTIO
26
26
  data: DDiagramData;
27
27
  shape: DDiagramShape;
28
28
  constructor(options?: OPTIONS);
29
- protected initLayer(canvas: DDiagramCanvas, shapes: EShape[], mapper?: DDiagramDataMapper | null): void;
29
+ protected initLayer(canvas: DDiagramCanvas, shapes: EShape[], mapper?: DDiagramDataMapper | null): DDiagramCanvas;
30
30
  protected isEditMode(): boolean;
31
31
  protected newCanvas(serialized: DDiagramSerialized): DDiagramCanvas;
32
32
  protected toCanvasOptions(serialized: DDiagramSerialized): DDiagramCanvasOptions;
@@ -36,45 +36,59 @@ var DDiagramBase = /** @class */ (function (_super) {
36
36
  configurable: true
37
37
  });
38
38
  DDiagramBase.prototype.set = function (serialized) {
39
+ var _this = this;
39
40
  var oldSerialized = this._serialized;
40
41
  if (oldSerialized !== serialized) {
41
42
  if (oldSerialized) {
42
43
  this._serialized = null;
44
+ var canvas = this.canvas;
45
+ if (canvas) {
46
+ this.canvas = null;
47
+ }
43
48
  this.onUnset();
44
49
  }
45
50
  this._serialized = serialized;
46
51
  if (serialized) {
47
- this.onSet(serialized);
52
+ var canvas_1 = this.newCanvas(serialized);
53
+ var pieces_1 = serialized.pieces;
54
+ var isEditMode_1 = this.isEditMode();
55
+ var result = DDiagrams.toPieceData(this._controller, pieces_1, isEditMode_1).then(function (pieceData) {
56
+ return _this.newLayer(serialized, canvas_1, isEditMode_1, pieces_1, pieceData);
57
+ });
58
+ this.onSet(serialized, canvas_1);
59
+ this.canvas = canvas_1;
60
+ return result;
61
+ }
62
+ else {
63
+ return Promise.resolve(null);
48
64
  }
49
65
  }
66
+ else {
67
+ return Promise.resolve(this.canvas);
68
+ }
50
69
  };
51
- DDiagramBase.prototype.onSet = function (serialized) {
52
- var _this = this;
53
- var canvas = this.newCanvas(serialized);
54
- var pieces = serialized.pieces;
55
- var isEditMode = this.isEditMode();
56
- DDiagrams.toPieceData(this._controller, pieces, isEditMode).then(function (pieceData) {
57
- _this.newLayer(serialized, canvas, isEditMode, pieces, pieceData);
58
- });
59
- this.canvas = canvas;
70
+ DDiagramBase.prototype.onSet = function (serialized, canvas) {
71
+ // DO NOTHING
60
72
  };
61
73
  DDiagramBase.prototype.newLayer = function (serialized, canvas, isEditMode, pieces, pieceData) {
62
74
  var _this = this;
63
75
  var manager = new EShapeResourceManagerDeserialization(serialized, pieces, pieceData, isEditMode);
64
- DDiagrams.newLayer(serialized, canvas.layer, manager).then(function (shapes) {
65
- _this.initLayer(canvas, shapes);
76
+ var result = DDiagrams.newLayer(serialized, canvas.layer, manager).then(function (shapes) {
77
+ return _this.initLayer(canvas, shapes);
66
78
  });
67
79
  if (this._isAmbient) {
68
80
  var background = this.toCanvasBaseBackgroundOptions(serialized, this.theme, false);
69
81
  this.background.color = background.color;
70
82
  this.background.alpha = background.alpha;
71
83
  }
84
+ return result;
72
85
  };
73
86
  DDiagramBase.prototype.initLayer = function (canvas, shapes, mapper) {
74
87
  canvas.layer.init();
75
88
  canvas.initialize(shapes, mapper);
76
89
  DApplications.update(this);
77
90
  this.emit("ready", this);
91
+ return canvas;
78
92
  };
79
93
  DDiagramBase.prototype.toCanvasBaseOptions = function (serialized) {
80
94
  var _a;
@@ -109,10 +123,7 @@ var DDiagramBase = /** @class */ (function (_super) {
109
123
  };
110
124
  };
111
125
  DDiagramBase.prototype.onUnset = function () {
112
- var canvas = this.canvas;
113
- if (canvas) {
114
- this.canvas = null;
115
- }
126
+ // DO NOTHING
116
127
  };
117
128
  DDiagramBase.prototype.get = function () {
118
129
  return this._serialized;
@@ -1 +1 @@
1
- {"version":3,"file":"d-diagram-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-base.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DApplications } from \"./d-applications\";\nimport { DBaseShadow } from \"./d-base\";\nimport {\n\tDCanvasContainer,\n\tDCanvasContainerEvents,\n\tDCanvasContainerOptions,\n\tDThemeCanvasContainer\n} from \"./d-canvas-container\";\nimport { DDiagramBaseController } from \"./d-diagram-base-controller\";\nimport {\n\tDDiagramCanvasBackgroundOptions,\n\tDDiagramCanvasBase,\n\tDDiagramCanvasBaseOptions\n} from \"./d-diagram-canvas-base\";\nimport { DDiagramCanvasTilePyramidFactory } from \"./d-diagram-canvas-tile\";\nimport { DDiagramDataMapper } from \"./d-diagram-data-mapper\";\nimport { DDiagramLayer } from \"./d-diagram-layer\";\nimport { DDiagramSerialized } from \"./d-diagram-serialized\";\nimport { DDiagramSnapshot, DDiagramSnapshotOptions } from \"./d-diagram-snapshot\";\nimport { DDiagrams } from \"./d-diagrams\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { EShape } from \"./shape/e-shape\";\nimport { EShapeResourceManagerDeserialization } from \"./shape/e-shape-resource-manager-deserialization\";\nimport { EShapeEmbeddedDatum } from \"./shape/variant/e-shape-embedded-datum\";\n\n/**\n * {@link DDiagramBase} events.\n */\nexport interface DDiagramBaseEvents<CANVAS, EMITTER>\n\textends DCanvasContainerEvents<CANVAS, EMITTER> {\n\t/**\n\t * Triggered when all the shape initializations are finished.\n\t *\n\t * @param emitter an emitter\n\t */\n\tready(emitter: EMITTER): void;\n}\n\n/**\n * {@link DDiagramBase} \"on\" options.\n */\nexport interface DDiagramBaseOnOptions<CANVAS, EMITTER>\n\textends Partial<DDiagramBaseEvents<CANVAS, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DDiagramBase} options.\n */\nexport interface DDiagramBaseOptions<\n\tCANVAS extends DDiagramCanvasBase = DDiagramCanvasBase,\n\tCANVAS_OPTIONS extends DDiagramCanvasBaseOptions = DDiagramCanvasBaseOptions,\n\tCONTROLLER extends DDiagramBaseController = DDiagramBaseController,\n\tTHEME extends DThemeDiagramBase = DThemeDiagramBase,\n\tEMITTER = any\n> extends DCanvasContainerOptions<CANVAS, CANVAS_OPTIONS, THEME> {\n\tcontroller?: CONTROLLER;\n\n\t/**\n\t * A tile pyramid factory.\n\t */\n\ttile?: DDiagramCanvasTilePyramidFactory;\n\n\tambient?: boolean;\n\n\t/**\n\t * Snapshot options.\n\t */\n\tsnapshot?: DDiagramSnapshotOptions<CANVAS>;\n\n\ton?: DDiagramBaseOnOptions<CANVAS, EMITTER>;\n}\n\n/**\n * {@link DDiagramBase} theme.\n */\nexport interface DThemeDiagramBase extends DThemeCanvasContainer {\n\tgetCanvasBackgroundColor(): number;\n\tgetCanvasBackgroundAlpha(): number;\n\tgetCanvasShadow(): DBaseShadow | null;\n\tisAmbient(): boolean;\n}\n\nexport abstract class DDiagramBase<\n\tCANVAS extends DDiagramCanvasBase = DDiagramCanvasBase,\n\tCANVAS_OPTIONS extends DDiagramCanvasBaseOptions = DDiagramCanvasBaseOptions,\n\tCONTROLLER extends DDiagramBaseController = DDiagramBaseController,\n\tTHEME extends DThemeDiagramBase = DThemeDiagramBase,\n\tOPTIONS extends DDiagramBaseOptions<\n\t\tCANVAS,\n\t\tCANVAS_OPTIONS,\n\t\tCONTROLLER,\n\t\tTHEME\n\t> = DDiagramBaseOptions<CANVAS, CANVAS_OPTIONS, CONTROLLER, THEME>\n> extends DCanvasContainer<CANVAS, CANVAS_OPTIONS, THEME, OPTIONS> {\n\tprotected _serialized: DDiagramSerialized | null;\n\tprotected _tileFactory?: DDiagramCanvasTilePyramidFactory;\n\tprotected _controller?: CONTROLLER;\n\tprotected _isAmbient: boolean;\n\tprotected _snapshot: DDiagramSnapshot;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._serialized = null;\n\t\tthis._tileFactory = options?.tile;\n\t\tthis._controller = options?.controller;\n\t\tthis._isAmbient = options?.ambient ?? this.theme.isAmbient();\n\t\tthis._snapshot = new DDiagramSnapshot(this, options?.snapshot);\n\t}\n\n\tget snapshot(): DDiagramSnapshot {\n\t\treturn this._snapshot;\n\t}\n\n\tget controller(): CONTROLLER | null {\n\t\treturn this._controller || null;\n\t}\n\n\tset(serialized: DDiagramSerialized | null): void {\n\t\tconst oldSerialized = this._serialized;\n\t\tif (oldSerialized !== serialized) {\n\t\t\tif (oldSerialized) {\n\t\t\t\tthis._serialized = null;\n\t\t\t\tthis.onUnset();\n\t\t\t}\n\n\t\t\tthis._serialized = serialized;\n\t\t\tif (serialized) {\n\t\t\t\tthis.onSet(serialized);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onSet(serialized: DDiagramSerialized): void {\n\t\tconst canvas = this.newCanvas(serialized);\n\t\tconst pieces = serialized.pieces;\n\t\tconst isEditMode = this.isEditMode();\n\t\tDDiagrams.toPieceData(this._controller, pieces, isEditMode).then((pieceData): void => {\n\t\t\tthis.newLayer(serialized, canvas, isEditMode, pieces, pieceData);\n\t\t});\n\t\tthis.canvas = canvas;\n\t}\n\n\tprotected abstract isEditMode(): boolean;\n\n\tprotected newLayer(\n\t\tserialized: DDiagramSerialized,\n\t\tcanvas: CANVAS,\n\t\tisEditMode: boolean,\n\t\tpieces?: string[],\n\t\tpieceData?: Map<string, EShapeEmbeddedDatum | null>\n\t): void {\n\t\tconst manager = new EShapeResourceManagerDeserialization(\n\t\t\tserialized,\n\t\t\tpieces,\n\t\t\tpieceData,\n\t\t\tisEditMode\n\t\t);\n\t\tDDiagrams.newLayer(serialized, canvas.layer, manager).then((shapes: EShape[]): void => {\n\t\t\tthis.initLayer(canvas, shapes);\n\t\t});\n\t\tif (this._isAmbient) {\n\t\t\tconst background = this.toCanvasBaseBackgroundOptions(serialized, this.theme, false);\n\t\t\tthis.background.color = background.color;\n\t\t\tthis.background.alpha = background.alpha;\n\t\t}\n\t}\n\n\tprotected initLayer(\n\t\tcanvas: CANVAS,\n\t\tshapes: EShape[],\n\t\tmapper?: DDiagramDataMapper | null\n\t): void {\n\t\tcanvas.layer.init();\n\t\tcanvas.initialize(shapes, mapper);\n\t\tDApplications.update(this);\n\t\tthis.emit(\"ready\", this);\n\t}\n\n\tprotected toCanvasBaseOptions(serialized: DDiagramSerialized): DDiagramCanvasBaseOptions<any> {\n\t\tconst theme = this.theme;\n\t\tconst isAmbient = this._isAmbient;\n\t\treturn {\n\t\t\tname: serialized.name,\n\t\t\twidth: serialized.width,\n\t\t\theight: serialized.height,\n\t\t\tbackground: this.toCanvasBaseBackgroundOptions(serialized, theme, isAmbient),\n\t\t\tborder: isAmbient ? { color: null } : undefined,\n\t\t\toutline: isAmbient ? { color: null } : undefined,\n\t\t\tshadow: isAmbient ? null : theme.getCanvasShadow(),\n\t\t\ttile: {\n\t\t\t\tfactory: this._tileFactory,\n\t\t\t\tmapping: serialized.tile?.mapping\n\t\t\t},\n\t\t\tambient: isAmbient\n\t\t};\n\t}\n\n\tprotected toCanvasBaseBackgroundOptions(\n\t\tserialized: DDiagramSerialized,\n\t\ttheme: THEME,\n\t\tisAmbient: boolean\n\t): DDiagramCanvasBackgroundOptions {\n\t\tif (isAmbient) {\n\t\t\treturn {\n\t\t\t\tcolor: null\n\t\t\t};\n\t\t}\n\t\tconst background = serialized.background;\n\t\treturn {\n\t\t\tcolor: background?.color ?? theme.getCanvasBackgroundColor(),\n\t\t\talpha: background?.alpha ?? theme.getCanvasBackgroundAlpha()\n\t\t};\n\t}\n\n\tprotected abstract newCanvas(serialized: DDiagramSerialized): CANVAS;\n\n\tprotected onUnset(): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tthis.canvas = null;\n\t\t}\n\t}\n\n\tget(): DDiagramSerialized | null {\n\t\treturn this._serialized;\n\t}\n\n\tget layer(): DDiagramLayer | null {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\treturn canvas.layer.active;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagramBase\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-diagram-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-base.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DApplications } from \"./d-applications\";\nimport { DBaseShadow } from \"./d-base\";\nimport {\n\tDCanvasContainer,\n\tDCanvasContainerEvents,\n\tDCanvasContainerOptions,\n\tDThemeCanvasContainer\n} from \"./d-canvas-container\";\nimport { DDiagramBaseController } from \"./d-diagram-base-controller\";\nimport {\n\tDDiagramCanvasBackgroundOptions,\n\tDDiagramCanvasBase,\n\tDDiagramCanvasBaseOptions\n} from \"./d-diagram-canvas-base\";\nimport { DDiagramCanvasTilePyramidFactory } from \"./d-diagram-canvas-tile\";\nimport { DDiagramDataMapper } from \"./d-diagram-data-mapper\";\nimport { DDiagramLayer } from \"./d-diagram-layer\";\nimport { DDiagramSerialized } from \"./d-diagram-serialized\";\nimport { DDiagramSnapshot, DDiagramSnapshotOptions } from \"./d-diagram-snapshot\";\nimport { DDiagrams } from \"./d-diagrams\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { EShape } from \"./shape/e-shape\";\nimport { EShapeResourceManagerDeserialization } from \"./shape/e-shape-resource-manager-deserialization\";\nimport { EShapeEmbeddedDatum } from \"./shape/variant/e-shape-embedded-datum\";\n\n/**\n * {@link DDiagramBase} events.\n */\nexport interface DDiagramBaseEvents<CANVAS, EMITTER>\n\textends DCanvasContainerEvents<CANVAS, EMITTER> {\n\t/**\n\t * Triggered when all the shape initializations are finished.\n\t *\n\t * @param emitter an emitter\n\t */\n\tready(emitter: EMITTER): void;\n}\n\n/**\n * {@link DDiagramBase} \"on\" options.\n */\nexport interface DDiagramBaseOnOptions<CANVAS, EMITTER>\n\textends Partial<DDiagramBaseEvents<CANVAS, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DDiagramBase} options.\n */\nexport interface DDiagramBaseOptions<\n\tCANVAS extends DDiagramCanvasBase = DDiagramCanvasBase,\n\tCANVAS_OPTIONS extends DDiagramCanvasBaseOptions = DDiagramCanvasBaseOptions,\n\tCONTROLLER extends DDiagramBaseController = DDiagramBaseController,\n\tTHEME extends DThemeDiagramBase = DThemeDiagramBase,\n\tEMITTER = any\n> extends DCanvasContainerOptions<CANVAS, CANVAS_OPTIONS, THEME> {\n\tcontroller?: CONTROLLER;\n\n\t/**\n\t * A tile pyramid factory.\n\t */\n\ttile?: DDiagramCanvasTilePyramidFactory;\n\n\tambient?: boolean;\n\n\t/**\n\t * Snapshot options.\n\t */\n\tsnapshot?: DDiagramSnapshotOptions<CANVAS>;\n\n\ton?: DDiagramBaseOnOptions<CANVAS, EMITTER>;\n}\n\n/**\n * {@link DDiagramBase} theme.\n */\nexport interface DThemeDiagramBase extends DThemeCanvasContainer {\n\tgetCanvasBackgroundColor(): number;\n\tgetCanvasBackgroundAlpha(): number;\n\tgetCanvasShadow(): DBaseShadow | null;\n\tisAmbient(): boolean;\n}\n\nexport abstract class DDiagramBase<\n\tCANVAS extends DDiagramCanvasBase = DDiagramCanvasBase,\n\tCANVAS_OPTIONS extends DDiagramCanvasBaseOptions = DDiagramCanvasBaseOptions,\n\tCONTROLLER extends DDiagramBaseController = DDiagramBaseController,\n\tTHEME extends DThemeDiagramBase = DThemeDiagramBase,\n\tOPTIONS extends DDiagramBaseOptions<\n\t\tCANVAS,\n\t\tCANVAS_OPTIONS,\n\t\tCONTROLLER,\n\t\tTHEME\n\t> = DDiagramBaseOptions<CANVAS, CANVAS_OPTIONS, CONTROLLER, THEME>\n> extends DCanvasContainer<CANVAS, CANVAS_OPTIONS, THEME, OPTIONS> {\n\tprotected _serialized: DDiagramSerialized | null;\n\tprotected _tileFactory?: DDiagramCanvasTilePyramidFactory;\n\tprotected _controller?: CONTROLLER;\n\tprotected _isAmbient: boolean;\n\tprotected _snapshot: DDiagramSnapshot;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._serialized = null;\n\t\tthis._tileFactory = options?.tile;\n\t\tthis._controller = options?.controller;\n\t\tthis._isAmbient = options?.ambient ?? this.theme.isAmbient();\n\t\tthis._snapshot = new DDiagramSnapshot(this, options?.snapshot);\n\t}\n\n\tget snapshot(): DDiagramSnapshot {\n\t\treturn this._snapshot;\n\t}\n\n\tget controller(): CONTROLLER | null {\n\t\treturn this._controller || null;\n\t}\n\n\tset(serialized: null): Promise<null>;\n\tset(serialized: DDiagramSerialized): Promise<CANVAS>;\n\tset(serialized: DDiagramSerialized | null): Promise<CANVAS | null> {\n\t\tconst oldSerialized = this._serialized;\n\t\tif (oldSerialized !== serialized) {\n\t\t\tif (oldSerialized) {\n\t\t\t\tthis._serialized = null;\n\t\t\t\tconst canvas = this.canvas;\n\t\t\t\tif (canvas) {\n\t\t\t\t\tthis.canvas = null;\n\t\t\t\t}\n\t\t\t\tthis.onUnset();\n\t\t\t}\n\n\t\t\tthis._serialized = serialized;\n\t\t\tif (serialized) {\n\t\t\t\tconst canvas = this.newCanvas(serialized);\n\t\t\t\tconst pieces = serialized.pieces;\n\t\t\t\tconst isEditMode = this.isEditMode();\n\t\t\t\tconst result = DDiagrams.toPieceData(this._controller, pieces, isEditMode).then(\n\t\t\t\t\t(pieceData): Promise<CANVAS> => {\n\t\t\t\t\t\treturn this.newLayer(serialized, canvas, isEditMode, pieces, pieceData);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tthis.onSet(serialized, canvas);\n\t\t\t\tthis.canvas = canvas;\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn Promise.resolve(null);\n\t\t\t}\n\t\t} else {\n\t\t\treturn Promise.resolve(this.canvas);\n\t\t}\n\t}\n\n\tprotected onSet(serialized: DDiagramSerialized, canvas: CANVAS): void {\n\t\t// DO NOTHING\n\t}\n\n\tprotected abstract isEditMode(): boolean;\n\n\tprotected newLayer(\n\t\tserialized: DDiagramSerialized,\n\t\tcanvas: CANVAS,\n\t\tisEditMode: boolean,\n\t\tpieces?: string[],\n\t\tpieceData?: Map<string, EShapeEmbeddedDatum | null>\n\t): Promise<CANVAS> {\n\t\tconst manager = new EShapeResourceManagerDeserialization(\n\t\t\tserialized,\n\t\t\tpieces,\n\t\t\tpieceData,\n\t\t\tisEditMode\n\t\t);\n\t\tconst result = DDiagrams.newLayer(serialized, canvas.layer, manager).then(\n\t\t\t(shapes: EShape[]): CANVAS => {\n\t\t\t\treturn this.initLayer(canvas, shapes);\n\t\t\t}\n\t\t);\n\t\tif (this._isAmbient) {\n\t\t\tconst background = this.toCanvasBaseBackgroundOptions(serialized, this.theme, false);\n\t\t\tthis.background.color = background.color;\n\t\t\tthis.background.alpha = background.alpha;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected initLayer(\n\t\tcanvas: CANVAS,\n\t\tshapes: EShape[],\n\t\tmapper?: DDiagramDataMapper | null\n\t): CANVAS {\n\t\tcanvas.layer.init();\n\t\tcanvas.initialize(shapes, mapper);\n\t\tDApplications.update(this);\n\t\tthis.emit(\"ready\", this);\n\t\treturn canvas;\n\t}\n\n\tprotected toCanvasBaseOptions(serialized: DDiagramSerialized): DDiagramCanvasBaseOptions<any> {\n\t\tconst theme = this.theme;\n\t\tconst isAmbient = this._isAmbient;\n\t\treturn {\n\t\t\tname: serialized.name,\n\t\t\twidth: serialized.width,\n\t\t\theight: serialized.height,\n\t\t\tbackground: this.toCanvasBaseBackgroundOptions(serialized, theme, isAmbient),\n\t\t\tborder: isAmbient ? { color: null } : undefined,\n\t\t\toutline: isAmbient ? { color: null } : undefined,\n\t\t\tshadow: isAmbient ? null : theme.getCanvasShadow(),\n\t\t\ttile: {\n\t\t\t\tfactory: this._tileFactory,\n\t\t\t\tmapping: serialized.tile?.mapping\n\t\t\t},\n\t\t\tambient: isAmbient\n\t\t};\n\t}\n\n\tprotected toCanvasBaseBackgroundOptions(\n\t\tserialized: DDiagramSerialized,\n\t\ttheme: THEME,\n\t\tisAmbient: boolean\n\t): DDiagramCanvasBackgroundOptions {\n\t\tif (isAmbient) {\n\t\t\treturn {\n\t\t\t\tcolor: null\n\t\t\t};\n\t\t}\n\t\tconst background = serialized.background;\n\t\treturn {\n\t\t\tcolor: background?.color ?? theme.getCanvasBackgroundColor(),\n\t\t\talpha: background?.alpha ?? theme.getCanvasBackgroundAlpha()\n\t\t};\n\t}\n\n\tprotected abstract newCanvas(serialized: DDiagramSerialized): CANVAS;\n\n\tprotected onUnset(): void {\n\t\t// DO NOTHING\n\t}\n\n\tget(): DDiagramSerialized | null {\n\t\treturn this._serialized;\n\t}\n\n\tget layer(): DDiagramLayer | null {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\treturn canvas.layer.active;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagramBase\";\n\t}\n}\n"]}
@@ -113,103 +113,105 @@ var DDiagramCanvas = /** @class */ (function (_super) {
113
113
  };
114
114
  DDiagramCanvas.prototype.initData = function (shape, dataShape, mapper, formatToFormatter, initialToInitialValue, canvasTicker, canvasData) {
115
115
  var data = shape.data;
116
+ var format = "";
117
+ var initial = "";
116
118
  for (var i = 0, imax = data.size(); i < imax; ++i) {
117
119
  var value = data.get(i);
118
- if (value) {
119
- var type = value.type;
120
- var format = value.format;
121
- var initial = value.initial;
122
- switch (type) {
123
- case EShapeDataValueType.NUMBER:
124
- case EShapeDataValueType.NUMBER_ARRAY:
125
- case EShapeDataValueType.STRING:
126
- case EShapeDataValueType.STRING_ARRAY:
127
- case EShapeDataValueType.OBJECT:
128
- case EShapeDataValueType.OBJECT_ARRAY:
129
- // Mapping
130
- if (value.scope === EShapeDataValueScope.PRIVATE) {
131
- var id = value.id;
132
- if (0 < id.length) {
133
- if (dataShape) {
134
- dataShape.data.private.add(id, value);
135
- }
136
- else {
137
- canvasData.private.add(id, value);
138
- }
120
+ if (value == null)
121
+ continue;
122
+ switch (value.type) {
123
+ case EShapeDataValueType.NUMBER:
124
+ case EShapeDataValueType.NUMBER_ARRAY:
125
+ case EShapeDataValueType.STRING:
126
+ case EShapeDataValueType.STRING_ARRAY:
127
+ case EShapeDataValueType.OBJECT:
128
+ case EShapeDataValueType.OBJECT_ARRAY:
129
+ // Mapping
130
+ if (value.scope === EShapeDataValueScope.PRIVATE) {
131
+ var id = value.id;
132
+ if (0 < id.length) {
133
+ if (dataShape) {
134
+ dataShape.data.private.add(id, value);
139
135
  }
140
- }
141
- else if (value.scope === EShapeDataValueScope.PROTECTED) {
142
- var id = value.id;
143
- if (0 < id.length) {
144
- canvasData.protected.add(id, value);
136
+ else {
137
+ canvasData.private.add(id, value);
145
138
  }
146
139
  }
147
- else {
148
- if (mapper) {
149
- mapper(value, dataShape || shape);
150
- }
151
- var id = value.id;
152
- if (0 < id.length) {
153
- canvasData.add(id, value);
154
- }
140
+ }
141
+ else if (value.scope === EShapeDataValueScope.PROTECTED) {
142
+ var id = value.id;
143
+ if (0 < id.length) {
144
+ canvasData.protected.add(id, value);
155
145
  }
156
- // Format
157
- if (formatToFormatter.has(format)) {
158
- value.formatter = formatToFormatter.get(format);
146
+ }
147
+ else {
148
+ if (mapper) {
149
+ mapper(value, dataShape || shape);
159
150
  }
160
- else if (0 < format.length) {
161
- try {
162
- var formatter = this.calcFormatter(value, format, initial);
163
- formatToFormatter.set(format, formatter);
164
- value.formatter = formatter;
165
- }
166
- catch (e) {
167
- // DO NOTHING
168
- }
151
+ var id = value.id;
152
+ if (0 < id.length) {
153
+ canvasData.add(id, value);
169
154
  }
170
- // Initial
171
- if (initialToInitialValue.has(initial)) {
172
- value.value = initialToInitialValue.get(initial);
155
+ }
156
+ // Format
157
+ format = value.format;
158
+ initial = value.initial;
159
+ if (formatToFormatter.has(format)) {
160
+ value.formatter = formatToFormatter.get(format);
161
+ }
162
+ else if (0 < format.length) {
163
+ try {
164
+ var formatter = this.calcFormatter(value, format, initial);
165
+ formatToFormatter.set(format, formatter);
166
+ value.formatter = formatter;
173
167
  }
174
- else if (0 < initial.length) {
175
- try {
176
- var initialValue = this.calcInitial(value, initial);
177
- initialToInitialValue.set(initial, initialValue);
178
- value.value = initialValue;
179
- }
180
- catch (e) {
181
- // DO NOTHING
182
- }
168
+ catch (e) {
169
+ // DO NOTHING
183
170
  }
184
- break;
185
- case EShapeDataValueType.TICKER:
186
- // Initial
187
- if (initialToInitialValue.has(initial)) {
188
- value.value = 0;
189
- canvasTicker.add(initialToInitialValue.get(initial)).add(value);
171
+ }
172
+ // Initial
173
+ if (initialToInitialValue.has(initial)) {
174
+ value.value = initialToInitialValue.get(initial);
175
+ }
176
+ else if (0 < initial.length) {
177
+ try {
178
+ var initialValue = this.calcInitial(value, initial);
179
+ initialToInitialValue.set(initial, initialValue);
180
+ value.value = initialValue;
190
181
  }
191
- else if (0 < initial.length) {
192
- try {
193
- var initialValue = this.calcInitial(value, initial);
194
- initialToInitialValue.set(initial, initialValue);
195
- value.value = 0;
196
- canvasTicker.add(initialValue).add(value);
197
- }
198
- catch (e) {
199
- // DO NOTHING
200
- }
182
+ catch (e) {
183
+ // DO NOTHING
201
184
  }
202
- break;
203
- default:
204
- var extension = EShapeDataValueExtensions.get(type);
205
- if (extension) {
206
- // Mapping
207
- canvasData.extended.add(extension.id, value);
208
- // Initial
209
- value.value = extension.initial;
185
+ }
186
+ break;
187
+ case EShapeDataValueType.TICKER:
188
+ // Initial
189
+ initial = value.initial;
190
+ if (initialToInitialValue.has(initial)) {
191
+ value.value = 0;
192
+ canvasTicker.add(initialToInitialValue.get(initial)).add(value);
193
+ }
194
+ else if (0 < initial.length) {
195
+ try {
196
+ var initialValue = this.calcInitial(value, initial);
197
+ initialToInitialValue.set(initial, initialValue);
198
+ value.value = 0;
199
+ canvasTicker.add(initialValue).add(value);
210
200
  }
211
- break;
212
- }
201
+ catch (e) {
202
+ // DO NOTHING
203
+ }
204
+ }
205
+ break;
206
+ default:
207
+ var extension = EShapeDataValueExtensions.get(value.type);
208
+ if (extension) {
209
+ // Mapping
210
+ canvasData.extended.add(extension.id, value);
211
+ // Initial
212
+ value.value = extension.initial;
213
+ }
214
+ break;
213
215
  }
214
216
  }
215
217
  };
@@ -1 +1 @@
1
- {"version":3,"file":"d-diagram-canvas.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-canvas.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, IPoint, Point, Renderer } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport {\n\tDDiagramCanvasBase,\n\tDDiagramCanvasBaseOptions,\n\tDThemeDiagramCanvasBase\n} from \"./d-diagram-canvas-base\";\nimport { EShape } from \"./shape/e-shape\";\nimport { EShapeBase } from \"./shape/variant/e-shape-base\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { EShapeActionValue } from \"./shape/action/e-shape-action-value\";\nimport { EShapeActionRuntime } from \"./shape/action/e-shape-action-runtime\";\nimport { DDiagramDataMapper } from \"./d-diagram-data-mapper\";\nimport { EShapeRuntimes } from \"./shape/e-shape-runtimes\";\nimport { EShapeRuntime } from \"./shape/e-shape-runtime\";\nimport { EShapeDataValue } from \"./shape/e-shape-data-value\";\nimport { EShapeDataValueType } from \"./shape/e-shape-data-value-type\";\nimport { EShapeContainer } from \"./shape/e-shape-container\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { DDiagramCanvasData } from \"./d-diagram-canvas-data\";\nimport { DDiagramCanvasDataImpl } from \"./d-diagram-canvas-data-impl\";\nimport { DDiagramCanvasShape } from \"./d-diagram-canvas-shape\";\nimport { DDiagramCanvasShapeImpl } from \"./d-diagram-canvas-shape-impl\";\nimport { DDiagramCanvasTicker } from \"./d-diagram-canvas-ticker\";\nimport { DDiagramCanvasTickerImpl } from \"./d-diagram-canvas-ticker-impl\";\nimport { EShapeDataValueScope } from \"./shape/e-shape-data-value-scope\";\nimport { EShapeEmbedded } from \"./shape/variant/e-shape-embedded\";\nimport { EShapeDataValueExtensions } from \"./shape/e-shape-data-value-extensions\";\nimport { EShapeActionEnvironment } from \"./shape/action/e-shape-action-environment\";\n\nexport interface DDiagramCanvasOptions<THEME extends DThemeDiagramCanvas = DThemeDiagramCanvas>\n\textends DDiagramCanvasBaseOptions<THEME> {}\n\nexport interface DThemeDiagramCanvas extends DThemeDiagramCanvasBase {}\n\nexport class DDiagramCanvas<\n\tTHEME extends DThemeDiagramCanvas = DThemeDiagramCanvas,\n\tOPTIONS extends DDiagramCanvasOptions<THEME> = DDiagramCanvasOptions<THEME>\n> extends DDiagramCanvasBase<THEME, OPTIONS> {\n\tprotected static WORK_DBLCLICK?: Point;\n\n\tprotected _data: DDiagramCanvasData;\n\tprotected _shape: DDiagramCanvasShape;\n\tprotected _ticker: DDiagramCanvasTicker;\n\tprotected _actionables: EShape[];\n\n\tprotected _overed?: EShape | null;\n\tprotected _downed?: EShape | null;\n\tprotected _downeds: Set<EShape>;\n\n\tprotected _updateBound: () => void;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._data = new DDiagramCanvasDataImpl();\n\t\tthis._shape = new DDiagramCanvasShapeImpl();\n\t\tthis._ticker = new DDiagramCanvasTickerImpl(this);\n\t\tthis._actionables = [];\n\t\tthis._downeds = new Set<EShape>();\n\t\tthis._updateBound = (): void => {\n\t\t\tDApplications.update(this);\n\t\t};\n\t}\n\n\tget data(): DDiagramCanvasData {\n\t\treturn this._data;\n\t}\n\n\tget shape(): DDiagramCanvasShape {\n\t\treturn this._shape;\n\t}\n\n\tget ticker(): DDiagramCanvasTicker {\n\t\treturn this._ticker;\n\t}\n\n\tinitialize(shapes: EShape[], mapper?: DDiagramDataMapper | null): void {\n\t\tconst time = Date.now();\n\t\tconst actionables = this._actionables;\n\t\tthis.initialize_(\n\t\t\tshapes,\n\t\t\tnull,\n\t\t\tmapper,\n\t\t\tnew Map<string, (value: unknown) => unknown>(),\n\t\t\tnew Map<string, unknown>(),\n\t\t\tnew Map<EShapeActionValue, EShapeActionRuntime>(),\n\t\t\tthis._ticker,\n\t\t\tthis._shape,\n\t\t\tthis._data,\n\t\t\tactionables\n\t\t);\n\t\tconst layers = this._layer.children;\n\t\tfor (let i = 0, imax = layers.length; i < imax; ++i) {\n\t\t\tlayers[i].initialize(actionables);\n\t\t}\n\t\tEShapeActionEnvironment.isInitializing = true;\n\t\tfor (let i = 0, imax = layers.length; i < imax; ++i) {\n\t\t\tconst layerChildren = layers[i].children;\n\t\t\tfor (let j = 0, jmax = layerChildren.length; j < jmax; ++j) {\n\t\t\t\tlayerChildren[j].update(time);\n\t\t\t}\n\t\t}\n\t\tEShapeActionEnvironment.isInitializing = false;\n\t\tthis._ticker.start();\n\t}\n\n\tprotected initialize_(\n\t\tshapes: EShape[],\n\t\tdataShape: EShape | null,\n\t\tmapper: DDiagramDataMapper | null | undefined,\n\t\tformatToFormatter: Map<string, (value: unknown) => unknown>,\n\t\tinitialToInitialValue: Map<string, unknown>,\n\t\tactionValueToRuntime: Map<EShapeActionValue, EShapeActionRuntime>,\n\t\tcanvasTicker: DDiagramCanvasTicker,\n\t\tcanvasShape: DDiagramCanvasShape,\n\t\tcanvasData: DDiagramCanvasData,\n\t\tactionables: EShape[]\n\t): void {\n\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\tconst shape = shapes[i];\n\n\t\t\t// ID\n\t\t\tconst id = shape.id;\n\t\t\tif (0 < id.length) {\n\t\t\t\tcanvasShape.add(id, shape);\n\t\t\t}\n\n\t\t\t// Data\n\t\t\tthis.initData(\n\t\t\t\tshape,\n\t\t\t\tdataShape,\n\t\t\t\tmapper,\n\t\t\t\tformatToFormatter,\n\t\t\t\tinitialToInitialValue,\n\t\t\t\tcanvasTicker,\n\t\t\t\tcanvasData\n\t\t\t);\n\n\t\t\t// Runtime\n\t\t\tconst runtime = new (EShapeRuntimes[shape.type] || EShapeRuntime)(shape);\n\t\t\tshape.runtime = runtime;\n\n\t\t\t// Action\n\t\t\tthis.initActions(shape, runtime, actionValueToRuntime);\n\n\t\t\t// Actionables\n\t\t\tif (runtime.isActionable()) {\n\t\t\t\tactionables.push(shape);\n\t\t\t}\n\n\t\t\t// Shortcut\n\t\t\tconst shortcut = shape.shortcut;\n\t\t\tif (shortcut != null) {\n\t\t\t\tUtilKeyboardEvent.on(shape, shortcut, (e: KeyboardEvent): void => {\n\t\t\t\t\truntime.onClick(shape, e);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Init the runtime\n\t\t\truntime.initialize(shape);\n\n\t\t\t// Children\n\t\t\tconst children = shape.children;\n\t\t\tif (0 < children.length) {\n\t\t\t\tthis.initialize_(\n\t\t\t\t\tchildren,\n\t\t\t\t\tthis.toDataShape(dataShape, shape),\n\t\t\t\t\tmapper,\n\t\t\t\t\tformatToFormatter,\n\t\t\t\t\tinitialToInitialValue,\n\t\t\t\t\tactionValueToRuntime,\n\t\t\t\t\tcanvasTicker,\n\t\t\t\t\tcanvasShape,\n\t\t\t\t\tcanvasData,\n\t\t\t\t\tactionables\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected initData(\n\t\tshape: EShape,\n\t\tdataShape: EShape | null,\n\t\tmapper: DDiagramDataMapper | null | undefined,\n\t\tformatToFormatter: Map<string, (value: unknown) => unknown>,\n\t\tinitialToInitialValue: Map<string, unknown>,\n\t\tcanvasTicker: DDiagramCanvasTicker,\n\t\tcanvasData: DDiagramCanvasData\n\t): void {\n\t\tconst data = shape.data;\n\t\tfor (let i = 0, imax = data.size(); i < imax; ++i) {\n\t\t\tconst value = data.get(i);\n\t\t\tif (value) {\n\t\t\t\tconst type = value.type;\n\t\t\t\tconst format = value.format;\n\t\t\t\tconst initial = value.initial;\n\t\t\t\tswitch (type) {\n\t\t\t\t\tcase EShapeDataValueType.NUMBER:\n\t\t\t\t\tcase EShapeDataValueType.NUMBER_ARRAY:\n\t\t\t\t\tcase EShapeDataValueType.STRING:\n\t\t\t\t\tcase EShapeDataValueType.STRING_ARRAY:\n\t\t\t\t\tcase EShapeDataValueType.OBJECT:\n\t\t\t\t\tcase EShapeDataValueType.OBJECT_ARRAY:\n\t\t\t\t\t\t// Mapping\n\t\t\t\t\t\tif (value.scope === EShapeDataValueScope.PRIVATE) {\n\t\t\t\t\t\t\tconst id = value.id;\n\t\t\t\t\t\t\tif (0 < id.length) {\n\t\t\t\t\t\t\t\tif (dataShape) {\n\t\t\t\t\t\t\t\t\tdataShape.data.private.add(id, value);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcanvasData.private.add(id, value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (value.scope === EShapeDataValueScope.PROTECTED) {\n\t\t\t\t\t\t\tconst id = value.id;\n\t\t\t\t\t\t\tif (0 < id.length) {\n\t\t\t\t\t\t\t\tcanvasData.protected.add(id, value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (mapper) {\n\t\t\t\t\t\t\t\tmapper(value, dataShape || shape);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst id = value.id;\n\t\t\t\t\t\t\tif (0 < id.length) {\n\t\t\t\t\t\t\t\tcanvasData.add(id, value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Format\n\t\t\t\t\t\tif (formatToFormatter.has(format)) {\n\t\t\t\t\t\t\tvalue.formatter = formatToFormatter.get(format);\n\t\t\t\t\t\t} else if (0 < format.length) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tconst formatter = this.calcFormatter(value, format, initial);\n\t\t\t\t\t\t\t\tformatToFormatter.set(format, formatter);\n\t\t\t\t\t\t\t\tvalue.formatter = formatter;\n\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t// DO NOTHING\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Initial\n\t\t\t\t\t\tif (initialToInitialValue.has(initial)) {\n\t\t\t\t\t\t\tvalue.value = initialToInitialValue.get(initial);\n\t\t\t\t\t\t} else if (0 < initial.length) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tconst initialValue = this.calcInitial(value, initial);\n\t\t\t\t\t\t\t\tinitialToInitialValue.set(initial, initialValue);\n\t\t\t\t\t\t\t\tvalue.value = initialValue;\n\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t// DO NOTHING\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\t\t\t// Initial\n\t\t\t\t\t\tif (initialToInitialValue.has(initial)) {\n\t\t\t\t\t\t\tvalue.value = 0;\n\t\t\t\t\t\t\tcanvasTicker.add(initialToInitialValue.get(initial)).add(value);\n\t\t\t\t\t\t} else if (0 < initial.length) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tconst initialValue = this.calcInitial(value, initial);\n\t\t\t\t\t\t\t\tinitialToInitialValue.set(initial, initialValue);\n\t\t\t\t\t\t\t\tvalue.value = 0;\n\t\t\t\t\t\t\t\tcanvasTicker.add(initialValue).add(value);\n\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t// DO NOTHING\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tconst extension = EShapeDataValueExtensions.get(type);\n\t\t\t\t\t\tif (extension) {\n\t\t\t\t\t\t\t// Mapping\n\t\t\t\t\t\t\tcanvasData.extended.add(extension.id, value);\n\n\t\t\t\t\t\t\t// Initial\n\t\t\t\t\t\t\tvalue.value = extension.initial;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected initActions(\n\t\tshape: EShape,\n\t\tshapeRuntime: EShapeRuntime,\n\t\tvalueToRuntime: Map<EShapeActionValue, EShapeActionRuntime>\n\t): void {\n\t\tconst values = shape.action.values;\n\t\tconst runtimes = shapeRuntime.actions;\n\t\tfor (let i = 0, imax = values.length; i < imax; ++i) {\n\t\t\tconst value = values[i];\n\t\t\tlet runtime = valueToRuntime.get(value);\n\t\t\tif (runtime == null) {\n\t\t\t\truntime = value.toRuntime();\n\t\t\t\tif (runtime != null) {\n\t\t\t\t\tvalueToRuntime.set(value, runtime);\n\t\t\t\t\truntimes.push(runtime);\n\t\t\t\t\tshapeRuntime.reset |= runtime.reset;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\truntimes.push(runtime);\n\t\t\t\tshapeRuntime.reset |= runtime.reset;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected calcFormatter(\n\t\tvalue: EShapeDataValue,\n\t\tformat: string,\n\t\tinitial: string\n\t): (value: unknown) => unknown {\n\t\tconst def = this.toInitial(value);\n\t\treturn Function(\n\t\t\t\"value\",\n\t\t\t/* eslint-disable prettier/prettier */\n\t\t\t`try {` +\n\t\t\t\t`return (${format});` +\n\t\t\t`} catch( e1 ) {` +\n\t\t\t\t`try {` +\n\t\t\t\t\t`return (${0 < initial.length ? initial : def});` +\n\t\t\t\t`} catch( e2 ) {` +\n\t\t\t\t\t`return ${def};` +\n\t\t\t\t`}` +\n\t\t\t`}`\n\t\t\t/* eslint-enable prettier/prettier */\n\t\t) as any;\n\t}\n\n\tprotected calcInitial(value: EShapeDataValue, initial: string): unknown {\n\t\treturn Function(\n\t\t\t/* eslint-disable prettier/prettier */\n\t\t\t`try {` +\n\t\t\t\t`return (${initial});` +\n\t\t\t`} catch( e ) {` +\n\t\t\t\t`return ${this.toInitial(value)};` +\n\t\t\t`}`\n\t\t\t/* eslint-enable prettier/prettier */\n\t\t)();\n\t}\n\n\tprotected toInitial(value: EShapeDataValue): string {\n\t\tconst valueType = value.type;\n\t\tswitch (valueType) {\n\t\t\tcase EShapeDataValueType.NUMBER:\n\t\t\t\treturn \"0\";\n\t\t\tcase EShapeDataValueType.NUMBER_ARRAY:\n\t\t\t\treturn \"[]\";\n\t\t\tcase EShapeDataValueType.STRING:\n\t\t\t\treturn '\"\"';\n\t\t\tcase EShapeDataValueType.STRING_ARRAY:\n\t\t\t\treturn \"[]\";\n\t\t\tcase EShapeDataValueType.OBJECT:\n\t\t\t\treturn \"{}\";\n\t\t\tcase EShapeDataValueType.OBJECT_ARRAY:\n\t\t\t\treturn \"[]\";\n\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\treturn \"0\";\n\t\t\tdefault:\n\t\t\t\treturn \"0\";\n\t\t}\n\t}\n\n\tprotected toDataShape(dataShape: EShape | null, shape: EShape): EShape | null {\n\t\tif (dataShape != null) {\n\t\t\treturn dataShape;\n\t\t}\n\t\tif (shape instanceof EShapeEmbedded) {\n\t\t\treturn shape;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onDestroy(): void {\n\t\tthis._ticker.stop();\n\t\tsuper.onDestroy();\n\t}\n\n\thitTestInteractives(global: IPoint): EShape | null {\n\t\tconst layers = this._layer.children;\n\t\tfor (let i = layers.length - 1; 0 <= i; --i) {\n\t\t\tconst layer = layers[i];\n\t\t\tif (layer.visible) {\n\t\t\t\tconst result = layer.hitTestInteractives(global);\n\t\t\t\tif (result != null) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tonShapeMove(e: interaction.InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst view = layer.view;\n\n\t\t\t// Cursor\n\t\t\tconst cursor = this.toShapeCursor(found);\n\t\t\tconst style = view.style;\n\t\t\tif (style.cursor !== cursor) {\n\t\t\t\tstyle.cursor = cursor;\n\t\t\t}\n\n\t\t\t// TItle\n\t\t\tconst title = this.toShapeTitle(found);\n\t\t\tif (view.title !== title) {\n\t\t\t\tview.title = title;\n\t\t\t}\n\t\t}\n\n\t\tconst overed = this._overed;\n\t\tthis._overed = found;\n\t\tif (found === overed) {\n\t\t\tif (found != null) {\n\t\t\t\tconst runtime = found.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onMove(found, e);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthis.onShapeOut(e, overed, found);\n\t\t\tthis.onShapeOver(e, found);\n\t\t}\n\t\treturn found != null;\n\t}\n\n\tprotected toShapeCursor(target: EShape | null): string {\n\t\tif (target != null) {\n\t\t\tconst result = target.cursor;\n\t\t\tif (0 < result.length) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn \"auto\";\n\t}\n\n\tprotected toShapeTitle(target: EShape | null): string {\n\t\tif (target != null) {\n\t\t\treturn target.title || \"\";\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tprotected onShapeOut(\n\t\te: interaction.InteractionEvent,\n\t\ttarget?: EShape | EShapeContainer | null,\n\t\texcept?: EShape | null\n\t): void {\n\t\twhile (target != null && target !== except && target instanceof EShapeBase) {\n\t\t\tconst runtime = target.runtime;\n\t\t\tif (runtime) {\n\t\t\t\truntime.onOut(target, e);\n\t\t\t}\n\t\t\ttarget = target.parent;\n\t\t}\n\t}\n\n\tprotected onShapeOver(\n\t\te: interaction.InteractionEvent,\n\t\ttarget?: EShape | EShapeContainer | null,\n\t\texcept?: EShape | null\n\t): void {\n\t\twhile (target != null && target !== except && target instanceof EShapeBase) {\n\t\t\tconst runtime = target.runtime;\n\t\t\tif (runtime) {\n\t\t\t\truntime.onOver(target, e);\n\t\t\t}\n\t\t\ttarget = target.parent;\n\t\t}\n\t}\n\n\tonShapeDown(e: interaction.InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tthis._downed = found;\n\t\tif (found) {\n\t\t\tthis._downeds.add(found);\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onDown(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeUp(e: interaction.InteractionEvent): boolean {\n\t\tconst downeds = this._downeds;\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tif (found) {\n\t\t\tdowneds.delete(found);\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onUp(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis.onShapeCancel(e);\n\t\treturn found != null;\n\t}\n\n\tonShapeCancel(e: interaction.InteractionEvent): boolean {\n\t\tconst downeds = this._downeds;\n\t\tif (0 < downeds.size) {\n\t\t\tdowneds.forEach((downed: EShape): void => {\n\t\t\t\tlet target = downed;\n\t\t\t\twhile (true) {\n\t\t\t\t\tconst runtime = target.runtime;\n\t\t\t\t\tif (runtime) {\n\t\t\t\t\t\truntime.onUpOutside(target, e);\n\t\t\t\t\t}\n\t\t\t\t\tconst parent = target.parent;\n\t\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\t\ttarget = parent;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tdowneds.clear();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeClick(e: interaction.InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tif (found && this._downed === found) {\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onClick(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: interaction.InteractionManager\n\t): boolean {\n\t\tconst global = (DDiagramCanvas.WORK_DBLCLICK ??= new Point());\n\t\tUtilPointerEvent.toGlobal(e, interactionManager, global);\n\t\tconst found = this.hitTestInteractives(global);\n\t\tif (found) {\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onDblClick(target, e, interactionManager);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tupdate(): void {\n\t\tconst actionables = this._actionables;\n\t\tif (0 < actionables.length) {\n\t\t\tlet effect = -1;\n\t\t\tconst time = Date.now();\n\t\t\tfor (let i = 0, imax = actionables.length; i < imax; ++i) {\n\t\t\t\tconst actionable = actionables[i];\n\t\t\t\tactionable.update(time);\n\t\t\t\tconst runtime = actionable.runtime;\n\t\t\t\tif (runtime && time < runtime.effect) {\n\t\t\t\t\tconst runtimeEffect = runtime.effect;\n\t\t\t\t\tif (time < runtimeEffect) {\n\t\t\t\t\t\teffect = effect < 0 ? runtimeEffect : Math.min(effect, runtimeEffect);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (0 <= effect) {\n\t\t\t\twindow.setTimeout(this._updateBound, effect - Date.now());\n\t\t\t}\n\t\t}\n\t}\n\n\tonRender(renderer: Renderer): void {\n\t\tconst actionables = this._actionables;\n\t\tif (0 < actionables.length) {\n\t\t\tlet effect = -1;\n\t\t\tconst time = Date.now();\n\t\t\tfor (let i = 0, imax = actionables.length; i < imax; ++i) {\n\t\t\t\tconst actionable = actionables[i];\n\t\t\t\tactionable.onRender(time, renderer);\n\t\t\t\tconst runtime = actionable.runtime;\n\t\t\t\tif (runtime && time < runtime.effect) {\n\t\t\t\t\tconst runtimeEffect = runtime.effect;\n\t\t\t\t\tif (time < runtimeEffect) {\n\t\t\t\t\t\teffect = effect < 0 ? runtimeEffect : Math.min(effect, runtimeEffect);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (0 <= effect) {\n\t\t\t\twindow.setTimeout(this._updateBound, effect - Date.now());\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagramCanvas\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-diagram-canvas.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-canvas.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAuB,KAAK,EAAY,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACN,kBAAkB,EAGlB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAI7D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAOpF;IAGU,kCAAkC;IAc3C,wBAAY,OAAgB;QAA5B,YACC,kBAAM,OAAO,CAAC,SASd;QARA,KAAI,CAAC,KAAK,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC1C,KAAI,CAAC,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC5C,KAAI,CAAC,OAAO,GAAG,IAAI,wBAAwB,CAAC,KAAI,CAAC,CAAC;QAClD,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,KAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAI,CAAC,YAAY,GAAG;YACnB,aAAa,CAAC,MAAM,CAAC,KAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;;IACH,CAAC;IAED,sBAAI,gCAAI;aAAR;YACC,OAAO,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;;;OAAA;IAED,sBAAI,iCAAK;aAAT;YACC,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;;;OAAA;IAED,sBAAI,kCAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAED,mCAAU,GAAV,UAAW,MAAgB,EAAE,MAAkC;QAC9D,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACxB,IAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,WAAW,CACf,MAAM,EACN,IAAI,EACJ,MAAM,EACN,IAAI,GAAG,EAAuC,EAC9C,IAAI,GAAG,EAAmB,EAC1B,IAAI,GAAG,EAA0C,EACjD,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,EACV,WAAW,CACX,CAAC;QACF,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YACpD,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;SAClC;QACD,uBAAuB,CAAC,cAAc,GAAG,IAAI,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YACpD,IAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;gBAC3D,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC9B;SACD;QACD,uBAAuB,CAAC,cAAc,GAAG,KAAK,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAES,oCAAW,GAArB,UACC,MAAgB,EAChB,SAAwB,EACxB,MAA6C,EAC7C,iBAA2D,EAC3D,qBAA2C,EAC3C,oBAAiE,EACjE,YAAkC,EAClC,WAAgC,EAChC,UAA8B,EAC9B,WAAqB;gCAEZ,CAAC,EAAM,IAAI;YACnB,IAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAExB,KAAK;YACL,IAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE;gBAClB,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;aAC3B;YAED,OAAO;YACP,OAAK,QAAQ,CACZ,KAAK,EACL,SAAS,EACT,MAAM,EACN,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,UAAU,CACV,CAAC;YAEF,UAAU;YACV,IAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC;YACzE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAExB,SAAS;YACT,OAAK,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAEvD,cAAc;YACd,IAAI,OAAO,CAAC,YAAY,EAAE,EAAE;gBAC3B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACxB;YAED,WAAW;YACX,IAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAChC,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACrB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAC,CAAgB;oBACtD,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC3B,CAAC,CAAC,CAAC;aACH;YAED,mBAAmB;YACnB,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAE1B,WAAW;YACX,IAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAChC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE;gBACxB,OAAK,WAAW,CACf,QAAQ,EACR,OAAK,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,EAClC,MAAM,EACN,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,WAAW,CACX,CAAC;aACF;;;QA1DF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC;oBAA1C,CAAC,EAAM,IAAI;SA2DnB;IACF,CAAC;IAES,iCAAQ,GAAlB,UACC,KAAa,EACb,SAAwB,EACxB,MAA6C,EAC7C,iBAA2D,EAC3D,qBAA2C,EAC3C,YAAkC,EAClC,UAA8B;QAE9B,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,MAAM,GAAW,EAAE,CAAC;QACxB,IAAI,OAAO,GAAW,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YAClD,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,KAAK,IAAI,IAAI;gBAAE,SAAS;YAC5B,QAAQ,KAAK,CAAC,IAAI,EAAE;gBACnB,KAAK,mBAAmB,CAAC,MAAM,CAAC;gBAChC,KAAK,mBAAmB,CAAC,YAAY,CAAC;gBACtC,KAAK,mBAAmB,CAAC,MAAM,CAAC;gBAChC,KAAK,mBAAmB,CAAC,YAAY,CAAC;gBACtC,KAAK,mBAAmB,CAAC,MAAM,CAAC;gBAChC,KAAK,mBAAmB,CAAC,YAAY;oBACpC,UAAU;oBACV,IAAI,KAAK,CAAC,KAAK,KAAK,oBAAoB,CAAC,OAAO,EAAE;wBACjD,IAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;wBACpB,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE;4BAClB,IAAI,SAAS,EAAE;gCACd,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;6BACtC;iCAAM;gCACN,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;6BAClC;yBACD;qBACD;yBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,oBAAoB,CAAC,SAAS,EAAE;wBAC1D,IAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;wBACpB,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE;4BAClB,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;yBACpC;qBACD;yBAAM;wBACN,IAAI,MAAM,EAAE;4BACX,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,KAAK,CAAC,CAAC;yBAClC;wBACD,IAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;wBACpB,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE;4BAClB,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;yBAC1B;qBACD;oBAED,SAAS;oBACT,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;oBACtB,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;oBACxB,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;wBAClC,KAAK,CAAC,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;qBAChD;yBAAM,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;wBAC7B,IAAI;4BACH,IAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;4BAC7D,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;4BACzC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;yBAC5B;wBAAC,OAAO,CAAC,EAAE;4BACX,aAAa;yBACb;qBACD;oBAED,UAAU;oBACV,IAAI,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;wBACvC,KAAK,CAAC,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;qBACjD;yBAAM,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE;wBAC9B,IAAI;4BACH,IAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;4BACtD,qBAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;4BACjD,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC;yBAC3B;wBAAC,OAAO,CAAC,EAAE;4BACX,aAAa;yBACb;qBACD;oBACD,MAAM;gBACP,KAAK,mBAAmB,CAAC,MAAM;oBAC9B,UAAU;oBACV,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;oBACxB,IAAI,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;wBACvC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;wBAChB,YAAY,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;qBAChE;yBAAM,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE;wBAC9B,IAAI;4BACH,IAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;4BACtD,qBAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;4BACjD,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;4BAChB,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;yBAC1C;wBAAC,OAAO,CAAC,EAAE;4BACX,aAAa;yBACb;qBACD;oBACD,MAAM;gBACP;oBACC,IAAM,SAAS,GAAG,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC5D,IAAI,SAAS,EAAE;wBACd,UAAU;wBACV,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;wBAE7C,UAAU;wBACV,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC;qBAChC;oBACD,MAAM;aACP;SACD;IACF,CAAC;IAES,oCAAW,GAArB,UACC,KAAa,EACb,YAA2B,EAC3B,cAA2D;QAE3D,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;QACnC,IAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YACpD,IAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,OAAO,IAAI,IAAI,EAAE;gBACpB,OAAO,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;gBAC5B,IAAI,OAAO,IAAI,IAAI,EAAE;oBACpB,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBACnC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACvB,YAAY,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;iBACpC;aACD;iBAAM;gBACN,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,YAAY,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;aACpC;SACD;IACF,CAAC;IAES,sCAAa,GAAvB,UACC,KAAsB,EACtB,MAAc,EACd,OAAe;QAEf,IAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,QAAQ,CACd,OAAO;QACP,sCAAsC;QACtC,OAAO;YACN,kBAAW,MAAM,OAAI;YACtB,iBAAiB;YAChB,OAAO;YACN,kBAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAI;YAClD,iBAAiB;YAChB,iBAAU,GAAG,MAAG;YACjB,GAAG;YACJ,GAAG;QACH,qCAAqC;SAC9B,CAAC;IACV,CAAC;IAES,oCAAW,GAArB,UAAsB,KAAsB,EAAE,OAAe;QAC5D,OAAO,QAAQ;QACd,sCAAsC;QACtC,OAAO;YACN,kBAAW,OAAO,OAAI;YACvB,gBAAgB;YACf,iBAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAG;YACnC,GAAG;QACH,qCAAqC;SACrC,EAAE,CAAC;IACL,CAAC;IAES,kCAAS,GAAnB,UAAoB,KAAsB;QACzC,IAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QAC7B,QAAQ,SAAS,EAAE;YAClB,KAAK,mBAAmB,CAAC,MAAM;gBAC9B,OAAO,GAAG,CAAC;YACZ,KAAK,mBAAmB,CAAC,YAAY;gBACpC,OAAO,IAAI,CAAC;YACb,KAAK,mBAAmB,CAAC,MAAM;gBAC9B,OAAO,IAAI,CAAC;YACb,KAAK,mBAAmB,CAAC,YAAY;gBACpC,OAAO,IAAI,CAAC;YACb,KAAK,mBAAmB,CAAC,MAAM;gBAC9B,OAAO,IAAI,CAAC;YACb,KAAK,mBAAmB,CAAC,YAAY;gBACpC,OAAO,IAAI,CAAC;YACb,KAAK,mBAAmB,CAAC,MAAM;gBAC9B,OAAO,GAAG,CAAC;YACZ;gBACC,OAAO,GAAG,CAAC;SACZ;IACF,CAAC;IAES,oCAAW,GAArB,UAAsB,SAAwB,EAAE,KAAa;QAC5D,IAAI,SAAS,IAAI,IAAI,EAAE;YACtB,OAAO,SAAS,CAAC;SACjB;QACD,IAAI,KAAK,YAAY,cAAc,EAAE;YACpC,OAAO,KAAK,CAAC;SACb;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAES,kCAAS,GAAnB;QACC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,iBAAM,SAAS,WAAE,CAAC;IACnB,CAAC;IAED,4CAAmB,GAAnB,UAAoB,MAAc;QACjC,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;YAC5C,IAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,CAAC,OAAO,EAAE;gBAClB,IAAM,MAAM,GAAG,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACjD,IAAI,MAAM,IAAI,IAAI,EAAE;oBACnB,OAAO,MAAM,CAAC;iBACd;aACD;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,oCAAW,GAAX,UAAY,CAA+B;QAC1C,IAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEtD,IAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,KAAK,EAAE;YACV,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAExB,SAAS;YACT,IAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACzC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;gBAC5B,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;aACtB;YAED,QAAQ;YACR,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;gBACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;aACnB;SACD;QAED,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,KAAK,KAAK,MAAM,EAAE;YACrB,IAAI,KAAK,IAAI,IAAI,EAAE;gBAClB,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC9B,IAAI,OAAO,EAAE;oBACZ,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACzB;aACD;SACD;aAAM;YACN,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SAC3B;QACD,OAAO,KAAK,IAAI,IAAI,CAAC;IACtB,CAAC;IAES,sCAAa,GAAvB,UAAwB,MAAqB;QAC5C,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,IAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;gBACtB,OAAO,MAAM,CAAC;aACd;SACD;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAES,qCAAY,GAAtB,UAAuB,MAAqB;QAC3C,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SAC1B;QACD,OAAO,EAAE,CAAC;IACX,CAAC;IAES,mCAAU,GAApB,UACC,CAA+B,EAC/B,MAAwC,EACxC,MAAsB;QAEtB,OAAO,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,YAAY,UAAU,EAAE;YAC3E,IAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC/B,IAAI,OAAO,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aACzB;YACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;SACvB;IACF,CAAC;IAES,oCAAW,GAArB,UACC,CAA+B,EAC/B,MAAwC,EACxC,MAAsB;QAEtB,OAAO,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,YAAY,UAAU,EAAE;YAC3E,IAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC/B,IAAI,OAAO,EAAE;gBACZ,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAC1B;YACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;SACvB;IACF,CAAC;IAED,oCAAW,GAAX,UAAY,CAA+B;QAC1C,IAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,KAAK,EAAE;YACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,OAAO,IAAI,EAAE;gBACZ,IAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC/B,IAAI,OAAO,EAAE;oBACZ,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;iBAC1B;gBACD,IAAM,QAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC7B,IAAI,QAAM,YAAY,UAAU,EAAE;oBACjC,MAAM,GAAG,QAAM,CAAC;iBAChB;qBAAM;oBACN,MAAM;iBACN;aACD;YACD,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,kCAAS,GAAT,UAAU,CAA+B;QACxC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,KAAK,EAAE;YACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,OAAO,IAAI,EAAE;gBACZ,IAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC/B,IAAI,OAAO,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;iBACxB;gBACD,IAAM,QAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC7B,IAAI,QAAM,YAAY,UAAU,EAAE;oBACjC,MAAM,GAAG,QAAM,CAAC;iBAChB;qBAAM;oBACN,MAAM;iBACN;aACD;SACD;QACD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACtB,OAAO,KAAK,IAAI,IAAI,CAAC;IACtB,CAAC;IAED,sCAAa,GAAb,UAAc,CAA+B;QAC5C,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE;YACrB,OAAO,CAAC,OAAO,CAAC,UAAC,MAAc;gBAC9B,IAAI,MAAM,GAAG,MAAM,CAAC;gBACpB,OAAO,IAAI,EAAE;oBACZ,IAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;oBAC/B,IAAI,OAAO,EAAE;wBACZ,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;qBAC/B;oBACD,IAAM,QAAM,GAAG,MAAM,CAAC,MAAM,CAAC;oBAC7B,IAAI,QAAM,YAAY,UAAU,EAAE;wBACjC,MAAM,GAAG,QAAM,CAAC;qBAChB;yBAAM;wBACN,MAAM;qBACN;iBACD;YACF,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,qCAAY,GAAZ,UAAa,CAA+B;QAC3C,IAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;YACpC,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,OAAO,IAAI,EAAE;gBACZ,IAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC/B,IAAI,OAAO,EAAE;oBACZ,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;iBAC3B;gBACD,IAAM,QAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC7B,IAAI,QAAM,YAAY,UAAU,EAAE;oBACjC,MAAM,GAAG,QAAM,CAAC;iBAChB;qBAAM;oBACN,MAAM;iBACN;aACD;YACD,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,wCAAe,GAAf,UACC,CAA0B,EAC1B,kBAAkD;;QAElD,IAAM,MAAM,GAAG,OAAC,cAAc,CAAC,aAAa,oCAA5B,cAAc,CAAC,aAAa,GAAK,IAAI,KAAK,EAAE,EAAC,CAAC;QAC9D,gBAAgB,CAAC,QAAQ,CAAC,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;QACzD,IAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE;YACV,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,OAAO,IAAI,EAAE;gBACZ,IAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC/B,IAAI,OAAO,EAAE;oBACZ,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;iBAClD;gBACD,IAAM,QAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC7B,IAAI,QAAM,YAAY,UAAU,EAAE;oBACjC,MAAM,GAAG,QAAM,CAAC;iBAChB;qBAAM;oBACN,MAAM;iBACN;aACD;YACD,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,+BAAM,GAAN;QACC,IAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE;YAC3B,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;YAChB,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;gBACzD,IAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAClC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACxB,IAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;gBACnC,IAAI,OAAO,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE;oBACrC,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;oBACrC,IAAI,IAAI,GAAG,aAAa,EAAE;wBACzB,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;qBACtE;iBACD;aACD;YACD,IAAI,CAAC,IAAI,MAAM,EAAE;gBAChB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;aAC1D;SACD;IACF,CAAC;IAED,iCAAQ,GAAR,UAAS,QAAkB;QAC1B,IAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE;YAC3B,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;YAChB,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;gBACzD,IAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAClC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACpC,IAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;gBACnC,IAAI,OAAO,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE;oBACrC,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;oBACrC,IAAI,IAAI,GAAG,aAAa,EAAE;wBACzB,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;qBACtE;iBACD;aACD;YACD,IAAI,CAAC,IAAI,MAAM,EAAE;gBAChB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;aAC1D;SACD;IACF,CAAC;IAES,gCAAO,GAAjB;QACC,OAAO,gBAAgB,CAAC;IACzB,CAAC;IACF,qBAAC;AAAD,CAAC,AA9lBD,CAGU,kBAAkB,GA2lB3B","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, IPoint, Point, Renderer } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport {\n\tDDiagramCanvasBase,\n\tDDiagramCanvasBaseOptions,\n\tDThemeDiagramCanvasBase\n} from \"./d-diagram-canvas-base\";\nimport { EShape } from \"./shape/e-shape\";\nimport { EShapeBase } from \"./shape/variant/e-shape-base\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { EShapeActionValue } from \"./shape/action/e-shape-action-value\";\nimport { EShapeActionRuntime } from \"./shape/action/e-shape-action-runtime\";\nimport { DDiagramDataMapper } from \"./d-diagram-data-mapper\";\nimport { EShapeRuntimes } from \"./shape/e-shape-runtimes\";\nimport { EShapeRuntime } from \"./shape/e-shape-runtime\";\nimport { EShapeDataValue } from \"./shape/e-shape-data-value\";\nimport { EShapeDataValueType } from \"./shape/e-shape-data-value-type\";\nimport { EShapeContainer } from \"./shape/e-shape-container\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { DDiagramCanvasData } from \"./d-diagram-canvas-data\";\nimport { DDiagramCanvasDataImpl } from \"./d-diagram-canvas-data-impl\";\nimport { DDiagramCanvasShape } from \"./d-diagram-canvas-shape\";\nimport { DDiagramCanvasShapeImpl } from \"./d-diagram-canvas-shape-impl\";\nimport { DDiagramCanvasTicker } from \"./d-diagram-canvas-ticker\";\nimport { DDiagramCanvasTickerImpl } from \"./d-diagram-canvas-ticker-impl\";\nimport { EShapeDataValueScope } from \"./shape/e-shape-data-value-scope\";\nimport { EShapeEmbedded } from \"./shape/variant/e-shape-embedded\";\nimport { EShapeDataValueExtensions } from \"./shape/e-shape-data-value-extensions\";\nimport { EShapeActionEnvironment } from \"./shape/action/e-shape-action-environment\";\n\nexport interface DDiagramCanvasOptions<THEME extends DThemeDiagramCanvas = DThemeDiagramCanvas>\n\textends DDiagramCanvasBaseOptions<THEME> {}\n\nexport interface DThemeDiagramCanvas extends DThemeDiagramCanvasBase {}\n\nexport class DDiagramCanvas<\n\tTHEME extends DThemeDiagramCanvas = DThemeDiagramCanvas,\n\tOPTIONS extends DDiagramCanvasOptions<THEME> = DDiagramCanvasOptions<THEME>\n> extends DDiagramCanvasBase<THEME, OPTIONS> {\n\tprotected static WORK_DBLCLICK?: Point;\n\n\tprotected _data: DDiagramCanvasData;\n\tprotected _shape: DDiagramCanvasShape;\n\tprotected _ticker: DDiagramCanvasTicker;\n\tprotected _actionables: EShape[];\n\n\tprotected _overed?: EShape | null;\n\tprotected _downed?: EShape | null;\n\tprotected _downeds: Set<EShape>;\n\n\tprotected _updateBound: () => void;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._data = new DDiagramCanvasDataImpl();\n\t\tthis._shape = new DDiagramCanvasShapeImpl();\n\t\tthis._ticker = new DDiagramCanvasTickerImpl(this);\n\t\tthis._actionables = [];\n\t\tthis._downeds = new Set<EShape>();\n\t\tthis._updateBound = (): void => {\n\t\t\tDApplications.update(this);\n\t\t};\n\t}\n\n\tget data(): DDiagramCanvasData {\n\t\treturn this._data;\n\t}\n\n\tget shape(): DDiagramCanvasShape {\n\t\treturn this._shape;\n\t}\n\n\tget ticker(): DDiagramCanvasTicker {\n\t\treturn this._ticker;\n\t}\n\n\tinitialize(shapes: EShape[], mapper?: DDiagramDataMapper | null): void {\n\t\tconst time = Date.now();\n\t\tconst actionables = this._actionables;\n\t\tthis.initialize_(\n\t\t\tshapes,\n\t\t\tnull,\n\t\t\tmapper,\n\t\t\tnew Map<string, (value: unknown) => unknown>(),\n\t\t\tnew Map<string, unknown>(),\n\t\t\tnew Map<EShapeActionValue, EShapeActionRuntime>(),\n\t\t\tthis._ticker,\n\t\t\tthis._shape,\n\t\t\tthis._data,\n\t\t\tactionables\n\t\t);\n\t\tconst layers = this._layer.children;\n\t\tfor (let i = 0, imax = layers.length; i < imax; ++i) {\n\t\t\tlayers[i].initialize(actionables);\n\t\t}\n\t\tEShapeActionEnvironment.isInitializing = true;\n\t\tfor (let i = 0, imax = layers.length; i < imax; ++i) {\n\t\t\tconst layerChildren = layers[i].children;\n\t\t\tfor (let j = 0, jmax = layerChildren.length; j < jmax; ++j) {\n\t\t\t\tlayerChildren[j].update(time);\n\t\t\t}\n\t\t}\n\t\tEShapeActionEnvironment.isInitializing = false;\n\t\tthis._ticker.start();\n\t}\n\n\tprotected initialize_(\n\t\tshapes: EShape[],\n\t\tdataShape: EShape | null,\n\t\tmapper: DDiagramDataMapper | null | undefined,\n\t\tformatToFormatter: Map<string, (value: unknown) => unknown>,\n\t\tinitialToInitialValue: Map<string, unknown>,\n\t\tactionValueToRuntime: Map<EShapeActionValue, EShapeActionRuntime>,\n\t\tcanvasTicker: DDiagramCanvasTicker,\n\t\tcanvasShape: DDiagramCanvasShape,\n\t\tcanvasData: DDiagramCanvasData,\n\t\tactionables: EShape[]\n\t): void {\n\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\tconst shape = shapes[i];\n\n\t\t\t// ID\n\t\t\tconst id = shape.id;\n\t\t\tif (0 < id.length) {\n\t\t\t\tcanvasShape.add(id, shape);\n\t\t\t}\n\n\t\t\t// Data\n\t\t\tthis.initData(\n\t\t\t\tshape,\n\t\t\t\tdataShape,\n\t\t\t\tmapper,\n\t\t\t\tformatToFormatter,\n\t\t\t\tinitialToInitialValue,\n\t\t\t\tcanvasTicker,\n\t\t\t\tcanvasData\n\t\t\t);\n\n\t\t\t// Runtime\n\t\t\tconst runtime = new (EShapeRuntimes[shape.type] || EShapeRuntime)(shape);\n\t\t\tshape.runtime = runtime;\n\n\t\t\t// Action\n\t\t\tthis.initActions(shape, runtime, actionValueToRuntime);\n\n\t\t\t// Actionables\n\t\t\tif (runtime.isActionable()) {\n\t\t\t\tactionables.push(shape);\n\t\t\t}\n\n\t\t\t// Shortcut\n\t\t\tconst shortcut = shape.shortcut;\n\t\t\tif (shortcut != null) {\n\t\t\t\tUtilKeyboardEvent.on(shape, shortcut, (e: KeyboardEvent): void => {\n\t\t\t\t\truntime.onClick(shape, e);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Init the runtime\n\t\t\truntime.initialize(shape);\n\n\t\t\t// Children\n\t\t\tconst children = shape.children;\n\t\t\tif (0 < children.length) {\n\t\t\t\tthis.initialize_(\n\t\t\t\t\tchildren,\n\t\t\t\t\tthis.toDataShape(dataShape, shape),\n\t\t\t\t\tmapper,\n\t\t\t\t\tformatToFormatter,\n\t\t\t\t\tinitialToInitialValue,\n\t\t\t\t\tactionValueToRuntime,\n\t\t\t\t\tcanvasTicker,\n\t\t\t\t\tcanvasShape,\n\t\t\t\t\tcanvasData,\n\t\t\t\t\tactionables\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected initData(\n\t\tshape: EShape,\n\t\tdataShape: EShape | null,\n\t\tmapper: DDiagramDataMapper | null | undefined,\n\t\tformatToFormatter: Map<string, (value: unknown) => unknown>,\n\t\tinitialToInitialValue: Map<string, unknown>,\n\t\tcanvasTicker: DDiagramCanvasTicker,\n\t\tcanvasData: DDiagramCanvasData\n\t): void {\n\t\tconst data = shape.data;\n\t\tlet format: string = \"\";\n\t\tlet initial: string = \"\";\n\t\tfor (let i = 0, imax = data.size(); i < imax; ++i) {\n\t\t\tconst value = data.get(i);\n\t\t\tif (value == null) continue;\n\t\t\tswitch (value.type) {\n\t\t\t\tcase EShapeDataValueType.NUMBER:\n\t\t\t\tcase EShapeDataValueType.NUMBER_ARRAY:\n\t\t\t\tcase EShapeDataValueType.STRING:\n\t\t\t\tcase EShapeDataValueType.STRING_ARRAY:\n\t\t\t\tcase EShapeDataValueType.OBJECT:\n\t\t\t\tcase EShapeDataValueType.OBJECT_ARRAY:\n\t\t\t\t\t// Mapping\n\t\t\t\t\tif (value.scope === EShapeDataValueScope.PRIVATE) {\n\t\t\t\t\t\tconst id = value.id;\n\t\t\t\t\t\tif (0 < id.length) {\n\t\t\t\t\t\t\tif (dataShape) {\n\t\t\t\t\t\t\t\tdataShape.data.private.add(id, value);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcanvasData.private.add(id, value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (value.scope === EShapeDataValueScope.PROTECTED) {\n\t\t\t\t\t\tconst id = value.id;\n\t\t\t\t\t\tif (0 < id.length) {\n\t\t\t\t\t\t\tcanvasData.protected.add(id, value);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (mapper) {\n\t\t\t\t\t\t\tmapper(value, dataShape || shape);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst id = value.id;\n\t\t\t\t\t\tif (0 < id.length) {\n\t\t\t\t\t\t\tcanvasData.add(id, value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Format\n\t\t\t\t\tformat = value.format;\n\t\t\t\t\tinitial = value.initial;\n\t\t\t\t\tif (formatToFormatter.has(format)) {\n\t\t\t\t\t\tvalue.formatter = formatToFormatter.get(format);\n\t\t\t\t\t} else if (0 < format.length) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst formatter = this.calcFormatter(value, format, initial);\n\t\t\t\t\t\t\tformatToFormatter.set(format, formatter);\n\t\t\t\t\t\t\tvalue.formatter = formatter;\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t// DO NOTHING\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Initial\n\t\t\t\t\tif (initialToInitialValue.has(initial)) {\n\t\t\t\t\t\tvalue.value = initialToInitialValue.get(initial);\n\t\t\t\t\t} else if (0 < initial.length) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst initialValue = this.calcInitial(value, initial);\n\t\t\t\t\t\t\tinitialToInitialValue.set(initial, initialValue);\n\t\t\t\t\t\t\tvalue.value = initialValue;\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t// DO NOTHING\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\t\t// Initial\n\t\t\t\t\tinitial = value.initial;\n\t\t\t\t\tif (initialToInitialValue.has(initial)) {\n\t\t\t\t\t\tvalue.value = 0;\n\t\t\t\t\t\tcanvasTicker.add(initialToInitialValue.get(initial)).add(value);\n\t\t\t\t\t} else if (0 < initial.length) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst initialValue = this.calcInitial(value, initial);\n\t\t\t\t\t\t\tinitialToInitialValue.set(initial, initialValue);\n\t\t\t\t\t\t\tvalue.value = 0;\n\t\t\t\t\t\t\tcanvasTicker.add(initialValue).add(value);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t// DO NOTHING\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tconst extension = EShapeDataValueExtensions.get(value.type);\n\t\t\t\t\tif (extension) {\n\t\t\t\t\t\t// Mapping\n\t\t\t\t\t\tcanvasData.extended.add(extension.id, value);\n\n\t\t\t\t\t\t// Initial\n\t\t\t\t\t\tvalue.value = extension.initial;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected initActions(\n\t\tshape: EShape,\n\t\tshapeRuntime: EShapeRuntime,\n\t\tvalueToRuntime: Map<EShapeActionValue, EShapeActionRuntime>\n\t): void {\n\t\tconst values = shape.action.values;\n\t\tconst runtimes = shapeRuntime.actions;\n\t\tfor (let i = 0, imax = values.length; i < imax; ++i) {\n\t\t\tconst value = values[i];\n\t\t\tlet runtime = valueToRuntime.get(value);\n\t\t\tif (runtime == null) {\n\t\t\t\truntime = value.toRuntime();\n\t\t\t\tif (runtime != null) {\n\t\t\t\t\tvalueToRuntime.set(value, runtime);\n\t\t\t\t\truntimes.push(runtime);\n\t\t\t\t\tshapeRuntime.reset |= runtime.reset;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\truntimes.push(runtime);\n\t\t\t\tshapeRuntime.reset |= runtime.reset;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected calcFormatter(\n\t\tvalue: EShapeDataValue,\n\t\tformat: string,\n\t\tinitial: string\n\t): (value: unknown) => unknown {\n\t\tconst def = this.toInitial(value);\n\t\treturn Function(\n\t\t\t\"value\",\n\t\t\t/* eslint-disable prettier/prettier */\n\t\t\t`try {` +\n\t\t\t\t`return (${format});` +\n\t\t\t`} catch( e1 ) {` +\n\t\t\t\t`try {` +\n\t\t\t\t\t`return (${0 < initial.length ? initial : def});` +\n\t\t\t\t`} catch( e2 ) {` +\n\t\t\t\t\t`return ${def};` +\n\t\t\t\t`}` +\n\t\t\t`}`\n\t\t\t/* eslint-enable prettier/prettier */\n\t\t) as any;\n\t}\n\n\tprotected calcInitial(value: EShapeDataValue, initial: string): unknown {\n\t\treturn Function(\n\t\t\t/* eslint-disable prettier/prettier */\n\t\t\t`try {` +\n\t\t\t\t`return (${initial});` +\n\t\t\t`} catch( e ) {` +\n\t\t\t\t`return ${this.toInitial(value)};` +\n\t\t\t`}`\n\t\t\t/* eslint-enable prettier/prettier */\n\t\t)();\n\t}\n\n\tprotected toInitial(value: EShapeDataValue): string {\n\t\tconst valueType = value.type;\n\t\tswitch (valueType) {\n\t\t\tcase EShapeDataValueType.NUMBER:\n\t\t\t\treturn \"0\";\n\t\t\tcase EShapeDataValueType.NUMBER_ARRAY:\n\t\t\t\treturn \"[]\";\n\t\t\tcase EShapeDataValueType.STRING:\n\t\t\t\treturn '\"\"';\n\t\t\tcase EShapeDataValueType.STRING_ARRAY:\n\t\t\t\treturn \"[]\";\n\t\t\tcase EShapeDataValueType.OBJECT:\n\t\t\t\treturn \"{}\";\n\t\t\tcase EShapeDataValueType.OBJECT_ARRAY:\n\t\t\t\treturn \"[]\";\n\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\treturn \"0\";\n\t\t\tdefault:\n\t\t\t\treturn \"0\";\n\t\t}\n\t}\n\n\tprotected toDataShape(dataShape: EShape | null, shape: EShape): EShape | null {\n\t\tif (dataShape != null) {\n\t\t\treturn dataShape;\n\t\t}\n\t\tif (shape instanceof EShapeEmbedded) {\n\t\t\treturn shape;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onDestroy(): void {\n\t\tthis._ticker.stop();\n\t\tsuper.onDestroy();\n\t}\n\n\thitTestInteractives(global: IPoint): EShape | null {\n\t\tconst layers = this._layer.children;\n\t\tfor (let i = layers.length - 1; 0 <= i; --i) {\n\t\t\tconst layer = layers[i];\n\t\t\tif (layer.visible) {\n\t\t\t\tconst result = layer.hitTestInteractives(global);\n\t\t\t\tif (result != null) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tonShapeMove(e: interaction.InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst view = layer.view;\n\n\t\t\t// Cursor\n\t\t\tconst cursor = this.toShapeCursor(found);\n\t\t\tconst style = view.style;\n\t\t\tif (style.cursor !== cursor) {\n\t\t\t\tstyle.cursor = cursor;\n\t\t\t}\n\n\t\t\t// TItle\n\t\t\tconst title = this.toShapeTitle(found);\n\t\t\tif (view.title !== title) {\n\t\t\t\tview.title = title;\n\t\t\t}\n\t\t}\n\n\t\tconst overed = this._overed;\n\t\tthis._overed = found;\n\t\tif (found === overed) {\n\t\t\tif (found != null) {\n\t\t\t\tconst runtime = found.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onMove(found, e);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthis.onShapeOut(e, overed, found);\n\t\t\tthis.onShapeOver(e, found);\n\t\t}\n\t\treturn found != null;\n\t}\n\n\tprotected toShapeCursor(target: EShape | null): string {\n\t\tif (target != null) {\n\t\t\tconst result = target.cursor;\n\t\t\tif (0 < result.length) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn \"auto\";\n\t}\n\n\tprotected toShapeTitle(target: EShape | null): string {\n\t\tif (target != null) {\n\t\t\treturn target.title || \"\";\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tprotected onShapeOut(\n\t\te: interaction.InteractionEvent,\n\t\ttarget?: EShape | EShapeContainer | null,\n\t\texcept?: EShape | null\n\t): void {\n\t\twhile (target != null && target !== except && target instanceof EShapeBase) {\n\t\t\tconst runtime = target.runtime;\n\t\t\tif (runtime) {\n\t\t\t\truntime.onOut(target, e);\n\t\t\t}\n\t\t\ttarget = target.parent;\n\t\t}\n\t}\n\n\tprotected onShapeOver(\n\t\te: interaction.InteractionEvent,\n\t\ttarget?: EShape | EShapeContainer | null,\n\t\texcept?: EShape | null\n\t): void {\n\t\twhile (target != null && target !== except && target instanceof EShapeBase) {\n\t\t\tconst runtime = target.runtime;\n\t\t\tif (runtime) {\n\t\t\t\truntime.onOver(target, e);\n\t\t\t}\n\t\t\ttarget = target.parent;\n\t\t}\n\t}\n\n\tonShapeDown(e: interaction.InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tthis._downed = found;\n\t\tif (found) {\n\t\t\tthis._downeds.add(found);\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onDown(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeUp(e: interaction.InteractionEvent): boolean {\n\t\tconst downeds = this._downeds;\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tif (found) {\n\t\t\tdowneds.delete(found);\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onUp(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis.onShapeCancel(e);\n\t\treturn found != null;\n\t}\n\n\tonShapeCancel(e: interaction.InteractionEvent): boolean {\n\t\tconst downeds = this._downeds;\n\t\tif (0 < downeds.size) {\n\t\t\tdowneds.forEach((downed: EShape): void => {\n\t\t\t\tlet target = downed;\n\t\t\t\twhile (true) {\n\t\t\t\t\tconst runtime = target.runtime;\n\t\t\t\t\tif (runtime) {\n\t\t\t\t\t\truntime.onUpOutside(target, e);\n\t\t\t\t\t}\n\t\t\t\t\tconst parent = target.parent;\n\t\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\t\ttarget = parent;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tdowneds.clear();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeClick(e: interaction.InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tif (found && this._downed === found) {\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onClick(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: interaction.InteractionManager\n\t): boolean {\n\t\tconst global = (DDiagramCanvas.WORK_DBLCLICK ??= new Point());\n\t\tUtilPointerEvent.toGlobal(e, interactionManager, global);\n\t\tconst found = this.hitTestInteractives(global);\n\t\tif (found) {\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onDblClick(target, e, interactionManager);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tupdate(): void {\n\t\tconst actionables = this._actionables;\n\t\tif (0 < actionables.length) {\n\t\t\tlet effect = -1;\n\t\t\tconst time = Date.now();\n\t\t\tfor (let i = 0, imax = actionables.length; i < imax; ++i) {\n\t\t\t\tconst actionable = actionables[i];\n\t\t\t\tactionable.update(time);\n\t\t\t\tconst runtime = actionable.runtime;\n\t\t\t\tif (runtime && time < runtime.effect) {\n\t\t\t\t\tconst runtimeEffect = runtime.effect;\n\t\t\t\t\tif (time < runtimeEffect) {\n\t\t\t\t\t\teffect = effect < 0 ? runtimeEffect : Math.min(effect, runtimeEffect);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (0 <= effect) {\n\t\t\t\twindow.setTimeout(this._updateBound, effect - Date.now());\n\t\t\t}\n\t\t}\n\t}\n\n\tonRender(renderer: Renderer): void {\n\t\tconst actionables = this._actionables;\n\t\tif (0 < actionables.length) {\n\t\t\tlet effect = -1;\n\t\t\tconst time = Date.now();\n\t\t\tfor (let i = 0, imax = actionables.length; i < imax; ++i) {\n\t\t\t\tconst actionable = actionables[i];\n\t\t\t\tactionable.onRender(time, renderer);\n\t\t\t\tconst runtime = actionable.runtime;\n\t\t\t\tif (runtime && time < runtime.effect) {\n\t\t\t\t\tconst runtimeEffect = runtime.effect;\n\t\t\t\t\tif (time < runtimeEffect) {\n\t\t\t\t\t\teffect = effect < 0 ? runtimeEffect : Math.min(effect, runtimeEffect);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (0 <= effect) {\n\t\t\t\twindow.setTimeout(this._updateBound, effect - Date.now());\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagramCanvas\";\n\t}\n}\n"]}
@@ -174,8 +174,8 @@ var DDiagramEditor = /** @class */ (function (_super) {
174
174
  snap: undefined
175
175
  });
176
176
  };
177
- DDiagramEditor.prototype.onSet = function (serialized) {
178
- _super.prototype.onSet.call(this, serialized);
177
+ DDiagramEditor.prototype.onSet = function (serialized, canvas) {
178
+ _super.prototype.onSet.call(this, serialized, canvas);
179
179
  // Snap settings
180
180
  var snap = serialized.snap;
181
181
  var snapper = this._snapper;