@wcardinal/wcardinal-ui 0.204.0 → 0.204.3

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.
@@ -103,13 +103,15 @@ var DDiagramCanvas = /** @class */ (function (_super) {
103
103
  // Children
104
104
  var children = shape.children;
105
105
  if (0 < children.length) {
106
+ var newDataShape = dataShape;
107
+ var newContainerShape = containerShape;
106
108
  if (shape instanceof EShapeEmbedded) {
107
- if (dataShape == null) {
108
- dataShape = shape;
109
+ if (newDataShape == null) {
110
+ newDataShape = shape;
109
111
  }
110
- containerShape = shape;
112
+ newContainerShape = shape;
111
113
  }
112
- this_1.initialize_(children, dataShape, containerShape, mapper, formatToFormatter, initialToInitialValue, actionValueToRuntime, canvasTicker, canvasShape, canvasData, actionables);
114
+ this_1.initialize_(children, newDataShape, newContainerShape, mapper, formatToFormatter, initialToInitialValue, actionValueToRuntime, canvasTicker, canvasShape, canvasData, actionables);
113
115
  }
114
116
  };
115
117
  var this_1 = this;
@@ -1 +1 @@
1
- {"version":3,"file":"d-diagram-canvas.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-canvas.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, IPoint, Point, Renderer } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport {\n\tDDiagramCanvasBase,\n\tDDiagramCanvasBaseOptions,\n\tDThemeDiagramCanvasBase\n} from \"./d-diagram-canvas-base\";\nimport { EShape } from \"./shape/e-shape\";\nimport { EShapeBase } from \"./shape/variant/e-shape-base\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { EShapeActionValue } from \"./shape/action/e-shape-action-value\";\nimport { EShapeActionRuntime } from \"./shape/action/e-shape-action-runtime\";\nimport { DDiagramDataMapper } from \"./d-diagram-data-mapper\";\nimport { EShapeRuntimes } from \"./shape/e-shape-runtimes\";\nimport { EShapeRuntime } from \"./shape/e-shape-runtime\";\nimport { EShapeDataValue } from \"./shape/e-shape-data-value\";\nimport { EShapeDataValueType } from \"./shape/e-shape-data-value-type\";\nimport { EShapeContainer } from \"./shape/e-shape-container\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { DDiagramCanvasData } from \"./d-diagram-canvas-data\";\nimport { DDiagramCanvasDataImpl } from \"./d-diagram-canvas-data-impl\";\nimport { DDiagramCanvasShape } from \"./d-diagram-canvas-shape\";\nimport { DDiagramCanvasShapeImpl } from \"./d-diagram-canvas-shape-impl\";\nimport { DDiagramCanvasTicker } from \"./d-diagram-canvas-ticker\";\nimport { DDiagramCanvasTickerImpl } from \"./d-diagram-canvas-ticker-impl\";\nimport { EShapeDataValueScope } from \"./shape/e-shape-data-value-scope\";\nimport { EShapeEmbedded } from \"./shape/variant/e-shape-embedded\";\nimport { EShapeDataValueExtensions } from \"./shape/e-shape-data-value-extensions\";\nimport { EShapeActionEnvironment } from \"./shape/action/e-shape-action-environment\";\n\nexport interface DDiagramCanvasOptions<THEME extends DThemeDiagramCanvas = DThemeDiagramCanvas>\n\textends DDiagramCanvasBaseOptions<THEME> {}\n\nexport interface DThemeDiagramCanvas extends DThemeDiagramCanvasBase {}\n\nexport class DDiagramCanvas<\n\tTHEME extends DThemeDiagramCanvas = DThemeDiagramCanvas,\n\tOPTIONS extends DDiagramCanvasOptions<THEME> = DDiagramCanvasOptions<THEME>\n> extends DDiagramCanvasBase<THEME, OPTIONS> {\n\tprotected static WORK_DBLCLICK?: Point;\n\n\tprotected _data: DDiagramCanvasData;\n\tprotected _shape: DDiagramCanvasShape;\n\tprotected _ticker: DDiagramCanvasTicker;\n\tprotected _actionables: EShape[];\n\n\tprotected _overed?: EShape | null;\n\tprotected _downed?: EShape | null;\n\tprotected _downeds: Set<EShape>;\n\n\tprotected _updateBound: () => void;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._data = new DDiagramCanvasDataImpl();\n\t\tthis._shape = new DDiagramCanvasShapeImpl();\n\t\tthis._ticker = new DDiagramCanvasTickerImpl(this);\n\t\tthis._actionables = [];\n\t\tthis._downeds = new Set<EShape>();\n\t\tthis._updateBound = (): void => {\n\t\t\tDApplications.update(this);\n\t\t};\n\t}\n\n\tget data(): DDiagramCanvasData {\n\t\treturn this._data;\n\t}\n\n\tget shape(): DDiagramCanvasShape {\n\t\treturn this._shape;\n\t}\n\n\tget ticker(): DDiagramCanvasTicker {\n\t\treturn this._ticker;\n\t}\n\n\tinitialize(shapes: EShape[], mapper?: DDiagramDataMapper | null): void {\n\t\tconst time = Date.now();\n\t\tconst actionables = this._actionables;\n\t\tthis.initialize_(\n\t\t\tshapes,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tmapper,\n\t\t\tnew Map<string, (value: unknown) => unknown>(),\n\t\t\tnew Map<string, unknown>(),\n\t\t\tnew Map<EShapeActionValue, EShapeActionRuntime>(),\n\t\t\tthis._ticker,\n\t\t\tthis._shape,\n\t\t\tthis._data,\n\t\t\tactionables\n\t\t);\n\t\tconst layers = this._layer.children;\n\t\tfor (let i = 0, imax = layers.length; i < imax; ++i) {\n\t\t\tlayers[i].initialize(actionables);\n\t\t}\n\t\tEShapeActionEnvironment.isInitializing = true;\n\t\tfor (let i = 0, imax = layers.length; i < imax; ++i) {\n\t\t\tconst layerChildren = layers[i].children;\n\t\t\tfor (let j = 0, jmax = layerChildren.length; j < jmax; ++j) {\n\t\t\t\tlayerChildren[j].update(time);\n\t\t\t}\n\t\t}\n\t\tEShapeActionEnvironment.isInitializing = false;\n\t\tthis._ticker.start();\n\t}\n\n\tprotected initialize_(\n\t\tshapes: EShape[],\n\t\tdataShape: EShape | null,\n\t\tcontainerShape: EShape | null,\n\t\tmapper: DDiagramDataMapper | null | undefined,\n\t\tformatToFormatter: Map<string, (value: unknown) => unknown>,\n\t\tinitialToInitialValue: Map<string, unknown>,\n\t\tactionValueToRuntime: Map<EShapeActionValue, EShapeActionRuntime>,\n\t\tcanvasTicker: DDiagramCanvasTicker,\n\t\tcanvasShape: DDiagramCanvasShape,\n\t\tcanvasData: DDiagramCanvasData,\n\t\tactionables: EShape[]\n\t): void {\n\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\tconst shape = shapes[i];\n\n\t\t\t// ID\n\t\t\tconst id = shape.id;\n\t\t\tif (0 < id.length) {\n\t\t\t\tcanvasShape.add(id, shape);\n\t\t\t}\n\n\t\t\t// Data\n\t\t\tthis.initData(\n\t\t\t\tshape,\n\t\t\t\tdataShape,\n\t\t\t\tcontainerShape,\n\t\t\t\tmapper,\n\t\t\t\tformatToFormatter,\n\t\t\t\tinitialToInitialValue,\n\t\t\t\tcanvasTicker,\n\t\t\t\tcanvasData\n\t\t\t);\n\n\t\t\t// Runtime\n\t\t\tconst runtime = new (EShapeRuntimes[shape.type] || EShapeRuntime)(shape);\n\t\t\tshape.runtime = runtime;\n\n\t\t\t// Action\n\t\t\tthis.initActions(shape, runtime, actionValueToRuntime);\n\n\t\t\t// Actionables\n\t\t\tif (runtime.isActionable()) {\n\t\t\t\tactionables.push(shape);\n\t\t\t}\n\n\t\t\t// Shortcut\n\t\t\tconst shortcut = shape.shortcut;\n\t\t\tif (shortcut != null) {\n\t\t\t\tUtilKeyboardEvent.on(shape, shortcut, (e: KeyboardEvent): void => {\n\t\t\t\t\truntime.onClick(shape, e);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Init the runtime\n\t\t\truntime.initialize(shape);\n\n\t\t\t// Children\n\t\t\tconst children = shape.children;\n\t\t\tif (0 < children.length) {\n\t\t\t\tif (shape instanceof EShapeEmbedded) {\n\t\t\t\t\tif (dataShape == null) {\n\t\t\t\t\t\tdataShape = shape;\n\t\t\t\t\t}\n\t\t\t\t\tcontainerShape = shape;\n\t\t\t\t}\n\t\t\t\tthis.initialize_(\n\t\t\t\t\tchildren,\n\t\t\t\t\tdataShape,\n\t\t\t\t\tcontainerShape,\n\t\t\t\t\tmapper,\n\t\t\t\t\tformatToFormatter,\n\t\t\t\t\tinitialToInitialValue,\n\t\t\t\t\tactionValueToRuntime,\n\t\t\t\t\tcanvasTicker,\n\t\t\t\t\tcanvasShape,\n\t\t\t\t\tcanvasData,\n\t\t\t\t\tactionables\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected initData(\n\t\tshape: EShape,\n\t\tdataShape: EShape | null,\n\t\tcontainerShape: EShape | null,\n\t\tmapper: DDiagramDataMapper | null | undefined,\n\t\tformatToFormatter: Map<string, (value: unknown) => unknown>,\n\t\tinitialToInitialValue: Map<string, unknown>,\n\t\tcanvasTicker: DDiagramCanvasTicker,\n\t\tcanvasData: DDiagramCanvasData\n\t): void {\n\t\tconst data = shape.data;\n\t\tlet format: string = \"\";\n\t\tlet initial: string = \"\";\n\t\tfor (let i = 0, imax = data.size(); i < imax; ++i) {\n\t\t\tconst value = data.get(i);\n\t\t\tif (value == null) continue;\n\t\t\tswitch (value.type) {\n\t\t\t\tcase EShapeDataValueType.NUMBER:\n\t\t\t\tcase EShapeDataValueType.NUMBER_ARRAY:\n\t\t\t\tcase EShapeDataValueType.STRING:\n\t\t\t\tcase EShapeDataValueType.STRING_ARRAY:\n\t\t\t\tcase EShapeDataValueType.OBJECT:\n\t\t\t\tcase EShapeDataValueType.OBJECT_ARRAY:\n\t\t\t\t\t// Mapping\n\t\t\t\t\tif (value.scope === EShapeDataValueScope.PRIVATE) {\n\t\t\t\t\t\tconst id = value.id;\n\t\t\t\t\t\tif (0 < id.length) {\n\t\t\t\t\t\t\tif (containerShape) {\n\t\t\t\t\t\t\t\tcontainerShape.data.private.add(id, value);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcanvasData.private.add(id, value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (value.scope === EShapeDataValueScope.PROTECTED) {\n\t\t\t\t\t\tconst id = value.id;\n\t\t\t\t\t\tif (0 < id.length) {\n\t\t\t\t\t\t\tcanvasData.protected.add(id, value);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (mapper) {\n\t\t\t\t\t\t\tmapper(value, dataShape || shape);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst id = value.id;\n\t\t\t\t\t\tif (0 < id.length) {\n\t\t\t\t\t\t\tcanvasData.add(id, value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Format\n\t\t\t\t\tformat = value.format;\n\t\t\t\t\tinitial = value.initial;\n\t\t\t\t\tif (formatToFormatter.has(format)) {\n\t\t\t\t\t\tvalue.formatter = formatToFormatter.get(format);\n\t\t\t\t\t} else if (0 < format.length) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst formatter = this.calcFormatter(value, format, initial);\n\t\t\t\t\t\t\tformatToFormatter.set(format, formatter);\n\t\t\t\t\t\t\tvalue.formatter = formatter;\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t// DO NOTHING\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Initial\n\t\t\t\t\tif (initialToInitialValue.has(initial)) {\n\t\t\t\t\t\tvalue.value = initialToInitialValue.get(initial);\n\t\t\t\t\t} else if (0 < initial.length) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst initialValue = this.calcInitial(value, initial);\n\t\t\t\t\t\t\tinitialToInitialValue.set(initial, initialValue);\n\t\t\t\t\t\t\tvalue.value = initialValue;\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t// DO NOTHING\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\t\t// Initial\n\t\t\t\t\tinitial = value.initial;\n\t\t\t\t\tif (initialToInitialValue.has(initial)) {\n\t\t\t\t\t\tvalue.value = 0;\n\t\t\t\t\t\tcanvasTicker.add(initialToInitialValue.get(initial)).add(value);\n\t\t\t\t\t} else if (0 < initial.length) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst initialValue = this.calcInitial(value, initial);\n\t\t\t\t\t\t\tinitialToInitialValue.set(initial, initialValue);\n\t\t\t\t\t\t\tvalue.value = 0;\n\t\t\t\t\t\t\tcanvasTicker.add(initialValue).add(value);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t// DO NOTHING\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tconst extension = EShapeDataValueExtensions.get(value.type);\n\t\t\t\t\tif (extension) {\n\t\t\t\t\t\t// Mapping\n\t\t\t\t\t\tcanvasData.extended.add(extension.id, value);\n\n\t\t\t\t\t\t// Initial\n\t\t\t\t\t\tvalue.value = extension.initial;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected initActions(\n\t\tshape: EShape,\n\t\tshapeRuntime: EShapeRuntime,\n\t\tvalueToRuntime: Map<EShapeActionValue, EShapeActionRuntime>\n\t): void {\n\t\tconst values = shape.action.values;\n\t\tconst runtimes = shapeRuntime.actions;\n\t\tfor (let i = 0, imax = values.length; i < imax; ++i) {\n\t\t\tconst value = values[i];\n\t\t\tlet runtime = valueToRuntime.get(value);\n\t\t\tif (runtime == null) {\n\t\t\t\truntime = value.toRuntime();\n\t\t\t\tif (runtime != null) {\n\t\t\t\t\tvalueToRuntime.set(value, runtime);\n\t\t\t\t\truntimes.push(runtime);\n\t\t\t\t\tshapeRuntime.reset |= runtime.reset;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\truntimes.push(runtime);\n\t\t\t\tshapeRuntime.reset |= runtime.reset;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected calcFormatter(\n\t\tvalue: EShapeDataValue,\n\t\tformat: string,\n\t\tinitial: string\n\t): (value: unknown) => unknown {\n\t\tconst def = this.toInitial(value);\n\t\treturn Function(\n\t\t\t\"value\",\n\t\t\t/* eslint-disable prettier/prettier */\n\t\t\t`try {` +\n\t\t\t\t`return (${format});` +\n\t\t\t`} catch( e1 ) {` +\n\t\t\t\t`try {` +\n\t\t\t\t\t`return (${0 < initial.length ? initial : def});` +\n\t\t\t\t`} catch( e2 ) {` +\n\t\t\t\t\t`return ${def};` +\n\t\t\t\t`}` +\n\t\t\t`}`\n\t\t\t/* eslint-enable prettier/prettier */\n\t\t) as any;\n\t}\n\n\tprotected calcInitial(value: EShapeDataValue, initial: string): unknown {\n\t\treturn Function(\n\t\t\t/* eslint-disable prettier/prettier */\n\t\t\t`try {` +\n\t\t\t\t`return (${initial});` +\n\t\t\t`} catch( e ) {` +\n\t\t\t\t`return ${this.toInitial(value)};` +\n\t\t\t`}`\n\t\t\t/* eslint-enable prettier/prettier */\n\t\t)();\n\t}\n\n\tprotected toInitial(value: EShapeDataValue): string {\n\t\tconst valueType = value.type;\n\t\tswitch (valueType) {\n\t\t\tcase EShapeDataValueType.NUMBER:\n\t\t\t\treturn \"0\";\n\t\t\tcase EShapeDataValueType.NUMBER_ARRAY:\n\t\t\t\treturn \"[]\";\n\t\t\tcase EShapeDataValueType.STRING:\n\t\t\t\treturn '\"\"';\n\t\t\tcase EShapeDataValueType.STRING_ARRAY:\n\t\t\t\treturn \"[]\";\n\t\t\tcase EShapeDataValueType.OBJECT:\n\t\t\t\treturn \"{}\";\n\t\t\tcase EShapeDataValueType.OBJECT_ARRAY:\n\t\t\t\treturn \"[]\";\n\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\treturn \"0\";\n\t\t\tdefault:\n\t\t\t\treturn \"0\";\n\t\t}\n\t}\n\n\tprotected onDestroy(): void {\n\t\tthis._ticker.stop();\n\t\tsuper.onDestroy();\n\t}\n\n\thitTestInteractives(global: IPoint): EShape | null {\n\t\tconst layers = this._layer.children;\n\t\tfor (let i = layers.length - 1; 0 <= i; --i) {\n\t\t\tconst layer = layers[i];\n\t\t\tif (layer.visible) {\n\t\t\t\tconst result = layer.hitTestInteractives(global);\n\t\t\t\tif (result != null) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tonShapeMove(e: interaction.InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst view = layer.view;\n\n\t\t\t// Cursor\n\t\t\tconst cursor = this.toShapeCursor(found);\n\t\t\tconst style = view.style;\n\t\t\tif (style.cursor !== cursor) {\n\t\t\t\tstyle.cursor = cursor;\n\t\t\t}\n\n\t\t\t// TItle\n\t\t\tconst title = this.toShapeTitle(found);\n\t\t\tif (view.title !== title) {\n\t\t\t\tview.title = title;\n\t\t\t}\n\t\t}\n\n\t\tconst overed = this._overed;\n\t\tthis._overed = found;\n\t\tif (found === overed) {\n\t\t\tif (found != null) {\n\t\t\t\tconst runtime = found.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onMove(found, e);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthis.onShapeOut(e, overed, found);\n\t\t\tthis.onShapeOver(e, found);\n\t\t}\n\t\treturn found != null;\n\t}\n\n\tprotected toShapeCursor(target: EShape | null): string {\n\t\tif (target != null) {\n\t\t\tconst result = target.cursor;\n\t\t\tif (0 < result.length) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn \"auto\";\n\t}\n\n\tprotected toShapeTitle(target: EShape | null): string {\n\t\tif (target != null) {\n\t\t\treturn target.title || \"\";\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tprotected onShapeOut(\n\t\te: interaction.InteractionEvent,\n\t\ttarget?: EShape | EShapeContainer | null,\n\t\texcept?: EShape | null\n\t): void {\n\t\twhile (target != null && target !== except && target instanceof EShapeBase) {\n\t\t\tconst runtime = target.runtime;\n\t\t\tif (runtime) {\n\t\t\t\truntime.onOut(target, e);\n\t\t\t}\n\t\t\ttarget = target.parent;\n\t\t}\n\t}\n\n\tprotected onShapeOver(\n\t\te: interaction.InteractionEvent,\n\t\ttarget?: EShape | EShapeContainer | null,\n\t\texcept?: EShape | null\n\t): void {\n\t\twhile (target != null && target !== except && target instanceof EShapeBase) {\n\t\t\tconst runtime = target.runtime;\n\t\t\tif (runtime) {\n\t\t\t\truntime.onOver(target, e);\n\t\t\t}\n\t\t\ttarget = target.parent;\n\t\t}\n\t}\n\n\tonShapeDown(e: interaction.InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tthis._downed = found;\n\t\tif (found) {\n\t\t\tthis._downeds.add(found);\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onDown(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeUp(e: interaction.InteractionEvent): boolean {\n\t\tconst downeds = this._downeds;\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tif (found) {\n\t\t\tdowneds.delete(found);\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onUp(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis.onShapeCancel(e);\n\t\treturn found != null;\n\t}\n\n\tonShapeCancel(e: interaction.InteractionEvent): boolean {\n\t\tconst downeds = this._downeds;\n\t\tif (0 < downeds.size) {\n\t\t\tdowneds.forEach((downed: EShape): void => {\n\t\t\t\tlet target = downed;\n\t\t\t\twhile (true) {\n\t\t\t\t\tconst runtime = target.runtime;\n\t\t\t\t\tif (runtime) {\n\t\t\t\t\t\truntime.onUpOutside(target, e);\n\t\t\t\t\t}\n\t\t\t\t\tconst parent = target.parent;\n\t\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\t\ttarget = parent;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tdowneds.clear();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeClick(e: interaction.InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tif (found && this._downed === found) {\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onClick(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: interaction.InteractionManager\n\t): boolean {\n\t\tconst global = (DDiagramCanvas.WORK_DBLCLICK ??= new Point());\n\t\tUtilPointerEvent.toGlobal(e, interactionManager, global);\n\t\tconst found = this.hitTestInteractives(global);\n\t\tif (found) {\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onDblClick(target, e, interactionManager);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tupdate(): void {\n\t\tconst actionables = this._actionables;\n\t\tif (0 < actionables.length) {\n\t\t\tlet effect = -1;\n\t\t\tconst time = Date.now();\n\t\t\tfor (let i = 0, imax = actionables.length; i < imax; ++i) {\n\t\t\t\tconst actionable = actionables[i];\n\t\t\t\tactionable.update(time);\n\t\t\t\tconst runtime = actionable.runtime;\n\t\t\t\tif (runtime && time < runtime.effect) {\n\t\t\t\t\tconst runtimeEffect = runtime.effect;\n\t\t\t\t\tif (time < runtimeEffect) {\n\t\t\t\t\t\teffect = effect < 0 ? runtimeEffect : Math.min(effect, runtimeEffect);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (0 <= effect) {\n\t\t\t\twindow.setTimeout(this._updateBound, effect - Date.now());\n\t\t\t}\n\t\t}\n\t}\n\n\tonRender(renderer: Renderer): void {\n\t\tconst actionables = this._actionables;\n\t\tif (0 < actionables.length) {\n\t\t\tlet effect = -1;\n\t\t\tconst time = Date.now();\n\t\t\tfor (let i = 0, imax = actionables.length; i < imax; ++i) {\n\t\t\t\tconst actionable = actionables[i];\n\t\t\t\tactionable.onRender(time, renderer);\n\t\t\t\tconst runtime = actionable.runtime;\n\t\t\t\tif (runtime && time < runtime.effect) {\n\t\t\t\t\tconst runtimeEffect = runtime.effect;\n\t\t\t\t\tif (time < runtimeEffect) {\n\t\t\t\t\t\teffect = effect < 0 ? runtimeEffect : Math.min(effect, runtimeEffect);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (0 <= effect) {\n\t\t\t\twindow.setTimeout(this._updateBound, effect - Date.now());\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagramCanvas\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-diagram-canvas.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-canvas.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, IPoint, Point, Renderer } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport {\n\tDDiagramCanvasBase,\n\tDDiagramCanvasBaseOptions,\n\tDThemeDiagramCanvasBase\n} from \"./d-diagram-canvas-base\";\nimport { EShape } from \"./shape/e-shape\";\nimport { EShapeBase } from \"./shape/variant/e-shape-base\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { EShapeActionValue } from \"./shape/action/e-shape-action-value\";\nimport { EShapeActionRuntime } from \"./shape/action/e-shape-action-runtime\";\nimport { DDiagramDataMapper } from \"./d-diagram-data-mapper\";\nimport { EShapeRuntimes } from \"./shape/e-shape-runtimes\";\nimport { EShapeRuntime } from \"./shape/e-shape-runtime\";\nimport { EShapeDataValue } from \"./shape/e-shape-data-value\";\nimport { EShapeDataValueType } from \"./shape/e-shape-data-value-type\";\nimport { EShapeContainer } from \"./shape/e-shape-container\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { DDiagramCanvasData } from \"./d-diagram-canvas-data\";\nimport { DDiagramCanvasDataImpl } from \"./d-diagram-canvas-data-impl\";\nimport { DDiagramCanvasShape } from \"./d-diagram-canvas-shape\";\nimport { DDiagramCanvasShapeImpl } from \"./d-diagram-canvas-shape-impl\";\nimport { DDiagramCanvasTicker } from \"./d-diagram-canvas-ticker\";\nimport { DDiagramCanvasTickerImpl } from \"./d-diagram-canvas-ticker-impl\";\nimport { EShapeDataValueScope } from \"./shape/e-shape-data-value-scope\";\nimport { EShapeEmbedded } from \"./shape/variant/e-shape-embedded\";\nimport { EShapeDataValueExtensions } from \"./shape/e-shape-data-value-extensions\";\nimport { EShapeActionEnvironment } from \"./shape/action/e-shape-action-environment\";\n\nexport interface DDiagramCanvasOptions<THEME extends DThemeDiagramCanvas = DThemeDiagramCanvas>\n\textends DDiagramCanvasBaseOptions<THEME> {}\n\nexport interface DThemeDiagramCanvas extends DThemeDiagramCanvasBase {}\n\nexport class DDiagramCanvas<\n\tTHEME extends DThemeDiagramCanvas = DThemeDiagramCanvas,\n\tOPTIONS extends DDiagramCanvasOptions<THEME> = DDiagramCanvasOptions<THEME>\n> extends DDiagramCanvasBase<THEME, OPTIONS> {\n\tprotected static WORK_DBLCLICK?: Point;\n\n\tprotected _data: DDiagramCanvasData;\n\tprotected _shape: DDiagramCanvasShape;\n\tprotected _ticker: DDiagramCanvasTicker;\n\tprotected _actionables: EShape[];\n\n\tprotected _overed?: EShape | null;\n\tprotected _downed?: EShape | null;\n\tprotected _downeds: Set<EShape>;\n\n\tprotected _updateBound: () => void;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._data = new DDiagramCanvasDataImpl();\n\t\tthis._shape = new DDiagramCanvasShapeImpl();\n\t\tthis._ticker = new DDiagramCanvasTickerImpl(this);\n\t\tthis._actionables = [];\n\t\tthis._downeds = new Set<EShape>();\n\t\tthis._updateBound = (): void => {\n\t\t\tDApplications.update(this);\n\t\t};\n\t}\n\n\tget data(): DDiagramCanvasData {\n\t\treturn this._data;\n\t}\n\n\tget shape(): DDiagramCanvasShape {\n\t\treturn this._shape;\n\t}\n\n\tget ticker(): DDiagramCanvasTicker {\n\t\treturn this._ticker;\n\t}\n\n\tinitialize(shapes: EShape[], mapper?: DDiagramDataMapper | null): void {\n\t\tconst time = Date.now();\n\t\tconst actionables = this._actionables;\n\t\tthis.initialize_(\n\t\t\tshapes,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tmapper,\n\t\t\tnew Map<string, (value: unknown) => unknown>(),\n\t\t\tnew Map<string, unknown>(),\n\t\t\tnew Map<EShapeActionValue, EShapeActionRuntime>(),\n\t\t\tthis._ticker,\n\t\t\tthis._shape,\n\t\t\tthis._data,\n\t\t\tactionables\n\t\t);\n\t\tconst layers = this._layer.children;\n\t\tfor (let i = 0, imax = layers.length; i < imax; ++i) {\n\t\t\tlayers[i].initialize(actionables);\n\t\t}\n\t\tEShapeActionEnvironment.isInitializing = true;\n\t\tfor (let i = 0, imax = layers.length; i < imax; ++i) {\n\t\t\tconst layerChildren = layers[i].children;\n\t\t\tfor (let j = 0, jmax = layerChildren.length; j < jmax; ++j) {\n\t\t\t\tlayerChildren[j].update(time);\n\t\t\t}\n\t\t}\n\t\tEShapeActionEnvironment.isInitializing = false;\n\t\tthis._ticker.start();\n\t}\n\n\tprotected initialize_(\n\t\tshapes: EShape[],\n\t\tdataShape: EShape | null,\n\t\tcontainerShape: EShape | null,\n\t\tmapper: DDiagramDataMapper | null | undefined,\n\t\tformatToFormatter: Map<string, (value: unknown) => unknown>,\n\t\tinitialToInitialValue: Map<string, unknown>,\n\t\tactionValueToRuntime: Map<EShapeActionValue, EShapeActionRuntime>,\n\t\tcanvasTicker: DDiagramCanvasTicker,\n\t\tcanvasShape: DDiagramCanvasShape,\n\t\tcanvasData: DDiagramCanvasData,\n\t\tactionables: EShape[]\n\t): void {\n\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\tconst shape = shapes[i];\n\n\t\t\t// ID\n\t\t\tconst id = shape.id;\n\t\t\tif (0 < id.length) {\n\t\t\t\tcanvasShape.add(id, shape);\n\t\t\t}\n\n\t\t\t// Data\n\t\t\tthis.initData(\n\t\t\t\tshape,\n\t\t\t\tdataShape,\n\t\t\t\tcontainerShape,\n\t\t\t\tmapper,\n\t\t\t\tformatToFormatter,\n\t\t\t\tinitialToInitialValue,\n\t\t\t\tcanvasTicker,\n\t\t\t\tcanvasData\n\t\t\t);\n\n\t\t\t// Runtime\n\t\t\tconst runtime = new (EShapeRuntimes[shape.type] || EShapeRuntime)(shape);\n\t\t\tshape.runtime = runtime;\n\n\t\t\t// Action\n\t\t\tthis.initActions(shape, runtime, actionValueToRuntime);\n\n\t\t\t// Actionables\n\t\t\tif (runtime.isActionable()) {\n\t\t\t\tactionables.push(shape);\n\t\t\t}\n\n\t\t\t// Shortcut\n\t\t\tconst shortcut = shape.shortcut;\n\t\t\tif (shortcut != null) {\n\t\t\t\tUtilKeyboardEvent.on(shape, shortcut, (e: KeyboardEvent): void => {\n\t\t\t\t\truntime.onClick(shape, e);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Init the runtime\n\t\t\truntime.initialize(shape);\n\n\t\t\t// Children\n\t\t\tconst children = shape.children;\n\t\t\tif (0 < children.length) {\n\t\t\t\tlet newDataShape = dataShape;\n\t\t\t\tlet newContainerShape = containerShape;\n\t\t\t\tif (shape instanceof EShapeEmbedded) {\n\t\t\t\t\tif (newDataShape == null) {\n\t\t\t\t\t\tnewDataShape = shape;\n\t\t\t\t\t}\n\t\t\t\t\tnewContainerShape = shape;\n\t\t\t\t}\n\t\t\t\tthis.initialize_(\n\t\t\t\t\tchildren,\n\t\t\t\t\tnewDataShape,\n\t\t\t\t\tnewContainerShape,\n\t\t\t\t\tmapper,\n\t\t\t\t\tformatToFormatter,\n\t\t\t\t\tinitialToInitialValue,\n\t\t\t\t\tactionValueToRuntime,\n\t\t\t\t\tcanvasTicker,\n\t\t\t\t\tcanvasShape,\n\t\t\t\t\tcanvasData,\n\t\t\t\t\tactionables\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected initData(\n\t\tshape: EShape,\n\t\tdataShape: EShape | null,\n\t\tcontainerShape: EShape | null,\n\t\tmapper: DDiagramDataMapper | null | undefined,\n\t\tformatToFormatter: Map<string, (value: unknown) => unknown>,\n\t\tinitialToInitialValue: Map<string, unknown>,\n\t\tcanvasTicker: DDiagramCanvasTicker,\n\t\tcanvasData: DDiagramCanvasData\n\t): void {\n\t\tconst data = shape.data;\n\t\tlet format: string = \"\";\n\t\tlet initial: string = \"\";\n\t\tfor (let i = 0, imax = data.size(); i < imax; ++i) {\n\t\t\tconst value = data.get(i);\n\t\t\tif (value == null) continue;\n\t\t\tswitch (value.type) {\n\t\t\t\tcase EShapeDataValueType.NUMBER:\n\t\t\t\tcase EShapeDataValueType.NUMBER_ARRAY:\n\t\t\t\tcase EShapeDataValueType.STRING:\n\t\t\t\tcase EShapeDataValueType.STRING_ARRAY:\n\t\t\t\tcase EShapeDataValueType.OBJECT:\n\t\t\t\tcase EShapeDataValueType.OBJECT_ARRAY:\n\t\t\t\t\t// Mapping\n\t\t\t\t\tif (value.scope === EShapeDataValueScope.PRIVATE) {\n\t\t\t\t\t\tconst id = value.id;\n\t\t\t\t\t\tif (0 < id.length) {\n\t\t\t\t\t\t\tif (containerShape) {\n\t\t\t\t\t\t\t\tcontainerShape.data.private.add(id, value);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcanvasData.private.add(id, value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (value.scope === EShapeDataValueScope.PROTECTED) {\n\t\t\t\t\t\tconst id = value.id;\n\t\t\t\t\t\tif (0 < id.length) {\n\t\t\t\t\t\t\tcanvasData.protected.add(id, value);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (mapper) {\n\t\t\t\t\t\t\tmapper(value, dataShape || shape);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst id = value.id;\n\t\t\t\t\t\tif (0 < id.length) {\n\t\t\t\t\t\t\tcanvasData.add(id, value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Format\n\t\t\t\t\tformat = value.format;\n\t\t\t\t\tinitial = value.initial;\n\t\t\t\t\tif (formatToFormatter.has(format)) {\n\t\t\t\t\t\tvalue.formatter = formatToFormatter.get(format);\n\t\t\t\t\t} else if (0 < format.length) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst formatter = this.calcFormatter(value, format, initial);\n\t\t\t\t\t\t\tformatToFormatter.set(format, formatter);\n\t\t\t\t\t\t\tvalue.formatter = formatter;\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t// DO NOTHING\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Initial\n\t\t\t\t\tif (initialToInitialValue.has(initial)) {\n\t\t\t\t\t\tvalue.value = initialToInitialValue.get(initial);\n\t\t\t\t\t} else if (0 < initial.length) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst initialValue = this.calcInitial(value, initial);\n\t\t\t\t\t\t\tinitialToInitialValue.set(initial, initialValue);\n\t\t\t\t\t\t\tvalue.value = initialValue;\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t// DO NOTHING\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\t\t// Initial\n\t\t\t\t\tinitial = value.initial;\n\t\t\t\t\tif (initialToInitialValue.has(initial)) {\n\t\t\t\t\t\tvalue.value = 0;\n\t\t\t\t\t\tcanvasTicker.add(initialToInitialValue.get(initial)).add(value);\n\t\t\t\t\t} else if (0 < initial.length) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst initialValue = this.calcInitial(value, initial);\n\t\t\t\t\t\t\tinitialToInitialValue.set(initial, initialValue);\n\t\t\t\t\t\t\tvalue.value = 0;\n\t\t\t\t\t\t\tcanvasTicker.add(initialValue).add(value);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t// DO NOTHING\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tconst extension = EShapeDataValueExtensions.get(value.type);\n\t\t\t\t\tif (extension) {\n\t\t\t\t\t\t// Mapping\n\t\t\t\t\t\tcanvasData.extended.add(extension.id, value);\n\n\t\t\t\t\t\t// Initial\n\t\t\t\t\t\tvalue.value = extension.initial;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected initActions(\n\t\tshape: EShape,\n\t\tshapeRuntime: EShapeRuntime,\n\t\tvalueToRuntime: Map<EShapeActionValue, EShapeActionRuntime>\n\t): void {\n\t\tconst values = shape.action.values;\n\t\tconst runtimes = shapeRuntime.actions;\n\t\tfor (let i = 0, imax = values.length; i < imax; ++i) {\n\t\t\tconst value = values[i];\n\t\t\tlet runtime = valueToRuntime.get(value);\n\t\t\tif (runtime == null) {\n\t\t\t\truntime = value.toRuntime();\n\t\t\t\tif (runtime != null) {\n\t\t\t\t\tvalueToRuntime.set(value, runtime);\n\t\t\t\t\truntimes.push(runtime);\n\t\t\t\t\tshapeRuntime.reset |= runtime.reset;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\truntimes.push(runtime);\n\t\t\t\tshapeRuntime.reset |= runtime.reset;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected calcFormatter(\n\t\tvalue: EShapeDataValue,\n\t\tformat: string,\n\t\tinitial: string\n\t): (value: unknown) => unknown {\n\t\tconst def = this.toInitial(value);\n\t\treturn Function(\n\t\t\t\"value\",\n\t\t\t/* eslint-disable prettier/prettier */\n\t\t\t`try {` +\n\t\t\t\t`return (${format});` +\n\t\t\t`} catch( e1 ) {` +\n\t\t\t\t`try {` +\n\t\t\t\t\t`return (${0 < initial.length ? initial : def});` +\n\t\t\t\t`} catch( e2 ) {` +\n\t\t\t\t\t`return ${def};` +\n\t\t\t\t`}` +\n\t\t\t`}`\n\t\t\t/* eslint-enable prettier/prettier */\n\t\t) as any;\n\t}\n\n\tprotected calcInitial(value: EShapeDataValue, initial: string): unknown {\n\t\treturn Function(\n\t\t\t/* eslint-disable prettier/prettier */\n\t\t\t`try {` +\n\t\t\t\t`return (${initial});` +\n\t\t\t`} catch( e ) {` +\n\t\t\t\t`return ${this.toInitial(value)};` +\n\t\t\t`}`\n\t\t\t/* eslint-enable prettier/prettier */\n\t\t)();\n\t}\n\n\tprotected toInitial(value: EShapeDataValue): string {\n\t\tconst valueType = value.type;\n\t\tswitch (valueType) {\n\t\t\tcase EShapeDataValueType.NUMBER:\n\t\t\t\treturn \"0\";\n\t\t\tcase EShapeDataValueType.NUMBER_ARRAY:\n\t\t\t\treturn \"[]\";\n\t\t\tcase EShapeDataValueType.STRING:\n\t\t\t\treturn '\"\"';\n\t\t\tcase EShapeDataValueType.STRING_ARRAY:\n\t\t\t\treturn \"[]\";\n\t\t\tcase EShapeDataValueType.OBJECT:\n\t\t\t\treturn \"{}\";\n\t\t\tcase EShapeDataValueType.OBJECT_ARRAY:\n\t\t\t\treturn \"[]\";\n\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\treturn \"0\";\n\t\t\tdefault:\n\t\t\t\treturn \"0\";\n\t\t}\n\t}\n\n\tprotected onDestroy(): void {\n\t\tthis._ticker.stop();\n\t\tsuper.onDestroy();\n\t}\n\n\thitTestInteractives(global: IPoint): EShape | null {\n\t\tconst layers = this._layer.children;\n\t\tfor (let i = layers.length - 1; 0 <= i; --i) {\n\t\t\tconst layer = layers[i];\n\t\t\tif (layer.visible) {\n\t\t\t\tconst result = layer.hitTestInteractives(global);\n\t\t\t\tif (result != null) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tonShapeMove(e: interaction.InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst view = layer.view;\n\n\t\t\t// Cursor\n\t\t\tconst cursor = this.toShapeCursor(found);\n\t\t\tconst style = view.style;\n\t\t\tif (style.cursor !== cursor) {\n\t\t\t\tstyle.cursor = cursor;\n\t\t\t}\n\n\t\t\t// TItle\n\t\t\tconst title = this.toShapeTitle(found);\n\t\t\tif (view.title !== title) {\n\t\t\t\tview.title = title;\n\t\t\t}\n\t\t}\n\n\t\tconst overed = this._overed;\n\t\tthis._overed = found;\n\t\tif (found === overed) {\n\t\t\tif (found != null) {\n\t\t\t\tconst runtime = found.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onMove(found, e);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthis.onShapeOut(e, overed, found);\n\t\t\tthis.onShapeOver(e, found);\n\t\t}\n\t\treturn found != null;\n\t}\n\n\tprotected toShapeCursor(target: EShape | null): string {\n\t\tif (target != null) {\n\t\t\tconst result = target.cursor;\n\t\t\tif (0 < result.length) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn \"auto\";\n\t}\n\n\tprotected toShapeTitle(target: EShape | null): string {\n\t\tif (target != null) {\n\t\t\treturn target.title || \"\";\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tprotected onShapeOut(\n\t\te: interaction.InteractionEvent,\n\t\ttarget?: EShape | EShapeContainer | null,\n\t\texcept?: EShape | null\n\t): void {\n\t\twhile (target != null && target !== except && target instanceof EShapeBase) {\n\t\t\tconst runtime = target.runtime;\n\t\t\tif (runtime) {\n\t\t\t\truntime.onOut(target, e);\n\t\t\t}\n\t\t\ttarget = target.parent;\n\t\t}\n\t}\n\n\tprotected onShapeOver(\n\t\te: interaction.InteractionEvent,\n\t\ttarget?: EShape | EShapeContainer | null,\n\t\texcept?: EShape | null\n\t): void {\n\t\twhile (target != null && target !== except && target instanceof EShapeBase) {\n\t\t\tconst runtime = target.runtime;\n\t\t\tif (runtime) {\n\t\t\t\truntime.onOver(target, e);\n\t\t\t}\n\t\t\ttarget = target.parent;\n\t\t}\n\t}\n\n\tonShapeDown(e: interaction.InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tthis._downed = found;\n\t\tif (found) {\n\t\t\tthis._downeds.add(found);\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onDown(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeUp(e: interaction.InteractionEvent): boolean {\n\t\tconst downeds = this._downeds;\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tif (found) {\n\t\t\tdowneds.delete(found);\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onUp(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis.onShapeCancel(e);\n\t\treturn found != null;\n\t}\n\n\tonShapeCancel(e: interaction.InteractionEvent): boolean {\n\t\tconst downeds = this._downeds;\n\t\tif (0 < downeds.size) {\n\t\t\tdowneds.forEach((downed: EShape): void => {\n\t\t\t\tlet target = downed;\n\t\t\t\twhile (true) {\n\t\t\t\t\tconst runtime = target.runtime;\n\t\t\t\t\tif (runtime) {\n\t\t\t\t\t\truntime.onUpOutside(target, e);\n\t\t\t\t\t}\n\t\t\t\t\tconst parent = target.parent;\n\t\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\t\ttarget = parent;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tdowneds.clear();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeClick(e: interaction.InteractionEvent): boolean {\n\t\tconst found = this.hitTestInteractives(e.data.global);\n\t\tif (found && this._downed === found) {\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onClick(target, e);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonShapeDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: interaction.InteractionManager\n\t): boolean {\n\t\tconst global = (DDiagramCanvas.WORK_DBLCLICK ??= new Point());\n\t\tUtilPointerEvent.toGlobal(e, interactionManager, global);\n\t\tconst found = this.hitTestInteractives(global);\n\t\tif (found) {\n\t\t\tlet target = found;\n\t\t\twhile (true) {\n\t\t\t\tconst runtime = target.runtime;\n\t\t\t\tif (runtime) {\n\t\t\t\t\truntime.onDblClick(target, e, interactionManager);\n\t\t\t\t}\n\t\t\t\tconst parent = target.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\ttarget = parent;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tupdate(): void {\n\t\tconst actionables = this._actionables;\n\t\tif (0 < actionables.length) {\n\t\t\tlet effect = -1;\n\t\t\tconst time = Date.now();\n\t\t\tfor (let i = 0, imax = actionables.length; i < imax; ++i) {\n\t\t\t\tconst actionable = actionables[i];\n\t\t\t\tactionable.update(time);\n\t\t\t\tconst runtime = actionable.runtime;\n\t\t\t\tif (runtime && time < runtime.effect) {\n\t\t\t\t\tconst runtimeEffect = runtime.effect;\n\t\t\t\t\tif (time < runtimeEffect) {\n\t\t\t\t\t\teffect = effect < 0 ? runtimeEffect : Math.min(effect, runtimeEffect);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (0 <= effect) {\n\t\t\t\twindow.setTimeout(this._updateBound, effect - Date.now());\n\t\t\t}\n\t\t}\n\t}\n\n\tonRender(renderer: Renderer): void {\n\t\tconst actionables = this._actionables;\n\t\tif (0 < actionables.length) {\n\t\t\tlet effect = -1;\n\t\t\tconst time = Date.now();\n\t\t\tfor (let i = 0, imax = actionables.length; i < imax; ++i) {\n\t\t\t\tconst actionable = actionables[i];\n\t\t\t\tactionable.onRender(time, renderer);\n\t\t\t\tconst runtime = actionable.runtime;\n\t\t\t\tif (runtime && time < runtime.effect) {\n\t\t\t\t\tconst runtimeEffect = runtime.effect;\n\t\t\t\t\tif (time < runtimeEffect) {\n\t\t\t\t\t\teffect = effect < 0 ? runtimeEffect : Math.min(effect, runtimeEffect);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (0 <= effect) {\n\t\t\t\twindow.setTimeout(this._updateBound, effect - Date.now());\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagramCanvas\";\n\t}\n}\n"]}
@@ -13,7 +13,7 @@ var EShapeActionRuntimeOpenDialogExtension = /** @class */ (function (_super) {
13
13
  function EShapeActionRuntimeOpenDialogExtension(value) {
14
14
  var _this = _super.call(this, value, EShapeRuntimeReset.NONE) || this;
15
15
  _this.target = EShapeActionExpressions.ofStringOrNull(value.target);
16
- var extension = EShapeActionOpenDialogExtensions.get(value.type);
16
+ var extension = EShapeActionOpenDialogExtensions.get(value.dialogType);
17
17
  if (extension) {
18
18
  _this.opener = extension.opener;
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-action-runtime-open-dialog-extension.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/action/e-shape-action-runtime-open-dialog-extension.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAiB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAE3F,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAGtF;IAA4D,0DAA8B;IAIzF,gDAAY,KAA2C;QAAvD,YACC,kBAAM,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,SAMrC;QALA,KAAI,CAAC,MAAM,GAAG,uBAAuB,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnE,IAAM,SAAS,GAAG,gCAAgC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,SAAS,EAAE;YACd,KAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;SAC/B;;IACF,CAAC;IAED,wDAAO,GAAP,UAAQ,KAAa,EAAE,OAAsB,EAAE,IAAY;QAC1D,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,uBAAuB,CAAC,EAAE;gBACzD,IAAM,QAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC;gBACjE,IAAI,QAAM,IAAI,IAAI,EAAE;oBACnB,UAAU,CAAC;wBACV,MAAM,CAAC,QAAM,EAAE,KAAK,CAAC,CAAC;oBACvB,CAAC,EAAE,CAAC,CAAC,CAAC;iBACN;aACD;SACD;IACF,CAAC;IACF,6CAAC;AAAD,CAAC,AA1BD,CAA4D,8BAA8B,GA0BzF","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 { EShapeActionExpression } from \"./e-shape-action-expression\";\nimport { EShapeActionExpressions } from \"./e-shape-action-expressions\";\nimport { EShapeActionOpenDialogExtensions } from \"./e-shape-action-open-dialog-extensions\";\nimport { EShapeActionOpenDialogOpener } from \"./e-shape-action-open-dialog-opener\";\nimport { EShapeActionRuntimeConditional } from \"./e-shape-action-runtime-conditional\";\nimport { EShapeActionValueOpenDialogExtension } from \"./e-shape-action-value-open-dialog-extension\";\n\nexport class EShapeActionRuntimeOpenDialogExtension extends EShapeActionRuntimeConditional {\n\tprotected readonly target: EShapeActionExpression<string | null>;\n\tprotected readonly opener?: EShapeActionOpenDialogOpener;\n\n\tconstructor(value: EShapeActionValueOpenDialogExtension) {\n\t\tsuper(value, EShapeRuntimeReset.NONE);\n\t\tthis.target = EShapeActionExpressions.ofStringOrNull(value.target);\n\t\tconst extension = EShapeActionOpenDialogExtensions.get(value.type);\n\t\tif (extension) {\n\t\t\tthis.opener = extension.opener;\n\t\t}\n\t}\n\n\texecute(shape: EShape, runtime: EShapeRuntime, time: number): void {\n\t\tconst opener = this.opener;\n\t\tif (opener) {\n\t\t\tif (this.condition(shape, time, EShapeActionEnvironment)) {\n\t\t\t\tconst target = this.target(shape, time, EShapeActionEnvironment);\n\t\t\t\tif (target != null) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\topener(target, shape);\n\t\t\t\t\t}, 0);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-action-runtime-open-dialog-extension.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/action/e-shape-action-runtime-open-dialog-extension.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAiB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAE3F,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAGtF;IAA4D,0DAA8B;IAIzF,gDAAY,KAA2C;QAAvD,YACC,kBAAM,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,SAMrC;QALA,KAAI,CAAC,MAAM,GAAG,uBAAuB,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnE,IAAM,SAAS,GAAG,gCAAgC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACzE,IAAI,SAAS,EAAE;YACd,KAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;SAC/B;;IACF,CAAC;IAED,wDAAO,GAAP,UAAQ,KAAa,EAAE,OAAsB,EAAE,IAAY;QAC1D,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,uBAAuB,CAAC,EAAE;gBACzD,IAAM,QAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC;gBACjE,IAAI,QAAM,IAAI,IAAI,EAAE;oBACnB,UAAU,CAAC;wBACV,MAAM,CAAC,QAAM,EAAE,KAAK,CAAC,CAAC;oBACvB,CAAC,EAAE,CAAC,CAAC,CAAC;iBACN;aACD;SACD;IACF,CAAC;IACF,6CAAC;AAAD,CAAC,AA1BD,CAA4D,8BAA8B,GA0BzF","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 { EShapeActionExpression } from \"./e-shape-action-expression\";\nimport { EShapeActionExpressions } from \"./e-shape-action-expressions\";\nimport { EShapeActionOpenDialogExtensions } from \"./e-shape-action-open-dialog-extensions\";\nimport { EShapeActionOpenDialogOpener } from \"./e-shape-action-open-dialog-opener\";\nimport { EShapeActionRuntimeConditional } from \"./e-shape-action-runtime-conditional\";\nimport { EShapeActionValueOpenDialogExtension } from \"./e-shape-action-value-open-dialog-extension\";\n\nexport class EShapeActionRuntimeOpenDialogExtension extends EShapeActionRuntimeConditional {\n\tprotected readonly target: EShapeActionExpression<string | null>;\n\tprotected readonly opener?: EShapeActionOpenDialogOpener;\n\n\tconstructor(value: EShapeActionValueOpenDialogExtension) {\n\t\tsuper(value, EShapeRuntimeReset.NONE);\n\t\tthis.target = EShapeActionExpressions.ofStringOrNull(value.target);\n\t\tconst extension = EShapeActionOpenDialogExtensions.get(value.dialogType);\n\t\tif (extension) {\n\t\t\tthis.opener = extension.opener;\n\t\t}\n\t}\n\n\texecute(shape: EShape, runtime: EShapeRuntime, time: number): void {\n\t\tconst opener = this.opener;\n\t\tif (opener) {\n\t\t\tif (this.condition(shape, time, EShapeActionEnvironment)) {\n\t\t\t\tconst target = this.target(shape, time, EShapeActionEnvironment);\n\t\t\t\tif (target != null) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\topener(target, shape);\n\t\t\t\t\t}, 0);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -631,6 +631,7 @@ var EShapeDataValueImpl = /** @class */ (function () {
631
631
  */
632
632
  EShapeDataValueImpl.prototype.copy = function (target) {
633
633
  this.id = target.id;
634
+ this.as = target.as;
634
635
  this.type = target.type;
635
636
  this.scope = target.scope;
636
637
  this.initial = target.initial;
@@ -645,6 +646,7 @@ var EShapeDataValueImpl = /** @class */ (function () {
645
646
  };
646
647
  EShapeDataValueImpl.prototype.isEquals = function (target) {
647
648
  return (this.id === target.id &&
649
+ this.as === target.as &&
648
650
  this.type === target.type &&
649
651
  this.scope === target.scope &&
650
652
  this.initial === target.initial &&
@@ -653,10 +655,10 @@ var EShapeDataValueImpl = /** @class */ (function () {
653
655
  };
654
656
  EShapeDataValueImpl.prototype.serialize = function (manager) {
655
657
  var id = manager.addData(this.id);
658
+ var as = manager.addResource(this.as);
656
659
  var initial = manager.addResource(this.initial);
657
660
  var format = manager.addResource(this.format.trim());
658
661
  var range = this.range.serialize(manager);
659
- var as = manager.addResource(this.as);
660
662
  return manager.addResource("[".concat(id, ",").concat(initial, ",").concat(format, ",").concat(range, ",").concat(this._capacity, ",").concat(this._order, ",").concat(this.type, ",").concat(this.scope, ",").concat(as, "]"));
661
663
  };
662
664
  EShapeDataValueImpl.prototype.deserialize = function (target, manager) {
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-data-value-impl.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-data-value-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DDiagramSerializedDataValue } from \"../d-diagram-serialized\";\nimport { EShapeResourceManagerDeserialization } from \"./e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"./e-shape-resource-manager-serialization\";\nimport { EShapeDataValue, EShapeDataValueParent } from \"./e-shape-data-value\";\nimport { EShapeDataValueRange } from \"./e-shape-data-value-range\";\nimport { EShapeDataValueRangeImpl } from \"./e-shape-data-value-range-impl\";\nimport { EShapeDataValueOrder } from \"./e-shape-data-value-order\";\nimport { EShapeDataValueType } from \"./e-shape-data-value-type\";\nimport { EShapeDataValueScope } from \"./e-shape-data-value-scope\";\nimport { EShapeDataValueFormatter } from \"./e-shape-data-value-formatter\";\nimport { EShapeDataValueState } from \"./e-shape-data-value-state\";\n\nconst INDEX_COMPARATOR = (a: number, b: number): number => {\n\treturn a - b;\n};\n\nexport class EShapeDataValueImpl implements EShapeDataValue {\n\tid: string;\n\tas: string;\n\ttype: EShapeDataValueType;\n\tscope: EShapeDataValueScope;\n\tinitial: string;\n\tformat: string;\n\trange: EShapeDataValueRange;\n\n\tprotected _value: unknown;\n\tprotected _time: number;\n\tprotected _state: EShapeDataValueState;\n\n\tprotected _values: unknown[] | undefined;\n\tprotected _times: number[] | undefined;\n\tprotected _states: EShapeDataValueState[] | undefined;\n\n\tprotected _capacity: number;\n\tprotected _order: EShapeDataValueOrder;\n\n\tprotected _parent?: EShapeDataValueParent;\n\n\tformatter?: EShapeDataValueFormatter;\n\n\tconstructor() {\n\t\tthis.id = \"\";\n\t\tthis.as = \"\";\n\t\tthis.type = EShapeDataValueType.NUMBER;\n\t\tthis.scope = EShapeDataValueScope.PUBLIC;\n\t\tthis.initial = \"\";\n\t\tthis.format = \"\";\n\t\tthis.range = new EShapeDataValueRangeImpl();\n\t\tthis._value = 0;\n\t\tthis._time = 0;\n\t\tthis._state = EShapeDataValueState.UNKOWN;\n\t\tthis._capacity = 0;\n\t\tthis._order = EShapeDataValueOrder.ASCENDING;\n\t}\n\n\tget parent(): EShapeDataValueParent | undefined {\n\t\treturn this._parent;\n\t}\n\n\tset parent(parent: EShapeDataValueParent | undefined) {\n\t\tif (this._parent !== parent) {\n\t\t\tthis._parent = parent;\n\t\t\tthis.range.parent = parent;\n\t\t}\n\t}\n\n\tget value(): unknown {\n\t\treturn this._value;\n\t}\n\n\tset value(newValue: unknown) {\n\t\tconst formatter = this.formatter;\n\t\tif (formatter != null) {\n\t\t\tnewValue = formatter(newValue);\n\t\t}\n\n\t\tconst capacity = this._capacity;\n\t\tif (capacity <= 0) {\n\t\t\tif (this._value !== newValue) {\n\t\t\t\tthis._value = newValue;\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent != null) {\n\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tlet values = this._values;\n\t\t\tif (values == null) {\n\t\t\t\tvalues = [];\n\t\t\t\tthis._values = values;\n\t\t\t}\n\n\t\t\t// Update the value\n\t\t\tthis._value = newValue;\n\n\t\t\t// Update the values\n\t\t\tconst order = this._order;\n\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\tvalues.push(newValue);\n\t\t\t} else {\n\t\t\t\tvalues.unshift(newValue);\n\t\t\t}\n\n\t\t\t// Remove the unnecessary values\n\t\t\tconst count = values.length - capacity;\n\t\t\tif (0 < count) {\n\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\tfor (let i = 0; i < count; ++i) {\n\t\t\t\t\t\tvalues.shift();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tvalues.length = capacity;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Tell the parent it's changed\n\t\t\tconst parent = this.parent;\n\t\t\tif (parent != null) {\n\t\t\t\tparent.isChanged = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tget nvalue(): number {\n\t\treturn this.range.normalize(this._value as number);\n\t}\n\n\tget values(): unknown[] {\n\t\tlet result = this._values;\n\t\tif (result == null) {\n\t\t\tresult = [];\n\t\t\tthis._values = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tset values(newValues: unknown[]) {\n\t\tconst newValuesLength = newValues.length;\n\t\tif (0 < newValuesLength) {\n\t\t\tconst capacity = this._capacity;\n\t\t\tif (capacity <= 0) {\n\t\t\t\tlet newValue = newValues[newValuesLength - 1];\n\t\t\t\tconst formatter = this.formatter;\n\t\t\t\tif (formatter != null) {\n\t\t\t\t\tnewValue = formatter(newValue);\n\t\t\t\t}\n\t\t\t\tif (this._value !== newValue) {\n\t\t\t\t\tthis._value = newValue;\n\t\t\t\t\tconst parent = this.parent;\n\t\t\t\t\tif (parent != null) {\n\t\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet values = this._values;\n\t\t\t\tif (values == null) {\n\t\t\t\t\tvalues = [];\n\t\t\t\t\tthis._values = values;\n\t\t\t\t}\n\n\t\t\t\tconst order = this._order;\n\t\t\t\tconst formatter = this.formatter;\n\t\t\t\tif (formatter != null) {\n\t\t\t\t\t// Update the value\n\t\t\t\t\tthis._value = formatter(newValues[newValuesLength - 1]);\n\n\t\t\t\t\t// Update the values\n\t\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\t\tfor (let i = 0; i < newValuesLength; ++i) {\n\t\t\t\t\t\t\tvalues.push(formatter(newValues[i]));\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfor (let i = 0; i < newValuesLength; ++i) {\n\t\t\t\t\t\t\tvalues.unshift(formatter(newValues[i]));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Update the value\n\t\t\t\t\tthis._value = newValues[newValuesLength - 1];\n\n\t\t\t\t\t// Update the values\n\t\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\t\tfor (let i = 0; i < newValuesLength; ++i) {\n\t\t\t\t\t\t\tvalues.push(newValues[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfor (let i = 0; i < newValuesLength; ++i) {\n\t\t\t\t\t\t\tvalues.unshift(newValues[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Remove the unnecessary values\n\t\t\t\tconst count = values.length - capacity;\n\t\t\t\tif (0 < count) {\n\t\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\t\tfor (let i = 0; i < count; ++i) {\n\t\t\t\t\t\t\tvalues.shift();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalues.length = capacity;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Tell the parent it's changed\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent != null) {\n\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget time(): number {\n\t\treturn this._time;\n\t}\n\n\tset time(newTime: number) {\n\t\tconst capacity = this._capacity;\n\t\tif (capacity <= 0) {\n\t\t\tif (this._time !== newTime) {\n\t\t\t\tthis._time = newTime;\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent != null) {\n\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Update the times\n\t\t\tlet times = this._times;\n\t\t\tif (times == null) {\n\t\t\t\ttimes = [];\n\t\t\t\tthis._times = times;\n\t\t\t}\n\n\t\t\t// Update the time\n\t\t\tthis._time = newTime;\n\n\t\t\t// Update the times\n\t\t\tconst order = this._order;\n\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\ttimes.push(newTime);\n\t\t\t} else {\n\t\t\t\ttimes.unshift(newTime);\n\t\t\t}\n\n\t\t\t// Remove the unnecessary times\n\t\t\tconst count = times.length - capacity;\n\t\t\tif (0 < count) {\n\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\tfor (let i = 0; i < count; ++i) {\n\t\t\t\t\t\ttimes.shift();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttimes.length = capacity;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Tell the parent it's changed\n\t\t\tconst parent = this.parent;\n\t\t\tif (parent != null) {\n\t\t\t\tparent.isChanged = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tget times(): number[] {\n\t\tlet result = this._times;\n\t\tif (result == null) {\n\t\t\tresult = [];\n\t\t\tthis._times = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tset times(newTimes: number[]) {\n\t\tconst newTimesLength = newTimes.length;\n\t\tif (0 < newTimesLength) {\n\t\t\tconst capacity = this._capacity;\n\t\t\tif (capacity <= 0) {\n\t\t\t\tconst newTime = newTimes[newTimesLength - 1];\n\t\t\t\tif (this._time !== newTime) {\n\t\t\t\t\tthis._time = newTime;\n\t\t\t\t\tconst parent = this.parent;\n\t\t\t\t\tif (parent != null) {\n\t\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Update the times\n\t\t\t\tlet times = this._times;\n\t\t\t\tif (times == null) {\n\t\t\t\t\ttimes = [];\n\t\t\t\t\tthis._times = times;\n\t\t\t\t}\n\n\t\t\t\t// Update the value\n\t\t\t\tthis._time = newTimes[newTimesLength - 1];\n\n\t\t\t\t//\n\t\t\t\tconst order = this._order;\n\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\tfor (let i = 0; i < newTimesLength; ++i) {\n\t\t\t\t\t\ttimes.push(newTimes[i]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor (let i = 0; i < newTimesLength; ++i) {\n\t\t\t\t\t\ttimes.unshift(newTimes[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t//\n\t\t\t\tconst count = times.length - capacity;\n\t\t\t\tif (0 < count) {\n\t\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\t\tfor (let i = 0; i < count; ++i) {\n\t\t\t\t\t\t\ttimes.shift();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttimes.length = capacity;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Tell the parent it's changed\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent != null) {\n\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget state(): EShapeDataValueState {\n\t\treturn this._state;\n\t}\n\n\tset state(newState: number) {\n\t\tconst capacity = this._capacity;\n\t\tif (capacity <= 0) {\n\t\t\tif (this._state !== newState) {\n\t\t\t\tthis._state = newState;\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent != null) {\n\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Update the states\n\t\t\tlet states = this._states;\n\t\t\tif (states == null) {\n\t\t\t\tstates = [];\n\t\t\t\tthis._states = states;\n\t\t\t}\n\n\t\t\t// Update the state\n\t\t\tthis._state = newState;\n\n\t\t\t// Update the states\n\t\t\tconst order = this._order;\n\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\tstates.push(newState);\n\t\t\t} else {\n\t\t\t\tstates.unshift(newState);\n\t\t\t}\n\n\t\t\t// Remove the unnecessary states\n\t\t\tconst count = states.length - capacity;\n\t\t\tif (0 < count) {\n\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\tfor (let i = 0; i < count; ++i) {\n\t\t\t\t\t\tstates.shift();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tstates.length = capacity;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Tell the parent it's changed\n\t\t\tconst parent = this.parent;\n\t\t\tif (parent != null) {\n\t\t\t\tparent.isChanged = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tget states(): EShapeDataValueState[] {\n\t\tlet result = this._states;\n\t\tif (result == null) {\n\t\t\tresult = [];\n\t\t\tthis._states = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tset states(newStates: number[]) {\n\t\tconst newStatesLength = newStates.length;\n\t\tif (0 < newStatesLength) {\n\t\t\tconst capacity = this._capacity;\n\t\t\tif (capacity <= 0) {\n\t\t\t\tconst newState = newStates[newStatesLength - 1];\n\t\t\t\tif (this._state !== newState) {\n\t\t\t\t\tthis._state = newState;\n\t\t\t\t\tconst parent = this.parent;\n\t\t\t\t\tif (parent != null) {\n\t\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Update the states\n\t\t\t\tlet states = this._states;\n\t\t\t\tif (states == null) {\n\t\t\t\t\tstates = [];\n\t\t\t\t\tthis._states = states;\n\t\t\t\t}\n\n\t\t\t\t// Update the value\n\t\t\t\tthis._state = newStates[newStatesLength - 1];\n\n\t\t\t\t//\n\t\t\t\tconst order = this._order;\n\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\tfor (let i = 0; i < newStatesLength; ++i) {\n\t\t\t\t\t\tstates.push(newStates[i]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor (let i = 0; i < newStatesLength; ++i) {\n\t\t\t\t\t\tstates.unshift(newStates[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t//\n\t\t\t\tconst count = states.length - capacity;\n\t\t\t\tif (0 < count) {\n\t\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\t\tfor (let i = 0; i < count; ++i) {\n\t\t\t\t\t\t\tstates.shift();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstates.length = capacity;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Tell the parent it's changed\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent != null) {\n\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget capacity(): number {\n\t\treturn this._capacity;\n\t}\n\n\tset capacity(capacity: number) {\n\t\tif (this._capacity < capacity) {\n\t\t\tthis._capacity = capacity;\n\t\t} else if (capacity < this._capacity) {\n\t\t\tthis._capacity = capacity;\n\n\t\t\tlet isChanged = false;\n\n\t\t\t// Values\n\t\t\tconst order = this._order;\n\t\t\tconst values = this._values;\n\t\t\tif (values != null) {\n\t\t\t\tconst count = values.length - capacity;\n\t\t\t\tif (0 < count) {\n\t\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\t\tfor (let i = 0; i < count; ++i) {\n\t\t\t\t\t\t\tvalues.shift();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalues.length = capacity;\n\t\t\t\t\t}\n\t\t\t\t\tisChanged = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Times\n\t\t\tconst times = this._times;\n\t\t\tif (times != null) {\n\t\t\t\tconst count = times.length - capacity;\n\t\t\t\tif (0 < count) {\n\t\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\t\tfor (let i = 0; i < count; ++i) {\n\t\t\t\t\t\t\ttimes.shift();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttimes.length = capacity;\n\t\t\t\t\t}\n\t\t\t\t\tisChanged = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// States\n\t\t\tconst states = this._states;\n\t\t\tif (states != null) {\n\t\t\t\tconst count = states.length - capacity;\n\t\t\t\tif (0 < count) {\n\t\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\t\tfor (let i = 0; i < count; ++i) {\n\t\t\t\t\t\t\tstates.shift();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstates.length = capacity;\n\t\t\t\t\t}\n\t\t\t\t\tisChanged = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (isChanged) {\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent != null) {\n\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget order(): EShapeDataValueOrder {\n\t\treturn this._order;\n\t}\n\n\tset order(order: EShapeDataValueOrder) {\n\t\tthis._order = order;\n\t}\n\n\tremove(index: number): void {\n\t\tlet isChanged = false;\n\n\t\t// Values\n\t\tconst values = this._values;\n\t\tif (values != null) {\n\t\t\tif (0 <= index && index < values.length) {\n\t\t\t\tvalues.splice(index, 1);\n\t\t\t\tisChanged = true;\n\t\t\t}\n\t\t}\n\n\t\t// Times\n\t\tconst times = this._times;\n\t\tif (times != null) {\n\t\t\tif (0 <= index && index < times.length) {\n\t\t\t\ttimes.splice(index, 1);\n\t\t\t\tisChanged = true;\n\t\t\t}\n\t\t}\n\n\t\t// States\n\t\tconst states = this._states;\n\t\tif (states != null) {\n\t\t\tif (0 <= index && index < states.length) {\n\t\t\t\tstates.splice(index, 1);\n\t\t\t\tisChanged = true;\n\t\t\t}\n\t\t}\n\n\t\tif (isChanged) {\n\t\t\tconst parent = this.parent;\n\t\t\tif (parent != null) {\n\t\t\t\tparent.isChanged = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tremoveAll(indices: number[]): void {\n\t\tlet isChanged = false;\n\n\t\tconst sorted = indices.slice(0).sort(INDEX_COMPARATOR);\n\t\tconst sortedLength = sorted.length;\n\n\t\t// Values\n\t\tconst values = this._values;\n\t\tif (values != null) {\n\t\t\tfor (let i = sortedLength - 1; 0 <= i; --i) {\n\t\t\t\tconst index = sorted[i];\n\t\t\t\tif (0 <= index && index < values.length) {\n\t\t\t\t\tvalues.splice(index, 1);\n\t\t\t\t\tisChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Times\n\t\tconst times = this._times;\n\t\tif (times != null) {\n\t\t\tfor (let i = sortedLength - 1; 0 <= i; --i) {\n\t\t\t\tconst index = sorted[i];\n\t\t\t\tif (0 <= index && index < times.length) {\n\t\t\t\t\ttimes.splice(index, 1);\n\t\t\t\t\tisChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// States\n\t\tconst states = this._states;\n\t\tif (states != null) {\n\t\t\tfor (let i = sortedLength - 1; 0 <= i; --i) {\n\t\t\t\tconst index = sorted[i];\n\t\t\t\tif (0 <= index && index < states.length) {\n\t\t\t\t\tstates.splice(index, 1);\n\t\t\t\t\tisChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (isChanged) {\n\t\t\tconst parent = this.parent;\n\t\t\tif (parent != null) {\n\t\t\t\tparent.isChanged = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tclear(): void {\n\t\tlet isChanged = false;\n\n\t\t// Values\n\t\tconst values = this._values;\n\t\tif (values != null) {\n\t\t\tvalues.length = 0;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// Times\n\t\tconst times = this._times;\n\t\tif (times != null) {\n\t\t\ttimes.length = 0;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// States\n\t\tconst states = this._states;\n\t\tif (states != null) {\n\t\t\tstates.length = 0;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// Change flag\n\t\tif (isChanged) {\n\t\t\tconst parent = this.parent;\n\t\t\tif (parent != null) {\n\t\t\t\tparent.isChanged = true;\n\t\t\t}\n\t\t}\n\t}\n\n\ttoDirty(): void {\n\t\tconst parent = this.parent;\n\t\tif (parent != null) {\n\t\t\tparent.isChanged = true;\n\t\t}\n\t}\n\n\t/**\n\t * This method does not copy the `#values` and `#times` for the performance.\n\t *\n\t * @param target a copy target\n\t */\n\tcopy(target: EShapeDataValue): this {\n\t\tthis.id = target.id;\n\t\tthis.type = target.type;\n\t\tthis.scope = target.scope;\n\t\tthis.initial = target.initial;\n\t\tthis.format = target.format;\n\t\tthis.formatter = target.formatter;\n\t\tthis.range.copy(target.range);\n\t\tthis._value = target.value;\n\t\tthis._time = target.time;\n\t\tthis._state = target.state;\n\t\tthis._capacity = target.capacity;\n\t\treturn this;\n\t}\n\n\tisEquals(target: EShapeDataValue): boolean {\n\t\treturn (\n\t\t\tthis.id === target.id &&\n\t\t\tthis.type === target.type &&\n\t\t\tthis.scope === target.scope &&\n\t\t\tthis.initial === target.initial &&\n\t\t\tthis.formatter === target.formatter &&\n\t\t\tthis.range.isEquals(target.range)\n\t\t);\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst id = manager.addData(this.id);\n\t\tconst initial = manager.addResource(this.initial);\n\t\tconst format = manager.addResource(this.format.trim());\n\t\tconst range = this.range.serialize(manager);\n\t\tconst as = manager.addResource(this.as);\n\t\treturn manager.addResource(\n\t\t\t`[${id},${initial},${format},${range},${this._capacity},${this._order},${this.type},${this.scope},${as}]`\n\t\t);\n\t}\n\n\tdeserialize(target: number, manager: EShapeResourceManagerDeserialization): this {\n\t\tconst resources = manager.resources;\n\t\tif (0 <= target && target < resources.length) {\n\t\t\tlet parsed = manager.getDataValue(target);\n\t\t\tif (parsed == null) {\n\t\t\t\tparsed = JSON.parse(resources[target]) as DDiagramSerializedDataValue;\n\t\t\t\tmanager.setDataValue(target, parsed);\n\t\t\t}\n\t\t\tthis.id = manager.data[parsed[0]] || \"\";\n\t\t\tconst as = parsed[8];\n\t\t\tthis.as = as != null ? resources[as] || \"\" : \"\";\n\t\t\tthis.type = parsed[6] ?? EShapeDataValueType.NUMBER;\n\t\t\tthis.scope = parsed[7] ?? EShapeDataValueScope.PUBLIC;\n\t\t\tthis.initial = resources[parsed[1]] || \"\";\n\t\t\tthis.format = resources[parsed[2]] || \"\";\n\t\t\tthis.range.deserialize(parsed[3], manager);\n\t\t\tthis._capacity = parsed[4];\n\t\t\tthis._order = parsed[5];\n\t\t}\n\n\t\treturn this;\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-data-value-impl.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-data-value-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DDiagramSerializedDataValue } from \"../d-diagram-serialized\";\nimport { EShapeResourceManagerDeserialization } from \"./e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"./e-shape-resource-manager-serialization\";\nimport { EShapeDataValue, EShapeDataValueParent } from \"./e-shape-data-value\";\nimport { EShapeDataValueRange } from \"./e-shape-data-value-range\";\nimport { EShapeDataValueRangeImpl } from \"./e-shape-data-value-range-impl\";\nimport { EShapeDataValueOrder } from \"./e-shape-data-value-order\";\nimport { EShapeDataValueType } from \"./e-shape-data-value-type\";\nimport { EShapeDataValueScope } from \"./e-shape-data-value-scope\";\nimport { EShapeDataValueFormatter } from \"./e-shape-data-value-formatter\";\nimport { EShapeDataValueState } from \"./e-shape-data-value-state\";\n\nconst INDEX_COMPARATOR = (a: number, b: number): number => {\n\treturn a - b;\n};\n\nexport class EShapeDataValueImpl implements EShapeDataValue {\n\tid: string;\n\tas: string;\n\ttype: EShapeDataValueType;\n\tscope: EShapeDataValueScope;\n\tinitial: string;\n\tformat: string;\n\trange: EShapeDataValueRange;\n\n\tprotected _value: unknown;\n\tprotected _time: number;\n\tprotected _state: EShapeDataValueState;\n\n\tprotected _values: unknown[] | undefined;\n\tprotected _times: number[] | undefined;\n\tprotected _states: EShapeDataValueState[] | undefined;\n\n\tprotected _capacity: number;\n\tprotected _order: EShapeDataValueOrder;\n\n\tprotected _parent?: EShapeDataValueParent;\n\n\tformatter?: EShapeDataValueFormatter;\n\n\tconstructor() {\n\t\tthis.id = \"\";\n\t\tthis.as = \"\";\n\t\tthis.type = EShapeDataValueType.NUMBER;\n\t\tthis.scope = EShapeDataValueScope.PUBLIC;\n\t\tthis.initial = \"\";\n\t\tthis.format = \"\";\n\t\tthis.range = new EShapeDataValueRangeImpl();\n\t\tthis._value = 0;\n\t\tthis._time = 0;\n\t\tthis._state = EShapeDataValueState.UNKOWN;\n\t\tthis._capacity = 0;\n\t\tthis._order = EShapeDataValueOrder.ASCENDING;\n\t}\n\n\tget parent(): EShapeDataValueParent | undefined {\n\t\treturn this._parent;\n\t}\n\n\tset parent(parent: EShapeDataValueParent | undefined) {\n\t\tif (this._parent !== parent) {\n\t\t\tthis._parent = parent;\n\t\t\tthis.range.parent = parent;\n\t\t}\n\t}\n\n\tget value(): unknown {\n\t\treturn this._value;\n\t}\n\n\tset value(newValue: unknown) {\n\t\tconst formatter = this.formatter;\n\t\tif (formatter != null) {\n\t\t\tnewValue = formatter(newValue);\n\t\t}\n\n\t\tconst capacity = this._capacity;\n\t\tif (capacity <= 0) {\n\t\t\tif (this._value !== newValue) {\n\t\t\t\tthis._value = newValue;\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent != null) {\n\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tlet values = this._values;\n\t\t\tif (values == null) {\n\t\t\t\tvalues = [];\n\t\t\t\tthis._values = values;\n\t\t\t}\n\n\t\t\t// Update the value\n\t\t\tthis._value = newValue;\n\n\t\t\t// Update the values\n\t\t\tconst order = this._order;\n\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\tvalues.push(newValue);\n\t\t\t} else {\n\t\t\t\tvalues.unshift(newValue);\n\t\t\t}\n\n\t\t\t// Remove the unnecessary values\n\t\t\tconst count = values.length - capacity;\n\t\t\tif (0 < count) {\n\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\tfor (let i = 0; i < count; ++i) {\n\t\t\t\t\t\tvalues.shift();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tvalues.length = capacity;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Tell the parent it's changed\n\t\t\tconst parent = this.parent;\n\t\t\tif (parent != null) {\n\t\t\t\tparent.isChanged = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tget nvalue(): number {\n\t\treturn this.range.normalize(this._value as number);\n\t}\n\n\tget values(): unknown[] {\n\t\tlet result = this._values;\n\t\tif (result == null) {\n\t\t\tresult = [];\n\t\t\tthis._values = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tset values(newValues: unknown[]) {\n\t\tconst newValuesLength = newValues.length;\n\t\tif (0 < newValuesLength) {\n\t\t\tconst capacity = this._capacity;\n\t\t\tif (capacity <= 0) {\n\t\t\t\tlet newValue = newValues[newValuesLength - 1];\n\t\t\t\tconst formatter = this.formatter;\n\t\t\t\tif (formatter != null) {\n\t\t\t\t\tnewValue = formatter(newValue);\n\t\t\t\t}\n\t\t\t\tif (this._value !== newValue) {\n\t\t\t\t\tthis._value = newValue;\n\t\t\t\t\tconst parent = this.parent;\n\t\t\t\t\tif (parent != null) {\n\t\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet values = this._values;\n\t\t\t\tif (values == null) {\n\t\t\t\t\tvalues = [];\n\t\t\t\t\tthis._values = values;\n\t\t\t\t}\n\n\t\t\t\tconst order = this._order;\n\t\t\t\tconst formatter = this.formatter;\n\t\t\t\tif (formatter != null) {\n\t\t\t\t\t// Update the value\n\t\t\t\t\tthis._value = formatter(newValues[newValuesLength - 1]);\n\n\t\t\t\t\t// Update the values\n\t\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\t\tfor (let i = 0; i < newValuesLength; ++i) {\n\t\t\t\t\t\t\tvalues.push(formatter(newValues[i]));\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfor (let i = 0; i < newValuesLength; ++i) {\n\t\t\t\t\t\t\tvalues.unshift(formatter(newValues[i]));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Update the value\n\t\t\t\t\tthis._value = newValues[newValuesLength - 1];\n\n\t\t\t\t\t// Update the values\n\t\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\t\tfor (let i = 0; i < newValuesLength; ++i) {\n\t\t\t\t\t\t\tvalues.push(newValues[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfor (let i = 0; i < newValuesLength; ++i) {\n\t\t\t\t\t\t\tvalues.unshift(newValues[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Remove the unnecessary values\n\t\t\t\tconst count = values.length - capacity;\n\t\t\t\tif (0 < count) {\n\t\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\t\tfor (let i = 0; i < count; ++i) {\n\t\t\t\t\t\t\tvalues.shift();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalues.length = capacity;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Tell the parent it's changed\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent != null) {\n\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget time(): number {\n\t\treturn this._time;\n\t}\n\n\tset time(newTime: number) {\n\t\tconst capacity = this._capacity;\n\t\tif (capacity <= 0) {\n\t\t\tif (this._time !== newTime) {\n\t\t\t\tthis._time = newTime;\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent != null) {\n\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Update the times\n\t\t\tlet times = this._times;\n\t\t\tif (times == null) {\n\t\t\t\ttimes = [];\n\t\t\t\tthis._times = times;\n\t\t\t}\n\n\t\t\t// Update the time\n\t\t\tthis._time = newTime;\n\n\t\t\t// Update the times\n\t\t\tconst order = this._order;\n\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\ttimes.push(newTime);\n\t\t\t} else {\n\t\t\t\ttimes.unshift(newTime);\n\t\t\t}\n\n\t\t\t// Remove the unnecessary times\n\t\t\tconst count = times.length - capacity;\n\t\t\tif (0 < count) {\n\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\tfor (let i = 0; i < count; ++i) {\n\t\t\t\t\t\ttimes.shift();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttimes.length = capacity;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Tell the parent it's changed\n\t\t\tconst parent = this.parent;\n\t\t\tif (parent != null) {\n\t\t\t\tparent.isChanged = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tget times(): number[] {\n\t\tlet result = this._times;\n\t\tif (result == null) {\n\t\t\tresult = [];\n\t\t\tthis._times = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tset times(newTimes: number[]) {\n\t\tconst newTimesLength = newTimes.length;\n\t\tif (0 < newTimesLength) {\n\t\t\tconst capacity = this._capacity;\n\t\t\tif (capacity <= 0) {\n\t\t\t\tconst newTime = newTimes[newTimesLength - 1];\n\t\t\t\tif (this._time !== newTime) {\n\t\t\t\t\tthis._time = newTime;\n\t\t\t\t\tconst parent = this.parent;\n\t\t\t\t\tif (parent != null) {\n\t\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Update the times\n\t\t\t\tlet times = this._times;\n\t\t\t\tif (times == null) {\n\t\t\t\t\ttimes = [];\n\t\t\t\t\tthis._times = times;\n\t\t\t\t}\n\n\t\t\t\t// Update the value\n\t\t\t\tthis._time = newTimes[newTimesLength - 1];\n\n\t\t\t\t//\n\t\t\t\tconst order = this._order;\n\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\tfor (let i = 0; i < newTimesLength; ++i) {\n\t\t\t\t\t\ttimes.push(newTimes[i]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor (let i = 0; i < newTimesLength; ++i) {\n\t\t\t\t\t\ttimes.unshift(newTimes[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t//\n\t\t\t\tconst count = times.length - capacity;\n\t\t\t\tif (0 < count) {\n\t\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\t\tfor (let i = 0; i < count; ++i) {\n\t\t\t\t\t\t\ttimes.shift();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttimes.length = capacity;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Tell the parent it's changed\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent != null) {\n\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget state(): EShapeDataValueState {\n\t\treturn this._state;\n\t}\n\n\tset state(newState: number) {\n\t\tconst capacity = this._capacity;\n\t\tif (capacity <= 0) {\n\t\t\tif (this._state !== newState) {\n\t\t\t\tthis._state = newState;\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent != null) {\n\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Update the states\n\t\t\tlet states = this._states;\n\t\t\tif (states == null) {\n\t\t\t\tstates = [];\n\t\t\t\tthis._states = states;\n\t\t\t}\n\n\t\t\t// Update the state\n\t\t\tthis._state = newState;\n\n\t\t\t// Update the states\n\t\t\tconst order = this._order;\n\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\tstates.push(newState);\n\t\t\t} else {\n\t\t\t\tstates.unshift(newState);\n\t\t\t}\n\n\t\t\t// Remove the unnecessary states\n\t\t\tconst count = states.length - capacity;\n\t\t\tif (0 < count) {\n\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\tfor (let i = 0; i < count; ++i) {\n\t\t\t\t\t\tstates.shift();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tstates.length = capacity;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Tell the parent it's changed\n\t\t\tconst parent = this.parent;\n\t\t\tif (parent != null) {\n\t\t\t\tparent.isChanged = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tget states(): EShapeDataValueState[] {\n\t\tlet result = this._states;\n\t\tif (result == null) {\n\t\t\tresult = [];\n\t\t\tthis._states = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tset states(newStates: number[]) {\n\t\tconst newStatesLength = newStates.length;\n\t\tif (0 < newStatesLength) {\n\t\t\tconst capacity = this._capacity;\n\t\t\tif (capacity <= 0) {\n\t\t\t\tconst newState = newStates[newStatesLength - 1];\n\t\t\t\tif (this._state !== newState) {\n\t\t\t\t\tthis._state = newState;\n\t\t\t\t\tconst parent = this.parent;\n\t\t\t\t\tif (parent != null) {\n\t\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Update the states\n\t\t\t\tlet states = this._states;\n\t\t\t\tif (states == null) {\n\t\t\t\t\tstates = [];\n\t\t\t\t\tthis._states = states;\n\t\t\t\t}\n\n\t\t\t\t// Update the value\n\t\t\t\tthis._state = newStates[newStatesLength - 1];\n\n\t\t\t\t//\n\t\t\t\tconst order = this._order;\n\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\tfor (let i = 0; i < newStatesLength; ++i) {\n\t\t\t\t\t\tstates.push(newStates[i]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor (let i = 0; i < newStatesLength; ++i) {\n\t\t\t\t\t\tstates.unshift(newStates[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t//\n\t\t\t\tconst count = states.length - capacity;\n\t\t\t\tif (0 < count) {\n\t\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\t\tfor (let i = 0; i < count; ++i) {\n\t\t\t\t\t\t\tstates.shift();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstates.length = capacity;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Tell the parent it's changed\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent != null) {\n\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget capacity(): number {\n\t\treturn this._capacity;\n\t}\n\n\tset capacity(capacity: number) {\n\t\tif (this._capacity < capacity) {\n\t\t\tthis._capacity = capacity;\n\t\t} else if (capacity < this._capacity) {\n\t\t\tthis._capacity = capacity;\n\n\t\t\tlet isChanged = false;\n\n\t\t\t// Values\n\t\t\tconst order = this._order;\n\t\t\tconst values = this._values;\n\t\t\tif (values != null) {\n\t\t\t\tconst count = values.length - capacity;\n\t\t\t\tif (0 < count) {\n\t\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\t\tfor (let i = 0; i < count; ++i) {\n\t\t\t\t\t\t\tvalues.shift();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalues.length = capacity;\n\t\t\t\t\t}\n\t\t\t\t\tisChanged = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Times\n\t\t\tconst times = this._times;\n\t\t\tif (times != null) {\n\t\t\t\tconst count = times.length - capacity;\n\t\t\t\tif (0 < count) {\n\t\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\t\tfor (let i = 0; i < count; ++i) {\n\t\t\t\t\t\t\ttimes.shift();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttimes.length = capacity;\n\t\t\t\t\t}\n\t\t\t\t\tisChanged = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// States\n\t\t\tconst states = this._states;\n\t\t\tif (states != null) {\n\t\t\t\tconst count = states.length - capacity;\n\t\t\t\tif (0 < count) {\n\t\t\t\t\tif (order === EShapeDataValueOrder.ASCENDING) {\n\t\t\t\t\t\tfor (let i = 0; i < count; ++i) {\n\t\t\t\t\t\t\tstates.shift();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstates.length = capacity;\n\t\t\t\t\t}\n\t\t\t\t\tisChanged = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (isChanged) {\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent != null) {\n\t\t\t\t\tparent.isChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget order(): EShapeDataValueOrder {\n\t\treturn this._order;\n\t}\n\n\tset order(order: EShapeDataValueOrder) {\n\t\tthis._order = order;\n\t}\n\n\tremove(index: number): void {\n\t\tlet isChanged = false;\n\n\t\t// Values\n\t\tconst values = this._values;\n\t\tif (values != null) {\n\t\t\tif (0 <= index && index < values.length) {\n\t\t\t\tvalues.splice(index, 1);\n\t\t\t\tisChanged = true;\n\t\t\t}\n\t\t}\n\n\t\t// Times\n\t\tconst times = this._times;\n\t\tif (times != null) {\n\t\t\tif (0 <= index && index < times.length) {\n\t\t\t\ttimes.splice(index, 1);\n\t\t\t\tisChanged = true;\n\t\t\t}\n\t\t}\n\n\t\t// States\n\t\tconst states = this._states;\n\t\tif (states != null) {\n\t\t\tif (0 <= index && index < states.length) {\n\t\t\t\tstates.splice(index, 1);\n\t\t\t\tisChanged = true;\n\t\t\t}\n\t\t}\n\n\t\tif (isChanged) {\n\t\t\tconst parent = this.parent;\n\t\t\tif (parent != null) {\n\t\t\t\tparent.isChanged = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tremoveAll(indices: number[]): void {\n\t\tlet isChanged = false;\n\n\t\tconst sorted = indices.slice(0).sort(INDEX_COMPARATOR);\n\t\tconst sortedLength = sorted.length;\n\n\t\t// Values\n\t\tconst values = this._values;\n\t\tif (values != null) {\n\t\t\tfor (let i = sortedLength - 1; 0 <= i; --i) {\n\t\t\t\tconst index = sorted[i];\n\t\t\t\tif (0 <= index && index < values.length) {\n\t\t\t\t\tvalues.splice(index, 1);\n\t\t\t\t\tisChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Times\n\t\tconst times = this._times;\n\t\tif (times != null) {\n\t\t\tfor (let i = sortedLength - 1; 0 <= i; --i) {\n\t\t\t\tconst index = sorted[i];\n\t\t\t\tif (0 <= index && index < times.length) {\n\t\t\t\t\ttimes.splice(index, 1);\n\t\t\t\t\tisChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// States\n\t\tconst states = this._states;\n\t\tif (states != null) {\n\t\t\tfor (let i = sortedLength - 1; 0 <= i; --i) {\n\t\t\t\tconst index = sorted[i];\n\t\t\t\tif (0 <= index && index < states.length) {\n\t\t\t\t\tstates.splice(index, 1);\n\t\t\t\t\tisChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (isChanged) {\n\t\t\tconst parent = this.parent;\n\t\t\tif (parent != null) {\n\t\t\t\tparent.isChanged = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tclear(): void {\n\t\tlet isChanged = false;\n\n\t\t// Values\n\t\tconst values = this._values;\n\t\tif (values != null) {\n\t\t\tvalues.length = 0;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// Times\n\t\tconst times = this._times;\n\t\tif (times != null) {\n\t\t\ttimes.length = 0;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// States\n\t\tconst states = this._states;\n\t\tif (states != null) {\n\t\t\tstates.length = 0;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\t// Change flag\n\t\tif (isChanged) {\n\t\t\tconst parent = this.parent;\n\t\t\tif (parent != null) {\n\t\t\t\tparent.isChanged = true;\n\t\t\t}\n\t\t}\n\t}\n\n\ttoDirty(): void {\n\t\tconst parent = this.parent;\n\t\tif (parent != null) {\n\t\t\tparent.isChanged = true;\n\t\t}\n\t}\n\n\t/**\n\t * This method does not copy the `#values` and `#times` for the performance.\n\t *\n\t * @param target a copy target\n\t */\n\tcopy(target: EShapeDataValue): this {\n\t\tthis.id = target.id;\n\t\tthis.as = target.as;\n\t\tthis.type = target.type;\n\t\tthis.scope = target.scope;\n\t\tthis.initial = target.initial;\n\t\tthis.format = target.format;\n\t\tthis.formatter = target.formatter;\n\t\tthis.range.copy(target.range);\n\t\tthis._value = target.value;\n\t\tthis._time = target.time;\n\t\tthis._state = target.state;\n\t\tthis._capacity = target.capacity;\n\t\treturn this;\n\t}\n\n\tisEquals(target: EShapeDataValue): boolean {\n\t\treturn (\n\t\t\tthis.id === target.id &&\n\t\t\tthis.as === target.as &&\n\t\t\tthis.type === target.type &&\n\t\t\tthis.scope === target.scope &&\n\t\t\tthis.initial === target.initial &&\n\t\t\tthis.formatter === target.formatter &&\n\t\t\tthis.range.isEquals(target.range)\n\t\t);\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst id = manager.addData(this.id);\n\t\tconst as = manager.addResource(this.as);\n\t\tconst initial = manager.addResource(this.initial);\n\t\tconst format = manager.addResource(this.format.trim());\n\t\tconst range = this.range.serialize(manager);\n\t\treturn manager.addResource(\n\t\t\t`[${id},${initial},${format},${range},${this._capacity},${this._order},${this.type},${this.scope},${as}]`\n\t\t);\n\t}\n\n\tdeserialize(target: number, manager: EShapeResourceManagerDeserialization): this {\n\t\tconst resources = manager.resources;\n\t\tif (0 <= target && target < resources.length) {\n\t\t\tlet parsed = manager.getDataValue(target);\n\t\t\tif (parsed == null) {\n\t\t\t\tparsed = JSON.parse(resources[target]) as DDiagramSerializedDataValue;\n\t\t\t\tmanager.setDataValue(target, parsed);\n\t\t\t}\n\t\t\tthis.id = manager.data[parsed[0]] || \"\";\n\t\t\tconst as = parsed[8];\n\t\t\tthis.as = as != null ? resources[as] || \"\" : \"\";\n\t\t\tthis.type = parsed[6] ?? EShapeDataValueType.NUMBER;\n\t\t\tthis.scope = parsed[7] ?? EShapeDataValueScope.PUBLIC;\n\t\t\tthis.initial = resources[parsed[1]] || \"\";\n\t\t\tthis.format = resources[parsed[2]] || \"\";\n\t\t\tthis.range.deserialize(parsed[3], manager);\n\t\t\tthis._capacity = parsed[4];\n\t\t\tthis._order = parsed[5];\n\t\t}\n\n\t\treturn this;\n\t}\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.204.0
2
+ Winter Cardinal UI v0.204.3
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.204.0
2
+ Winter Cardinal UI v0.204.3
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.204.0
2
+ Winter Cardinal UI v0.204.3
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.204.0
2
+ Winter Cardinal UI v0.204.3
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.204.0
2
+ Winter Cardinal UI v0.204.3
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -5579,6 +5579,7 @@ var EShapeDataValueImpl = /** @class */ (function () {
5579
5579
  */
5580
5580
  EShapeDataValueImpl.prototype.copy = function (target) {
5581
5581
  this.id = target.id;
5582
+ this.as = target.as;
5582
5583
  this.type = target.type;
5583
5584
  this.scope = target.scope;
5584
5585
  this.initial = target.initial;
@@ -5593,6 +5594,7 @@ var EShapeDataValueImpl = /** @class */ (function () {
5593
5594
  };
5594
5595
  EShapeDataValueImpl.prototype.isEquals = function (target) {
5595
5596
  return (this.id === target.id &&
5597
+ this.as === target.as &&
5596
5598
  this.type === target.type &&
5597
5599
  this.scope === target.scope &&
5598
5600
  this.initial === target.initial &&
@@ -5601,10 +5603,10 @@ var EShapeDataValueImpl = /** @class */ (function () {
5601
5603
  };
5602
5604
  EShapeDataValueImpl.prototype.serialize = function (manager) {
5603
5605
  var id = manager.addData(this.id);
5606
+ var as = manager.addResource(this.as);
5604
5607
  var initial = manager.addResource(this.initial);
5605
5608
  var format = manager.addResource(this.format.trim());
5606
5609
  var range = this.range.serialize(manager);
5607
- var as = manager.addResource(this.as);
5608
5610
  return manager.addResource("[".concat(id, ",").concat(initial, ",").concat(format, ",").concat(range, ",").concat(this._capacity, ",").concat(this._order, ",").concat(this.type, ",").concat(this.scope, ",").concat(as, "]"));
5609
5611
  };
5610
5612
  EShapeDataValueImpl.prototype.deserialize = function (target, manager) {
@@ -31973,7 +31975,7 @@ var EShapeActionRuntimeOpenDialogExtension = /** @class */ (function (_super) {
31973
31975
  function EShapeActionRuntimeOpenDialogExtension(value) {
31974
31976
  var _this = _super.call(this, value, EShapeRuntimeReset.NONE) || this;
31975
31977
  _this.target = EShapeActionExpressions.ofStringOrNull(value.target);
31976
- var extension = EShapeActionOpenDialogExtensions.get(value.type);
31978
+ var extension = EShapeActionOpenDialogExtensions.get(value.dialogType);
31977
31979
  if (extension) {
31978
31980
  _this.opener = extension.opener;
31979
31981
  }
@@ -77398,13 +77400,15 @@ var DDiagramCanvas = /** @class */ (function (_super) {
77398
77400
  // Children
77399
77401
  var children = shape.children;
77400
77402
  if (0 < children.length) {
77403
+ var newDataShape = dataShape;
77404
+ var newContainerShape = containerShape;
77401
77405
  if (shape instanceof EShapeEmbedded) {
77402
- if (dataShape == null) {
77403
- dataShape = shape;
77406
+ if (newDataShape == null) {
77407
+ newDataShape = shape;
77404
77408
  }
77405
- containerShape = shape;
77409
+ newContainerShape = shape;
77406
77410
  }
77407
- this_1.initialize_(children, dataShape, containerShape, mapper, formatToFormatter, initialToInitialValue, actionValueToRuntime, canvasTicker, canvasShape, canvasData, actionables);
77411
+ this_1.initialize_(children, newDataShape, newContainerShape, mapper, formatToFormatter, initialToInitialValue, actionValueToRuntime, canvasTicker, canvasShape, canvasData, actionables);
77408
77412
  }
77409
77413
  };
77410
77414
  var this_1 = this;
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.204.0
2
+ Winter Cardinal UI v0.204.3
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -5576,6 +5576,7 @@
5576
5576
  */
5577
5577
  EShapeDataValueImpl.prototype.copy = function (target) {
5578
5578
  this.id = target.id;
5579
+ this.as = target.as;
5579
5580
  this.type = target.type;
5580
5581
  this.scope = target.scope;
5581
5582
  this.initial = target.initial;
@@ -5590,6 +5591,7 @@
5590
5591
  };
5591
5592
  EShapeDataValueImpl.prototype.isEquals = function (target) {
5592
5593
  return (this.id === target.id &&
5594
+ this.as === target.as &&
5593
5595
  this.type === target.type &&
5594
5596
  this.scope === target.scope &&
5595
5597
  this.initial === target.initial &&
@@ -5598,10 +5600,10 @@
5598
5600
  };
5599
5601
  EShapeDataValueImpl.prototype.serialize = function (manager) {
5600
5602
  var id = manager.addData(this.id);
5603
+ var as = manager.addResource(this.as);
5601
5604
  var initial = manager.addResource(this.initial);
5602
5605
  var format = manager.addResource(this.format.trim());
5603
5606
  var range = this.range.serialize(manager);
5604
- var as = manager.addResource(this.as);
5605
5607
  return manager.addResource("[".concat(id, ",").concat(initial, ",").concat(format, ",").concat(range, ",").concat(this._capacity, ",").concat(this._order, ",").concat(this.type, ",").concat(this.scope, ",").concat(as, "]"));
5606
5608
  };
5607
5609
  EShapeDataValueImpl.prototype.deserialize = function (target, manager) {
@@ -31970,7 +31972,7 @@
31970
31972
  function EShapeActionRuntimeOpenDialogExtension(value) {
31971
31973
  var _this = _super.call(this, value, EShapeRuntimeReset.NONE) || this;
31972
31974
  _this.target = EShapeActionExpressions.ofStringOrNull(value.target);
31973
- var extension = EShapeActionOpenDialogExtensions.get(value.type);
31975
+ var extension = EShapeActionOpenDialogExtensions.get(value.dialogType);
31974
31976
  if (extension) {
31975
31977
  _this.opener = extension.opener;
31976
31978
  }
@@ -59598,13 +59600,15 @@
59598
59600
  // Children
59599
59601
  var children = shape.children;
59600
59602
  if (0 < children.length) {
59603
+ var newDataShape = dataShape;
59604
+ var newContainerShape = containerShape;
59601
59605
  if (shape instanceof EShapeEmbedded) {
59602
- if (dataShape == null) {
59603
- dataShape = shape;
59606
+ if (newDataShape == null) {
59607
+ newDataShape = shape;
59604
59608
  }
59605
- containerShape = shape;
59609
+ newContainerShape = shape;
59606
59610
  }
59607
- this_1.initialize_(children, dataShape, containerShape, mapper, formatToFormatter, initialToInitialValue, actionValueToRuntime, canvasTicker, canvasShape, canvasData, actionables);
59611
+ this_1.initialize_(children, newDataShape, newContainerShape, mapper, formatToFormatter, initialToInitialValue, actionValueToRuntime, canvasTicker, canvasShape, canvasData, actionables);
59608
59612
  }
59609
59613
  };
59610
59614
  var this_1 = this;