@wcardinal/wcardinal-ui 0.200.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.
@@ -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"]}
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.200.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.200.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.200.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.200.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.200.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
 
@@ -22004,25 +22004,31 @@ var DDiagrams = /** @class */ (function () {
22004
22004
  }
22005
22005
  };
22006
22006
  DDiagrams.toPieceData = function (controller, pieces, isEditMode) {
22007
- var result = new Map();
22007
+ var pieceToDatum = new Map();
22008
+ var pieceToPromise = new Map();
22008
22009
  var onFulfilled = function () {
22009
- return result;
22010
+ return pieceToDatum;
22010
22011
  };
22011
- return this.toPieceData_(controller, pieces, result, isEditMode).then(onFulfilled, onFulfilled);
22012
+ return this.toPieceData_(controller, pieces, pieceToDatum, pieceToPromise, isEditMode).then(onFulfilled, onFulfilled);
22012
22013
  };
22013
- DDiagrams.toPieceData_ = function (controller, pieces, pieceData, isEditMode) {
22014
+ DDiagrams.toPieceData_ = function (controller, pieces, pieceToDatum, pieceToPromise, isEditMode) {
22014
22015
  var _this = this;
22015
22016
  var promises = [];
22016
22017
  if (pieces && 0 < pieces.length && controller) {
22017
22018
  var _loop_1 = function (i, imax) {
22018
22019
  var piece = pieces[i];
22019
- if (!pieceData.has(piece)) {
22020
- pieceData.set(piece, null);
22021
- promises.push(controller.piece.getByName(piece).then(function (found) {
22022
- return _this.toPieceData__(controller, piece, found, isEditMode, pieceData);
22020
+ var promise = pieceToPromise.get(piece);
22021
+ if (promise != null) {
22022
+ promises.push(promise);
22023
+ }
22024
+ else {
22025
+ var newPromise = controller.piece.getByName(piece).then(function (found) {
22026
+ return _this.toPieceData__(controller, piece, found, isEditMode, pieceToDatum, pieceToPromise);
22023
22027
  }, function () {
22024
22028
  return null;
22025
- }));
22029
+ });
22030
+ pieceToPromise.set(piece, newPromise);
22031
+ promises.push(newPromise);
22026
22032
  }
22027
22033
  };
22028
22034
  for (var i = 0, imax = pieces.length; i < imax; ++i) {
@@ -22031,16 +22037,16 @@ var DDiagrams = /** @class */ (function () {
22031
22037
  }
22032
22038
  return Promise.all(promises);
22033
22039
  };
22034
- DDiagrams.toPieceData__ = function (controller, name, serializedOrSimple, isEditMode, pieceData) {
22040
+ DDiagrams.toPieceData__ = function (controller, name, serializedOrSimple, isEditMode, pieceToDatum, pieceToPromise) {
22035
22041
  var _this = this;
22036
22042
  var serialized = this.toSerialized(serializedOrSimple);
22037
22043
  var width = serialized.width;
22038
22044
  var height = serialized.height;
22039
22045
  var container = new EShapeEmbeddedLayerContainer(width, height, isEditMode);
22040
- pieceData.set(name, new EShapeEmbeddedDatum(name, width, height, container));
22046
+ pieceToDatum.set(name, new EShapeEmbeddedDatum(name, width, height, container));
22041
22047
  var pieces = serialized.pieces;
22042
- return this.toPieceData_(controller, pieces, pieceData, isEditMode).then(function () {
22043
- return _this.newLayer(serialized, container, new EShapeResourceManagerDeserialization(serialized, pieces, pieceData, isEditMode));
22048
+ return this.toPieceData_(controller, pieces, pieceToDatum, pieceToPromise, isEditMode).then(function () {
22049
+ return _this.newLayer(serialized, container, new EShapeResourceManagerDeserialization(serialized, pieces, pieceToDatum, isEditMode));
22044
22050
  });
22045
22051
  };
22046
22052
  return DDiagrams;
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.200.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
 
@@ -22001,25 +22001,31 @@
22001
22001
  }
22002
22002
  };
22003
22003
  DDiagrams.toPieceData = function (controller, pieces, isEditMode) {
22004
- var result = new Map();
22004
+ var pieceToDatum = new Map();
22005
+ var pieceToPromise = new Map();
22005
22006
  var onFulfilled = function () {
22006
- return result;
22007
+ return pieceToDatum;
22007
22008
  };
22008
- return this.toPieceData_(controller, pieces, result, isEditMode).then(onFulfilled, onFulfilled);
22009
+ return this.toPieceData_(controller, pieces, pieceToDatum, pieceToPromise, isEditMode).then(onFulfilled, onFulfilled);
22009
22010
  };
22010
- DDiagrams.toPieceData_ = function (controller, pieces, pieceData, isEditMode) {
22011
+ DDiagrams.toPieceData_ = function (controller, pieces, pieceToDatum, pieceToPromise, isEditMode) {
22011
22012
  var _this = this;
22012
22013
  var promises = [];
22013
22014
  if (pieces && 0 < pieces.length && controller) {
22014
22015
  var _loop_1 = function (i, imax) {
22015
22016
  var piece = pieces[i];
22016
- if (!pieceData.has(piece)) {
22017
- pieceData.set(piece, null);
22018
- promises.push(controller.piece.getByName(piece).then(function (found) {
22019
- return _this.toPieceData__(controller, piece, found, isEditMode, pieceData);
22017
+ var promise = pieceToPromise.get(piece);
22018
+ if (promise != null) {
22019
+ promises.push(promise);
22020
+ }
22021
+ else {
22022
+ var newPromise = controller.piece.getByName(piece).then(function (found) {
22023
+ return _this.toPieceData__(controller, piece, found, isEditMode, pieceToDatum, pieceToPromise);
22020
22024
  }, function () {
22021
22025
  return null;
22022
- }));
22026
+ });
22027
+ pieceToPromise.set(piece, newPromise);
22028
+ promises.push(newPromise);
22023
22029
  }
22024
22030
  };
22025
22031
  for (var i = 0, imax = pieces.length; i < imax; ++i) {
@@ -22028,16 +22034,16 @@
22028
22034
  }
22029
22035
  return Promise.all(promises);
22030
22036
  };
22031
- DDiagrams.toPieceData__ = function (controller, name, serializedOrSimple, isEditMode, pieceData) {
22037
+ DDiagrams.toPieceData__ = function (controller, name, serializedOrSimple, isEditMode, pieceToDatum, pieceToPromise) {
22032
22038
  var _this = this;
22033
22039
  var serialized = this.toSerialized(serializedOrSimple);
22034
22040
  var width = serialized.width;
22035
22041
  var height = serialized.height;
22036
22042
  var container = new EShapeEmbeddedLayerContainer(width, height, isEditMode);
22037
- pieceData.set(name, new EShapeEmbeddedDatum(name, width, height, container));
22043
+ pieceToDatum.set(name, new EShapeEmbeddedDatum(name, width, height, container));
22038
22044
  var pieces = serialized.pieces;
22039
- return this.toPieceData_(controller, pieces, pieceData, isEditMode).then(function () {
22040
- return _this.newLayer(serialized, container, new EShapeResourceManagerDeserialization(serialized, pieces, pieceData, isEditMode));
22045
+ return this.toPieceData_(controller, pieces, pieceToDatum, pieceToPromise, isEditMode).then(function () {
22046
+ return _this.newLayer(serialized, container, new EShapeResourceManagerDeserialization(serialized, pieces, pieceToDatum, isEditMode));
22041
22047
  });
22042
22048
  };
22043
22049
  return DDiagrams;