@wcardinal/wcardinal-ui 0.199.0 → 0.200.1

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;
@@ -2,13 +2,8 @@ import { EShape } from "../e-shape";
2
2
  import { EShapeRuntime } from "../e-shape-runtime";
3
3
  import { EShapeActionRuntimeConditional } from "./e-shape-action-runtime-conditional";
4
4
  import { EShapeActionValueShowHideShape } from "./e-shape-action-value-show-hide-shape";
5
- export interface EShapeActionRuntimeShowHideShapeData {
6
- condition: boolean | null;
7
- }
8
5
  export declare class EShapeActionRuntimeShowHideShape extends EShapeActionRuntimeConditional {
9
- protected _data: Map<EShape, EShapeActionRuntimeShowHideShapeData>;
10
6
  constructor(value: EShapeActionValueShowHideShape);
11
7
  initialize(shape: EShape, runtime: EShapeRuntime): void;
12
8
  execute(shape: EShape, runtime: EShapeRuntime, time: number): void;
13
- protected newData(shape: EShape): EShapeActionRuntimeShowHideShapeData | undefined;
14
9
  }
@@ -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"]}
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"file":"d-diagram-editor.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-editor.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DControllerDocument } from \"./d-controller-document\";\nimport { DControllers } from \"./d-controllers\";\nimport {\n\tDDiagramBase,\n\tDDiagramBaseEvents,\n\tDDiagramBaseOptions,\n\tDThemeDiagramBase\n} from \"./d-diagram-base\";\nimport { DDiagramCanvasEditor, DDiagramCanvasEditorOptions } from \"./d-diagram-canvas-editor\";\nimport { DDiagramEditorController } from \"./d-diagram-editor-controller\";\nimport {\n\tDDiagramEditorThumbnail,\n\tDDiagramEditorThumbnailOptions,\n\tDThemeDiagramEditorThumbnail\n} from \"./d-diagram-editor-thumbnail\";\nimport {\n\tDDiagramSerialized,\n\tDDiagramSerializedSimple,\n\tDDiagramSerializedVersion\n} from \"./d-diagram-serialized\";\nimport { DDiagrams } from \"./d-diagrams\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { ESnapper } from \"./snapper/e-snapper\";\n\n/**\n * {@link DDiagramEditor} events.\n */\nexport interface DDiagramEditorEvents<EMITTER>\n\textends DDiagramBaseEvents<DDiagramCanvasEditor, EMITTER> {\n\t/**\n\t * Triggered when a serialized data is changed without using the set / unset methods.\n\t * This happens, for instance, when the name or the ID of the serialized data is changed.\n\t *\n\t * @param emitter an emitter\n\t */\n\tchange(emitter: EMITTER): void;\n\n\t/**\n\t * Triggered before serializing a canvas.\n\t *\n\t * @param canvas a canvas\n\t * @param emitter an emitter\n\t */\n\tserializing(canvas: DDiagramCanvasEditor, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when serialized successfully or when failed to serialize.\n\t *\n\t * @param reason Null if succeeded. Otherwise, a string representing a reason why failed.\n\t * @param emitter an emitter\n\t */\n\tserialized(canvas: DDiagramCanvasEditor, reason: string | null, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered before saving.\n\t *\n\t * @param simple a serialized data\n\t * @param emitter an emitter\n\t */\n\tsaving(simple: DDiagramSerializedSimple, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when saved successfully or when failed to save.\n\t *\n\t * @param reason Null if succeeded. Otherwise, a string representing a reason why failed.\n\t * @param emitter an emitter\n\t */\n\tsaved(reason: string | null, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered before opening.\n\t *\n\t * @param emitter an emitter\n\t */\n\topening(emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when opened successfully or when failed to open.\n\t *\n\t * @param reason Null if succeeded. Otherwise, a string representing a reason why failed.\n\t * @param emitter an emitter\n\t */\n\topened(reason: string | null, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered before deleting.\n\t *\n\t * @param emitter an emitter\n\t */\n\tdeleting(emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when deleted successfully or when failed to delete.\n\t *\n\t * @param reason Null if succeeded. Otherwise, a string representing a reason why failed.\n\t * @param emitter an emitter.\n\t */\n\tdeleted(reason: string | null, emitter: EMITTER): void;\n}\n\n/**\n * {@link DDiagramEditor} \"on\" options.\n */\nexport interface DDiagramEditorOnOptions<EMITTER>\n\textends Partial<DDiagramEditorEvents<EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DDiagramEditor} options.\n */\nexport interface DDiagramEditorOptions<\n\tTHEME extends DThemeDiagramEditor = DThemeDiagramEditor,\n\tEMITTER = any\n> extends DDiagramBaseOptions<\n\t\tDDiagramCanvasEditor,\n\t\tDDiagramCanvasEditorOptions,\n\t\tDDiagramEditorController,\n\t\tTHEME\n\t> {\n\tcontroller?: DDiagramEditorController;\n\ton?: DDiagramEditorOnOptions<EMITTER>;\n\tthumbnail?: DDiagramEditorThumbnailOptions;\n}\n\n/**\n * {@link DDiagramEditor} theme.\n */\nexport interface DThemeDiagramEditor extends DThemeDiagramBase, DThemeDiagramEditorThumbnail {}\n\nexport class DDiagramEditor<\n\t\tTHEME extends DThemeDiagramEditor = DThemeDiagramEditor,\n\t\tOPTIONS extends DDiagramEditorOptions<THEME> = DDiagramEditorOptions<THEME>\n\t>\n\textends DDiagramBase<\n\t\tDDiagramCanvasEditor,\n\t\tDDiagramCanvasEditorOptions,\n\t\tDDiagramEditorController,\n\t\tTHEME,\n\t\tOPTIONS\n\t>\n\timplements DControllerDocument<DDiagramSerialized>\n{\n\tprotected _isChanged: boolean = false;\n\tprotected _snapper: ESnapper;\n\tprotected _thumbnail: DDiagramEditorThumbnail;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._isChanged = false;\n\n\t\tconst commands = DControllers.getCommandController();\n\t\tcommands.on(\"dirty\", (): void => {\n\t\t\tif (this._isChanged !== true) {\n\t\t\t\tthis._isChanged = true;\n\t\t\t\tthis.emit(\"change\", this);\n\t\t\t}\n\t\t});\n\n\t\tthis._snapper = new ESnapper(this);\n\t\tthis._thumbnail = new DDiagramEditorThumbnail(\n\t\t\tthis._snapshot,\n\t\t\tthis.theme,\n\t\t\toptions?.thumbnail\n\t\t);\n\t}\n\n\tget thumbnail(): DDiagramEditorThumbnail {\n\t\treturn this._thumbnail;\n\t}\n\n\tget snapper(): ESnapper {\n\t\treturn this._snapper;\n\t}\n\n\tprotected isEditMode(): boolean {\n\t\treturn true;\n\t}\n\n\tprotected newCanvas(serialized: DDiagramSerialized): DDiagramCanvasEditor {\n\t\treturn new DDiagramCanvasEditor(this.toCanvasOptions(serialized));\n\t}\n\n\tprotected toCanvasOptions(serialized: DDiagramSerialized): DDiagramCanvasEditorOptions {\n\t\tconst options: DDiagramCanvasEditorOptions = this.toCanvasBaseOptions(serialized);\n\n\t\t// Snapper\n\t\tconst snapper = this._snapper;\n\t\tconst snap = options.snap;\n\t\tif (snap == null) {\n\t\t\toptions.snap = {\n\t\t\t\tcontroller: snapper\n\t\t\t};\n\t\t} else if (snap.controller == null) {\n\t\t\tsnap.controller = snapper;\n\t\t}\n\n\t\treturn options;\n\t}\n\n\tserialize(): DDiagramSerialized | null {\n\t\tconst canvas = this.canvas;\n\t\tconst serialized = this._serialized;\n\t\tif (canvas != null && serialized != null) {\n\t\t\tthis.emit(\"serializing\", canvas, this);\n\t\t\ttry {\n\t\t\t\tconst result = canvas.serialize(serialized.id, this._thumbnail);\n\t\t\t\tthis.emit(\"serialized\", canvas, null, this);\n\t\t\t\treturn result;\n\t\t\t} catch (e) {\n\t\t\t\tthis.emit(\"serialized\", canvas, \"exception\", this);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tsave(): Promise<unknown> {\n\t\tconst serialized = this.serialize();\n\t\tif (serialized != null) {\n\t\t\tconst controller = this._controller;\n\t\t\tif (controller) {\n\t\t\t\tconst simple = DDiagrams.toSimple(serialized);\n\t\t\t\tthis.emit(\"saving\", simple, this);\n\t\t\t\treturn controller.save(simple).then(\n\t\t\t\t\t(newId: number): void => {\n\t\t\t\t\t\tthis._isChanged = false;\n\t\t\t\t\t\tserialized.id = newId;\n\t\t\t\t\t\tthis._serialized = serialized;\n\t\t\t\t\t\tthis.emit(\"change\", this);\n\t\t\t\t\t\tthis.emit(\"saved\", null, this);\n\t\t\t\t\t},\n\t\t\t\t\t(reason: string): void => {\n\t\t\t\t\t\tthis.emit(\"saved\", reason, this);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.emit(\"saved\", \"no-controller\", this);\n\t\t\t\treturn Promise.reject();\n\t\t\t}\n\t\t}\n\t\tthis.emit(\"saved\", null, this);\n\t\treturn Promise.resolve();\n\t}\n\n\tsaveAs(name: string): Promise<unknown> {\n\t\tconst serialized = this.serialize();\n\t\tif (serialized != null) {\n\t\t\tconst controller = this._controller;\n\t\t\tif (controller) {\n\t\t\t\tserialized.id = undefined;\n\t\t\t\tserialized.name = name;\n\t\t\t\tconst simple = DDiagrams.toSimple(serialized);\n\t\t\t\tthis.emit(\"saving\", simple, this);\n\t\t\t\treturn controller.save(simple).then(\n\t\t\t\t\t(newId: number): void => {\n\t\t\t\t\t\tthis._isChanged = false;\n\t\t\t\t\t\tserialized.id = newId;\n\t\t\t\t\t\tthis._serialized = serialized;\n\t\t\t\t\t\tconst canvas = this.canvas;\n\t\t\t\t\t\tif (canvas != null) {\n\t\t\t\t\t\t\tcanvas.name = name;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.emit(\"change\", this);\n\t\t\t\t\t\tthis.emit(\"saved\", null, this);\n\t\t\t\t\t},\n\t\t\t\t\t(reason: string): void => {\n\t\t\t\t\t\tthis.emit(\"saved\", reason, this);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.emit(\"saved\", \"no-controller\", this);\n\t\t\t\treturn Promise.reject(\"no-controller\");\n\t\t\t}\n\t\t}\n\t\tthis.emit(\"saved\", null, this);\n\t\treturn Promise.resolve();\n\t}\n\n\tdelete(): Promise<unknown> {\n\t\tconst serialized = this._serialized;\n\t\tif (serialized && serialized.id != null) {\n\t\t\tconst controller = this._controller;\n\t\t\tif (controller) {\n\t\t\t\tthis.emit(\"deleting\", this);\n\t\t\t\treturn controller.delete(serialized.id).then(\n\t\t\t\t\t(): void => {\n\t\t\t\t\t\tthis.set(null);\n\t\t\t\t\t\tthis.emit(\"deleted\", this);\n\t\t\t\t\t},\n\t\t\t\t\t(reason: string): void => {\n\t\t\t\t\t\tthis.emit(\"deleted\", reason, this);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.emit(\"deleted\", \"no-controller\", this);\n\t\t\t\treturn Promise.reject(\"no-controller\");\n\t\t\t}\n\t\t}\n\t\tthis.set(null);\n\t\tthis.emit(\"deleted\", null, this);\n\t\treturn Promise.resolve();\n\t}\n\n\tcreate(name: string, width: number, height: number): void {\n\t\tthis.set({\n\t\t\tversion: DDiagramSerializedVersion,\n\t\t\tid: undefined,\n\t\t\tname,\n\t\t\twidth,\n\t\t\theight,\n\t\t\tresources: [],\n\t\t\tdata: [],\n\t\t\tlayers: [[\"Default layer\"]],\n\t\t\titems: [],\n\t\t\tsnap: undefined\n\t\t});\n\t}\n\n\tprotected onSet(serialized: DDiagramSerialized): void {\n\t\tsuper.onSet(serialized);\n\n\t\t// Snap settings\n\t\tconst snap = serialized.snap;\n\t\tconst snapper = this._snapper;\n\t\tif (snap != null) {\n\t\t\tsnapper.deserialize(snap);\n\t\t} else {\n\t\t\tsnapper.reset();\n\t\t}\n\t\tif (this._isAmbient) {\n\t\t\tsnapper.target.visible = false;\n\t\t\tsnapper.grid.visible = false;\n\t\t}\n\n\t\t// Reset the isChanged flag\n\t\tthis._isChanged = false;\n\n\t\t// Done\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tprotected onUnset(): void {\n\t\tsuper.onUnset();\n\t\tthis._isChanged = false;\n\t\tthis.emit(\"change\", this);\n\t}\n\n\topen(id: number): Promise<unknown> {\n\t\tconst controller = this._controller;\n\t\tif (controller) {\n\t\t\tthis.emit(\"opening\", this);\n\t\t\treturn controller.get(id).then(\n\t\t\t\t(serialized: DDiagramSerializedSimple | DDiagramSerialized): void => {\n\t\t\t\t\tthis.set(DDiagrams.toSerialized(serialized));\n\t\t\t\t\tthis.emit(\"opened\", null, this);\n\t\t\t\t},\n\t\t\t\t(reason: string): void => {\n\t\t\t\t\tthis.emit(\"opened\", reason, this);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\tthis.emit(\"opened\", \"no-controller\", this);\n\t\treturn Promise.reject(\"no-controller\");\n\t}\n\n\tclose(): void {\n\t\tthis.set(null);\n\t}\n\n\tisChanged(): boolean {\n\t\treturn this._isChanged || this.isNew();\n\t}\n\n\tisNew(): boolean {\n\t\tconst serialized = this._serialized;\n\t\tif (serialized != null) {\n\t\t\treturn serialized.id == null;\n\t\t}\n\t\treturn false;\n\t}\n\n\tgetName(): string | null {\n\t\tconst serialized = this._serialized;\n\t\tif (serialized != null) {\n\t\t\treturn serialized.name;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagramEditor\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-diagram-editor.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-editor.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DControllerDocument } from \"./d-controller-document\";\nimport { DControllers } from \"./d-controllers\";\nimport {\n\tDDiagramBase,\n\tDDiagramBaseEvents,\n\tDDiagramBaseOptions,\n\tDThemeDiagramBase\n} from \"./d-diagram-base\";\nimport { DDiagramCanvasEditor, DDiagramCanvasEditorOptions } from \"./d-diagram-canvas-editor\";\nimport { DDiagramEditorController } from \"./d-diagram-editor-controller\";\nimport {\n\tDDiagramEditorThumbnail,\n\tDDiagramEditorThumbnailOptions,\n\tDThemeDiagramEditorThumbnail\n} from \"./d-diagram-editor-thumbnail\";\nimport {\n\tDDiagramSerialized,\n\tDDiagramSerializedSimple,\n\tDDiagramSerializedVersion\n} from \"./d-diagram-serialized\";\nimport { DDiagrams } from \"./d-diagrams\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { ESnapper } from \"./snapper/e-snapper\";\n\n/**\n * {@link DDiagramEditor} events.\n */\nexport interface DDiagramEditorEvents<EMITTER>\n\textends DDiagramBaseEvents<DDiagramCanvasEditor, EMITTER> {\n\t/**\n\t * Triggered when a serialized data is changed without using the set / unset methods.\n\t * This happens, for instance, when the name or the ID of the serialized data is changed.\n\t *\n\t * @param emitter an emitter\n\t */\n\tchange(emitter: EMITTER): void;\n\n\t/**\n\t * Triggered before serializing a canvas.\n\t *\n\t * @param canvas a canvas\n\t * @param emitter an emitter\n\t */\n\tserializing(canvas: DDiagramCanvasEditor, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when serialized successfully or when failed to serialize.\n\t *\n\t * @param reason Null if succeeded. Otherwise, a string representing a reason why failed.\n\t * @param emitter an emitter\n\t */\n\tserialized(canvas: DDiagramCanvasEditor, reason: string | null, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered before saving.\n\t *\n\t * @param simple a serialized data\n\t * @param emitter an emitter\n\t */\n\tsaving(simple: DDiagramSerializedSimple, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when saved successfully or when failed to save.\n\t *\n\t * @param reason Null if succeeded. Otherwise, a string representing a reason why failed.\n\t * @param emitter an emitter\n\t */\n\tsaved(reason: string | null, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered before opening.\n\t *\n\t * @param emitter an emitter\n\t */\n\topening(emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when opened successfully or when failed to open.\n\t *\n\t * @param reason Null if succeeded. Otherwise, a string representing a reason why failed.\n\t * @param emitter an emitter\n\t */\n\topened(reason: string | null, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered before deleting.\n\t *\n\t * @param emitter an emitter\n\t */\n\tdeleting(emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when deleted successfully or when failed to delete.\n\t *\n\t * @param reason Null if succeeded. Otherwise, a string representing a reason why failed.\n\t * @param emitter an emitter.\n\t */\n\tdeleted(reason: string | null, emitter: EMITTER): void;\n}\n\n/**\n * {@link DDiagramEditor} \"on\" options.\n */\nexport interface DDiagramEditorOnOptions<EMITTER>\n\textends Partial<DDiagramEditorEvents<EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DDiagramEditor} options.\n */\nexport interface DDiagramEditorOptions<\n\tTHEME extends DThemeDiagramEditor = DThemeDiagramEditor,\n\tEMITTER = any\n> extends DDiagramBaseOptions<\n\t\tDDiagramCanvasEditor,\n\t\tDDiagramCanvasEditorOptions,\n\t\tDDiagramEditorController,\n\t\tTHEME\n\t> {\n\tcontroller?: DDiagramEditorController;\n\ton?: DDiagramEditorOnOptions<EMITTER>;\n\tthumbnail?: DDiagramEditorThumbnailOptions;\n}\n\n/**\n * {@link DDiagramEditor} theme.\n */\nexport interface DThemeDiagramEditor extends DThemeDiagramBase, DThemeDiagramEditorThumbnail {}\n\nexport class DDiagramEditor<\n\t\tTHEME extends DThemeDiagramEditor = DThemeDiagramEditor,\n\t\tOPTIONS extends DDiagramEditorOptions<THEME> = DDiagramEditorOptions<THEME>\n\t>\n\textends DDiagramBase<\n\t\tDDiagramCanvasEditor,\n\t\tDDiagramCanvasEditorOptions,\n\t\tDDiagramEditorController,\n\t\tTHEME,\n\t\tOPTIONS\n\t>\n\timplements DControllerDocument<DDiagramSerialized>\n{\n\tprotected _isChanged: boolean = false;\n\tprotected _snapper: ESnapper;\n\tprotected _thumbnail: DDiagramEditorThumbnail;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._isChanged = false;\n\n\t\tconst commands = DControllers.getCommandController();\n\t\tcommands.on(\"dirty\", (): void => {\n\t\t\tif (this._isChanged !== true) {\n\t\t\t\tthis._isChanged = true;\n\t\t\t\tthis.emit(\"change\", this);\n\t\t\t}\n\t\t});\n\n\t\tthis._snapper = new ESnapper(this);\n\t\tthis._thumbnail = new DDiagramEditorThumbnail(\n\t\t\tthis._snapshot,\n\t\t\tthis.theme,\n\t\t\toptions?.thumbnail\n\t\t);\n\t}\n\n\tget thumbnail(): DDiagramEditorThumbnail {\n\t\treturn this._thumbnail;\n\t}\n\n\tget snapper(): ESnapper {\n\t\treturn this._snapper;\n\t}\n\n\tprotected isEditMode(): boolean {\n\t\treturn true;\n\t}\n\n\tprotected newCanvas(serialized: DDiagramSerialized): DDiagramCanvasEditor {\n\t\treturn new DDiagramCanvasEditor(this.toCanvasOptions(serialized));\n\t}\n\n\tprotected toCanvasOptions(serialized: DDiagramSerialized): DDiagramCanvasEditorOptions {\n\t\tconst options: DDiagramCanvasEditorOptions = this.toCanvasBaseOptions(serialized);\n\n\t\t// Snapper\n\t\tconst snapper = this._snapper;\n\t\tconst snap = options.snap;\n\t\tif (snap == null) {\n\t\t\toptions.snap = {\n\t\t\t\tcontroller: snapper\n\t\t\t};\n\t\t} else if (snap.controller == null) {\n\t\t\tsnap.controller = snapper;\n\t\t}\n\n\t\treturn options;\n\t}\n\n\tserialize(): DDiagramSerialized | null {\n\t\tconst canvas = this.canvas;\n\t\tconst serialized = this._serialized;\n\t\tif (canvas != null && serialized != null) {\n\t\t\tthis.emit(\"serializing\", canvas, this);\n\t\t\ttry {\n\t\t\t\tconst result = canvas.serialize(serialized.id, this._thumbnail);\n\t\t\t\tthis.emit(\"serialized\", canvas, null, this);\n\t\t\t\treturn result;\n\t\t\t} catch (e) {\n\t\t\t\tthis.emit(\"serialized\", canvas, \"exception\", this);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tsave(): Promise<unknown> {\n\t\tconst serialized = this.serialize();\n\t\tif (serialized != null) {\n\t\t\tconst controller = this._controller;\n\t\t\tif (controller) {\n\t\t\t\tconst simple = DDiagrams.toSimple(serialized);\n\t\t\t\tthis.emit(\"saving\", simple, this);\n\t\t\t\treturn controller.save(simple).then(\n\t\t\t\t\t(newId: number): void => {\n\t\t\t\t\t\tthis._isChanged = false;\n\t\t\t\t\t\tserialized.id = newId;\n\t\t\t\t\t\tthis._serialized = serialized;\n\t\t\t\t\t\tthis.emit(\"change\", this);\n\t\t\t\t\t\tthis.emit(\"saved\", null, this);\n\t\t\t\t\t},\n\t\t\t\t\t(reason: string): void => {\n\t\t\t\t\t\tthis.emit(\"saved\", reason, this);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.emit(\"saved\", \"no-controller\", this);\n\t\t\t\treturn Promise.reject();\n\t\t\t}\n\t\t}\n\t\tthis.emit(\"saved\", null, this);\n\t\treturn Promise.resolve();\n\t}\n\n\tsaveAs(name: string): Promise<unknown> {\n\t\tconst serialized = this.serialize();\n\t\tif (serialized != null) {\n\t\t\tconst controller = this._controller;\n\t\t\tif (controller) {\n\t\t\t\tserialized.id = undefined;\n\t\t\t\tserialized.name = name;\n\t\t\t\tconst simple = DDiagrams.toSimple(serialized);\n\t\t\t\tthis.emit(\"saving\", simple, this);\n\t\t\t\treturn controller.save(simple).then(\n\t\t\t\t\t(newId: number): void => {\n\t\t\t\t\t\tthis._isChanged = false;\n\t\t\t\t\t\tserialized.id = newId;\n\t\t\t\t\t\tthis._serialized = serialized;\n\t\t\t\t\t\tconst canvas = this.canvas;\n\t\t\t\t\t\tif (canvas != null) {\n\t\t\t\t\t\t\tcanvas.name = name;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.emit(\"change\", this);\n\t\t\t\t\t\tthis.emit(\"saved\", null, this);\n\t\t\t\t\t},\n\t\t\t\t\t(reason: string): void => {\n\t\t\t\t\t\tthis.emit(\"saved\", reason, this);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.emit(\"saved\", \"no-controller\", this);\n\t\t\t\treturn Promise.reject(\"no-controller\");\n\t\t\t}\n\t\t}\n\t\tthis.emit(\"saved\", null, this);\n\t\treturn Promise.resolve();\n\t}\n\n\tdelete(): Promise<unknown> {\n\t\tconst serialized = this._serialized;\n\t\tif (serialized && serialized.id != null) {\n\t\t\tconst controller = this._controller;\n\t\t\tif (controller) {\n\t\t\t\tthis.emit(\"deleting\", this);\n\t\t\t\treturn controller.delete(serialized.id).then(\n\t\t\t\t\t(): void => {\n\t\t\t\t\t\tthis.set(null);\n\t\t\t\t\t\tthis.emit(\"deleted\", this);\n\t\t\t\t\t},\n\t\t\t\t\t(reason: string): void => {\n\t\t\t\t\t\tthis.emit(\"deleted\", reason, this);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.emit(\"deleted\", \"no-controller\", this);\n\t\t\t\treturn Promise.reject(\"no-controller\");\n\t\t\t}\n\t\t}\n\t\tthis.set(null);\n\t\tthis.emit(\"deleted\", null, this);\n\t\treturn Promise.resolve();\n\t}\n\n\tcreate(name: string, width: number, height: number): void {\n\t\tthis.set({\n\t\t\tversion: DDiagramSerializedVersion,\n\t\t\tid: undefined,\n\t\t\tname,\n\t\t\twidth,\n\t\t\theight,\n\t\t\tresources: [],\n\t\t\tdata: [],\n\t\t\tlayers: [[\"Default layer\"]],\n\t\t\titems: [],\n\t\t\tsnap: undefined\n\t\t});\n\t}\n\n\tprotected onSet(serialized: DDiagramSerialized, canvas: DDiagramCanvasEditor): void {\n\t\tsuper.onSet(serialized, canvas);\n\n\t\t// Snap settings\n\t\tconst snap = serialized.snap;\n\t\tconst snapper = this._snapper;\n\t\tif (snap != null) {\n\t\t\tsnapper.deserialize(snap);\n\t\t} else {\n\t\t\tsnapper.reset();\n\t\t}\n\t\tif (this._isAmbient) {\n\t\t\tsnapper.target.visible = false;\n\t\t\tsnapper.grid.visible = false;\n\t\t}\n\n\t\t// Reset the isChanged flag\n\t\tthis._isChanged = false;\n\n\t\t// Done\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tprotected onUnset(): void {\n\t\tsuper.onUnset();\n\t\tthis._isChanged = false;\n\t\tthis.emit(\"change\", this);\n\t}\n\n\topen(id: number): Promise<unknown> {\n\t\tconst controller = this._controller;\n\t\tif (controller) {\n\t\t\tthis.emit(\"opening\", this);\n\t\t\treturn controller.get(id).then(\n\t\t\t\t(serialized: DDiagramSerializedSimple | DDiagramSerialized): void => {\n\t\t\t\t\tthis.set(DDiagrams.toSerialized(serialized));\n\t\t\t\t\tthis.emit(\"opened\", null, this);\n\t\t\t\t},\n\t\t\t\t(reason: string): void => {\n\t\t\t\t\tthis.emit(\"opened\", reason, this);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\tthis.emit(\"opened\", \"no-controller\", this);\n\t\treturn Promise.reject(\"no-controller\");\n\t}\n\n\tclose(): void {\n\t\tthis.set(null);\n\t}\n\n\tisChanged(): boolean {\n\t\treturn this._isChanged || this.isNew();\n\t}\n\n\tisNew(): boolean {\n\t\tconst serialized = this._serialized;\n\t\tif (serialized != null) {\n\t\t\treturn serialized.id == null;\n\t\t}\n\t\treturn false;\n\t}\n\n\tgetName(): string | null {\n\t\tconst serialized = this._serialized;\n\t\tif (serialized != null) {\n\t\t\treturn serialized.name;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagramEditor\";\n\t}\n}\n"]}
@@ -50,7 +50,7 @@ var DDiagram = /** @class */ (function (_super) {
50
50
  return _this;
51
51
  }
52
52
  DDiagram.prototype.initLayer = function (canvas, shapes, mapper) {
53
- _super.prototype.initLayer.call(this, canvas, shapes, mapper || this.data.mapper);
53
+ return _super.prototype.initLayer.call(this, canvas, shapes, mapper || this.data.mapper);
54
54
  };
55
55
  DDiagram.prototype.isEditMode = function () {
56
56
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"d-diagram.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram.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, Renderer } from \"pixi.js\";\nimport { DDiagramBase, DDiagramBaseOptions, DThemeDiagramBase } from \"./d-diagram-base\";\nimport { DDiagramCanvas, DDiagramCanvasOptions } from \"./d-diagram-canvas\";\nimport { DDiagramSerialized } from \"./d-diagram-serialized\";\nimport { DDiagramShape } from \"./d-diagram-shape\";\nimport { DDiagramData, DDiagramDataOptions } from \"./d-diagram-data\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { EShape } from \"./shape/e-shape\";\nimport { DDiagramDataImpl } from \"./d-diagram-data-impl\";\nimport { DDiagramDataMapper } from \"./d-diagram-data-mapper\";\nimport { DDiagramController } from \"./d-diagram-controller\";\n\n/**\n * {@link DDiagram} options.\n */\nexport interface DDiagramOptions<THEME extends DThemeDiagram = DThemeDiagram, EMITTER = any>\n\textends DDiagramBaseOptions<\n\t\tDDiagramCanvas,\n\t\tDDiagramCanvasOptions,\n\t\tDDiagramController,\n\t\tTHEME,\n\t\tEMITTER\n\t> {\n\t/** @deprecated in favor of {@link data} */\n\ttag?: DDiagramDataOptions;\n\tdata?: DDiagramDataOptions;\n}\n\n/**\n * {@link DDiagram} theme.\n */\nexport interface DThemeDiagram extends DThemeDiagramBase {}\n\nexport class DDiagram<\n\tTHEME extends DThemeDiagram = DThemeDiagram,\n\tOPTIONS extends DDiagramOptions<THEME> = DDiagramOptions<THEME>\n> extends DDiagramBase<DDiagramCanvas, DDiagramCanvasOptions, DDiagramController, THEME, OPTIONS> {\n\t/** @deprecated in favor of {@link data} */\n\ttag: DDiagramData;\n\tdata: DDiagramData;\n\tshape: DDiagramShape;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis.on(UtilPointerEvent.move, (e: interaction.InteractionEvent): void => {\n\t\t\tconst canvas = this.canvas;\n\t\t\tif (canvas) {\n\t\t\t\tcanvas.onShapeMove(e);\n\t\t\t}\n\t\t});\n\n\t\tthis.on(UtilPointerEvent.up, (e: interaction.InteractionEvent): void => {\n\t\t\tconst canvas = this.canvas;\n\t\t\tif (canvas) {\n\t\t\t\tcanvas.onShapeUp(e);\n\t\t\t}\n\t\t});\n\n\t\tthis.on(UtilPointerEvent.upoutside, (e: interaction.InteractionEvent): void => {\n\t\t\tconst canvas = this.canvas;\n\t\t\tif (canvas) {\n\t\t\t\tcanvas.onShapeCancel(e);\n\t\t\t}\n\t\t});\n\n\t\tthis.on(UtilPointerEvent.cancel, (e: interaction.InteractionEvent): void => {\n\t\t\tconst canvas = this.canvas;\n\t\t\tif (canvas) {\n\t\t\t\tcanvas.onShapeCancel(e);\n\t\t\t}\n\t\t});\n\n\t\tUtilPointerEvent.onClick(this, (e: interaction.InteractionEvent): void => {\n\t\t\tconst canvas = this.canvas;\n\t\t\tif (canvas) {\n\t\t\t\tcanvas.onShapeClick(e);\n\t\t\t}\n\t\t});\n\n\t\t//\n\t\tconst data = new DDiagramDataImpl(this, options && (options.data || options.tag));\n\t\tthis.data = data;\n\t\tthis.tag = data;\n\t\tthis.shape = new DDiagramShape(this);\n\t}\n\n\tprotected initLayer(\n\t\tcanvas: DDiagramCanvas,\n\t\tshapes: EShape[],\n\t\tmapper?: DDiagramDataMapper | null\n\t): void {\n\t\tsuper.initLayer(canvas, shapes, mapper || this.data.mapper);\n\t}\n\n\tprotected isEditMode(): boolean {\n\t\treturn false;\n\t}\n\n\tprotected newCanvas(serialized: DDiagramSerialized): DDiagramCanvas {\n\t\treturn new DDiagramCanvas(this.toCanvasOptions(serialized));\n\t}\n\n\tprotected toCanvasOptions(serialized: DDiagramSerialized): DDiagramCanvasOptions {\n\t\treturn this.toCanvasBaseOptions(serialized);\n\t}\n\n\tprotected onDown(e: interaction.InteractionEvent): void {\n\t\tsuper.onDown(e, this.canvas?.onShapeDown(e));\n\t}\n\n\tonDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: interaction.InteractionManager\n\t): boolean {\n\t\treturn super.onDblClick(\n\t\t\te,\n\t\t\tinteractionManager,\n\t\t\tthis.canvas?.onShapeDblClick(e, interactionManager)\n\t\t);\n\t}\n\n\trender(renderer: Renderer): void {\n\t\tthis.shape.onRender(renderer);\n\t\tsuper.render(renderer);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagram\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-diagram.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram.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, Renderer } from \"pixi.js\";\nimport { DDiagramBase, DDiagramBaseOptions, DThemeDiagramBase } from \"./d-diagram-base\";\nimport { DDiagramCanvas, DDiagramCanvasOptions } from \"./d-diagram-canvas\";\nimport { DDiagramSerialized } from \"./d-diagram-serialized\";\nimport { DDiagramShape } from \"./d-diagram-shape\";\nimport { DDiagramData, DDiagramDataOptions } from \"./d-diagram-data\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { EShape } from \"./shape/e-shape\";\nimport { DDiagramDataImpl } from \"./d-diagram-data-impl\";\nimport { DDiagramDataMapper } from \"./d-diagram-data-mapper\";\nimport { DDiagramController } from \"./d-diagram-controller\";\n\n/**\n * {@link DDiagram} options.\n */\nexport interface DDiagramOptions<THEME extends DThemeDiagram = DThemeDiagram, EMITTER = any>\n\textends DDiagramBaseOptions<\n\t\tDDiagramCanvas,\n\t\tDDiagramCanvasOptions,\n\t\tDDiagramController,\n\t\tTHEME,\n\t\tEMITTER\n\t> {\n\t/** @deprecated in favor of {@link data} */\n\ttag?: DDiagramDataOptions;\n\tdata?: DDiagramDataOptions;\n}\n\n/**\n * {@link DDiagram} theme.\n */\nexport interface DThemeDiagram extends DThemeDiagramBase {}\n\nexport class DDiagram<\n\tTHEME extends DThemeDiagram = DThemeDiagram,\n\tOPTIONS extends DDiagramOptions<THEME> = DDiagramOptions<THEME>\n> extends DDiagramBase<DDiagramCanvas, DDiagramCanvasOptions, DDiagramController, THEME, OPTIONS> {\n\t/** @deprecated in favor of {@link data} */\n\ttag: DDiagramData;\n\tdata: DDiagramData;\n\tshape: DDiagramShape;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis.on(UtilPointerEvent.move, (e: interaction.InteractionEvent): void => {\n\t\t\tconst canvas = this.canvas;\n\t\t\tif (canvas) {\n\t\t\t\tcanvas.onShapeMove(e);\n\t\t\t}\n\t\t});\n\n\t\tthis.on(UtilPointerEvent.up, (e: interaction.InteractionEvent): void => {\n\t\t\tconst canvas = this.canvas;\n\t\t\tif (canvas) {\n\t\t\t\tcanvas.onShapeUp(e);\n\t\t\t}\n\t\t});\n\n\t\tthis.on(UtilPointerEvent.upoutside, (e: interaction.InteractionEvent): void => {\n\t\t\tconst canvas = this.canvas;\n\t\t\tif (canvas) {\n\t\t\t\tcanvas.onShapeCancel(e);\n\t\t\t}\n\t\t});\n\n\t\tthis.on(UtilPointerEvent.cancel, (e: interaction.InteractionEvent): void => {\n\t\t\tconst canvas = this.canvas;\n\t\t\tif (canvas) {\n\t\t\t\tcanvas.onShapeCancel(e);\n\t\t\t}\n\t\t});\n\n\t\tUtilPointerEvent.onClick(this, (e: interaction.InteractionEvent): void => {\n\t\t\tconst canvas = this.canvas;\n\t\t\tif (canvas) {\n\t\t\t\tcanvas.onShapeClick(e);\n\t\t\t}\n\t\t});\n\n\t\t//\n\t\tconst data = new DDiagramDataImpl(this, options && (options.data || options.tag));\n\t\tthis.data = data;\n\t\tthis.tag = data;\n\t\tthis.shape = new DDiagramShape(this);\n\t}\n\n\tprotected initLayer(\n\t\tcanvas: DDiagramCanvas,\n\t\tshapes: EShape[],\n\t\tmapper?: DDiagramDataMapper | null\n\t): DDiagramCanvas {\n\t\treturn super.initLayer(canvas, shapes, mapper || this.data.mapper);\n\t}\n\n\tprotected isEditMode(): boolean {\n\t\treturn false;\n\t}\n\n\tprotected newCanvas(serialized: DDiagramSerialized): DDiagramCanvas {\n\t\treturn new DDiagramCanvas(this.toCanvasOptions(serialized));\n\t}\n\n\tprotected toCanvasOptions(serialized: DDiagramSerialized): DDiagramCanvasOptions {\n\t\treturn this.toCanvasBaseOptions(serialized);\n\t}\n\n\tprotected onDown(e: interaction.InteractionEvent): void {\n\t\tsuper.onDown(e, this.canvas?.onShapeDown(e));\n\t}\n\n\tonDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: interaction.InteractionManager\n\t): boolean {\n\t\treturn super.onDblClick(\n\t\t\te,\n\t\t\tinteractionManager,\n\t\t\tthis.canvas?.onShapeDblClick(e, interactionManager)\n\t\t);\n\t}\n\n\trender(renderer: Renderer): void {\n\t\tthis.shape.onRender(renderer);\n\t\tsuper.render(renderer);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagram\";\n\t}\n}\n"]}
@@ -100,25 +100,31 @@ var DDiagrams = /** @class */ (function () {
100
100
  }
101
101
  };
102
102
  DDiagrams.toPieceData = function (controller, pieces, isEditMode) {
103
- var result = new Map();
103
+ var pieceToDatum = new Map();
104
+ var pieceToPromise = new Map();
104
105
  var onFulfilled = function () {
105
- return result;
106
+ return pieceToDatum;
106
107
  };
107
- return this.toPieceData_(controller, pieces, result, isEditMode).then(onFulfilled, onFulfilled);
108
+ return this.toPieceData_(controller, pieces, pieceToDatum, pieceToPromise, isEditMode).then(onFulfilled, onFulfilled);
108
109
  };
109
- DDiagrams.toPieceData_ = function (controller, pieces, pieceData, isEditMode) {
110
+ DDiagrams.toPieceData_ = function (controller, pieces, pieceToDatum, pieceToPromise, isEditMode) {
110
111
  var _this = this;
111
112
  var promises = [];
112
113
  if (pieces && 0 < pieces.length && controller) {
113
114
  var _loop_1 = function (i, imax) {
114
115
  var piece = pieces[i];
115
- if (!pieceData.has(piece)) {
116
- pieceData.set(piece, null);
117
- promises.push(controller.piece.getByName(piece).then(function (found) {
118
- return _this.toPieceData__(controller, piece, found, isEditMode, pieceData);
116
+ var promise = pieceToPromise.get(piece);
117
+ if (promise != null) {
118
+ promises.push(promise);
119
+ }
120
+ else {
121
+ var newPromise = controller.piece.getByName(piece).then(function (found) {
122
+ return _this.toPieceData__(controller, piece, found, isEditMode, pieceToDatum, pieceToPromise);
119
123
  }, function () {
120
124
  return null;
121
- }));
125
+ });
126
+ pieceToPromise.set(piece, newPromise);
127
+ promises.push(newPromise);
122
128
  }
123
129
  };
124
130
  for (var i = 0, imax = pieces.length; i < imax; ++i) {
@@ -127,16 +133,16 @@ var DDiagrams = /** @class */ (function () {
127
133
  }
128
134
  return Promise.all(promises);
129
135
  };
130
- DDiagrams.toPieceData__ = function (controller, name, serializedOrSimple, isEditMode, pieceData) {
136
+ DDiagrams.toPieceData__ = function (controller, name, serializedOrSimple, isEditMode, pieceToDatum, pieceToPromise) {
131
137
  var _this = this;
132
138
  var serialized = this.toSerialized(serializedOrSimple);
133
139
  var width = serialized.width;
134
140
  var height = serialized.height;
135
141
  var container = new EShapeEmbeddedLayerContainer(width, height, isEditMode);
136
- pieceData.set(name, new EShapeEmbeddedDatum(name, width, height, container));
142
+ pieceToDatum.set(name, new EShapeEmbeddedDatum(name, width, height, container));
137
143
  var pieces = serialized.pieces;
138
- return this.toPieceData_(controller, pieces, pieceData, isEditMode).then(function () {
139
- return _this.newLayer(serialized, container, new EShapeResourceManagerDeserialization(serialized, pieces, pieceData, isEditMode));
144
+ return this.toPieceData_(controller, pieces, pieceToDatum, pieceToPromise, isEditMode).then(function () {
145
+ return _this.newLayer(serialized, container, new EShapeResourceManagerDeserialization(serialized, pieces, pieceToDatum, isEditMode));
140
146
  });
141
147
  };
142
148
  return DDiagrams;
@@ -1 +1 @@
1
- {"version":3,"file":"d-diagrams.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagrams.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DDiagramBaseController } from \"./d-diagram-base-controller\";\nimport { DDiagramLayerContainer } from \"./d-diagram-layer-container\";\nimport {\n\tDDiagramSerialized,\n\tDDiagramSerializedSimple,\n\tDDiagramSerializedSimpleData\n} from \"./d-diagram-serialized\";\nimport { EShape } from \"./shape/e-shape\";\nimport { EShapeLayerContainer } from \"./shape/e-shape-layer-container\";\nimport { EShapeResourceManagerDeserialization } from \"./shape/e-shape-resource-manager-deserialization\";\nimport { deserializeAll } from \"./shape/variant/deserialize-all\";\nimport { EShapeEmbeddedDatum } from \"./shape/variant/e-shape-embedded-datum\";\nimport { EShapeEmbeddedLayerContainer } from \"./shape/variant/e-shape-embedded-layer-container\";\n\nexport class DDiagrams {\n\tstatic toSimple(serialized: DDiagramSerialized): DDiagramSerializedSimple {\n\t\treturn {\n\t\t\tversion: serialized.version,\n\t\t\tid: serialized.id,\n\t\t\tname: serialized.name,\n\t\t\tthumbnail: serialized.thumbnail,\n\t\t\tdata: JSON.stringify({\n\t\t\t\twidth: serialized.width,\n\t\t\t\theight: serialized.height,\n\t\t\t\tbackground: serialized.background,\n\t\t\t\ttile: serialized.tile,\n\t\t\t\tresources: serialized.resources,\n\t\t\t\tdata: serialized.data || serialized.tags,\n\t\t\t\tpieces: serialized.pieces,\n\t\t\t\tlayers: serialized.layers,\n\t\t\t\titems: serialized.items,\n\t\t\t\tsnap: serialized.snap\n\t\t\t})\n\t\t};\n\t}\n\n\tstatic toSerialized(target: DDiagramSerializedSimple | DDiagramSerialized): DDiagramSerialized {\n\t\tif (!(\"items\" in target)) {\n\t\t\tconst data: DDiagramSerializedSimpleData = JSON.parse(target.data);\n\t\t\tconst result: DDiagramSerialized = {\n\t\t\t\tversion: target.version,\n\t\t\t\tid: target.id,\n\t\t\t\tname: target.name,\n\t\t\t\twidth: data.width,\n\t\t\t\theight: data.height,\n\t\t\t\tbackground: data.background,\n\t\t\t\ttile: data.tile,\n\t\t\t\tresources: data.resources,\n\t\t\t\tdata: data.data || data.tags,\n\t\t\t\tpieces: data.pieces,\n\t\t\t\tlayers: data.layers,\n\t\t\t\titems: data.items,\n\t\t\t\tsnap: data.snap,\n\t\t\t\tthumbnail: target.thumbnail\n\t\t\t};\n\t\t\tif (result.data == null) {\n\t\t\t\tconst tags = target.tags;\n\t\t\t\tif (tags != null) {\n\t\t\t\t\tresult.data = JSON.parse(tags);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (result.pieces == null) {\n\t\t\t\tconst pieces = target.pieces;\n\t\t\t\tif (pieces != null) {\n\t\t\t\t\tresult.pieces = JSON.parse(pieces);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t\treturn target;\n\t}\n\n\tstatic newLayer(\n\t\tserialized: DDiagramSerialized,\n\t\tcontainer: DDiagramLayerContainer | EShapeLayerContainer,\n\t\tmanager: EShapeResourceManagerDeserialization\n\t): Promise<EShape[]> {\n\t\t// Layers\n\t\tcontainer.deserialize(serialized.layers, manager);\n\n\t\t// Items\n\t\tconst serializedItems = serialized.items;\n\t\tconst shapePromises = deserializeAll(serializedItems, manager);\n\t\tif (shapePromises != null) {\n\t\t\treturn shapePromises.then((shapes: EShape[]): EShape[] => {\n\t\t\t\tconst layers = container.children;\n\t\t\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\t\t\tconst serializedItem = serializedItems[i];\n\t\t\t\t\tconst shape = shapes[i];\n\t\t\t\t\tconst layer = layers[serializedItem[16]];\n\t\t\t\t\tif (layer != null) {\n\t\t\t\t\t\tshape.parent = layer;\n\t\t\t\t\t\tshape.uploaded = undefined;\n\t\t\t\t\t\tlayer.children.push(shape);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor (let i = 0, imax = layers.length; i < imax; ++i) {\n\t\t\t\t\tconst layer = layers[i];\n\t\t\t\t\tlayer.onChildTransformChange();\n\t\t\t\t\tlayer.toDirty();\n\t\t\t\t\tconst children = layer.children;\n\t\t\t\t\tfor (let j = 0, jmax = children.length; j < jmax; ++j) {\n\t\t\t\t\t\tchildren[j].onAttach();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn shapes;\n\t\t\t});\n\t\t} else {\n\t\t\treturn Promise.resolve([]);\n\t\t}\n\t}\n\n\tstatic toPieceData(\n\t\tcontroller: DDiagramBaseController | null | undefined,\n\t\tpieces: string[] | null | undefined,\n\t\tisEditMode: boolean\n\t): Promise<Map<string, EShapeEmbeddedDatum | null>> {\n\t\tconst result = new Map<string, EShapeEmbeddedDatum | null>();\n\t\tconst onFulfilled = () => {\n\t\t\treturn result;\n\t\t};\n\t\treturn this.toPieceData_(controller, pieces, result, isEditMode).then(\n\t\t\tonFulfilled,\n\t\t\tonFulfilled\n\t\t);\n\t}\n\n\tprivate static toPieceData_(\n\t\tcontroller: DDiagramBaseController | null | undefined,\n\t\tpieces: string[] | null | undefined,\n\t\tpieceData: Map<string, EShapeEmbeddedDatum | null>,\n\t\tisEditMode: boolean\n\t): Promise<Array<EShape[] | null>> {\n\t\tconst promises: Array<Promise<EShape[] | null>> = [];\n\t\tif (pieces && 0 < pieces.length && controller) {\n\t\t\tfor (let i = 0, imax = pieces.length; i < imax; ++i) {\n\t\t\t\tconst piece = pieces[i];\n\t\t\t\tif (!pieceData.has(piece)) {\n\t\t\t\t\tpieceData.set(piece, null);\n\t\t\t\t\tpromises.push(\n\t\t\t\t\t\tcontroller.piece.getByName(piece).then(\n\t\t\t\t\t\t\t(found) => {\n\t\t\t\t\t\t\t\treturn this.toPieceData__(\n\t\t\t\t\t\t\t\t\tcontroller,\n\t\t\t\t\t\t\t\t\tpiece,\n\t\t\t\t\t\t\t\t\tfound,\n\t\t\t\t\t\t\t\t\tisEditMode,\n\t\t\t\t\t\t\t\t\tpieceData\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn Promise.all(promises);\n\t}\n\n\tprivate static toPieceData__(\n\t\tcontroller: DDiagramBaseController,\n\t\tname: string,\n\t\tserializedOrSimple: DDiagramSerialized | DDiagramSerializedSimple,\n\t\tisEditMode: boolean,\n\t\tpieceData: Map<string, EShapeEmbeddedDatum | null>\n\t): Promise<EShape[]> {\n\t\tconst serialized = this.toSerialized(serializedOrSimple);\n\t\tconst width = serialized.width;\n\t\tconst height = serialized.height;\n\t\tconst container = new EShapeEmbeddedLayerContainer(width, height, isEditMode);\n\n\t\tpieceData.set(name, new EShapeEmbeddedDatum(name, width, height, container));\n\n\t\tconst pieces = serialized.pieces;\n\t\treturn this.toPieceData_(controller, pieces, pieceData, isEditMode).then(() => {\n\t\t\treturn this.newLayer(\n\t\t\t\tserialized,\n\t\t\t\tcontainer,\n\t\t\t\tnew EShapeResourceManagerDeserialization(serialized, pieces, pieceData, isEditMode)\n\t\t\t);\n\t\t});\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-diagrams.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagrams.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DDiagramBaseController } from \"./d-diagram-base-controller\";\nimport { DDiagramLayerContainer } from \"./d-diagram-layer-container\";\nimport {\n\tDDiagramSerialized,\n\tDDiagramSerializedSimple,\n\tDDiagramSerializedSimpleData\n} from \"./d-diagram-serialized\";\nimport { EShape } from \"./shape/e-shape\";\nimport { EShapeLayerContainer } from \"./shape/e-shape-layer-container\";\nimport { EShapeResourceManagerDeserialization } from \"./shape/e-shape-resource-manager-deserialization\";\nimport { deserializeAll } from \"./shape/variant/deserialize-all\";\nimport { EShapeEmbeddedDatum } from \"./shape/variant/e-shape-embedded-datum\";\nimport { EShapeEmbeddedLayerContainer } from \"./shape/variant/e-shape-embedded-layer-container\";\n\nexport class DDiagrams {\n\tstatic toSimple(serialized: DDiagramSerialized): DDiagramSerializedSimple {\n\t\treturn {\n\t\t\tversion: serialized.version,\n\t\t\tid: serialized.id,\n\t\t\tname: serialized.name,\n\t\t\tthumbnail: serialized.thumbnail,\n\t\t\tdata: JSON.stringify({\n\t\t\t\twidth: serialized.width,\n\t\t\t\theight: serialized.height,\n\t\t\t\tbackground: serialized.background,\n\t\t\t\ttile: serialized.tile,\n\t\t\t\tresources: serialized.resources,\n\t\t\t\tdata: serialized.data || serialized.tags,\n\t\t\t\tpieces: serialized.pieces,\n\t\t\t\tlayers: serialized.layers,\n\t\t\t\titems: serialized.items,\n\t\t\t\tsnap: serialized.snap\n\t\t\t})\n\t\t};\n\t}\n\n\tstatic toSerialized(target: DDiagramSerializedSimple | DDiagramSerialized): DDiagramSerialized {\n\t\tif (!(\"items\" in target)) {\n\t\t\tconst data: DDiagramSerializedSimpleData = JSON.parse(target.data);\n\t\t\tconst result: DDiagramSerialized = {\n\t\t\t\tversion: target.version,\n\t\t\t\tid: target.id,\n\t\t\t\tname: target.name,\n\t\t\t\twidth: data.width,\n\t\t\t\theight: data.height,\n\t\t\t\tbackground: data.background,\n\t\t\t\ttile: data.tile,\n\t\t\t\tresources: data.resources,\n\t\t\t\tdata: data.data || data.tags,\n\t\t\t\tpieces: data.pieces,\n\t\t\t\tlayers: data.layers,\n\t\t\t\titems: data.items,\n\t\t\t\tsnap: data.snap,\n\t\t\t\tthumbnail: target.thumbnail\n\t\t\t};\n\t\t\tif (result.data == null) {\n\t\t\t\tconst tags = target.tags;\n\t\t\t\tif (tags != null) {\n\t\t\t\t\tresult.data = JSON.parse(tags);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (result.pieces == null) {\n\t\t\t\tconst pieces = target.pieces;\n\t\t\t\tif (pieces != null) {\n\t\t\t\t\tresult.pieces = JSON.parse(pieces);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t\treturn target;\n\t}\n\n\tstatic newLayer(\n\t\tserialized: DDiagramSerialized,\n\t\tcontainer: DDiagramLayerContainer | EShapeLayerContainer,\n\t\tmanager: EShapeResourceManagerDeserialization\n\t): Promise<EShape[]> {\n\t\t// Layers\n\t\tcontainer.deserialize(serialized.layers, manager);\n\n\t\t// Items\n\t\tconst serializedItems = serialized.items;\n\t\tconst shapePromises = deserializeAll(serializedItems, manager);\n\t\tif (shapePromises != null) {\n\t\t\treturn shapePromises.then((shapes: EShape[]): EShape[] => {\n\t\t\t\tconst layers = container.children;\n\t\t\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\t\t\tconst serializedItem = serializedItems[i];\n\t\t\t\t\tconst shape = shapes[i];\n\t\t\t\t\tconst layer = layers[serializedItem[16]];\n\t\t\t\t\tif (layer != null) {\n\t\t\t\t\t\tshape.parent = layer;\n\t\t\t\t\t\tshape.uploaded = undefined;\n\t\t\t\t\t\tlayer.children.push(shape);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor (let i = 0, imax = layers.length; i < imax; ++i) {\n\t\t\t\t\tconst layer = layers[i];\n\t\t\t\t\tlayer.onChildTransformChange();\n\t\t\t\t\tlayer.toDirty();\n\t\t\t\t\tconst children = layer.children;\n\t\t\t\t\tfor (let j = 0, jmax = children.length; j < jmax; ++j) {\n\t\t\t\t\t\tchildren[j].onAttach();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn shapes;\n\t\t\t});\n\t\t} else {\n\t\t\treturn Promise.resolve([]);\n\t\t}\n\t}\n\n\tstatic toPieceData(\n\t\tcontroller: DDiagramBaseController | null | undefined,\n\t\tpieces: string[] | null | undefined,\n\t\tisEditMode: boolean\n\t): Promise<Map<string, EShapeEmbeddedDatum | null>> {\n\t\tconst pieceToDatum = new Map<string, EShapeEmbeddedDatum | null>();\n\t\tconst pieceToPromise = new Map<string, Promise<EShape[] | null>>();\n\t\tconst onFulfilled = () => {\n\t\t\treturn pieceToDatum;\n\t\t};\n\t\treturn this.toPieceData_(controller, pieces, pieceToDatum, pieceToPromise, isEditMode).then(\n\t\t\tonFulfilled,\n\t\t\tonFulfilled\n\t\t);\n\t}\n\n\tprivate static toPieceData_(\n\t\tcontroller: DDiagramBaseController | null | undefined,\n\t\tpieces: string[] | null | undefined,\n\t\tpieceToDatum: Map<string, EShapeEmbeddedDatum | null>,\n\t\tpieceToPromise: Map<string, Promise<EShape[] | null>>,\n\t\tisEditMode: boolean\n\t): Promise<Array<EShape[] | null>> {\n\t\tconst promises: Array<Promise<EShape[] | null>> = [];\n\t\tif (pieces && 0 < pieces.length && controller) {\n\t\t\tfor (let i = 0, imax = pieces.length; i < imax; ++i) {\n\t\t\t\tconst piece = pieces[i];\n\t\t\t\tconst promise = pieceToPromise.get(piece);\n\t\t\t\tif (promise != null) {\n\t\t\t\t\tpromises.push(promise);\n\t\t\t\t} else {\n\t\t\t\t\tconst newPromise = controller.piece.getByName(piece).then(\n\t\t\t\t\t\t(found) => {\n\t\t\t\t\t\t\treturn this.toPieceData__(\n\t\t\t\t\t\t\t\tcontroller,\n\t\t\t\t\t\t\t\tpiece,\n\t\t\t\t\t\t\t\tfound,\n\t\t\t\t\t\t\t\tisEditMode,\n\t\t\t\t\t\t\t\tpieceToDatum,\n\t\t\t\t\t\t\t\tpieceToPromise\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tpieceToPromise.set(piece, newPromise);\n\t\t\t\t\tpromises.push(newPromise);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn Promise.all(promises);\n\t}\n\n\tprivate static toPieceData__(\n\t\tcontroller: DDiagramBaseController,\n\t\tname: string,\n\t\tserializedOrSimple: DDiagramSerialized | DDiagramSerializedSimple,\n\t\tisEditMode: boolean,\n\t\tpieceToDatum: Map<string, EShapeEmbeddedDatum | null>,\n\t\tpieceToPromise: Map<string, Promise<EShape[] | null>>\n\t): Promise<EShape[]> {\n\t\tconst serialized = this.toSerialized(serializedOrSimple);\n\t\tconst width = serialized.width;\n\t\tconst height = serialized.height;\n\t\tconst container = new EShapeEmbeddedLayerContainer(width, height, isEditMode);\n\n\t\tpieceToDatum.set(name, new EShapeEmbeddedDatum(name, width, height, container));\n\n\t\tconst pieces = serialized.pieces;\n\t\treturn this.toPieceData_(controller, pieces, pieceToDatum, pieceToPromise, isEditMode).then(\n\t\t\t() => {\n\t\t\t\treturn this.newLayer(\n\t\t\t\t\tserialized,\n\t\t\t\t\tcontainer,\n\t\t\t\t\tnew EShapeResourceManagerDeserialization(\n\t\t\t\t\t\tserialized,\n\t\t\t\t\t\tpieces,\n\t\t\t\t\t\tpieceToDatum,\n\t\t\t\t\t\tisEditMode\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t}\n}\n"]}
@@ -9,35 +9,14 @@ import { EShapeActionRuntimeConditional } from "./e-shape-action-runtime-conditi
9
9
  var EShapeActionRuntimeShowHideShape = /** @class */ (function (_super) {
10
10
  __extends(EShapeActionRuntimeShowHideShape, _super);
11
11
  function EShapeActionRuntimeShowHideShape(value) {
12
- var _this = _super.call(this, value, EShapeRuntimeReset.VISIBILITY) || this;
13
- _this._data = new Map();
14
- return _this;
12
+ return _super.call(this, value, EShapeRuntimeReset.VISIBILITY) || this;
15
13
  }
16
14
  EShapeActionRuntimeShowHideShape.prototype.initialize = function (shape, runtime) {
17
15
  _super.prototype.initialize.call(this, shape, runtime);
18
- var data = this._data.get(shape);
19
- if (data == null) {
20
- data = this.newData(shape);
21
- if (data != null) {
22
- this._data.set(shape, data);
23
- }
24
- }
25
16
  };
26
17
  EShapeActionRuntimeShowHideShape.prototype.execute = function (shape, runtime, time) {
27
- var data = this._data.get(shape);
28
- if (data) {
29
- var newCondition = this.condition(shape, time, EShapeActionEnvironment);
30
- if (data.condition !== newCondition) {
31
- data.condition = newCondition;
32
- shape.visible = newCondition;
33
- runtime.written |= this.reset;
34
- }
35
- }
36
- };
37
- EShapeActionRuntimeShowHideShape.prototype.newData = function (shape) {
38
- return {
39
- condition: null
40
- };
18
+ shape.visible = this.condition(shape, time, EShapeActionEnvironment);
19
+ runtime.written |= this.reset;
41
20
  };
42
21
  return EShapeActionRuntimeShowHideShape;
43
22
  }(EShapeActionRuntimeConditional));
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-action-runtime-show-hide-shape.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/action/e-shape-action-runtime-show-hide-shape.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAiB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAOtF;IAAsD,oDAA8B;IAGnF,0CAAY,KAAqC;QAAjD,YACC,kBAAM,KAAK,EAAE,kBAAkB,CAAC,UAAU,CAAC,SAE3C;QADA,KAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAgD,CAAC;;IACtE,CAAC;IAED,qDAAU,GAAV,UAAW,KAAa,EAAE,OAAsB;QAC/C,iBAAM,UAAU,YAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,IAAI,IAAI,IAAI,EAAE;YACjB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,IAAI,IAAI,IAAI,EAAE;gBACjB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aAC5B;SACD;IACF,CAAC;IAED,kDAAO,GAAP,UAAQ,KAAa,EAAE,OAAsB,EAAE,IAAY;QAC1D,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,EAAE;YACT,IAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC;YAC1E,IAAI,IAAI,CAAC,SAAS,KAAK,YAAY,EAAE;gBACpC,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;gBAC9B,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC;gBAC7B,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC;aAC9B;SACD;IACF,CAAC;IAES,kDAAO,GAAjB,UAAkB,KAAa;QAC9B,OAAO;YACN,SAAS,EAAE,IAAI;SACf,CAAC;IACH,CAAC;IACF,uCAAC;AAAD,CAAC,AApCD,CAAsD,8BAA8B,GAoCnF","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport { EShapeRuntime, EShapeRuntimeReset } from \"../e-shape-runtime\";\nimport { EShapeActionEnvironment } from \"./e-shape-action-environment\";\nimport { EShapeActionRuntimeConditional } from \"./e-shape-action-runtime-conditional\";\nimport { EShapeActionValueShowHideShape } from \"./e-shape-action-value-show-hide-shape\";\n\nexport interface EShapeActionRuntimeShowHideShapeData {\n\tcondition: boolean | null;\n}\n\nexport class EShapeActionRuntimeShowHideShape extends EShapeActionRuntimeConditional {\n\tprotected _data: Map<EShape, EShapeActionRuntimeShowHideShapeData>;\n\n\tconstructor(value: EShapeActionValueShowHideShape) {\n\t\tsuper(value, EShapeRuntimeReset.VISIBILITY);\n\t\tthis._data = new Map<EShape, EShapeActionRuntimeShowHideShapeData>();\n\t}\n\n\tinitialize(shape: EShape, runtime: EShapeRuntime): void {\n\t\tsuper.initialize(shape, runtime);\n\t\tlet data = this._data.get(shape);\n\t\tif (data == null) {\n\t\t\tdata = this.newData(shape);\n\t\t\tif (data != null) {\n\t\t\t\tthis._data.set(shape, data);\n\t\t\t}\n\t\t}\n\t}\n\n\texecute(shape: EShape, runtime: EShapeRuntime, time: number): void {\n\t\tconst data = this._data.get(shape);\n\t\tif (data) {\n\t\t\tconst newCondition = this.condition(shape, time, EShapeActionEnvironment);\n\t\t\tif (data.condition !== newCondition) {\n\t\t\t\tdata.condition = newCondition;\n\t\t\t\tshape.visible = newCondition;\n\t\t\t\truntime.written |= this.reset;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected newData(shape: EShape): EShapeActionRuntimeShowHideShapeData | undefined {\n\t\treturn {\n\t\t\tcondition: null\n\t\t};\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-action-runtime-show-hide-shape.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/action/e-shape-action-runtime-show-hide-shape.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAiB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAGtF;IAAsD,oDAA8B;IACnF,0CAAY,KAAqC;eAChD,kBAAM,KAAK,EAAE,kBAAkB,CAAC,UAAU,CAAC;IAC5C,CAAC;IAED,qDAAU,GAAV,UAAW,KAAa,EAAE,OAAsB;QAC/C,iBAAM,UAAU,YAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,kDAAO,GAAP,UAAQ,KAAa,EAAE,OAAsB,EAAE,IAAY;QAC1D,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC;QACrE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC;IAC/B,CAAC;IACF,uCAAC;AAAD,CAAC,AAbD,CAAsD,8BAA8B,GAanF","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport { EShapeRuntime, EShapeRuntimeReset } from \"../e-shape-runtime\";\nimport { EShapeActionEnvironment } from \"./e-shape-action-environment\";\nimport { EShapeActionRuntimeConditional } from \"./e-shape-action-runtime-conditional\";\nimport { EShapeActionValueShowHideShape } from \"./e-shape-action-value-show-hide-shape\";\n\nexport class EShapeActionRuntimeShowHideShape extends EShapeActionRuntimeConditional {\n\tconstructor(value: EShapeActionValueShowHideShape) {\n\t\tsuper(value, EShapeRuntimeReset.VISIBILITY);\n\t}\n\n\tinitialize(shape: EShape, runtime: EShapeRuntime): void {\n\t\tsuper.initialize(shape, runtime);\n\t}\n\n\texecute(shape: EShape, runtime: EShapeRuntime, time: number): void {\n\t\tshape.visible = this.condition(shape, time, EShapeActionEnvironment);\n\t\truntime.written |= this.reset;\n\t}\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.199.0
2
+ Winter Cardinal UI v0.200.1
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.199.0
2
+ Winter Cardinal UI v0.200.1
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.199.0
2
+ Winter Cardinal UI v0.200.1
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.199.0
2
+ Winter Cardinal UI v0.200.1
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5