@wcardinal/wcardinal-ui 0.393.0 → 0.395.0
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.
- package/dist/types/wcardinal/ui/shape/e-shape-uploaded.d.ts +5 -6
- package/dist/types/wcardinal/ui/shape/variant/build-text.d.ts +2 -0
- package/dist/types/wcardinal/ui/shape/variant/builder-bar.d.ts +5 -5
- package/dist/types/wcardinal/ui/shape/variant/builder-base.d.ts +6 -6
- package/dist/types/wcardinal/ui/shape/variant/builder-circle.d.ts +5 -5
- package/dist/types/wcardinal/ui/shape/variant/builder-image-sdf.d.ts +5 -5
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-any.d.ts +3 -3
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-circles.d.ts +5 -5
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangles.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-line-of-triangles.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-line.d.ts +6 -6
- package/dist/types/wcardinal/ui/shape/variant/builder-marker-base.d.ts +2 -2
- package/dist/types/wcardinal/ui/shape/variant/builder-marker-circle.d.ts +5 -5
- package/dist/types/wcardinal/ui/shape/variant/builder-marker-rectangle.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-marker-triangle.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-pivoted.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-rounded.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-rectangle.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-semicircle.d.ts +5 -5
- package/dist/types/wcardinal/ui/shape/variant/builder-text.d.ts +8 -8
- package/dist/types/wcardinal/ui/shape/variant/builder-triangle-rounded.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder-triangle.d.ts +4 -4
- package/dist/types/wcardinal/ui/shape/variant/builder.d.ts +35 -3
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-input-boolean-button-off.d.ts +0 -2
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-input-boolean-button-on.d.ts +0 -2
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-input-boolean-button-off.d.ts +0 -2
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-input-boolean-button-on.d.ts +0 -2
- package/dist/wcardinal/ui/d-base-background-mesh-geometry.js +5 -5
- package/dist/wcardinal/ui/d-base-background-mesh-geometry.js.map +1 -1
- package/dist/wcardinal/ui/d-base-border-mesh-geometry.js +60 -37
- package/dist/wcardinal/ui/d-base-border-mesh-geometry.js.map +1 -1
- package/dist/wcardinal/ui/d-base-outline-snippet.js +1 -1
- package/dist/wcardinal/ui/d-base-outline-snippet.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-canvas.js +2 -2
- package/dist/wcardinal/ui/d-diagram-canvas.js.map +1 -1
- package/dist/wcardinal/ui/d-table-data-list-selection.js +2 -2
- package/dist/wcardinal/ui/d-table-data-list-selection.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-container.js +2 -2
- package/dist/wcardinal/ui/shape/e-shape-container.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-runtime-impl.js +4 -3
- package/dist/wcardinal/ui/shape/e-shape-runtime-impl.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/build-text.js +5 -2
- package/dist/wcardinal/ui/shape/variant/build-text.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-bar.js +14 -5
- package/dist/wcardinal/ui/shape/variant/builder-bar.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-base.js +23 -17
- package/dist/wcardinal/ui/shape/variant/builder-base.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-circle.js +10 -2
- package/dist/wcardinal/ui/shape/variant/builder-circle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js +14 -2
- package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js +4 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js +11 -2
- package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js +20 -12
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js +14 -10
- package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js +20 -12
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js +13 -7
- package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-line.js +17 -7
- package/dist/wcardinal/ui/shape/variant/builder-line.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-base.js +4 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-base.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js +14 -2
- package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js +12 -4
- package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js +11 -3
- package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js +8 -4
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js +14 -6
- package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-rectangle.js +8 -4
- package/dist/wcardinal/ui/shape/variant/builder-rectangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-semicircle.js +10 -2
- package/dist/wcardinal/ui/shape/variant/builder-semicircle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-text.js +41 -29
- package/dist/wcardinal/ui/shape/variant/builder-text.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js +14 -6
- package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder-triangle.js +7 -3
- package/dist/wcardinal/ui/shape/variant/builder-triangle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/builder.js +16 -1
- package/dist/wcardinal/ui/shape/variant/builder.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-bar-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-bar-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-circle-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-circle-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-group-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-group-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-image-sdf-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-image-sdf-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-label-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-label-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-line-of-any-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-line-of-any-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-line-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-line-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-rectangle-pivoted-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-rectangle-pivoted-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-rectangle-rounded-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-rectangle-rounded-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-rectangle-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-rectangle-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-semicircle-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-semicircle-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-triangle-rounded-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-triangle-rounded-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-triangle-uploaded.js +3 -3
- package/dist/wcardinal/ui/shape/variant/create-triangle-uploaded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-base.js +6 -6
- package/dist/wcardinal/ui/shape/variant/e-shape-base.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-button-base.js +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-button-base.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-input-boolean-button-off.js +0 -4
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-input-boolean-button-off.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-input-boolean-button-on.js +0 -4
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-input-boolean-button-on.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-input.js +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-input.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-button-base.js +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-button-base.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-input-boolean-button-off.js +0 -4
- package/dist/wcardinal/ui/theme/white/d-theme-white-input-boolean-button-off.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-input-boolean-button-on.js +0 -4
- package/dist/wcardinal/ui/theme/white/d-theme-white-input-boolean-button-on.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-input.js +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-input.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark-en-us.js +3 -9
- package/dist/wcardinal-ui-theme-dark-en-us.min.js +2 -2
- package/dist/wcardinal-ui-theme-dark-en-us.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark-ja-jp.js +3 -9
- package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +2 -2
- package/dist/wcardinal-ui-theme-dark-ja-jp.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark.js +3 -9
- package/dist/wcardinal-ui-theme-dark.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-en-us.js +3 -9
- package/dist/wcardinal-ui-theme-white-en-us.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-en-us.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-white-ja-jp.js +3 -9
- package/dist/wcardinal-ui-theme-white-ja-jp.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-ja-jp.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-white.js +3 -9
- package/dist/wcardinal-ui-theme-white.min.js +2 -2
- package/dist/wcardinal-ui.cjs.js +441 -264
- package/dist/wcardinal-ui.js +437 -248
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -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\";\nimport { EShapeRuntimeImpl } from \"./shape/e-shape-runtime-impl\";\nimport { EShapeActionRuntimes } from \"./shape/action/e-shape-action-runtimes\";\n\nexport interface DDiagramCanvasOptions<THEME extends DThemeDiagramCanvas = DThemeDiagramCanvas>\n\textends DDiagramCanvasBaseOptions<THEME> {}\n\nexport interface DThemeDiagramCanvas extends DThemeDiagramCanvasBase {}\n\nconst INITIAL_ZERO = \"0\";\n\nconst INITIAL_ARRAY = \"[]\";\n\nconst INITIAL_STRING = '\"\"';\n\nconst INITIAL_OBJECT = \"{}\";\n\nconst INITIAL_FALSE = \"false\";\n\nconst INITIALIZER_ZERO = () => {\n\treturn 0;\n};\n\nconst INITIALIZER_ARRAY = () => {\n\treturn [];\n};\n\nconst INITIALIZER_STRING = () => {\n\treturn \"\";\n};\n\nconst INITIALIZER_OBJECT = () => {\n\treturn {};\n};\n\nconst INITIALIZER_FALSE = () => {\n\treturn false;\n};\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(this);\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 actionables = this._actionables;\n\t\tconst data = this._data;\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<EShapeDataValueType, Map<string, (value: unknown) => unknown>>(),\n\t\t\tnew Map<EShapeDataValueType, Map<string, () => unknown>>(),\n\t\t\tnew Map<EShapeActionValue, EShapeActionRuntime>(),\n\t\t\tthis._ticker,\n\t\t\tthis._shape,\n\t\t\tdata,\n\t\t\tactionables\n\t\t);\n\t\tconst layers = this._layer.children;\n\t\tconst layersLength = layers.length;\n\t\tfor (let i = 0; i < layersLength; ++i) {\n\t\t\tlayers[i].initialize(actionables);\n\t\t}\n\t\tEShapeActionEnvironment.isInitializing = true;\n\t\tconst time = Date.now();\n\t\tfor (let i = 0; i < layersLength; ++i) {\n\t\t\tlayers[i].update(time);\n\t\t}\n\t\tEShapeActionEnvironment.isInitializing = false;\n\t\tdata.extended.each((id): void => {\n\t\t\tconst extension = EShapeDataValueExtensions.getById(id);\n\t\t\tif (extension) {\n\t\t\t\tconst start = extension.start;\n\t\t\t\tif (start) {\n\t\t\t\t\tstart(this);\n\t\t\t\t}\n\t\t\t}\n\t\t});\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\tformatters: Map<EShapeDataValueType, Map<string, (value: unknown) => unknown>>,\n\t\tinitializers: Map<EShapeDataValueType, 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\tformatters,\n\t\t\t\tinitializers,\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] || EShapeRuntimeImpl)(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// Init the runtime\n\t\t\truntime.initialize(shape);\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// Actionables\n\t\t\tif (runtime.isActionable()) {\n\t\t\t\tactionables.push(shape);\n\t\t\t}\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\tformatters,\n\t\t\t\t\tinitializers,\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\tformatters: Map<EShapeDataValueType, Map<string, (value: unknown) => unknown>>,\n\t\tinitializers: Map<EShapeDataValueType, Map<string, () => unknown>>,\n\t\tcanvasTicker: DDiagramCanvasTicker,\n\t\tcanvasData: DDiagramCanvasData\n\t): void {\n\t\tconst data = shape.data;\n\t\tfor (let i = 0, imax = data.size(); i < imax; ++i) {\n\t\t\tconst value = data.get(i);\n\t\t\tif (value == null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tswitch (value.type) {\n\t\t\t\tcase EShapeDataValueType.BOOLEAN:\n\t\t\t\tcase EShapeDataValueType.BOOLEAN_ARRAY:\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\tthis.initDataValue(\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tshape,\n\t\t\t\t\t\tdataShape,\n\t\t\t\t\t\tcontainerShape,\n\t\t\t\t\t\tmapper,\n\t\t\t\t\t\tformatters,\n\t\t\t\t\t\tinitializers,\n\t\t\t\t\t\tcanvasData\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\t\tthis.initDataTicker(value, initializers, canvasTicker);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.initDataExtension(value, canvasData);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected initDataValue(\n\t\tvalue: EShapeDataValue,\n\t\tshape: EShape,\n\t\tdataShape: EShape | null,\n\t\tcontainerShape: EShape | null,\n\t\tmapper: DDiagramDataMapper | null | undefined,\n\t\tformatters: Map<EShapeDataValueType, Map<string, (value: unknown) => unknown>>,\n\t\tinitializers: Map<EShapeDataValueType, Map<string, () => unknown>>,\n\t\tcanvasData: DDiagramCanvasData\n\t): void {\n\t\t// Mapping\n\t\tif (value.scope === EShapeDataValueScope.PRIVATE) {\n\t\t\tconst id = value.id;\n\t\t\tif (0 < id.length) {\n\t\t\t\tif (containerShape) {\n\t\t\t\t\tcontainerShape.data.private.add(id, value);\n\t\t\t\t} else {\n\t\t\t\t\tcanvasData.private.add(id, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (value.scope === EShapeDataValueScope.PROTECTED) {\n\t\t\tconst id = value.id;\n\t\t\tif (0 < id.length) {\n\t\t\t\tcanvasData.protected.add(id, value);\n\t\t\t}\n\t\t} else {\n\t\t\tif (mapper) {\n\t\t\t\tmapper(value, dataShape || shape);\n\t\t\t}\n\t\t\tconst id = value.id;\n\t\t\tif (0 < id.length) {\n\t\t\t\tcanvasData.add(id, value);\n\t\t\t}\n\t\t}\n\n\t\t// Format\n\t\tconst format = value.format;\n\t\tconst initial = value.initial;\n\t\tlet formatToFormatter = formatters.get(value.type);\n\t\tif (formatToFormatter == null) {\n\t\t\tformatToFormatter = new Map<string, (value: unknown) => unknown>();\n\t\t\tformatters.set(value.type, formatToFormatter);\n\t\t}\n\t\tconst oldFormatter = formatToFormatter.get(format);\n\t\tif (oldFormatter != null) {\n\t\t\tvalue.formatter = oldFormatter;\n\t\t} else if (0 < format.length) {\n\t\t\tconst newFormatter = this.calcFormatter(value, format, initial);\n\t\t\tformatToFormatter.set(format, newFormatter);\n\t\t\tvalue.formatter = newFormatter;\n\t\t}\n\n\t\t// Initial\n\t\tlet initialToInitializer = initializers.get(value.type);\n\t\tif (initialToInitializer == null) {\n\t\t\tinitialToInitializer = new Map<string, () => unknown>();\n\t\t\tinitializers.set(value.type, initialToInitializer);\n\t\t}\n\t\tconst oldInitializer = initialToInitializer.get(initial);\n\t\tif (oldInitializer != null) {\n\t\t\tvalue.value = oldInitializer();\n\t\t} else {\n\t\t\tconst newInitializer = this.calcInitial(value, initial);\n\t\t\tinitialToInitializer.set(initial, newInitializer);\n\t\t\tvalue.value = newInitializer();\n\t\t}\n\t}\n\n\tprotected initDataTicker(\n\t\tvalue: EShapeDataValue,\n\t\tinitializers: Map<EShapeDataValueType, Map<string, () => unknown>>,\n\t\tcanvasTicker: DDiagramCanvasTicker\n\t): void {\n\t\tconst initial = value.initial;\n\t\tlet initialToInitializer = initializers.get(value.type);\n\t\tif (initialToInitializer == null) {\n\t\t\tinitialToInitializer = new Map<string, () => unknown>();\n\t\t\tinitializers.set(value.type, initialToInitializer);\n\t\t}\n\t\tconst oldInitializer = initialToInitializer.get(initial);\n\t\tif (oldInitializer !== undefined) {\n\t\t\tvalue.value = 0;\n\t\t\tcanvasTicker.add(oldInitializer()).add(value);\n\t\t} else {\n\t\t\tconst newInitializer = this.calcInitial(value, initial);\n\t\t\tinitialToInitializer.set(initial, newInitializer);\n\t\t\tvalue.value = 0;\n\t\t\tcanvasTicker.add(newInitializer()).add(value);\n\t\t}\n\t}\n\n\tprotected initDataExtension(value: EShapeDataValue, canvasData: DDiagramCanvasData): void {\n\t\tconst extension = EShapeDataValueExtensions.get(value.type);\n\t\tif (extension) {\n\t\t\tcanvasData.extended.add(extension.id, value);\n\t\t\tvalue.value = extension.initial;\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\tconst typeRuntimes = EShapeActionRuntimes.get(shape.type);\n\t\tif (typeRuntimes != null) {\n\t\t\tfor (let i = 0, imax = typeRuntimes.length; i < imax; ++i) {\n\t\t\t\tconst typeRuntime = typeRuntimes[i];\n\t\t\t\truntimes.push(typeRuntime);\n\t\t\t\tshapeRuntime.reset |= typeRuntime.reset;\n\t\t\t}\n\t\t}\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\ttry {\n\t\t\treturn Function(\n\t\t\t\t\"value\",\n\t\t\t\t/* eslint-disable prettier/prettier */\n\t\t\t\t`try {` +\n\t\t\t\t\t`return (${format});` +\n\t\t\t\t`} catch( e1 ) {` +\n\t\t\t\t\t`try {` +\n\t\t\t\t\t\t`return (${0 < initial.length ? initial : def});` +\n\t\t\t\t\t`} catch( e2 ) {` +\n\t\t\t\t\t\t`return ${def};` +\n\t\t\t\t\t`}` +\n\t\t\t\t`}`\n\t\t\t\t/* eslint-enable prettier/prettier */\n\t\t\t) as any;\n\t\t} catch (e) {\n\t\t\treturn this.toInitializer(value);\n\t\t}\n\t}\n\n\tprotected calcInitial(value: EShapeDataValue, initial: string): () => unknown {\n\t\tif (initial.length <= 0) {\n\t\t\treturn this.toInitializer(value);\n\t\t}\n\t\ttry {\n\t\t\treturn Function(\n\t\t\t\t/* eslint-disable prettier/prettier */\n\t\t\t\t`try {` +\n\t\t\t\t\t`return (${initial});` +\n\t\t\t\t`} catch( e ) {` +\n\t\t\t\t\t`return ${this.toInitial(value)};` +\n\t\t\t\t`}`\n\t\t\t\t/* eslint-enable prettier/prettier */\n\t\t\t) as any;\n\t\t} catch (e) {\n\t\t\treturn this.toInitializer(value);\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.BOOLEAN:\n\t\t\t\treturn INITIAL_FALSE;\n\t\t\tcase EShapeDataValueType.BOOLEAN_ARRAY:\n\t\t\t\treturn INITIAL_ARRAY;\n\t\t\tcase EShapeDataValueType.NUMBER:\n\t\t\t\treturn INITIAL_ZERO;\n\t\t\tcase EShapeDataValueType.NUMBER_ARRAY:\n\t\t\t\treturn INITIAL_ARRAY;\n\t\t\tcase EShapeDataValueType.STRING:\n\t\t\t\treturn INITIAL_STRING;\n\t\t\tcase EShapeDataValueType.STRING_ARRAY:\n\t\t\t\treturn INITIAL_ARRAY;\n\t\t\tcase EShapeDataValueType.OBJECT:\n\t\t\t\treturn INITIAL_OBJECT;\n\t\t\tcase EShapeDataValueType.OBJECT_ARRAY:\n\t\t\t\treturn INITIAL_ARRAY;\n\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\treturn INITIAL_ZERO;\n\t\t\tdefault:\n\t\t\t\treturn INITIAL_ZERO;\n\t\t}\n\t}\n\n\tprotected toInitializer(value: EShapeDataValue): () => unknown {\n\t\tconst valueType = value.type;\n\t\tswitch (valueType) {\n\t\t\tcase EShapeDataValueType.BOOLEAN:\n\t\t\t\treturn INITIALIZER_FALSE;\n\t\t\tcase EShapeDataValueType.BOOLEAN_ARRAY:\n\t\t\t\treturn INITIALIZER_ARRAY;\n\t\t\tcase EShapeDataValueType.NUMBER:\n\t\t\t\treturn INITIALIZER_ZERO;\n\t\t\tcase EShapeDataValueType.NUMBER_ARRAY:\n\t\t\t\treturn INITIALIZER_ARRAY;\n\t\t\tcase EShapeDataValueType.STRING:\n\t\t\t\treturn INITIALIZER_STRING;\n\t\t\tcase EShapeDataValueType.STRING_ARRAY:\n\t\t\t\treturn INITIALIZER_ARRAY;\n\t\t\tcase EShapeDataValueType.OBJECT:\n\t\t\t\treturn INITIALIZER_OBJECT;\n\t\t\tcase EShapeDataValueType.OBJECT_ARRAY:\n\t\t\t\treturn INITIALIZER_ARRAY;\n\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\treturn INITIALIZER_ZERO;\n\t\t\tdefault:\n\t\t\t\treturn INITIALIZER_ZERO;\n\t\t}\n\t}\n\n\tprotected onDestroy(): void {\n\t\tthis._data.extended.each((id): void => {\n\t\t\tconst extension = EShapeDataValueExtensions.getById(id);\n\t\t\tif (extension) {\n\t\t\t\tconst stop = extension.stop;\n\t\t\t\tif (stop) {\n\t\t\t\t\tstop(this);\n\t\t\t\t}\n\t\t\t}\n\t\t});\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\t// Cursor\n\t\tthis.cursor = this._cursor = this.toShapeCursor(found);\n\n\t\t// TItle\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst title = this.toShapeTitle(found);\n\t\t\tconst view = layer.view;\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\tlet current = target;\n\t\t\twhile (true) {\n\t\t\t\tconst cursor = current.cursor;\n\t\t\t\tif (cursor != null && 0 < cursor.length) {\n\t\t\t\t\treturn cursor;\n\t\t\t\t}\n\t\t\t\tconst parent = current.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\tcurrent = 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\treturn \"auto\";\n\t}\n\n\tprotected toShapeTitle(target: EShape | null): string {\n\t\tif (target != null) {\n\t\t\tlet current = target;\n\t\t\twhile (true) {\n\t\t\t\tconst title = current.title;\n\t\t\t\tif (title != null && 0 < title.length) {\n\t\t\t\t\treturn title;\n\t\t\t\t}\n\t\t\t\tconst parent = current.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\tcurrent = 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\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\tonShapeRightClick(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.onRightClick(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\tonShapeRightDown(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.onRightDown(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\tonShapeRightUp(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.onRightUp(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.onShapeRightCancel(e);\n\t\treturn found != null;\n\t}\n\n\tonShapeRightCancel(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.onRightUpOutside(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\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) {\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) {\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\";\nimport { EShapeRuntimeImpl } from \"./shape/e-shape-runtime-impl\";\nimport { EShapeActionRuntimes } from \"./shape/action/e-shape-action-runtimes\";\n\nexport interface DDiagramCanvasOptions<THEME extends DThemeDiagramCanvas = DThemeDiagramCanvas>\n\textends DDiagramCanvasBaseOptions<THEME> {}\n\nexport interface DThemeDiagramCanvas extends DThemeDiagramCanvasBase {}\n\nconst INITIAL_ZERO = \"0\";\n\nconst INITIAL_ARRAY = \"[]\";\n\nconst INITIAL_STRING = '\"\"';\n\nconst INITIAL_OBJECT = \"{}\";\n\nconst INITIAL_FALSE = \"false\";\n\nconst INITIALIZER_ZERO = () => {\n\treturn 0;\n};\n\nconst INITIALIZER_ARRAY = () => {\n\treturn [];\n};\n\nconst INITIALIZER_STRING = () => {\n\treturn \"\";\n};\n\nconst INITIALIZER_OBJECT = () => {\n\treturn {};\n};\n\nconst INITIALIZER_FALSE = () => {\n\treturn false;\n};\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(this);\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 actionables = this._actionables;\n\t\tconst data = this._data;\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<EShapeDataValueType, Map<string, (value: unknown) => unknown>>(),\n\t\t\tnew Map<EShapeDataValueType, Map<string, () => unknown>>(),\n\t\t\tnew Map<EShapeActionValue, EShapeActionRuntime>(),\n\t\t\tthis._ticker,\n\t\t\tthis._shape,\n\t\t\tdata,\n\t\t\tactionables\n\t\t);\n\t\tconst layers = this._layer.children;\n\t\tconst layersLength = layers.length;\n\t\tfor (let i = 0; i < layersLength; ++i) {\n\t\t\tlayers[i].initialize(actionables);\n\t\t}\n\t\tEShapeActionEnvironment.isInitializing = true;\n\t\tconst time = Date.now();\n\t\tfor (let i = 0; i < layersLength; ++i) {\n\t\t\tlayers[i].update(time);\n\t\t}\n\t\tEShapeActionEnvironment.isInitializing = false;\n\t\tdata.extended.each((id): void => {\n\t\t\tconst extension = EShapeDataValueExtensions.getById(id);\n\t\t\tif (extension) {\n\t\t\t\tconst start = extension.start;\n\t\t\t\tif (start) {\n\t\t\t\t\tstart(this);\n\t\t\t\t}\n\t\t\t}\n\t\t});\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\tformatters: Map<EShapeDataValueType, Map<string, (value: unknown) => unknown>>,\n\t\tinitializers: Map<EShapeDataValueType, 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\tformatters,\n\t\t\t\tinitializers,\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] || EShapeRuntimeImpl)(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// Init the runtime\n\t\t\truntime.initialize(shape);\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// Actionables\n\t\t\tif (runtime.isActionable()) {\n\t\t\t\tactionables.push(shape);\n\t\t\t}\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\tformatters,\n\t\t\t\t\tinitializers,\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\tformatters: Map<EShapeDataValueType, Map<string, (value: unknown) => unknown>>,\n\t\tinitializers: Map<EShapeDataValueType, Map<string, () => unknown>>,\n\t\tcanvasTicker: DDiagramCanvasTicker,\n\t\tcanvasData: DDiagramCanvasData\n\t): void {\n\t\tconst data = shape.data;\n\t\tfor (let i = 0, imax = data.size(); i < imax; ++i) {\n\t\t\tconst value = data.get(i);\n\t\t\tif (value == null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tswitch (value.type) {\n\t\t\t\tcase EShapeDataValueType.BOOLEAN:\n\t\t\t\tcase EShapeDataValueType.BOOLEAN_ARRAY:\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\tthis.initDataValue(\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tshape,\n\t\t\t\t\t\tdataShape,\n\t\t\t\t\t\tcontainerShape,\n\t\t\t\t\t\tmapper,\n\t\t\t\t\t\tformatters,\n\t\t\t\t\t\tinitializers,\n\t\t\t\t\t\tcanvasData\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\t\tthis.initDataTicker(value, initializers, canvasTicker);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.initDataExtension(value, canvasData);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected initDataValue(\n\t\tvalue: EShapeDataValue,\n\t\tshape: EShape,\n\t\tdataShape: EShape | null,\n\t\tcontainerShape: EShape | null,\n\t\tmapper: DDiagramDataMapper | null | undefined,\n\t\tformatters: Map<EShapeDataValueType, Map<string, (value: unknown) => unknown>>,\n\t\tinitializers: Map<EShapeDataValueType, Map<string, () => unknown>>,\n\t\tcanvasData: DDiagramCanvasData\n\t): void {\n\t\t// Mapping\n\t\tif (value.scope === EShapeDataValueScope.PRIVATE) {\n\t\t\tconst id = value.id;\n\t\t\tif (0 < id.length) {\n\t\t\t\tif (containerShape) {\n\t\t\t\t\tcontainerShape.data.private.add(id, value);\n\t\t\t\t} else {\n\t\t\t\t\tcanvasData.private.add(id, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (value.scope === EShapeDataValueScope.PROTECTED) {\n\t\t\tconst id = value.id;\n\t\t\tif (0 < id.length) {\n\t\t\t\tcanvasData.protected.add(id, value);\n\t\t\t}\n\t\t} else {\n\t\t\tif (mapper) {\n\t\t\t\tmapper(value, dataShape || shape);\n\t\t\t}\n\t\t\tconst id = value.id;\n\t\t\tif (0 < id.length) {\n\t\t\t\tcanvasData.add(id, value);\n\t\t\t}\n\t\t}\n\n\t\t// Format\n\t\tconst format = value.format;\n\t\tconst initial = value.initial;\n\t\tlet formatToFormatter = formatters.get(value.type);\n\t\tif (formatToFormatter == null) {\n\t\t\tformatToFormatter = new Map<string, (value: unknown) => unknown>();\n\t\t\tformatters.set(value.type, formatToFormatter);\n\t\t}\n\t\tconst oldFormatter = formatToFormatter.get(format);\n\t\tif (oldFormatter != null) {\n\t\t\tvalue.formatter = oldFormatter;\n\t\t} else if (0 < format.length) {\n\t\t\tconst newFormatter = this.calcFormatter(value, format, initial);\n\t\t\tformatToFormatter.set(format, newFormatter);\n\t\t\tvalue.formatter = newFormatter;\n\t\t}\n\n\t\t// Initial\n\t\tlet initialToInitializer = initializers.get(value.type);\n\t\tif (initialToInitializer == null) {\n\t\t\tinitialToInitializer = new Map<string, () => unknown>();\n\t\t\tinitializers.set(value.type, initialToInitializer);\n\t\t}\n\t\tconst oldInitializer = initialToInitializer.get(initial);\n\t\tif (oldInitializer != null) {\n\t\t\tvalue.value = oldInitializer();\n\t\t} else {\n\t\t\tconst newInitializer = this.calcInitial(value, initial);\n\t\t\tinitialToInitializer.set(initial, newInitializer);\n\t\t\tvalue.value = newInitializer();\n\t\t}\n\t}\n\n\tprotected initDataTicker(\n\t\tvalue: EShapeDataValue,\n\t\tinitializers: Map<EShapeDataValueType, Map<string, () => unknown>>,\n\t\tcanvasTicker: DDiagramCanvasTicker\n\t): void {\n\t\tconst initial = value.initial;\n\t\tlet initialToInitializer = initializers.get(value.type);\n\t\tif (initialToInitializer == null) {\n\t\t\tinitialToInitializer = new Map<string, () => unknown>();\n\t\t\tinitializers.set(value.type, initialToInitializer);\n\t\t}\n\t\tconst oldInitializer = initialToInitializer.get(initial);\n\t\tif (oldInitializer !== undefined) {\n\t\t\tvalue.value = 0;\n\t\t\tcanvasTicker.add(oldInitializer()).add(value);\n\t\t} else {\n\t\t\tconst newInitializer = this.calcInitial(value, initial);\n\t\t\tinitialToInitializer.set(initial, newInitializer);\n\t\t\tvalue.value = 0;\n\t\t\tcanvasTicker.add(newInitializer()).add(value);\n\t\t}\n\t}\n\n\tprotected initDataExtension(value: EShapeDataValue, canvasData: DDiagramCanvasData): void {\n\t\tconst extension = EShapeDataValueExtensions.get(value.type);\n\t\tif (extension) {\n\t\t\tcanvasData.extended.add(extension.id, value);\n\t\t\tvalue.value = extension.initial;\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\tconst typeRuntimes = EShapeActionRuntimes.get(shape.type);\n\t\tif (typeRuntimes != null) {\n\t\t\tfor (let i = 0, imax = typeRuntimes.length; i < imax; ++i) {\n\t\t\t\tconst typeRuntime = typeRuntimes[i];\n\t\t\t\truntimes.push(typeRuntime);\n\t\t\t\tshapeRuntime.reset |= typeRuntime.reset;\n\t\t\t}\n\t\t}\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\ttry {\n\t\t\treturn Function(\n\t\t\t\t\"value\",\n\t\t\t\t/* eslint-disable prettier/prettier */\n\t\t\t\t`try {` +\n\t\t\t\t\t`return (${format});` +\n\t\t\t\t`} catch( e1 ) {` +\n\t\t\t\t\t`try {` +\n\t\t\t\t\t\t`return (${0 < initial.length ? initial : def});` +\n\t\t\t\t\t`} catch( e2 ) {` +\n\t\t\t\t\t\t`return ${def};` +\n\t\t\t\t\t`}` +\n\t\t\t\t`}`\n\t\t\t\t/* eslint-enable prettier/prettier */\n\t\t\t) as any;\n\t\t} catch (e) {\n\t\t\treturn this.toInitializer(value);\n\t\t}\n\t}\n\n\tprotected calcInitial(value: EShapeDataValue, initial: string): () => unknown {\n\t\tif (initial.length <= 0) {\n\t\t\treturn this.toInitializer(value);\n\t\t}\n\t\ttry {\n\t\t\treturn Function(\n\t\t\t\t/* eslint-disable prettier/prettier */\n\t\t\t\t`try {` +\n\t\t\t\t\t`return (${initial});` +\n\t\t\t\t`} catch( e ) {` +\n\t\t\t\t\t`return ${this.toInitial(value)};` +\n\t\t\t\t`}`\n\t\t\t\t/* eslint-enable prettier/prettier */\n\t\t\t) as any;\n\t\t} catch (e) {\n\t\t\treturn this.toInitializer(value);\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.BOOLEAN:\n\t\t\t\treturn INITIAL_FALSE;\n\t\t\tcase EShapeDataValueType.BOOLEAN_ARRAY:\n\t\t\t\treturn INITIAL_ARRAY;\n\t\t\tcase EShapeDataValueType.NUMBER:\n\t\t\t\treturn INITIAL_ZERO;\n\t\t\tcase EShapeDataValueType.NUMBER_ARRAY:\n\t\t\t\treturn INITIAL_ARRAY;\n\t\t\tcase EShapeDataValueType.STRING:\n\t\t\t\treturn INITIAL_STRING;\n\t\t\tcase EShapeDataValueType.STRING_ARRAY:\n\t\t\t\treturn INITIAL_ARRAY;\n\t\t\tcase EShapeDataValueType.OBJECT:\n\t\t\t\treturn INITIAL_OBJECT;\n\t\t\tcase EShapeDataValueType.OBJECT_ARRAY:\n\t\t\t\treturn INITIAL_ARRAY;\n\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\treturn INITIAL_ZERO;\n\t\t\tdefault:\n\t\t\t\treturn INITIAL_ZERO;\n\t\t}\n\t}\n\n\tprotected toInitializer(value: EShapeDataValue): () => unknown {\n\t\tconst valueType = value.type;\n\t\tswitch (valueType) {\n\t\t\tcase EShapeDataValueType.BOOLEAN:\n\t\t\t\treturn INITIALIZER_FALSE;\n\t\t\tcase EShapeDataValueType.BOOLEAN_ARRAY:\n\t\t\t\treturn INITIALIZER_ARRAY;\n\t\t\tcase EShapeDataValueType.NUMBER:\n\t\t\t\treturn INITIALIZER_ZERO;\n\t\t\tcase EShapeDataValueType.NUMBER_ARRAY:\n\t\t\t\treturn INITIALIZER_ARRAY;\n\t\t\tcase EShapeDataValueType.STRING:\n\t\t\t\treturn INITIALIZER_STRING;\n\t\t\tcase EShapeDataValueType.STRING_ARRAY:\n\t\t\t\treturn INITIALIZER_ARRAY;\n\t\t\tcase EShapeDataValueType.OBJECT:\n\t\t\t\treturn INITIALIZER_OBJECT;\n\t\t\tcase EShapeDataValueType.OBJECT_ARRAY:\n\t\t\t\treturn INITIALIZER_ARRAY;\n\t\t\tcase EShapeDataValueType.TICKER:\n\t\t\t\treturn INITIALIZER_ZERO;\n\t\t\tdefault:\n\t\t\t\treturn INITIALIZER_ZERO;\n\t\t}\n\t}\n\n\tprotected onDestroy(): void {\n\t\tthis._data.extended.each((id): void => {\n\t\t\tconst extension = EShapeDataValueExtensions.getById(id);\n\t\t\tif (extension) {\n\t\t\t\tconst stop = extension.stop;\n\t\t\t\tif (stop) {\n\t\t\t\t\tstop(this);\n\t\t\t\t}\n\t\t\t}\n\t\t});\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\t// Cursor\n\t\tthis.cursor = this._cursor = this.toShapeCursor(found);\n\n\t\t// TItle\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst title = this.toShapeTitle(found);\n\t\t\tconst view = layer.view;\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\tlet current = target;\n\t\t\twhile (true) {\n\t\t\t\tconst cursor = current.cursor;\n\t\t\t\tif (cursor != null && 0 < cursor.length) {\n\t\t\t\t\treturn cursor;\n\t\t\t\t}\n\t\t\t\tconst parent = current.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\tcurrent = 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\treturn \"auto\";\n\t}\n\n\tprotected toShapeTitle(target: EShape | null): string {\n\t\tif (target != null) {\n\t\t\tlet current = target;\n\t\t\twhile (true) {\n\t\t\t\tconst title = current.title;\n\t\t\t\tif (title != null && 0 < title.length) {\n\t\t\t\t\treturn title;\n\t\t\t\t}\n\t\t\t\tconst parent = current.parent;\n\t\t\t\tif (parent instanceof EShapeBase) {\n\t\t\t\t\tcurrent = 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\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\tonShapeRightClick(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.onRightClick(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\tonShapeRightDown(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.onRightDown(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\tonShapeRightUp(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.onRightUp(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.onShapeRightCancel(e);\n\t\treturn found != null;\n\t}\n\n\tonShapeRightCancel(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.onRightUpOutside(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\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) {\n\t\t\t\t\tconst runtimeEffect = runtime.effect;\n\t\t\t\t\tif (0 <= runtimeEffect && 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) {\n\t\t\t\t\tconst runtimeEffect = runtime.effect;\n\t\t\t\t\tif (0 <= runtimeEffect && 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"]}
|
|
@@ -70,9 +70,9 @@ var DTableDataListSelection = /** @class */ (function (_super) {
|
|
|
70
70
|
get: function () {
|
|
71
71
|
var indices = this._indices;
|
|
72
72
|
if (0 < indices.size) {
|
|
73
|
-
var result_1 =
|
|
73
|
+
var result_1 = -1;
|
|
74
74
|
indices.forEach(function (index) {
|
|
75
|
-
if (result_1
|
|
75
|
+
if (result_1 < 0) {
|
|
76
76
|
result_1 = index;
|
|
77
77
|
}
|
|
78
78
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-table-data-list-selection.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-list-selection.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAKN,uBAAuB,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,IAAM,UAAU,GAAG,UAAC,CAAoB,EAAE,CAAoB;IAC7D,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC;AAEF;IACS,2CAAkB;IAO1B,iCAAY,MAAsC,EAAE,OAAoC;;QAAxF,YACC,iBAAO,SAgBP;QAdA,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,KAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,uBAAuB,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;QAC5F,KAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,SAAS;QACT,IAAM,EAAE,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,CAAC;QACvB,IAAI,EAAE,EAAE;YACP,KAAK,IAAM,MAAI,IAAI,EAAE,EAAE;gBACtB,IAAM,OAAO,GAAG,EAAE,CAAC,MAAI,CAAC,CAAC;gBACzB,IAAI,OAAO,EAAE;oBACZ,KAAI,CAAC,EAAE,CAAC,MAAI,EAAE,OAAO,CAAC,CAAC;iBACvB;aACD;SACD;;IACF,CAAC;IAED,sBAAI,2CAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAED,sBAAI,yCAAI;aAAR;YACC,OAAO,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;;;OAAA;IAES,0CAAQ,GAAlB;QACC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,wCAAM,GAAN,UAAO,QAAgB;QACtB,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SACzB;aAAM;YACN,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SACtB;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC;IAED,qCAAG,GAAH,UAAI,QAAgB;QACnB,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,IAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,IAAI,OAAO,KAAK,OAAO,EAAE;YACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;IACF,CAAC;IAED,sBAAI,0CAAK;aAAT;YACC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE;gBACrB,IAAI,QAAM,GAAW,GAAG,CAAC;gBACzB,OAAO,CAAC,OAAO,CAAC,UAAC,KAAa;oBAC7B,IAAI,QAAM,KAAK,QAAM,EAAE;wBACtB,QAAM,GAAG,KAAK,CAAC;qBACf;gBACF,CAAC,CAAC,CAAC;gBACH,OAAO,QAAM,CAAC;aACd;YACD,OAAO,IAAI,CAAC;QACb,CAAC;;;OAAA;IAED,sBAAI,yCAAI;aAAR;YACC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE;gBACrB,IAAI,QAAM,GAAW,CAAC,CAAC;gBACvB,OAAO,CAAC,OAAO,CAAC,UAAC,KAAa;oBAC7B,QAAM,GAAG,KAAK,CAAC;gBAChB,CAAC,CAAC,CAAC;gBACH,OAAO,QAAM,CAAC;aACd;YACD,OAAO,IAAI,CAAC;QACb,CAAC;;;OAAA;IAED,uCAAK,GAAL,UAAM,QAAgB;QACrB,IAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/B,IAAI,YAAY,IAAI,IAAI,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;SACnD;IACF,CAAC;IAED,0CAAQ,GAAR,UAAS,IAAY,EAAE,WAAoB,EAAE,EAAU,EAAE,SAAkB;QAC1E,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,IAAI,IAAI,GAAG,EAAE,EAAE;YACd,IAAM,KAAK,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAM,GAAG,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;gBACjC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACf;SACD;aAAM;YACN,IAAM,KAAK,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,IAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;gBACjC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACf;SACD;QACD,IAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,IAAI,OAAO,KAAK,OAAO,EAAE;YACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;IACF,CAAC;IAED,wCAAM,GAAN,UAAO,UAAoB;QAC1B,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YACxD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B;QACD,IAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,IAAI,OAAO,KAAK,OAAO,EAAE;YACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;IACF,CAAC;IAED,0CAAQ,GAAR,UAAS,QAAgB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,wCAAM,GAAN,UAAO,QAAgB;QACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;IACF,CAAC;IAED,uCAAK,GAAL;QACC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE;YACrB,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;IACF,CAAC;IAED,6CAAW,GAAX,UAAY,QAAgB;QAC3B,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE;YACjD,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;IACF,CAAC;IAED,gDAAc,GAAd,UAAe,UAAoB;QAClC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE;YAC9C,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;gBACxD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;IACF,CAAC;IAED,uCAAK,GAAL,UAAM,QAAgB,EAAE,MAAc;QACrC,IAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,OAAO,CAAC,OAAO,CAAC,UAAC,KAAa;YAC7B,IAAI,QAAQ,IAAI,KAAK,EAAE;gBACtB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACpB;QACF,CAAC,CAAC,CAAC;QACH,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QACrC,IAAI,CAAC,GAAG,aAAa,EAAE;YACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;gBACrD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;gBACrD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;aACjC;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;IACF,CAAC;IAED,sCAAI,GAAJ;QACC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,yCAAO,GAAP;QACC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,sCAAI,GAAJ,UAAK,QAAyC;QAC7C,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAa;YACnC,IAAI,CAAC,UAAU,EAAE;gBAChB,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;oBAC9B,UAAU,GAAG,IAAI,CAAC;iBAClB;aACD;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAMD,sBAAI,4CAAO;QAJX;;;WAGG;aACH;YACC,IAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAa;gBACnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAMD,sBAAI,yCAAI;QAJR;;;WAGG;aACH;YACC,IAAM,MAAM,GAAU,EAAE,CAAC;YACzB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAa;gBACnC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAED;;;OAGG;IACH,yCAAO,GAAP;QACC,IAAM,MAAM,GAAyB,EAAE,CAAC;QACxC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAa;YACnC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;OAEG;IACH,+CAAa,GAAb;QACC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,0CAAQ,GAAR;QACC,IAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAa;YACnC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;IAED,uCAAK,GAAL;QACC,IAAM,MAAM,GAAqB,IAAI,GAAG,EAAe,CAAC;QACxD,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAa;YACnC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;IACF,8BAAC;AAAD,CAAC,AA1QD,CACS,KAAK,CAAC,YAAY,GAyQ1B","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DTableData } from \"./d-table-data\";\nimport {\n\tDTableDataSelection,\n\tDTableDataSelectionEachIteratee,\n\tDTableDataSelectionOptions,\n\tDTableDataSelectionParent,\n\tDTableDataSelectionType\n} from \"./d-table-data-selection\";\nimport { toEnum } from \"./util/to-enum\";\n\nconst COMPARATOR = (a: [number, unknown], b: [number, unknown]): number => {\n\treturn a[0] - b[0];\n};\n\nexport class DTableDataListSelection<ROW>\n\textends utils.EventEmitter\n\timplements DTableDataSelection<ROW>\n{\n\tprotected _parent: DTableDataSelectionParent<ROW>;\n\tprotected _type: DTableDataSelectionType;\n\tprotected _indices: Set<number>;\n\n\tconstructor(parent: DTableDataSelectionParent<ROW>, options?: DTableDataSelectionOptions) {\n\t\tsuper();\n\n\t\tthis._parent = parent;\n\t\tthis._type = toEnum(options?.type ?? DTableDataSelectionType.NONE, DTableDataSelectionType);\n\t\tthis._indices = new Set<number>();\n\n\t\t// Events\n\t\tconst on = options?.on;\n\t\tif (on) {\n\t\t\tfor (const name in on) {\n\t\t\t\tconst handler = on[name];\n\t\t\t\tif (handler) {\n\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget parent(): DTableData<ROW> {\n\t\treturn this._parent;\n\t}\n\n\tget type(): DTableDataSelectionType {\n\t\treturn this._type;\n\t}\n\n\tprotected onChange(): void {\n\t\tthis._parent.update();\n\t\tthis.emit(\"change\", this);\n\t}\n\n\ttoggle(rowIndex: number): void {\n\t\tconst indices = this._indices;\n\t\tif (indices.has(rowIndex)) {\n\t\t\tindices.delete(rowIndex);\n\t\t} else {\n\t\t\tindices.add(rowIndex);\n\t\t}\n\t\tthis.onChange();\n\t}\n\n\tadd(rowIndex: number): void {\n\t\tconst indices = this._indices;\n\t\tconst oldSize = indices.size;\n\t\tindices.add(rowIndex);\n\t\tconst newSize = indices.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tget first(): number | null {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size) {\n\t\t\tlet result: number = NaN;\n\t\t\tindices.forEach((index: number): void => {\n\t\t\t\tif (result !== result) {\n\t\t\t\t\tresult = index;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tget last(): number | null {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size) {\n\t\t\tlet result: number = 0;\n\t\t\tindices.forEach((index: number): void => {\n\t\t\t\tresult = index;\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\taddTo(rowIndex: number): void {\n\t\tconst lastRowIndex = this.last;\n\t\tif (lastRowIndex != null) {\n\t\t\tthis.addRange(lastRowIndex, false, rowIndex, true);\n\t\t}\n\t}\n\n\taddRange(from: number, includeFrom: boolean, to: number, includeTo: boolean): void {\n\t\tconst indices = this._indices;\n\t\tconst oldSize = indices.size;\n\t\tif (from < to) {\n\t\t\tconst ifrom = from + (includeFrom ? 0 : 1);\n\t\t\tconst ito = to + (includeTo ? 1 : 0);\n\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\tindices.add(i);\n\t\t\t}\n\t\t} else {\n\t\t\tconst ifrom = to + (includeTo ? 0 : 1);\n\t\t\tconst ito = from + (includeFrom ? 1 : 0);\n\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\tindices.add(i);\n\t\t\t}\n\t\t}\n\t\tconst newSize = indices.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\taddAll(rowIndices: number[]): void {\n\t\tconst indices = this._indices;\n\t\tconst oldSize = indices.size;\n\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\tindices.add(rowIndices[i]);\n\t\t}\n\t\tconst newSize = indices.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tcontains(rowIndex: number): boolean {\n\t\treturn this._indices.has(rowIndex);\n\t}\n\n\tremove(rowIndex: number): void {\n\t\tif (this._indices.delete(rowIndex)) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclear(): void {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size) {\n\t\t\tindices.clear();\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclearAndAdd(rowIndex: number): void {\n\t\tconst indices = this._indices;\n\t\tif (!indices.has(rowIndex) || indices.size !== 1) {\n\t\t\tindices.clear();\n\t\t\tindices.add(rowIndex);\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclearAndAddAll(rowIndices: number[]): void {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size || 0 < rowIndices.length) {\n\t\t\tindices.clear();\n\t\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\t\tindices.add(rowIndices[i]);\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tshift(rowIndex: number, amount: number): void {\n\t\tconst shifted: number[] = [];\n\t\tconst indices = this._indices;\n\t\tindices.forEach((index: number): void => {\n\t\t\tif (rowIndex <= index) {\n\t\t\t\tshifted.push(index);\n\t\t\t}\n\t\t});\n\t\tconst shiftedLength = shifted.length;\n\t\tif (0 < shiftedLength) {\n\t\t\tfor (let i = 0, imax = shifted.length; i < imax; ++i) {\n\t\t\t\tindices.delete(shifted[i]);\n\t\t\t}\n\t\t\tfor (let i = 0, imax = shifted.length; i < imax; ++i) {\n\t\t\t\tindices.add(shifted[i] + amount);\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tsize(): number {\n\t\treturn this._indices.size;\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this._indices.size === 0;\n\t}\n\n\teach(iteratee: DTableDataSelectionEachIteratee): void {\n\t\tlet isCanceled = false;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tif (!isCanceled) {\n\t\t\t\tif (iteratee(index) === false) {\n\t\t\t\t\tisCanceled = true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Returns a copy of an index array of selected rows.\n\t * The order of indices is an insertion order.\n\t */\n\tget indices(): number[] {\n\t\tconst result: number[] = [];\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.push(index);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns a copy of an array of selected row value.\n\t * The order is an insertion order.\n\t */\n\tget rows(): ROW[] {\n\t\tconst result: ROW[] = [];\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.push(parent.get(index)!);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns an array of the (index, row value) pairs of selected rows.\n\t * The order of pairs is an insertion order.\n\t */\n\ttoArray(): Array<[number, ROW]> {\n\t\tconst result: Array<[number, ROW]> = [];\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.push([index, parent.get(index)!]);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns an sorted array of the (index, row value) pairs of selected rows.\n\t */\n\ttoSortedArray(): Array<[number, ROW]> {\n\t\treturn this.toArray().sort(COMPARATOR);\n\t}\n\n\ttoObject(): Record<number, ROW> {\n\t\tconst result: Record<number, ROW> = {};\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult[index] = parent.get(index)!;\n\t\t});\n\t\treturn result;\n\t}\n\n\ttoMap(): Map<number, ROW> {\n\t\tconst result: Map<number, ROW> = new Map<number, ROW>();\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.set(index, parent.get(index)!);\n\t\t});\n\t\treturn result;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-table-data-list-selection.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-list-selection.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAKN,uBAAuB,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,IAAM,UAAU,GAAG,UAAC,CAAoB,EAAE,CAAoB;IAC7D,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC;AAEF;IACS,2CAAkB;IAO1B,iCAAY,MAAsC,EAAE,OAAoC;;QAAxF,YACC,iBAAO,SAgBP;QAdA,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,KAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,uBAAuB,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;QAC5F,KAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,SAAS;QACT,IAAM,EAAE,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,CAAC;QACvB,IAAI,EAAE,EAAE;YACP,KAAK,IAAM,MAAI,IAAI,EAAE,EAAE;gBACtB,IAAM,OAAO,GAAG,EAAE,CAAC,MAAI,CAAC,CAAC;gBACzB,IAAI,OAAO,EAAE;oBACZ,KAAI,CAAC,EAAE,CAAC,MAAI,EAAE,OAAO,CAAC,CAAC;iBACvB;aACD;SACD;;IACF,CAAC;IAED,sBAAI,2CAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAED,sBAAI,yCAAI;aAAR;YACC,OAAO,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;;;OAAA;IAES,0CAAQ,GAAlB;QACC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,wCAAM,GAAN,UAAO,QAAgB;QACtB,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SACzB;aAAM;YACN,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SACtB;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC;IAED,qCAAG,GAAH,UAAI,QAAgB;QACnB,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,IAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,IAAI,OAAO,KAAK,OAAO,EAAE;YACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;IACF,CAAC;IAED,sBAAI,0CAAK;aAAT;YACC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE;gBACrB,IAAI,QAAM,GAAG,CAAC,CAAC,CAAC;gBAChB,OAAO,CAAC,OAAO,CAAC,UAAC,KAAa;oBAC7B,IAAI,QAAM,GAAG,CAAC,EAAE;wBACf,QAAM,GAAG,KAAK,CAAC;qBACf;gBACF,CAAC,CAAC,CAAC;gBACH,OAAO,QAAM,CAAC;aACd;YACD,OAAO,IAAI,CAAC;QACb,CAAC;;;OAAA;IAED,sBAAI,yCAAI;aAAR;YACC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE;gBACrB,IAAI,QAAM,GAAG,CAAC,CAAC;gBACf,OAAO,CAAC,OAAO,CAAC,UAAC,KAAa;oBAC7B,QAAM,GAAG,KAAK,CAAC;gBAChB,CAAC,CAAC,CAAC;gBACH,OAAO,QAAM,CAAC;aACd;YACD,OAAO,IAAI,CAAC;QACb,CAAC;;;OAAA;IAED,uCAAK,GAAL,UAAM,QAAgB;QACrB,IAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/B,IAAI,YAAY,IAAI,IAAI,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;SACnD;IACF,CAAC;IAED,0CAAQ,GAAR,UAAS,IAAY,EAAE,WAAoB,EAAE,EAAU,EAAE,SAAkB;QAC1E,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,IAAI,IAAI,GAAG,EAAE,EAAE;YACd,IAAM,KAAK,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAM,GAAG,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;gBACjC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACf;SACD;aAAM;YACN,IAAM,KAAK,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,IAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;gBACjC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACf;SACD;QACD,IAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,IAAI,OAAO,KAAK,OAAO,EAAE;YACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;IACF,CAAC;IAED,wCAAM,GAAN,UAAO,UAAoB;QAC1B,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YACxD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B;QACD,IAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,IAAI,OAAO,KAAK,OAAO,EAAE;YACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;IACF,CAAC;IAED,0CAAQ,GAAR,UAAS,QAAgB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,wCAAM,GAAN,UAAO,QAAgB;QACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;IACF,CAAC;IAED,uCAAK,GAAL;QACC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE;YACrB,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;IACF,CAAC;IAED,6CAAW,GAAX,UAAY,QAAgB;QAC3B,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE;YACjD,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;IACF,CAAC;IAED,gDAAc,GAAd,UAAe,UAAoB;QAClC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE;YAC9C,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;gBACxD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;IACF,CAAC;IAED,uCAAK,GAAL,UAAM,QAAgB,EAAE,MAAc;QACrC,IAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,OAAO,CAAC,OAAO,CAAC,UAAC,KAAa;YAC7B,IAAI,QAAQ,IAAI,KAAK,EAAE;gBACtB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACpB;QACF,CAAC,CAAC,CAAC;QACH,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QACrC,IAAI,CAAC,GAAG,aAAa,EAAE;YACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;gBACrD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;gBACrD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;aACjC;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;IACF,CAAC;IAED,sCAAI,GAAJ;QACC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,yCAAO,GAAP;QACC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,sCAAI,GAAJ,UAAK,QAAyC;QAC7C,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAa;YACnC,IAAI,CAAC,UAAU,EAAE;gBAChB,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;oBAC9B,UAAU,GAAG,IAAI,CAAC;iBAClB;aACD;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAMD,sBAAI,4CAAO;QAJX;;;WAGG;aACH;YACC,IAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAa;gBACnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAMD,sBAAI,yCAAI;QAJR;;;WAGG;aACH;YACC,IAAM,MAAM,GAAU,EAAE,CAAC;YACzB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAa;gBACnC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAED;;;OAGG;IACH,yCAAO,GAAP;QACC,IAAM,MAAM,GAAyB,EAAE,CAAC;QACxC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAa;YACnC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;OAEG;IACH,+CAAa,GAAb;QACC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,0CAAQ,GAAR;QACC,IAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAa;YACnC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;IAED,uCAAK,GAAL;QACC,IAAM,MAAM,GAAqB,IAAI,GAAG,EAAe,CAAC;QACxD,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAa;YACnC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;IACF,8BAAC;AAAD,CAAC,AA1QD,CACS,KAAK,CAAC,YAAY,GAyQ1B","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DTableData } from \"./d-table-data\";\nimport {\n\tDTableDataSelection,\n\tDTableDataSelectionEachIteratee,\n\tDTableDataSelectionOptions,\n\tDTableDataSelectionParent,\n\tDTableDataSelectionType\n} from \"./d-table-data-selection\";\nimport { toEnum } from \"./util/to-enum\";\n\nconst COMPARATOR = (a: [number, unknown], b: [number, unknown]): number => {\n\treturn a[0] - b[0];\n};\n\nexport class DTableDataListSelection<ROW>\n\textends utils.EventEmitter\n\timplements DTableDataSelection<ROW>\n{\n\tprotected _parent: DTableDataSelectionParent<ROW>;\n\tprotected _type: DTableDataSelectionType;\n\tprotected _indices: Set<number>;\n\n\tconstructor(parent: DTableDataSelectionParent<ROW>, options?: DTableDataSelectionOptions) {\n\t\tsuper();\n\n\t\tthis._parent = parent;\n\t\tthis._type = toEnum(options?.type ?? DTableDataSelectionType.NONE, DTableDataSelectionType);\n\t\tthis._indices = new Set<number>();\n\n\t\t// Events\n\t\tconst on = options?.on;\n\t\tif (on) {\n\t\t\tfor (const name in on) {\n\t\t\t\tconst handler = on[name];\n\t\t\t\tif (handler) {\n\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget parent(): DTableData<ROW> {\n\t\treturn this._parent;\n\t}\n\n\tget type(): DTableDataSelectionType {\n\t\treturn this._type;\n\t}\n\n\tprotected onChange(): void {\n\t\tthis._parent.update();\n\t\tthis.emit(\"change\", this);\n\t}\n\n\ttoggle(rowIndex: number): void {\n\t\tconst indices = this._indices;\n\t\tif (indices.has(rowIndex)) {\n\t\t\tindices.delete(rowIndex);\n\t\t} else {\n\t\t\tindices.add(rowIndex);\n\t\t}\n\t\tthis.onChange();\n\t}\n\n\tadd(rowIndex: number): void {\n\t\tconst indices = this._indices;\n\t\tconst oldSize = indices.size;\n\t\tindices.add(rowIndex);\n\t\tconst newSize = indices.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tget first(): number | null {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size) {\n\t\t\tlet result = -1;\n\t\t\tindices.forEach((index: number): void => {\n\t\t\t\tif (result < 0) {\n\t\t\t\t\tresult = index;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tget last(): number | null {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size) {\n\t\t\tlet result = 0;\n\t\t\tindices.forEach((index: number): void => {\n\t\t\t\tresult = index;\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\taddTo(rowIndex: number): void {\n\t\tconst lastRowIndex = this.last;\n\t\tif (lastRowIndex != null) {\n\t\t\tthis.addRange(lastRowIndex, false, rowIndex, true);\n\t\t}\n\t}\n\n\taddRange(from: number, includeFrom: boolean, to: number, includeTo: boolean): void {\n\t\tconst indices = this._indices;\n\t\tconst oldSize = indices.size;\n\t\tif (from < to) {\n\t\t\tconst ifrom = from + (includeFrom ? 0 : 1);\n\t\t\tconst ito = to + (includeTo ? 1 : 0);\n\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\tindices.add(i);\n\t\t\t}\n\t\t} else {\n\t\t\tconst ifrom = to + (includeTo ? 0 : 1);\n\t\t\tconst ito = from + (includeFrom ? 1 : 0);\n\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\tindices.add(i);\n\t\t\t}\n\t\t}\n\t\tconst newSize = indices.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\taddAll(rowIndices: number[]): void {\n\t\tconst indices = this._indices;\n\t\tconst oldSize = indices.size;\n\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\tindices.add(rowIndices[i]);\n\t\t}\n\t\tconst newSize = indices.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tcontains(rowIndex: number): boolean {\n\t\treturn this._indices.has(rowIndex);\n\t}\n\n\tremove(rowIndex: number): void {\n\t\tif (this._indices.delete(rowIndex)) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclear(): void {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size) {\n\t\t\tindices.clear();\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclearAndAdd(rowIndex: number): void {\n\t\tconst indices = this._indices;\n\t\tif (!indices.has(rowIndex) || indices.size !== 1) {\n\t\t\tindices.clear();\n\t\t\tindices.add(rowIndex);\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclearAndAddAll(rowIndices: number[]): void {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size || 0 < rowIndices.length) {\n\t\t\tindices.clear();\n\t\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\t\tindices.add(rowIndices[i]);\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tshift(rowIndex: number, amount: number): void {\n\t\tconst shifted: number[] = [];\n\t\tconst indices = this._indices;\n\t\tindices.forEach((index: number): void => {\n\t\t\tif (rowIndex <= index) {\n\t\t\t\tshifted.push(index);\n\t\t\t}\n\t\t});\n\t\tconst shiftedLength = shifted.length;\n\t\tif (0 < shiftedLength) {\n\t\t\tfor (let i = 0, imax = shifted.length; i < imax; ++i) {\n\t\t\t\tindices.delete(shifted[i]);\n\t\t\t}\n\t\t\tfor (let i = 0, imax = shifted.length; i < imax; ++i) {\n\t\t\t\tindices.add(shifted[i] + amount);\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tsize(): number {\n\t\treturn this._indices.size;\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this._indices.size === 0;\n\t}\n\n\teach(iteratee: DTableDataSelectionEachIteratee): void {\n\t\tlet isCanceled = false;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tif (!isCanceled) {\n\t\t\t\tif (iteratee(index) === false) {\n\t\t\t\t\tisCanceled = true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Returns a copy of an index array of selected rows.\n\t * The order of indices is an insertion order.\n\t */\n\tget indices(): number[] {\n\t\tconst result: number[] = [];\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.push(index);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns a copy of an array of selected row value.\n\t * The order is an insertion order.\n\t */\n\tget rows(): ROW[] {\n\t\tconst result: ROW[] = [];\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.push(parent.get(index)!);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns an array of the (index, row value) pairs of selected rows.\n\t * The order of pairs is an insertion order.\n\t */\n\ttoArray(): Array<[number, ROW]> {\n\t\tconst result: Array<[number, ROW]> = [];\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.push([index, parent.get(index)!]);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns an sorted array of the (index, row value) pairs of selected rows.\n\t */\n\ttoSortedArray(): Array<[number, ROW]> {\n\t\treturn this.toArray().sort(COMPARATOR);\n\t}\n\n\ttoObject(): Record<number, ROW> {\n\t\tconst result: Record<number, ROW> = {};\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult[index] = parent.get(index)!;\n\t\t});\n\t\treturn result;\n\t}\n\n\ttoMap(): Map<number, ROW> {\n\t\tconst result: Map<number, ROW> = new Map<number, ROW>();\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.set(index, parent.get(index)!);\n\t\t});\n\t\treturn result;\n\t}\n}\n"]}
|
|
@@ -19,9 +19,9 @@ var EShapeContainer = /** @class */ (function (_super) {
|
|
|
19
19
|
_this._atlas = null;
|
|
20
20
|
_this._fontAtlases = new DynamicSDFFontAtlases();
|
|
21
21
|
_this._pixelScale = 1;
|
|
22
|
-
_this._pixelScaleId =
|
|
22
|
+
_this._pixelScaleId = -2; // Since this._shapeScaleId starts from -1.
|
|
23
23
|
_this._shapeScale = 1;
|
|
24
|
-
_this._shapeScaleId =
|
|
24
|
+
_this._shapeScaleId = -1; // Since PIXI.Transform._worldID starts from zero.
|
|
25
25
|
_this._work = new Point();
|
|
26
26
|
_this._buffers = [];
|
|
27
27
|
return _this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e-shape-container.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-container.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DisplayObject, IPoint, Point, Renderer } from \"pixi.js\";\nimport { DynamicAtlas } from \"../util/dynamic-atlas\";\nimport { DynamicSDFFontAtlases } from \"../util/dynamic-sdf-font-atlases\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeBuffer } from \"./e-shape-buffer\";\nimport { EShapeRenderer } from \"./e-shape-renderer\";\n\nexport class EShapeContainer extends DisplayObject {\n\tprotected _shapeRenderer: EShapeRenderer | null = null;\n\n\treadonly children: EShape[];\n\tprotected _shape: EShape | null;\n\tprotected _childrenId: number;\n\tprotected _childrenIdRendered: number;\n\n\tprotected _atlas: DynamicAtlas | null;\n\tprotected _fontAtlases: DynamicSDFFontAtlases;\n\n\tprotected _pixelScale: number;\n\tprotected _pixelScaleId: number;\n\tprotected _shapeScale: number;\n\tprotected _shapeScaleId: number;\n\n\tprotected _work: Point;\n\n\tprotected _buffers: EShapeBuffer[];\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.children = [];\n\t\tthis._shape = null;\n\t\tthis._childrenId = 0;\n\t\tthis._childrenIdRendered = -1;\n\n\t\tthis._atlas = null;\n\t\tthis._fontAtlases = new DynamicSDFFontAtlases();\n\n\t\tthis._pixelScale = 1;\n\t\tthis._pixelScaleId = NaN;\n\t\tthis._shapeScale = 1;\n\t\tthis._shapeScaleId = NaN;\n\n\t\tthis._work = new Point();\n\n\t\tthis._buffers = [];\n\t}\n\n\tcalculateBounds(): void {\n\t\tthis._bounds.clear();\n\t}\n\n\tonChildTransformChange(): void {\n\t\t// DO NOTHING\n\t}\n\n\ttoDirty(): number {\n\t\treturn (this._childrenId += 1);\n\t}\n\n\tisDirty(): boolean {\n\t\treturn this._childrenIdRendered < this._childrenId;\n\t}\n\n\trender(renderer: Renderer): void {\n\t\tif (!this.visible || this.worldAlpha <= 0 || !this.renderable) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst childrenId = this._childrenId;\n\t\tconst childrenIdRendered = this._childrenIdRendered;\n\t\tthis._childrenIdRendered = childrenId;\n\t\tconst isChildrenDirty = childrenIdRendered < childrenId;\n\n\t\tlet shapeRenderer: EShapeRenderer | null = this._shapeRenderer;\n\t\tif (shapeRenderer == null) {\n\t\t\tshapeRenderer = this._shapeRenderer = new EShapeRenderer(renderer);\n\t\t}\n\t\trenderer.batch.setObjectRenderer(shapeRenderer);\n\n\t\tconst mask = this.mask;\n\t\tconst shape = this._shape;\n\t\tconst shapes = this.children;\n\t\tif (mask) {\n\t\t\trenderer.mask.push(this, mask);\n\t\t\tshapeRenderer.render_(this, shape, shapes, isChildrenDirty);\n\t\t\trenderer.mask.pop(this);\n\t\t} else {\n\t\t\tshapeRenderer.render_(this, shape, shapes, isChildrenDirty);\n\t\t}\n\t}\n\n\tcontainsPoint(point: Point): boolean {\n\t\treturn false;\n\t}\n\n\tgetFontAtlases(): DynamicSDFFontAtlases {\n\t\treturn this._fontAtlases;\n\t}\n\n\tgetAtlas(resolution: number): DynamicAtlas {\n\t\tlet atlas = this._atlas;\n\t\tif (atlas == null) {\n\t\t\tatlas = new DynamicAtlas(resolution);\n\t\t\tthis._atlas = atlas;\n\t\t}\n\t\treturn atlas;\n\t}\n\n\tgetBuffers(): EShapeBuffer[] {\n\t\treturn this._buffers;\n\t}\n\n\ttoShapeScale(): number {\n\t\tthis.updateTransform();\n\t\tconst transform = this.transform;\n\t\tconst worldID = (transform as any)._worldID;\n\t\tif (worldID !== this._shapeScaleId) {\n\t\t\tthis._shapeScaleId = worldID;\n\t\t\tconst worldTransform = transform.worldTransform;\n\t\t\tconst a = worldTransform.a;\n\t\t\tconst b = worldTransform.b;\n\t\t\tthis._shapeScale = 1 / Math.sqrt(a * a + b * b);\n\t\t}\n\t\treturn this._shapeScale;\n\t}\n\n\tgetShapeScale(): number {\n\t\treturn this._shapeScale;\n\t}\n\n\ttoPixelScale(resolution: number): number {\n\t\tconst shapeScale = this.toShapeScale();\n\t\tconst shapeScaleId = this._shapeScaleId;\n\t\tif (this._pixelScaleId !== shapeScaleId) {\n\t\t\tthis._pixelScaleId = shapeScaleId;\n\t\t\tthis._pixelScale = (1 / resolution) * shapeScale;\n\t\t}\n\t\treturn this._pixelScale;\n\t}\n\n\tgetPixelScale(): number {\n\t\treturn this._pixelScale;\n\t}\n\n\tgetAntialiasWeight(resolution: number): number {\n\t\treturn 1.25 / resolution;\n\t}\n\n\thitTest(global: IPoint, onHit?: (shape: EShape) => boolean): EShape | null {\n\t\tconst local = this._work;\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst child = children[i];\n\t\t\tif (child.visible) {\n\t\t\t\tchild.toLocal(global, undefined, local);\n\t\t\t\tconst result = child.contains(local.x, local.y);\n\t\t\t\tif (result != null) {\n\t\t\t\t\tif (onHit == null || onHit(result)) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\thitTestBBox(global: IPoint, onHit?: (shape: EShape) => boolean): EShape | null {\n\t\tconst local = this._work;\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst child = children[i];\n\t\t\tif (child.visible) {\n\t\t\t\tchild.toLocal(global, undefined, local);\n\t\t\t\tif (child.containsBBox(local.x, local.y)) {\n\t\t\t\t\tif (onHit == null || onHit(child)) {\n\t\t\t\t\t\treturn child;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tdestroy(): void {\n\t\t// Buffer\n\t\tconst buffers = this._buffers;\n\t\tif (buffers != null) {\n\t\t\tfor (let i = 0, imax = buffers.length; i < imax; ++i) {\n\t\t\t\tbuffers[i].destroy();\n\t\t\t}\n\t\t}\n\t\tthis._buffers.length = 0;\n\n\t\t// Shapes\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tchildren[i].destroy();\n\t\t}\n\t\tchildren.length = 0;\n\n\t\t//\n\t\tsuper.destroy();\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"e-shape-container.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-container.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DisplayObject, IPoint, Point, Renderer } from \"pixi.js\";\nimport { DynamicAtlas } from \"../util/dynamic-atlas\";\nimport { DynamicSDFFontAtlases } from \"../util/dynamic-sdf-font-atlases\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeBuffer } from \"./e-shape-buffer\";\nimport { EShapeRenderer } from \"./e-shape-renderer\";\n\nexport class EShapeContainer extends DisplayObject {\n\tprotected _shapeRenderer: EShapeRenderer | null = null;\n\n\treadonly children: EShape[];\n\tprotected _shape: EShape | null;\n\tprotected _childrenId: number;\n\tprotected _childrenIdRendered: number;\n\n\tprotected _atlas: DynamicAtlas | null;\n\tprotected _fontAtlases: DynamicSDFFontAtlases;\n\n\tprotected _pixelScale: number;\n\tprotected _pixelScaleId: number;\n\tprotected _shapeScale: number;\n\tprotected _shapeScaleId: number;\n\n\tprotected _work: Point;\n\n\tprotected _buffers: EShapeBuffer[];\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.children = [];\n\t\tthis._shape = null;\n\t\tthis._childrenId = 0;\n\t\tthis._childrenIdRendered = -1;\n\n\t\tthis._atlas = null;\n\t\tthis._fontAtlases = new DynamicSDFFontAtlases();\n\n\t\tthis._pixelScale = 1;\n\t\tthis._pixelScaleId = -2; // Since this._shapeScaleId starts from -1.\n\t\tthis._shapeScale = 1;\n\t\tthis._shapeScaleId = -1; // Since PIXI.Transform._worldID starts from zero.\n\n\t\tthis._work = new Point();\n\n\t\tthis._buffers = [];\n\t}\n\n\tcalculateBounds(): void {\n\t\tthis._bounds.clear();\n\t}\n\n\tonChildTransformChange(): void {\n\t\t// DO NOTHING\n\t}\n\n\ttoDirty(): number {\n\t\treturn (this._childrenId += 1);\n\t}\n\n\tisDirty(): boolean {\n\t\treturn this._childrenIdRendered < this._childrenId;\n\t}\n\n\trender(renderer: Renderer): void {\n\t\tif (!this.visible || this.worldAlpha <= 0 || !this.renderable) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst childrenId = this._childrenId;\n\t\tconst childrenIdRendered = this._childrenIdRendered;\n\t\tthis._childrenIdRendered = childrenId;\n\t\tconst isChildrenDirty = childrenIdRendered < childrenId;\n\n\t\tlet shapeRenderer: EShapeRenderer | null = this._shapeRenderer;\n\t\tif (shapeRenderer == null) {\n\t\t\tshapeRenderer = this._shapeRenderer = new EShapeRenderer(renderer);\n\t\t}\n\t\trenderer.batch.setObjectRenderer(shapeRenderer);\n\n\t\tconst mask = this.mask;\n\t\tconst shape = this._shape;\n\t\tconst shapes = this.children;\n\t\tif (mask) {\n\t\t\trenderer.mask.push(this, mask);\n\t\t\tshapeRenderer.render_(this, shape, shapes, isChildrenDirty);\n\t\t\trenderer.mask.pop(this);\n\t\t} else {\n\t\t\tshapeRenderer.render_(this, shape, shapes, isChildrenDirty);\n\t\t}\n\t}\n\n\tcontainsPoint(point: Point): boolean {\n\t\treturn false;\n\t}\n\n\tgetFontAtlases(): DynamicSDFFontAtlases {\n\t\treturn this._fontAtlases;\n\t}\n\n\tgetAtlas(resolution: number): DynamicAtlas {\n\t\tlet atlas = this._atlas;\n\t\tif (atlas == null) {\n\t\t\tatlas = new DynamicAtlas(resolution);\n\t\t\tthis._atlas = atlas;\n\t\t}\n\t\treturn atlas;\n\t}\n\n\tgetBuffers(): EShapeBuffer[] {\n\t\treturn this._buffers;\n\t}\n\n\ttoShapeScale(): number {\n\t\tthis.updateTransform();\n\t\tconst transform = this.transform;\n\t\tconst worldID = (transform as any)._worldID;\n\t\tif (worldID !== this._shapeScaleId) {\n\t\t\tthis._shapeScaleId = worldID;\n\t\t\tconst worldTransform = transform.worldTransform;\n\t\t\tconst a = worldTransform.a;\n\t\t\tconst b = worldTransform.b;\n\t\t\tthis._shapeScale = 1 / Math.sqrt(a * a + b * b);\n\t\t}\n\t\treturn this._shapeScale;\n\t}\n\n\tgetShapeScale(): number {\n\t\treturn this._shapeScale;\n\t}\n\n\ttoPixelScale(resolution: number): number {\n\t\tconst shapeScale = this.toShapeScale();\n\t\tconst shapeScaleId = this._shapeScaleId;\n\t\tif (this._pixelScaleId !== shapeScaleId) {\n\t\t\tthis._pixelScaleId = shapeScaleId;\n\t\t\tthis._pixelScale = (1 / resolution) * shapeScale;\n\t\t}\n\t\treturn this._pixelScale;\n\t}\n\n\tgetPixelScale(): number {\n\t\treturn this._pixelScale;\n\t}\n\n\tgetAntialiasWeight(resolution: number): number {\n\t\treturn 1.25 / resolution;\n\t}\n\n\thitTest(global: IPoint, onHit?: (shape: EShape) => boolean): EShape | null {\n\t\tconst local = this._work;\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst child = children[i];\n\t\t\tif (child.visible) {\n\t\t\t\tchild.toLocal(global, undefined, local);\n\t\t\t\tconst result = child.contains(local.x, local.y);\n\t\t\t\tif (result != null) {\n\t\t\t\t\tif (onHit == null || onHit(result)) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\thitTestBBox(global: IPoint, onHit?: (shape: EShape) => boolean): EShape | null {\n\t\tconst local = this._work;\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst child = children[i];\n\t\t\tif (child.visible) {\n\t\t\t\tchild.toLocal(global, undefined, local);\n\t\t\t\tif (child.containsBBox(local.x, local.y)) {\n\t\t\t\t\tif (onHit == null || onHit(child)) {\n\t\t\t\t\t\treturn child;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tdestroy(): void {\n\t\t// Buffer\n\t\tconst buffers = this._buffers;\n\t\tif (buffers != null) {\n\t\t\tfor (let i = 0, imax = buffers.length; i < imax; ++i) {\n\t\t\t\tbuffers[i].destroy();\n\t\t\t}\n\t\t}\n\t\tthis._buffers.length = 0;\n\n\t\t// Shapes\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tchildren[i].destroy();\n\t\t}\n\t\tchildren.length = 0;\n\n\t\t//\n\t\tsuper.destroy();\n\t}\n}\n"]}
|
|
@@ -25,7 +25,7 @@ var EShapeRuntimeImpl = /** @class */ (function () {
|
|
|
25
25
|
this.cursor = shape.cursor;
|
|
26
26
|
this.reset = EShapeRuntimeReset.NONE;
|
|
27
27
|
this.written = EShapeRuntimeReset.NONE;
|
|
28
|
-
this.effect =
|
|
28
|
+
this.effect = -1;
|
|
29
29
|
this.isStateChanged = false;
|
|
30
30
|
this.interactive = false;
|
|
31
31
|
}
|
|
@@ -355,12 +355,13 @@ var EShapeRuntimeImpl = /** @class */ (function () {
|
|
|
355
355
|
};
|
|
356
356
|
EShapeRuntimeImpl.prototype.update = function (shape, time) {
|
|
357
357
|
var data = shape.data;
|
|
358
|
-
var
|
|
358
|
+
var effect = this.effect;
|
|
359
|
+
var isEffectTimeUp = 0 <= effect && effect <= time;
|
|
359
360
|
if (data.isChanged || this.isStateChanged || isEffectTimeUp) {
|
|
360
361
|
this.isStateChanged = false;
|
|
361
362
|
data.isChanged = false;
|
|
362
363
|
if (isEffectTimeUp) {
|
|
363
|
-
this.effect =
|
|
364
|
+
this.effect = -1;
|
|
364
365
|
}
|
|
365
366
|
shape.lock(EShapeLockPart.UPLOADED);
|
|
366
367
|
this.onUpdate(shape, time);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e-shape-runtime-impl.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-runtime-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 { interaction, Renderer } from \"pixi.js\";\nimport InteractionEvent = interaction.InteractionEvent;\nimport InteractionManager = interaction.InteractionManager;\nimport { DApplications } from \"../d-applications\";\nimport { UtilKeyboardEvent } from \"../util/util-keyboard-event\";\nimport { EShapeActionRuntime } from \"./action/e-shape-action-runtime\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeFillLike } from \"./e-shape-fill\";\nimport { EShapeState } from \"./e-shape-state\";\nimport { EShapeStrokeLike } from \"./e-shape-stroke\";\nimport { EShapeTextLike } from \"./e-shape-text\";\nimport { DBaseState } from \"../d-base-state\";\nimport { DBaseStateSet } from \"../d-base-state-set\";\nimport { EShapeRuntime } from \"./e-shape-runtime\";\nimport { EShapeRuntimeReset } from \"./e-shape-runtime-reset\";\nimport { EShapeLockPart } from \"./variant/e-shape-lock-part\";\n\nexport class EShapeRuntimeImpl implements EShapeRuntime {\n\tstatic readonly TRANSIENT_STATES = [\n\t\tEShapeState.CLICKED,\n\t\tEShapeState.DBL_CLICKED,\n\t\tEShapeState.DOWN,\n\t\tEShapeState.UP,\n\t\tEShapeState.UP_OUTSIDE,\n\n\t\tEShapeState.RIGHT_CLICKED,\n\t\tEShapeState.RIGHT_DOWN,\n\t\tEShapeState.RIGHT_UP,\n\t\tEShapeState.RIGHT_UP_OUTSIDE,\n\n\t\tEShapeState.ACTIVATED,\n\t\tEShapeState.DEACTIVATED\n\t];\n\n\treadonly x: number;\n\treadonly y: number;\n\treadonly sizeX: number;\n\treadonly sizeY: number;\n\treadonly rotation: number;\n\treadonly actions: EShapeActionRuntime[];\n\treadonly fill: EShapeFillLike;\n\treadonly stroke: EShapeStrokeLike;\n\treadonly text: EShapeTextLike;\n\treadonly cursor?: string;\n\treadonly interactive: boolean;\n\n\treset: EShapeRuntimeReset;\n\twritten: EShapeRuntimeReset;\n\teffect: number;\n\tisStateChanged: boolean;\n\n\tconstructor(shape: EShape) {\n\t\tconst transform = shape.transform;\n\t\tconst position = transform.position;\n\t\tthis.x = position.x;\n\t\tthis.y = position.y;\n\t\tconst size = shape.size;\n\t\tthis.sizeX = size.x;\n\t\tthis.sizeY = size.y;\n\t\tthis.rotation = transform.rotation;\n\t\tthis.actions = [];\n\t\tthis.fill = shape.fill.toObject();\n\t\tthis.stroke = shape.stroke.toObject();\n\t\tthis.text = shape.text.toObject();\n\t\tthis.cursor = shape.cursor;\n\t\tthis.reset = EShapeRuntimeReset.NONE;\n\t\tthis.written = EShapeRuntimeReset.NONE;\n\t\tthis.effect = NaN;\n\t\tthis.isStateChanged = false;\n\t\tthis.interactive = false;\n\t}\n\n\tinitialize(shape: EShape): void {\n\t\tshape.lock(EShapeLockPart.UPLOADED);\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].initialize(shape, this);\n\t\t}\n\t\tshape.unlock(EShapeLockPart.UPLOADED, true);\n\t}\n\n\tisActionable(): boolean {\n\t\treturn 0 < this.actions.length;\n\t}\n\n\tonResize(shape: EShape): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onResize(shape, this);\n\t\t}\n\t}\n\n\tonClick(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\t// State\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isClicked = true;\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onClick(shape, this, e);\n\t\t}\n\t}\n\n\tonDblClick(\n\t\tshape: EShape,\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: InteractionManager\n\t): boolean {\n\t\t// State\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isDblClicked = true;\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onDblClick(shape, this, e, interactionManager);\n\t\t}\n\n\t\t// Done\n\t\treturn false;\n\t}\n\n\tonOver(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (!state.isHovered) {\n\t\t\t// State\n\t\t\tstate.isHovered = true;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onOver(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonOut(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isHovered) {\n\t\t\t// State\n\t\t\tshape.state.isHovered = false;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onOut(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonDown(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onDowning(shape, this, e);\n\t\t}\n\n\t\tconst state = shape.state;\n\t\tif (!state.isDown) {\n\t\t\tif (!state.isPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.addAll(EShapeState.DOWN, DBaseState.PRESSED);\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\t// Focus\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onDown(shape, this, e);\n\t\t\t\t\taction.onPressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isDown = true;\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onDown(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonUp(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\tconst state = shape.state;\n\t\tif (!state.isUp) {\n\t\t\tif (state.isPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.set(EShapeState.UP, DBaseState.PRESSED);\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onUp(shape, this, e);\n\t\t\t\t\taction.onUnpressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isUp = true;\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onUp(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonUpOutside(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isPressed) {\n\t\t\t// State\n\t\t\tstate.set(EShapeState.UP_OUTSIDE, DBaseState.PRESSED);\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tconst action = actions[i];\n\t\t\t\taction.onUpOutside(shape, this, e);\n\t\t\t\taction.onUnpressed(shape, this, e);\n\t\t\t}\n\t\t} else {\n\t\t\t// State\n\t\t\tstate.isUpOutside = true;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onUpOutside(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonMove(shape: EShape, e: InteractionEvent): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onMove(shape, this, e);\n\t\t}\n\t}\n\n\tonKeyDown(shape: EShape, e: KeyboardEvent): boolean {\n\t\t// State\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onDown(shape, e);\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onKeyDown(shape, this, e);\n\t\t}\n\n\t\t// Done\n\t\treturn false;\n\t}\n\n\tonKeyUp(shape: EShape, e: KeyboardEvent): boolean {\n\t\t// State\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tconst state = shape.state;\n\t\t\tif (state.isPressed) {\n\t\t\t\tconst wasUp = state.isUp;\n\t\t\t\tthis.onUp(shape, e);\n\t\t\t\tif (!wasUp && state.isUp) {\n\t\t\t\t\tthis.onClick(shape, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onKeyUp(shape, this, e);\n\t\t}\n\n\t\t// Done\n\t\treturn false;\n\t}\n\n\tonStateChange(shape: EShape, newState: DBaseStateSet, oldState: DBaseStateSet): void {\n\t\tthis.isStateChanged = true;\n\t\tDApplications.update(shape);\n\n\t\tif (newState.isFocused) {\n\t\t\tif (!oldState.isFocused) {\n\t\t\t\tthis.onFocus(shape);\n\t\t\t}\n\t\t} else if (oldState.isFocused) {\n\t\t\tthis.onBlur(shape);\n\t\t}\n\t}\n\n\tonFocus(shape: EShape): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onFocus(shape, this);\n\t\t}\n\t}\n\n\tonBlur(shape: EShape): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onBlur(shape, this);\n\t\t}\n\t}\n\n\tonRightClick(shape: EShape, e: InteractionEvent): void {\n\t\t// State\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isRightClicked = true;\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onRightClick(shape, this, e);\n\t\t}\n\t}\n\n\tonRightDown(shape: EShape, e: InteractionEvent): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onRightDowning(shape, this, e);\n\t\t}\n\n\t\tconst state = shape.state;\n\t\tif (!state.isRightDown) {\n\t\t\tif (state.isRightPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.addAll(EShapeState.RIGHT_DOWN, EShapeState.RIGHT_PRESSED);\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\t// Focus\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onRightDown(shape, this, e);\n\t\t\t\t\taction.onRightPressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isRightDown = false;\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onRightDown(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonRightUp(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (!state.isRightUp) {\n\t\t\tif (state.isRightPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.set(EShapeState.RIGHT_UP, EShapeState.RIGHT_PRESSED);\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onRightUp(shape, this, e);\n\t\t\t\t\taction.onRightUnpressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isRightUp = true;\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onRightUp(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonRightUpOutside(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isRightPressed) {\n\t\t\t// State\n\t\t\tstate.set(EShapeState.RIGHT_UP_OUTSIDE, EShapeState.RIGHT_PRESSED);\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tconst action = actions[i];\n\t\t\t\taction.onRightUpOutside(shape, this, e);\n\t\t\t\taction.onRightUnpressed(shape, this, e);\n\t\t\t}\n\t\t} else {\n\t\t\t// State\n\t\t\tstate.isRightUpOutside = true;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onRightUpOutside(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdate(shape: EShape, time: number): void {\n\t\tconst data = shape.data;\n\t\tconst isEffectTimeUp = this.effect <= time;\n\t\tif (data.isChanged || this.isStateChanged || isEffectTimeUp) {\n\t\t\tthis.isStateChanged = false;\n\t\t\tdata.isChanged = false;\n\t\t\tif (isEffectTimeUp) {\n\t\t\t\tthis.effect = NaN;\n\t\t\t}\n\t\t\tshape.lock(EShapeLockPart.UPLOADED);\n\t\t\tthis.onUpdate(shape, time);\n\t\t\tshape.unlock(EShapeLockPart.UPLOADED, true);\n\t\t\tconst wasStateChanged = this.isStateChanged;\n\t\t\tshape.state.removeAll(EShapeRuntimeImpl.TRANSIENT_STATES);\n\t\t\tthis.isStateChanged = wasStateChanged;\n\t\t}\n\t}\n\n\tonRender(shape: EShape, time: number, renderer: Renderer): void {\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onRender(shape, this, time, renderer);\n\t\t}\n\t\tthis.update(shape, time);\n\t}\n\n\tprotected onUpdate(shape: EShape, time: number): void {\n\t\tconst actions = this.actions;\n\t\tif (0 < actions.length) {\n\t\t\tthis.written = EShapeRuntimeReset.NONE;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].execute(shape, this, time);\n\t\t\t}\n\t\t\tthis.doReset(shape);\n\t\t}\n\t}\n\n\tprotected doReset(shape: EShape): void {\n\t\tconst target = ~this.written & this.reset;\n\t\tif (target !== EShapeRuntimeReset.NONE) {\n\t\t\tif (target & EShapeRuntimeReset.POSITION_X) {\n\t\t\t\tshape.transform.position.x = this.x;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.POSITION_Y) {\n\t\t\t\tshape.transform.position.y = this.y;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.VISIBILITY) {\n\t\t\t\tshape.visible = true;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_FILL) {\n\t\t\t\tconst fill = this.fill;\n\t\t\t\tshape.fill.set(undefined, fill.color, fill.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_STROKE) {\n\t\t\t\tconst stroke = this.stroke;\n\t\t\t\tshape.stroke.set(undefined, stroke.color, stroke.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_TEXT) {\n\t\t\t\tconst text = this.text;\n\t\t\t\tshape.text.set(undefined, text.color, text.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_TEXT_OUTLINE) {\n\t\t\t\tconst outline = this.text.outline;\n\t\t\t\tshape.text.outline.set(undefined, outline.color, outline.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.HEIGHT) {\n\t\t\t\tshape.size.y = this.sizeY;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.WIDTH) {\n\t\t\t\tshape.size.x = this.sizeX;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.ROTATION) {\n\t\t\t\tshape.transform.rotation = this.rotation;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.TEXT) {\n\t\t\t\tshape.text.value = this.text.value;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.CURSOR) {\n\t\t\t\tshape.cursor = this.cursor;\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"e-shape-runtime-impl.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-runtime-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 { interaction, Renderer } from \"pixi.js\";\nimport InteractionEvent = interaction.InteractionEvent;\nimport InteractionManager = interaction.InteractionManager;\nimport { DApplications } from \"../d-applications\";\nimport { UtilKeyboardEvent } from \"../util/util-keyboard-event\";\nimport { EShapeActionRuntime } from \"./action/e-shape-action-runtime\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeFillLike } from \"./e-shape-fill\";\nimport { EShapeState } from \"./e-shape-state\";\nimport { EShapeStrokeLike } from \"./e-shape-stroke\";\nimport { EShapeTextLike } from \"./e-shape-text\";\nimport { DBaseState } from \"../d-base-state\";\nimport { DBaseStateSet } from \"../d-base-state-set\";\nimport { EShapeRuntime } from \"./e-shape-runtime\";\nimport { EShapeRuntimeReset } from \"./e-shape-runtime-reset\";\nimport { EShapeLockPart } from \"./variant/e-shape-lock-part\";\n\nexport class EShapeRuntimeImpl implements EShapeRuntime {\n\tstatic readonly TRANSIENT_STATES = [\n\t\tEShapeState.CLICKED,\n\t\tEShapeState.DBL_CLICKED,\n\t\tEShapeState.DOWN,\n\t\tEShapeState.UP,\n\t\tEShapeState.UP_OUTSIDE,\n\n\t\tEShapeState.RIGHT_CLICKED,\n\t\tEShapeState.RIGHT_DOWN,\n\t\tEShapeState.RIGHT_UP,\n\t\tEShapeState.RIGHT_UP_OUTSIDE,\n\n\t\tEShapeState.ACTIVATED,\n\t\tEShapeState.DEACTIVATED\n\t];\n\n\treadonly x: number;\n\treadonly y: number;\n\treadonly sizeX: number;\n\treadonly sizeY: number;\n\treadonly rotation: number;\n\treadonly actions: EShapeActionRuntime[];\n\treadonly fill: EShapeFillLike;\n\treadonly stroke: EShapeStrokeLike;\n\treadonly text: EShapeTextLike;\n\treadonly cursor?: string;\n\treadonly interactive: boolean;\n\n\treset: EShapeRuntimeReset;\n\twritten: EShapeRuntimeReset;\n\teffect: number;\n\tisStateChanged: boolean;\n\n\tconstructor(shape: EShape) {\n\t\tconst transform = shape.transform;\n\t\tconst position = transform.position;\n\t\tthis.x = position.x;\n\t\tthis.y = position.y;\n\t\tconst size = shape.size;\n\t\tthis.sizeX = size.x;\n\t\tthis.sizeY = size.y;\n\t\tthis.rotation = transform.rotation;\n\t\tthis.actions = [];\n\t\tthis.fill = shape.fill.toObject();\n\t\tthis.stroke = shape.stroke.toObject();\n\t\tthis.text = shape.text.toObject();\n\t\tthis.cursor = shape.cursor;\n\t\tthis.reset = EShapeRuntimeReset.NONE;\n\t\tthis.written = EShapeRuntimeReset.NONE;\n\t\tthis.effect = -1;\n\t\tthis.isStateChanged = false;\n\t\tthis.interactive = false;\n\t}\n\n\tinitialize(shape: EShape): void {\n\t\tshape.lock(EShapeLockPart.UPLOADED);\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].initialize(shape, this);\n\t\t}\n\t\tshape.unlock(EShapeLockPart.UPLOADED, true);\n\t}\n\n\tisActionable(): boolean {\n\t\treturn 0 < this.actions.length;\n\t}\n\n\tonResize(shape: EShape): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onResize(shape, this);\n\t\t}\n\t}\n\n\tonClick(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\t// State\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isClicked = true;\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onClick(shape, this, e);\n\t\t}\n\t}\n\n\tonDblClick(\n\t\tshape: EShape,\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: InteractionManager\n\t): boolean {\n\t\t// State\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isDblClicked = true;\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onDblClick(shape, this, e, interactionManager);\n\t\t}\n\n\t\t// Done\n\t\treturn false;\n\t}\n\n\tonOver(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (!state.isHovered) {\n\t\t\t// State\n\t\t\tstate.isHovered = true;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onOver(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonOut(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isHovered) {\n\t\t\t// State\n\t\t\tshape.state.isHovered = false;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onOut(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonDown(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onDowning(shape, this, e);\n\t\t}\n\n\t\tconst state = shape.state;\n\t\tif (!state.isDown) {\n\t\t\tif (!state.isPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.addAll(EShapeState.DOWN, DBaseState.PRESSED);\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\t// Focus\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onDown(shape, this, e);\n\t\t\t\t\taction.onPressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isDown = true;\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onDown(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonUp(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\tconst state = shape.state;\n\t\tif (!state.isUp) {\n\t\t\tif (state.isPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.set(EShapeState.UP, DBaseState.PRESSED);\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onUp(shape, this, e);\n\t\t\t\t\taction.onUnpressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isUp = true;\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onUp(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonUpOutside(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isPressed) {\n\t\t\t// State\n\t\t\tstate.set(EShapeState.UP_OUTSIDE, DBaseState.PRESSED);\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tconst action = actions[i];\n\t\t\t\taction.onUpOutside(shape, this, e);\n\t\t\t\taction.onUnpressed(shape, this, e);\n\t\t\t}\n\t\t} else {\n\t\t\t// State\n\t\t\tstate.isUpOutside = true;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onUpOutside(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonMove(shape: EShape, e: InteractionEvent): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onMove(shape, this, e);\n\t\t}\n\t}\n\n\tonKeyDown(shape: EShape, e: KeyboardEvent): boolean {\n\t\t// State\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onDown(shape, e);\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onKeyDown(shape, this, e);\n\t\t}\n\n\t\t// Done\n\t\treturn false;\n\t}\n\n\tonKeyUp(shape: EShape, e: KeyboardEvent): boolean {\n\t\t// State\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tconst state = shape.state;\n\t\t\tif (state.isPressed) {\n\t\t\t\tconst wasUp = state.isUp;\n\t\t\t\tthis.onUp(shape, e);\n\t\t\t\tif (!wasUp && state.isUp) {\n\t\t\t\t\tthis.onClick(shape, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onKeyUp(shape, this, e);\n\t\t}\n\n\t\t// Done\n\t\treturn false;\n\t}\n\n\tonStateChange(shape: EShape, newState: DBaseStateSet, oldState: DBaseStateSet): void {\n\t\tthis.isStateChanged = true;\n\t\tDApplications.update(shape);\n\n\t\tif (newState.isFocused) {\n\t\t\tif (!oldState.isFocused) {\n\t\t\t\tthis.onFocus(shape);\n\t\t\t}\n\t\t} else if (oldState.isFocused) {\n\t\t\tthis.onBlur(shape);\n\t\t}\n\t}\n\n\tonFocus(shape: EShape): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onFocus(shape, this);\n\t\t}\n\t}\n\n\tonBlur(shape: EShape): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onBlur(shape, this);\n\t\t}\n\t}\n\n\tonRightClick(shape: EShape, e: InteractionEvent): void {\n\t\t// State\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isRightClicked = true;\n\t\t}\n\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onRightClick(shape, this, e);\n\t\t}\n\t}\n\n\tonRightDown(shape: EShape, e: InteractionEvent): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onRightDowning(shape, this, e);\n\t\t}\n\n\t\tconst state = shape.state;\n\t\tif (!state.isRightDown) {\n\t\t\tif (state.isRightPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.addAll(EShapeState.RIGHT_DOWN, EShapeState.RIGHT_PRESSED);\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\t// Focus\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onRightDown(shape, this, e);\n\t\t\t\t\taction.onRightPressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isRightDown = false;\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onRightDown(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonRightUp(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (!state.isRightUp) {\n\t\t\tif (state.isRightPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.set(EShapeState.RIGHT_UP, EShapeState.RIGHT_PRESSED);\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onRightUp(shape, this, e);\n\t\t\t\t\taction.onRightUnpressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isRightUp = true;\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onRightUp(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonRightUpOutside(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isRightPressed) {\n\t\t\t// State\n\t\t\tstate.set(EShapeState.RIGHT_UP_OUTSIDE, EShapeState.RIGHT_PRESSED);\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tconst action = actions[i];\n\t\t\t\taction.onRightUpOutside(shape, this, e);\n\t\t\t\taction.onRightUnpressed(shape, this, e);\n\t\t\t}\n\t\t} else {\n\t\t\t// State\n\t\t\tstate.isRightUpOutside = true;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onRightUpOutside(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdate(shape: EShape, time: number): void {\n\t\tconst data = shape.data;\n\t\tconst effect = this.effect;\n\t\tconst isEffectTimeUp = 0 <= effect && effect <= time;\n\t\tif (data.isChanged || this.isStateChanged || isEffectTimeUp) {\n\t\t\tthis.isStateChanged = false;\n\t\t\tdata.isChanged = false;\n\t\t\tif (isEffectTimeUp) {\n\t\t\t\tthis.effect = -1;\n\t\t\t}\n\t\t\tshape.lock(EShapeLockPart.UPLOADED);\n\t\t\tthis.onUpdate(shape, time);\n\t\t\tshape.unlock(EShapeLockPart.UPLOADED, true);\n\t\t\tconst wasStateChanged = this.isStateChanged;\n\t\t\tshape.state.removeAll(EShapeRuntimeImpl.TRANSIENT_STATES);\n\t\t\tthis.isStateChanged = wasStateChanged;\n\t\t}\n\t}\n\n\tonRender(shape: EShape, time: number, renderer: Renderer): void {\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onRender(shape, this, time, renderer);\n\t\t}\n\t\tthis.update(shape, time);\n\t}\n\n\tprotected onUpdate(shape: EShape, time: number): void {\n\t\tconst actions = this.actions;\n\t\tif (0 < actions.length) {\n\t\t\tthis.written = EShapeRuntimeReset.NONE;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].execute(shape, this, time);\n\t\t\t}\n\t\t\tthis.doReset(shape);\n\t\t}\n\t}\n\n\tprotected doReset(shape: EShape): void {\n\t\tconst target = ~this.written & this.reset;\n\t\tif (target !== EShapeRuntimeReset.NONE) {\n\t\t\tif (target & EShapeRuntimeReset.POSITION_X) {\n\t\t\t\tshape.transform.position.x = this.x;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.POSITION_Y) {\n\t\t\t\tshape.transform.position.y = this.y;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.VISIBILITY) {\n\t\t\t\tshape.visible = true;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_FILL) {\n\t\t\t\tconst fill = this.fill;\n\t\t\t\tshape.fill.set(undefined, fill.color, fill.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_STROKE) {\n\t\t\t\tconst stroke = this.stroke;\n\t\t\t\tshape.stroke.set(undefined, stroke.color, stroke.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_TEXT) {\n\t\t\t\tconst text = this.text;\n\t\t\t\tshape.text.set(undefined, text.color, text.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_TEXT_OUTLINE) {\n\t\t\t\tconst outline = this.text.outline;\n\t\t\t\tshape.text.outline.set(undefined, outline.color, outline.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.HEIGHT) {\n\t\t\t\tshape.size.y = this.sizeY;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.WIDTH) {\n\t\t\t\tshape.size.x = this.sizeX;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.ROTATION) {\n\t\t\t\tshape.transform.rotation = this.rotation;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.TEXT) {\n\t\t\t\tshape.text.value = this.text.value;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.CURSOR) {\n\t\t\t\tshape.cursor = this.cursor;\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e-shape-uploaded.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-uploaded.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"e-shape-uploaded.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-uploaded.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH;IAQC,4BACC,MAAqB,EACrB,YAAoB,EACpB,WAAmB,EACnB,WAAmB,EACnB,UAAkB,EAClB,QAAmB;QAEnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,iCAAI,GAAJ,UAAK,KAAa;QACjB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YACtD,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACzB;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,mCAAM,GAAN,UAAO,KAAa;QACnB,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YACtD,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SAClC;IACF,CAAC;IAED,yCAAY,GAAZ,UAAa,KAAa;QACzB,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YACtD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;gBACrC,OAAO,KAAK,CAAC;aACb;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,sCAAS,GAAT;QACC,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,4CAAe,GAAf;QACC,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAED,2CAAc,GAAd;QACC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED,2CAAc,GAAd;QACC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED,0CAAa,GAAb;QACC,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,sCAAS,GAAT,UAAU,OAAgC;QACzC,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YACtD,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SAC/B;IACF,CAAC;IACF,yBAAC;AAAD,CAAC,AA/ED,IA+EC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"./e-shape\";\nimport { EShapeBufferUnitBuilder } from \"./e-shape-buffer-unit-builder\";\nimport { Builder, BuilderBuffer } from \"./variant/builder\";\n\nexport interface EShapeUploaded {\n\tupdate(shape: EShape): void;\n\tisCompatible(shape: EShape): boolean;\n\tgetBuffer(): BuilderBuffer;\n\tgetVertexOffset(): number;\n\tgetVertexCount(): number;\n\tgetIndexOffset(): number;\n\tgetIndexCount(): number;\n\tbuildUnit(builder: EShapeBufferUnitBuilder): void;\n}\n\nexport class EShapeUploadedImpl implements EShapeUploaded {\n\tprotected buffer: BuilderBuffer;\n\tprotected _builders: Builder[];\n\tprotected _vertexOffset: number;\n\tprotected _indexOffset: number;\n\tprotected _vertexCount: number;\n\tprotected _indexCount: number;\n\n\tconstructor(\n\t\tbuffer: BuilderBuffer,\n\t\tvertexOffset: number,\n\t\tindexOffset: number,\n\t\tvertexCount: number,\n\t\tindexCount: number,\n\t\tbuilders: Builder[]\n\t) {\n\t\tthis.buffer = buffer;\n\t\tthis._builders = builders;\n\t\tthis._vertexOffset = vertexOffset;\n\t\tthis._indexOffset = indexOffset;\n\t\tthis._vertexCount = vertexCount;\n\t\tthis._indexCount = indexCount;\n\t}\n\n\tinit(shape: EShape): this {\n\t\tshape.uploaded = this;\n\t\tconst buffer = this.buffer;\n\t\tconst builders = this._builders;\n\t\tfor (let i = 0, imax = builders.length; i < imax; ++i) {\n\t\t\tbuilders[i].init(buffer);\n\t\t}\n\t\tthis.update(shape);\n\t\treturn this;\n\t}\n\n\tupdate(shape: EShape): void {\n\t\tconst buffer = this.buffer;\n\t\tconst builders = this._builders;\n\t\tfor (let i = 0, imax = builders.length; i < imax; ++i) {\n\t\t\tbuilders[i].update(buffer, shape);\n\t\t}\n\t}\n\n\tisCompatible(shape: EShape): boolean {\n\t\tconst builders = this._builders;\n\t\tfor (let i = 0, imax = builders.length; i < imax; ++i) {\n\t\t\tif (!builders[i].isCompatible(shape)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tgetBuffer(): BuilderBuffer {\n\t\treturn this.buffer;\n\t}\n\n\tgetVertexOffset(): number {\n\t\treturn this._vertexOffset;\n\t}\n\n\tgetVertexCount(): number {\n\t\treturn this._vertexCount;\n\t}\n\n\tgetIndexOffset(): number {\n\t\treturn this._indexOffset;\n\t}\n\n\tgetIndexCount(): number {\n\t\treturn this._indexCount;\n\t}\n\n\tbuildUnit(builder: EShapeBufferUnitBuilder): void {\n\t\tconst builders = this._builders;\n\t\tfor (let i = 0, imax = builders.length; i < imax; ++i) {\n\t\t\tbuilders[i].buildUnit(builder);\n\t\t}\n\t}\n}\n"]}
|