@wcardinal/wcardinal-ui 0.167.0 → 0.170.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/d-button-select.d.ts +4 -3
- package/dist/types/wcardinal/ui/d-command-flag.d.ts +5 -1
- package/dist/types/wcardinal/ui/d-controller-default-command.d.ts +7 -0
- package/dist/types/wcardinal/ui/d-diagram-base.d.ts +2 -1
- package/dist/types/wcardinal/ui/d-diagram-canvas-base.d.ts +3 -1
- package/dist/types/wcardinal/ui/d-diagram-canvas-data-impl.d.ts +20 -0
- package/dist/types/wcardinal/ui/d-diagram-canvas-data-private-impl.d.ts +7 -0
- package/dist/types/wcardinal/ui/d-diagram-canvas-data-private.d.ts +5 -0
- package/dist/types/wcardinal/ui/d-diagram-canvas-data.d.ts +16 -0
- package/dist/types/wcardinal/ui/d-diagram-canvas-shape-impl.d.ts +9 -0
- package/dist/types/wcardinal/ui/d-diagram-canvas-shape.d.ts +6 -0
- package/dist/types/wcardinal/ui/d-diagram-canvas-ticker-impl.d.ts +10 -0
- package/dist/types/wcardinal/ui/d-diagram-canvas-ticker.d.ts +6 -0
- package/dist/types/wcardinal/ui/d-diagram-canvas.d.ts +30 -10
- package/dist/types/wcardinal/ui/d-diagram-data-impl.d.ts +29 -0
- package/dist/types/wcardinal/ui/d-diagram-data-mapper.d.ts +8 -0
- package/dist/types/wcardinal/ui/d-diagram-data-private-impl.d.ts +7 -0
- package/dist/types/wcardinal/ui/d-diagram-data-private.d.ts +3 -0
- package/dist/types/wcardinal/ui/d-diagram-data-remote-impl.d.ts +6 -0
- package/dist/types/wcardinal/ui/d-diagram-data-remote.d.ts +1 -3
- package/dist/types/wcardinal/ui/d-diagram-data.d.ts +12 -21
- package/dist/types/wcardinal/ui/d-diagram-layer-container.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-diagram-layer.d.ts +2 -4
- package/dist/types/wcardinal/ui/d-diagram-serialized.d.ts +45 -27
- package/dist/types/wcardinal/ui/d-diagram-shape.d.ts +4 -3
- package/dist/types/wcardinal/ui/d-diagram-snapshot.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-diagram-ticker.d.ts +13 -0
- package/dist/types/wcardinal/ui/d-diagram.d.ts +3 -4
- package/dist/types/wcardinal/ui/index.d.ts +14 -2
- package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtimes.d.ts +2 -0
- package/dist/types/wcardinal/ui/shape/e-shape-data-impl.d.ts +50 -0
- package/dist/types/wcardinal/ui/shape/e-shape-data-mapper-impl.d.ts +17 -0
- package/dist/types/wcardinal/ui/shape/e-shape-data-mapper.d.ts +7 -0
- package/dist/types/wcardinal/ui/shape/e-shape-data-mapping-impl.d.ts +21 -0
- package/dist/types/wcardinal/ui/shape/e-shape-data-mapping.d.ts +20 -0
- package/dist/types/wcardinal/ui/shape/e-shape-data-private-impl.d.ts +7 -0
- package/dist/types/wcardinal/ui/shape/e-shape-data-private.d.ts +5 -0
- package/dist/types/wcardinal/ui/shape/{variant/e-shape-data-value-impl.d.ts → e-shape-data-value-impl.d.ts} +9 -4
- package/dist/types/wcardinal/ui/shape/e-shape-data-value-order.d.ts +5 -0
- package/dist/types/wcardinal/ui/shape/{variant/e-shape-data-value-range-impl.d.ts → e-shape-data-value-range-impl.d.ts} +3 -3
- package/dist/types/wcardinal/ui/shape/e-shape-data-value-scope.d.ts +12 -0
- package/dist/types/wcardinal/ui/shape/e-shape-data-value-type.d.ts +10 -0
- package/dist/types/wcardinal/ui/shape/e-shape-data-value.d.ts +5 -5
- package/dist/types/wcardinal/ui/shape/e-shape-data.d.ts +10 -0
- package/dist/types/wcardinal/ui/shape/e-shape-resource-manager-deserialization.d.ts +12 -4
- package/dist/types/wcardinal/ui/shape/index.d.ts +12 -0
- package/dist/types/wcardinal/ui/shape/variant/e-shape-button-runtime-action-toggle.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/e-shape-button-runtime-action.d.ts +1 -1
- package/dist/types/wcardinal/ui/shape/variant/index.d.ts +0 -3
- package/dist/wcardinal/ui/d-button-select.js +1 -1
- package/dist/wcardinal/ui/d-button-select.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-axis-base.js +1 -1
- package/dist/wcardinal/ui/d-chart-axis-base.js.map +1 -1
- package/dist/wcardinal/ui/d-command-flag.js +6 -2
- package/dist/wcardinal/ui/d-command-flag.js.map +1 -1
- package/dist/wcardinal/ui/d-controller-default-command.js +117 -80
- package/dist/wcardinal/ui/d-controller-default-command.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-base.js +8 -10
- package/dist/wcardinal/ui/d-diagram-base.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-canvas-base.js +6 -3
- package/dist/wcardinal/ui/d-diagram-canvas-base.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-canvas-data-impl.js +217 -0
- package/dist/wcardinal/ui/d-diagram-canvas-data-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-diagram-canvas-data-private-impl.js +49 -0
- package/dist/wcardinal/ui/d-diagram-canvas-data-private-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-diagram-canvas-data-private.js +6 -0
- package/dist/wcardinal/ui/d-diagram-canvas-data-private.js.map +1 -0
- package/dist/wcardinal/ui/{d-diagram-canvas-data-map.js → d-diagram-canvas-data.js} +1 -1
- package/dist/wcardinal/ui/d-diagram-canvas-data.js.map +1 -0
- package/dist/wcardinal/ui/d-diagram-canvas-shape-impl.js +32 -0
- package/dist/wcardinal/ui/d-diagram-canvas-shape-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-diagram-canvas-shape.js +6 -0
- package/dist/wcardinal/ui/d-diagram-canvas-shape.js.map +1 -0
- package/dist/wcardinal/ui/d-diagram-canvas-ticker-impl.js +38 -0
- package/dist/wcardinal/ui/d-diagram-canvas-ticker-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-diagram-canvas-ticker.js +6 -0
- package/dist/wcardinal/ui/d-diagram-canvas-ticker.js.map +1 -0
- package/dist/wcardinal/ui/d-diagram-canvas.js +275 -10
- package/dist/wcardinal/ui/d-diagram-canvas.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-data-impl.js +121 -0
- package/dist/wcardinal/ui/d-diagram-data-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-diagram-data-mapper.js +6 -0
- package/dist/wcardinal/ui/d-diagram-data-mapper.js.map +1 -0
- package/dist/wcardinal/ui/d-diagram-data-private-impl.js +19 -0
- package/dist/wcardinal/ui/d-diagram-data-private-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-diagram-data-private.js +6 -0
- package/dist/wcardinal/ui/d-diagram-data-private.js.map +1 -0
- package/dist/wcardinal/ui/d-diagram-data-remote-impl.js +20 -0
- package/dist/wcardinal/ui/d-diagram-data-remote-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-diagram-data-remote.js +1 -15
- package/dist/wcardinal/ui/d-diagram-data-remote.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-data.js +1 -201
- package/dist/wcardinal/ui/d-diagram-data.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-layer-container.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-layer.js +5 -50
- package/dist/wcardinal/ui/d-diagram-layer.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-serialized.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-shape.js +14 -47
- package/dist/wcardinal/ui/d-diagram-shape.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-snapshot.js +1 -1
- package/dist/wcardinal/ui/d-diagram-snapshot.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-ticker.js +47 -0
- package/dist/wcardinal/ui/d-diagram-ticker.js.map +1 -0
- package/dist/wcardinal/ui/d-diagram.js +4 -115
- package/dist/wcardinal/ui/d-diagram.js.map +1 -1
- package/dist/wcardinal/ui/d-dialog.js +2 -1
- package/dist/wcardinal/ui/d-dialog.js.map +1 -1
- package/dist/wcardinal/ui/index.js +14 -2
- package/dist/wcardinal/ui/index.js.map +1 -1
- package/dist/wcardinal/ui/shape/action/e-shape-action-runtimes.js +27 -7
- package/dist/wcardinal/ui/shape/action/e-shape-action-runtimes.js.map +1 -1
- package/dist/wcardinal/ui/shape/{variant/e-shape-data-impl.js → e-shape-data-impl.js} +105 -20
- package/dist/wcardinal/ui/shape/e-shape-data-impl.js.map +1 -0
- package/dist/wcardinal/ui/shape/e-shape-data-mapper-impl.js +122 -0
- package/dist/wcardinal/ui/shape/e-shape-data-mapper-impl.js.map +1 -0
- package/dist/wcardinal/ui/shape/e-shape-data-mapper.js +6 -0
- package/dist/wcardinal/ui/shape/e-shape-data-mapper.js.map +1 -0
- package/dist/wcardinal/ui/shape/e-shape-data-mapping-impl.js +135 -0
- package/dist/wcardinal/ui/shape/e-shape-data-mapping-impl.js.map +1 -0
- package/dist/wcardinal/ui/shape/e-shape-data-mapping.js +6 -0
- package/dist/wcardinal/ui/shape/e-shape-data-mapping.js.map +1 -0
- package/dist/wcardinal/ui/shape/e-shape-data-private-impl.js +45 -0
- package/dist/wcardinal/ui/shape/e-shape-data-private-impl.js.map +1 -0
- package/dist/wcardinal/ui/shape/e-shape-data-private.js +2 -0
- package/dist/wcardinal/ui/shape/e-shape-data-private.js.map +1 -0
- package/dist/wcardinal/ui/shape/{variant/e-shape-data-value-impl.js → e-shape-data-value-impl.js} +17 -6
- package/dist/wcardinal/ui/shape/e-shape-data-value-impl.js.map +1 -0
- package/dist/wcardinal/ui/shape/e-shape-data-value-order.js +9 -0
- package/dist/wcardinal/ui/shape/e-shape-data-value-order.js.map +1 -0
- package/dist/wcardinal/ui/shape/{variant/e-shape-data-value-range-impl.js → e-shape-data-value-range-impl.js} +1 -1
- package/dist/wcardinal/ui/shape/e-shape-data-value-range-impl.js.map +1 -0
- package/dist/wcardinal/ui/shape/e-shape-data-value-scope.js +16 -0
- package/dist/wcardinal/ui/shape/e-shape-data-value-scope.js.map +1 -0
- package/dist/wcardinal/ui/shape/e-shape-data-value-type.js +14 -0
- package/dist/wcardinal/ui/shape/e-shape-data-value-type.js.map +1 -0
- package/dist/wcardinal/ui/shape/e-shape-data-value.js +1 -4
- package/dist/wcardinal/ui/shape/e-shape-data-value.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-data.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-resource-manager-deserialization.js +28 -0
- package/dist/wcardinal/ui/shape/e-shape-resource-manager-deserialization.js.map +1 -1
- package/dist/wcardinal/ui/shape/index.js +12 -0
- package/dist/wcardinal/ui/shape/index.js.map +1 -1
- package/dist/wcardinal/ui/shape/load/load-shape-rectangle-pivoted.js +1 -1
- package/dist/wcardinal/ui/shape/load/load-shape-rectangle-pivoted.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/deserialize-embedded.js +36 -0
- package/dist/wcardinal/ui/shape/variant/deserialize-embedded.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-button-runtime-action-toggle.js +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-button-runtime-action-toggle.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-button-runtime-action.js +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-button-runtime-action.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-group-viewer.js +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-group-viewer.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-group.js +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-group.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-primitive.js +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-primitive.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/index.js +0 -3
- package/dist/wcardinal/ui/shape/variant/index.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark.js +1 -1
- package/dist/wcardinal-ui-theme-dark.min.js +1 -1
- package/dist/wcardinal-ui-theme-white.js +1 -1
- package/dist/wcardinal-ui-theme-white.min.js +1 -1
- package/dist/wcardinal-ui.cjs.js +6596 -5666
- package/dist/wcardinal-ui.js +19893 -18963
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
- package/dist/types/wcardinal/ui/d-diagram-canvas-data-map.d.ts +0 -2
- package/dist/types/wcardinal/ui/d-diagram-canvas-id-map.d.ts +0 -2
- package/dist/types/wcardinal/ui/shape/variant/e-shape-data-impl.d.ts +0 -34
- package/dist/wcardinal/ui/d-diagram-canvas-data-map.js.map +0 -1
- package/dist/wcardinal/ui/d-diagram-canvas-id-map.js +0 -2
- package/dist/wcardinal/ui/d-diagram-canvas-id-map.js.map +0 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-data-impl.js.map +0 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-data-value-impl.js.map +0 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-data-value-range-impl.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-chart-axis-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-chart-axis-base.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Matrix } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport { DChartAxis } from \"./d-chart-axis\";\nimport { DChartAxisBaseOptions, DThemeChartAxisBase } from \"./d-chart-axis-base-options\";\nimport {\n\tDChartAxisBaseBar,\n\tDChartAxisBaseOptionParser,\n\tDChartAxisBaseTickContainer\n} from \"./d-chart-axis-base-options-parser\";\nimport { DChartAxisContainer } from \"./d-chart-axis-container\";\nimport { DChartAxisPosition } from \"./d-chart-axis-position\";\nimport { DChartCoordinate } from \"./d-chart-coordinate\";\nimport { EShapePointsStyle } from \"./shape\";\nimport { EShapeTextLike } from \"./shape/e-shape-text\";\nimport { EShapeBar } from \"./shape/variant/e-shape-bar\";\nimport { EShapeBarPosition } from \"./shape/variant/e-shape-bar-position\";\nimport { DThemes } from \"./theme/d-themes\";\nimport { DeepPartial } from \"./util/deep-partial\";\nimport { isNaN } from \"./util/is-nan\";\n\nexport class DChartAxisBase<\n\tCHART extends DBase = DBase,\n\tOPTIONS extends DChartAxisBaseOptions = DChartAxisBaseOptions\n> implements DChartAxis<CHART>\n{\n\tprotected _coordinateIndex: number;\n\tprotected _padding: number;\n\tprotected _position: DChartAxisPosition;\n\tprotected _container?: DChartAxisContainer<CHART>;\n\tprotected _bar: DChartAxisBaseBar;\n\tprotected _index: number;\n\tprotected _tick: DChartAxisBaseTickContainer;\n\tprotected _majorTicks: Float64Array;\n\tprotected _minorTicks: Float64Array;\n\tprotected _label?: DeepPartial<EShapeTextLike>;\n\tprotected _theme: DThemeChartAxisBase;\n\n\tconstructor(options?: OPTIONS) {\n\t\tconst theme = this.toTheme(options);\n\t\tthis._theme = theme;\n\t\tthis._index = 0;\n\n\t\tconst parser = new DChartAxisBaseOptionParser(theme, options);\n\t\tthis._coordinateIndex = parser.coordinateIndex;\n\t\tthis._padding = parser.padding;\n\t\tthis._position = parser.position;\n\t\tconst tick = parser.tick;\n\t\tthis._tick = tick;\n\t\tthis._label = parser.label;\n\t\tthis._bar = parser.bar;\n\t\tconst tickMajorCount = tick.major.count;\n\t\tconst tickMinorCount = tick.minor.count;\n\t\tthis._majorTicks = new Float64Array(tickMajorCount * 3);\n\t\tthis._minorTicks = new Float64Array((tickMajorCount + 1) * tickMinorCount * 3);\n\t}\n\n\tget position(): DChartAxisPosition {\n\t\treturn this._position;\n\t}\n\n\tprotected updateBar(container: DChartAxisContainer<CHART>): void {\n\t\tconst bar = this._bar;\n\t\tconst shape = bar.shape;\n\t\tif (shape) {\n\t\t\tconst plotArea = container.plotArea;\n\t\t\tconst plotAreaWidth = plotArea.width;\n\t\t\tconst plotAreaHeight = plotArea.height;\n\t\t\tconst padding = this._padding * this._index;\n\t\t\tshape.disallowUploadedUpdate();\n\t\t\tconst position = shape.transform.position;\n\t\t\tconst size = shape.size;\n\t\t\tswitch (this._position) {\n\t\t\t\tcase DChartAxisPosition.TOP:\n\t\t\t\t\tposition.set(plotAreaWidth * 0.5, 0 - padding);\n\t\t\t\t\tsize.set(plotAreaWidth, 0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.BOTTOM:\n\t\t\t\t\tposition.set(plotAreaWidth * 0.5, plotAreaHeight + padding);\n\t\t\t\t\tsize.set(plotAreaWidth, 0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.LEFT:\n\t\t\t\t\tposition.set(0 - padding, plotAreaHeight * 0.5);\n\t\t\t\t\tsize.set(0, plotAreaHeight);\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.RIGHT:\n\t\t\t\t\tposition.set(plotAreaWidth + padding, plotAreaHeight * 0.5);\n\t\t\t\t\tsize.set(0, plotAreaHeight);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tshape.allowUploadedUpdate();\n\t\t}\n\t}\n\n\tupdateTicksX(\n\t\tdomainMin: number,\n\t\tdomainMax: number,\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tmajorShapes: EShapeBar[],\n\t\tminorShapes: EShapeBar[],\n\t\tgridlineShapes: EShapeBar[] | undefined,\n\t\tshapePositionY: number,\n\t\ttransform: Matrix,\n\t\tplotAreaHeight: number\n\t): void {\n\t\tconst tick = this._tick;\n\t\tconst majorTick = tick.major;\n\t\tconst majorCount = majorTick.count;\n\t\tconst majorStep = majorTick.step;\n\t\tconst majorFormatter = majorTick.formatter;\n\t\tconst minorTick = tick.minor;\n\t\tconst minorCountPerMajor = minorTick.count;\n\t\tconst minorCount = (majorCount + 1) * minorCountPerMajor;\n\t\tconst minorStep = minorTick.step;\n\t\tconst majorTicks = this._majorTicks;\n\t\tconst minorTicks = this._minorTicks;\n\t\tcoordinate.ticks(\n\t\t\tdomainMin,\n\t\t\tdomainMax,\n\t\t\tmajorCount,\n\t\t\tmajorStep,\n\t\t\tminorCountPerMajor,\n\t\t\tminorCount,\n\t\t\tminorStep,\n\t\t\tmajorTicks,\n\t\t\tminorTicks\n\t\t);\n\n\t\tconst a = transform.a;\n\t\tconst tx = transform.tx;\n\t\tfor (let i = 0; i < majorCount; ++i) {\n\t\t\tconst majorShape = majorShapes[i];\n\t\t\tconst imajorTick = i * 3;\n\t\t\tconst majorTickPosition = majorTicks[imajorTick + 0];\n\t\t\tif (!isNaN(majorTickPosition)) {\n\t\t\t\tconst majorTickProjectedPosition = majorTicks[imajorTick + 1];\n\t\t\t\tconst majotTickPositionX = a * majorTickProjectedPosition + tx;\n\t\t\t\tconst majorTickStep = majorTicks[imajorTick + 2];\n\n\t\t\t\tmajorShape.disallowUploadedUpdate();\n\t\t\t\tmajorShape.visible = true;\n\t\t\t\tmajorShape.transform.position.set(majotTickPositionX, shapePositionY);\n\t\t\t\tmajorShape.text.value = majorFormatter.format(majorTickPosition, majorTickStep);\n\t\t\t\tmajorShape.allowUploadedUpdate();\n\n\t\t\t\tif (gridlineShapes) {\n\t\t\t\t\tconst gridlineShape = gridlineShapes[i];\n\t\t\t\t\tgridlineShape.disallowUploadedUpdate();\n\t\t\t\t\tgridlineShape.visible = true;\n\t\t\t\t\tgridlineShape.transform.position.set(majotTickPositionX, plotAreaHeight * 0.5);\n\t\t\t\t\tgridlineShape.size.set(0, plotAreaHeight);\n\t\t\t\t\tgridlineShape.allowUploadedUpdate();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmajorShape.visible = false;\n\t\t\t\tif (gridlineShapes) {\n\t\t\t\t\tgridlineShapes[i].visible = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i < minorCount; ++i) {\n\t\t\tconst minorShape = minorShapes[i];\n\t\t\tconst iminorTick = i * 3;\n\t\t\tconst minorTickPosition = minorTicks[iminorTick + 0];\n\t\t\tconst minorTickProjectedPosition = minorTicks[iminorTick + 1];\n\t\t\tif (!isNaN(minorTickPosition)) {\n\t\t\t\tminorShape.disallowUploadedUpdate();\n\t\t\t\tminorShape.visible = true;\n\t\t\t\tminorShape.transform.position.set(\n\t\t\t\t\ta * minorTickProjectedPosition + tx,\n\t\t\t\t\tshapePositionY\n\t\t\t\t);\n\t\t\t\tminorShape.allowUploadedUpdate();\n\t\t\t} else {\n\t\t\t\tminorShape.visible = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateTicksY(\n\t\tdomainMin: number,\n\t\tdomainMax: number,\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tmajorShapes: EShapeBar[],\n\t\tminorShapes: EShapeBar[],\n\t\tgridlineShapes: EShapeBar[] | undefined,\n\t\tshapePositionX: number,\n\t\ttransform: Matrix,\n\t\tplotAreaWidth: number\n\t): void {\n\t\tconst tick = this._tick;\n\t\tconst majorTick = tick.major;\n\t\tconst majorCount = majorTick.count;\n\t\tconst majorStep = majorTick.step;\n\t\tconst majorFormatter = majorTick.formatter;\n\t\tconst minorTick = tick.minor;\n\t\tconst minorCountPerMajor = minorTick.count;\n\t\tconst minorCount = (majorCount + 1) * minorCountPerMajor;\n\t\tconst minorStep = minorTick.step;\n\t\tconst majorTicks = this._majorTicks;\n\t\tconst minorTicks = this._minorTicks;\n\t\tcoordinate.ticks(\n\t\t\tdomainMin,\n\t\t\tdomainMax,\n\t\t\tmajorCount,\n\t\t\tmajorStep,\n\t\t\tminorCountPerMajor,\n\t\t\tminorCount,\n\t\t\tminorStep,\n\t\t\tmajorTicks,\n\t\t\tminorTicks\n\t\t);\n\n\t\tconst d = transform.d;\n\t\tconst ty = transform.ty;\n\t\tfor (let i = 0; i < majorCount; ++i) {\n\t\t\tconst majorShape = majorShapes[i];\n\t\t\tconst imajorTick = i * 3;\n\t\t\tconst majorTickPosition = majorTicks[imajorTick + 0];\n\t\t\tif (!isNaN(majorTickPosition)) {\n\t\t\t\tconst majorTickProjectedPosition = majorTicks[imajorTick + 1];\n\t\t\t\tconst majotTickPositionY = d * majorTickProjectedPosition + ty;\n\t\t\t\tconst majorTickStep = majorTicks[imajorTick + 2];\n\n\t\t\t\tmajorShape.disallowUploadedUpdate();\n\t\t\t\tmajorShape.visible = true;\n\t\t\t\tmajorShape.transform.position.set(shapePositionX, majotTickPositionY);\n\t\t\t\tmajorShape.text.value = majorFormatter.format(majorTickPosition, majorTickStep);\n\t\t\t\tmajorShape.allowUploadedUpdate();\n\n\t\t\t\tif (gridlineShapes) {\n\t\t\t\t\tconst gridlineShape = gridlineShapes[i];\n\t\t\t\t\tgridlineShape.disallowUploadedUpdate();\n\t\t\t\t\tgridlineShape.visible = true;\n\t\t\t\t\tgridlineShape.transform.position.set(plotAreaWidth * 0.5, majotTickPositionY);\n\t\t\t\t\tgridlineShape.size.set(plotAreaWidth, 0);\n\t\t\t\t\tgridlineShape.allowUploadedUpdate();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmajorShape.visible = false;\n\t\t\t\tif (gridlineShapes) {\n\t\t\t\t\tgridlineShapes[i].visible = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i < minorCount; ++i) {\n\t\t\tconst minorShape = minorShapes[i];\n\t\t\tconst iminorTick = i * 3;\n\t\t\tconst minorTickPosition = minorTicks[iminorTick + 0];\n\t\t\tconst minorTickProjectedPosition = minorTicks[iminorTick + 1];\n\t\t\tif (!isNaN(minorTickPosition)) {\n\t\t\t\tminorShape.disallowUploadedUpdate();\n\t\t\t\tminorShape.visible = true;\n\t\t\t\tminorShape.transform.position.set(\n\t\t\t\t\tshapePositionX,\n\t\t\t\t\td * minorTickProjectedPosition + ty\n\t\t\t\t);\n\t\t\t\tminorShape.allowUploadedUpdate();\n\t\t\t} else {\n\t\t\t\tminorShape.visible = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected updateTicks(container: DChartAxisContainer<CHART>): void {\n\t\tconst tick = this._tick;\n\t\tconst majorShapes = tick.major.shapes;\n\t\tconst minorShapes = tick.minor.shapes;\n\t\tif (majorShapes && minorShapes) {\n\t\t\tconst plotArea = container.plotArea;\n\t\t\tconst bounds = plotArea.getBoundsInContainer();\n\t\t\tconst transform = plotArea.container.transform.localTransform;\n\t\t\tconst gridlineShapes = tick.major.gridline.shapes;\n\n\t\t\tconst coordinateIndex = this._coordinateIndex;\n\t\t\tconst padding = this._padding * this._index;\n\t\t\tlet coordinate: DChartCoordinate<CHART> | null;\n\t\t\tswitch (this._position) {\n\t\t\t\tcase DChartAxisPosition.TOP:\n\t\t\t\t\tcoordinate = plotArea.coordinate.x.get(coordinateIndex);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.x));\n\t\t\t\t\t\tconst domainTo = coordinate.unmap(\n\t\t\t\t\t\t\tcoordinate.transform.unmap(bounds.x + bounds.width)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst plotAreaHeight = plotArea.height;\n\t\t\t\t\t\tthis.updateTicksX(\n\t\t\t\t\t\t\tdomainFrom,\n\t\t\t\t\t\t\tdomainTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\t0 - padding,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaHeight\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.BOTTOM:\n\t\t\t\t\tcoordinate = plotArea.coordinate.x.get(coordinateIndex);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.x));\n\t\t\t\t\t\tconst domainTo = coordinate.unmap(\n\t\t\t\t\t\t\tcoordinate.transform.unmap(bounds.x + bounds.width)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst plotAreaHeight = plotArea.height;\n\t\t\t\t\t\tthis.updateTicksX(\n\t\t\t\t\t\t\tdomainFrom,\n\t\t\t\t\t\t\tdomainTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\tplotAreaHeight + padding,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaHeight\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.LEFT:\n\t\t\t\t\tcoordinate = plotArea.coordinate.y.get(coordinateIndex);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.y));\n\t\t\t\t\t\tconst domainTo = coordinate.unmap(\n\t\t\t\t\t\t\tcoordinate.transform.unmap(bounds.y + bounds.height)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst plotAreaWidth = plotArea.width;\n\t\t\t\t\t\tthis.updateTicksY(\n\t\t\t\t\t\t\tdomainFrom,\n\t\t\t\t\t\t\tdomainTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\t0 - padding,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaWidth\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.RIGHT:\n\t\t\t\t\tcoordinate = plotArea.coordinate.y.get(coordinateIndex);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.y));\n\t\t\t\t\t\tconst domainTo = coordinate.unmap(\n\t\t\t\t\t\t\tcoordinate.transform.unmap(bounds.y + bounds.height)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst plotAreaWidth = plotArea.width;\n\t\t\t\t\t\tthis.updateTicksY(\n\t\t\t\t\t\t\tdomainFrom,\n\t\t\t\t\t\t\tdomainTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\tplotAreaWidth + padding,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaWidth\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tbind(container: DChartAxisContainer<CHART>, index: number): void {\n\t\tthis._container = container;\n\t\tthis._index = index;\n\t\tconst tickShapeContainer = container.container;\n\n\t\t// Bar\n\t\tconst bar = this._bar;\n\t\tlet barShape = bar.shape;\n\t\tif (!barShape) {\n\t\t\tconst position = this._position;\n\t\t\tconst barPosition =\n\t\t\t\tposition === DChartAxisPosition.LEFT || position === DChartAxisPosition.RIGHT\n\t\t\t\t\t? EShapeBarPosition.TOP\n\t\t\t\t\t: EShapeBarPosition.LEFT;\n\t\t\tconst barStyle = bar.style || EShapePointsStyle.NONE;\n\t\t\tbarShape = new EShapeBar();\n\t\t\tbarShape.points.position = barPosition;\n\t\t\tbarShape.points.style = barStyle;\n\t\t\tbarShape.stroke.copy(bar.stroke);\n\t\t\tbarShape.text.copy(this._label);\n\t\t\tthis._bar.shape = barShape;\n\t\t}\n\t\tbarShape.attach(container.container);\n\n\t\t// Major tick gridline\n\t\tconst tick = this._tick;\n\t\tconst tickMajor = tick.major;\n\t\tconst gridline = tickMajor.gridline;\n\t\tlet gridlineShapes = gridline.shapes;\n\t\tif (!gridlineShapes && tick.enable && gridline.enable) {\n\t\t\tgridlineShapes = [];\n\t\t\tgridline.shapes = gridlineShapes;\n\t\t\tconst position = this._position;\n\t\t\tconst gridlinePosition =\n\t\t\t\tposition === DChartAxisPosition.LEFT || position === DChartAxisPosition.RIGHT\n\t\t\t\t\t? EShapeBarPosition.LEFT\n\t\t\t\t\t: EShapeBarPosition.TOP;\n\t\t\tconst gridlineCount = tickMajor.count;\n\t\t\tconst gridlineStyle = gridline.style || EShapePointsStyle.NONE;\n\t\t\tfor (let i = 0; i < gridlineCount; ++i) {\n\t\t\t\tconst gridlineShape = new EShapeBar();\n\t\t\t\tgridlineShape.points.position = gridlinePosition;\n\t\t\t\tgridlineShape.points.style = gridlineStyle;\n\t\t\t\tgridlineShape.stroke.copy(gridline.stroke);\n\t\t\t\tgridlineShapes.push(gridlineShape);\n\t\t\t}\n\t\t}\n\t\tif (gridlineShapes) {\n\t\t\tfor (let i = 0, imax = gridlineShapes.length; i < imax; ++i) {\n\t\t\t\tgridlineShapes[i].attach(tickShapeContainer);\n\t\t\t}\n\t\t}\n\n\t\t// Major ticks\n\t\tlet tickMajorShapes = tickMajor.shapes;\n\t\tif (!tickMajorShapes && tick.enable) {\n\t\t\ttickMajorShapes = [];\n\t\t\ttickMajor.shapes = tickMajorShapes;\n\t\t\tconst tickMajorCount = tickMajor.count;\n\t\t\tconst tickMajorSize = tickMajor.size;\n\t\t\tconst tickMajorPosition = tickMajor.position;\n\t\t\tconst tickMajorStyle = tickMajor.style || EShapePointsStyle.NONE;\n\t\t\tfor (let i = 0; i < tickMajorCount; ++i) {\n\t\t\t\tconst tickMajorShape = new EShapeBar();\n\t\t\t\ttickMajorShape.points.position = tickMajorPosition;\n\t\t\t\ttickMajorShape.points.size = tickMajorSize;\n\t\t\t\ttickMajorShape.points.style = tickMajorStyle;\n\t\t\t\ttickMajorShape.stroke.copy(tickMajor.stroke);\n\t\t\t\ttickMajorShape.text.copy(tickMajor.text);\n\t\t\t\ttickMajorShape.size.set(0, 0);\n\t\t\t\ttickMajorShapes.push(tickMajorShape);\n\t\t\t}\n\t\t}\n\t\tif (tickMajorShapes) {\n\t\t\tfor (let i = 0, imax = tickMajorShapes.length; i < imax; ++i) {\n\t\t\t\ttickMajorShapes[i].attach(tickShapeContainer);\n\t\t\t}\n\t\t}\n\n\t\t// Minor ticks\n\t\tconst tickMinor = tick.minor;\n\t\tlet tickMinorShapes = tickMinor.shapes;\n\t\tif (!tickMinorShapes && tick.enable) {\n\t\t\ttickMinorShapes = [];\n\t\t\ttickMinor.shapes = tickMinorShapes;\n\t\t\tconst tickMinorCount = tickMinor.count;\n\t\t\tconst tickMinorSize = tickMinor.size;\n\t\t\tconst tickMinorPosition = tickMinor.position;\n\t\t\tconst tickMinorStyle = tickMinor.style || EShapePointsStyle.NONE;\n\t\t\tfor (let i = 0, imax = (tickMajor.count + 1) * tickMinorCount; i < imax; ++i) {\n\t\t\t\tconst tickMinorShape = new EShapeBar();\n\t\t\t\ttickMinorShape.points.position = tickMinorPosition;\n\t\t\t\ttickMinorShape.points.size = tickMinorSize;\n\t\t\t\ttickMinorShape.points.style = tickMinorStyle;\n\t\t\t\ttickMinorShape.stroke.copy(tickMinor.stroke);\n\t\t\t\ttickMinorShape.size.set(0, 0);\n\t\t\t\ttickMinorShapes.push(tickMinorShape);\n\t\t\t}\n\t\t}\n\t\tif (tickMinorShapes) {\n\t\t\tfor (let i = 0, imax = tickMinorShapes.length; i < imax; ++i) {\n\t\t\t\ttickMinorShapes[i].attach(tickShapeContainer);\n\t\t\t}\n\t\t}\n\t}\n\n\tunbind(): void {\n\t\t// Bar\n\t\tconst barShape = this._bar.shape;\n\t\tif (barShape) {\n\t\t\tbarShape.detach();\n\t\t}\n\n\t\t// Major ticks\n\t\tconst tick = this._tick;\n\t\tconst tickMajorShapes = tick.major.shapes;\n\t\tif (tickMajorShapes) {\n\t\t\tfor (let i = 0, imax = tickMajorShapes.length; i < imax; ++i) {\n\t\t\t\ttickMajorShapes[i].detach();\n\t\t\t}\n\t\t}\n\n\t\t// Major tick gridlines\n\t\tconst tickMajorGridlineShapes = tick.major.gridline.shapes;\n\t\tif (tickMajorGridlineShapes) {\n\t\t\tfor (let i = 0, imax = tickMajorGridlineShapes.length; i < imax; ++i) {\n\t\t\t\ttickMajorGridlineShapes[i].detach();\n\t\t\t}\n\t\t}\n\n\t\t// Minor ticks\n\t\tconst tickMinorShapes = tick.minor.shapes;\n\t\tif (tickMinorShapes) {\n\t\t\tfor (let i = 0, imax = tickMinorShapes.length; i < imax; ++i) {\n\t\t\t\ttickMinorShapes[i].detach();\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tthis._container = undefined;\n\t}\n\n\tupdate(): void {\n\t\tconst container = this._container;\n\t\tif (container) {\n\t\t\tthis.updateBar(container);\n\t\t\tthis.updateTicks(container);\n\t\t}\n\t}\n\n\tdestroy(): void {\n\t\t// Bar\n\t\tconst barShape = this._bar.shape;\n\t\tif (barShape) {\n\t\t\tbarShape.destroy();\n\t\t}\n\n\t\t// Major ticks\n\t\tconst tick = this._tick;\n\t\tconst tickMajorShapes = tick.major.shapes;\n\t\tif (tickMajorShapes) {\n\t\t\tfor (let i = 0, imax = tickMajorShapes.length; i < imax; ++i) {\n\t\t\t\ttickMajorShapes[i].destroy();\n\t\t\t}\n\t\t}\n\n\t\t// Major tick gridlines\n\t\tconst tickMajorGridlineShapes = tick.major.gridline.shapes;\n\t\tif (tickMajorGridlineShapes) {\n\t\t\tfor (let i = 0, imax = tickMajorGridlineShapes.length; i < imax; ++i) {\n\t\t\t\ttickMajorGridlineShapes[i].destroy();\n\t\t\t}\n\t\t}\n\n\t\t// Minor ticks\n\t\tconst tickMinorShapes = tick.minor.shapes;\n\t\tif (tickMinorShapes) {\n\t\t\tfor (let i = 0, imax = tickMinorShapes.length; i < imax; ++i) {\n\t\t\t\ttickMinorShapes[i].destroy();\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tthis._container = undefined;\n\t}\n\n\tprotected toTheme(options?: DChartAxisBaseOptions): DThemeChartAxisBase {\n\t\treturn (options && options.theme) || this.getThemeDefault();\n\t}\n\n\tprotected getThemeDefault(): DThemeChartAxisBase {\n\t\treturn DThemes.getInstance().get(this.getType());\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DChartAxisBase\";\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-chart-axis-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-chart-axis-base.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Matrix } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport { DChartAxis } from \"./d-chart-axis\";\nimport { DChartAxisBaseOptions, DThemeChartAxisBase } from \"./d-chart-axis-base-options\";\nimport {\n\tDChartAxisBaseBar,\n\tDChartAxisBaseOptionParser,\n\tDChartAxisBaseTickContainer\n} from \"./d-chart-axis-base-options-parser\";\nimport { DChartAxisContainer } from \"./d-chart-axis-container\";\nimport { DChartAxisPosition } from \"./d-chart-axis-position\";\nimport { DChartCoordinate } from \"./d-chart-coordinate\";\nimport { EShapePointsStyle } from \"./shape/e-shape-points-style\";\nimport { EShapeTextLike } from \"./shape/e-shape-text\";\nimport { EShapeBar } from \"./shape/variant/e-shape-bar\";\nimport { EShapeBarPosition } from \"./shape/variant/e-shape-bar-position\";\nimport { DThemes } from \"./theme/d-themes\";\nimport { DeepPartial } from \"./util/deep-partial\";\nimport { isNaN } from \"./util/is-nan\";\n\nexport class DChartAxisBase<\n\tCHART extends DBase = DBase,\n\tOPTIONS extends DChartAxisBaseOptions = DChartAxisBaseOptions\n> implements DChartAxis<CHART>\n{\n\tprotected _coordinateIndex: number;\n\tprotected _padding: number;\n\tprotected _position: DChartAxisPosition;\n\tprotected _container?: DChartAxisContainer<CHART>;\n\tprotected _bar: DChartAxisBaseBar;\n\tprotected _index: number;\n\tprotected _tick: DChartAxisBaseTickContainer;\n\tprotected _majorTicks: Float64Array;\n\tprotected _minorTicks: Float64Array;\n\tprotected _label?: DeepPartial<EShapeTextLike>;\n\tprotected _theme: DThemeChartAxisBase;\n\n\tconstructor(options?: OPTIONS) {\n\t\tconst theme = this.toTheme(options);\n\t\tthis._theme = theme;\n\t\tthis._index = 0;\n\n\t\tconst parser = new DChartAxisBaseOptionParser(theme, options);\n\t\tthis._coordinateIndex = parser.coordinateIndex;\n\t\tthis._padding = parser.padding;\n\t\tthis._position = parser.position;\n\t\tconst tick = parser.tick;\n\t\tthis._tick = tick;\n\t\tthis._label = parser.label;\n\t\tthis._bar = parser.bar;\n\t\tconst tickMajorCount = tick.major.count;\n\t\tconst tickMinorCount = tick.minor.count;\n\t\tthis._majorTicks = new Float64Array(tickMajorCount * 3);\n\t\tthis._minorTicks = new Float64Array((tickMajorCount + 1) * tickMinorCount * 3);\n\t}\n\n\tget position(): DChartAxisPosition {\n\t\treturn this._position;\n\t}\n\n\tprotected updateBar(container: DChartAxisContainer<CHART>): void {\n\t\tconst bar = this._bar;\n\t\tconst shape = bar.shape;\n\t\tif (shape) {\n\t\t\tconst plotArea = container.plotArea;\n\t\t\tconst plotAreaWidth = plotArea.width;\n\t\t\tconst plotAreaHeight = plotArea.height;\n\t\t\tconst padding = this._padding * this._index;\n\t\t\tshape.disallowUploadedUpdate();\n\t\t\tconst position = shape.transform.position;\n\t\t\tconst size = shape.size;\n\t\t\tswitch (this._position) {\n\t\t\t\tcase DChartAxisPosition.TOP:\n\t\t\t\t\tposition.set(plotAreaWidth * 0.5, 0 - padding);\n\t\t\t\t\tsize.set(plotAreaWidth, 0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.BOTTOM:\n\t\t\t\t\tposition.set(plotAreaWidth * 0.5, plotAreaHeight + padding);\n\t\t\t\t\tsize.set(plotAreaWidth, 0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.LEFT:\n\t\t\t\t\tposition.set(0 - padding, plotAreaHeight * 0.5);\n\t\t\t\t\tsize.set(0, plotAreaHeight);\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.RIGHT:\n\t\t\t\t\tposition.set(plotAreaWidth + padding, plotAreaHeight * 0.5);\n\t\t\t\t\tsize.set(0, plotAreaHeight);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tshape.allowUploadedUpdate();\n\t\t}\n\t}\n\n\tupdateTicksX(\n\t\tdomainMin: number,\n\t\tdomainMax: number,\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tmajorShapes: EShapeBar[],\n\t\tminorShapes: EShapeBar[],\n\t\tgridlineShapes: EShapeBar[] | undefined,\n\t\tshapePositionY: number,\n\t\ttransform: Matrix,\n\t\tplotAreaHeight: number\n\t): void {\n\t\tconst tick = this._tick;\n\t\tconst majorTick = tick.major;\n\t\tconst majorCount = majorTick.count;\n\t\tconst majorStep = majorTick.step;\n\t\tconst majorFormatter = majorTick.formatter;\n\t\tconst minorTick = tick.minor;\n\t\tconst minorCountPerMajor = minorTick.count;\n\t\tconst minorCount = (majorCount + 1) * minorCountPerMajor;\n\t\tconst minorStep = minorTick.step;\n\t\tconst majorTicks = this._majorTicks;\n\t\tconst minorTicks = this._minorTicks;\n\t\tcoordinate.ticks(\n\t\t\tdomainMin,\n\t\t\tdomainMax,\n\t\t\tmajorCount,\n\t\t\tmajorStep,\n\t\t\tminorCountPerMajor,\n\t\t\tminorCount,\n\t\t\tminorStep,\n\t\t\tmajorTicks,\n\t\t\tminorTicks\n\t\t);\n\n\t\tconst a = transform.a;\n\t\tconst tx = transform.tx;\n\t\tfor (let i = 0; i < majorCount; ++i) {\n\t\t\tconst majorShape = majorShapes[i];\n\t\t\tconst imajorTick = i * 3;\n\t\t\tconst majorTickPosition = majorTicks[imajorTick + 0];\n\t\t\tif (!isNaN(majorTickPosition)) {\n\t\t\t\tconst majorTickProjectedPosition = majorTicks[imajorTick + 1];\n\t\t\t\tconst majotTickPositionX = a * majorTickProjectedPosition + tx;\n\t\t\t\tconst majorTickStep = majorTicks[imajorTick + 2];\n\n\t\t\t\tmajorShape.disallowUploadedUpdate();\n\t\t\t\tmajorShape.visible = true;\n\t\t\t\tmajorShape.transform.position.set(majotTickPositionX, shapePositionY);\n\t\t\t\tmajorShape.text.value = majorFormatter.format(majorTickPosition, majorTickStep);\n\t\t\t\tmajorShape.allowUploadedUpdate();\n\n\t\t\t\tif (gridlineShapes) {\n\t\t\t\t\tconst gridlineShape = gridlineShapes[i];\n\t\t\t\t\tgridlineShape.disallowUploadedUpdate();\n\t\t\t\t\tgridlineShape.visible = true;\n\t\t\t\t\tgridlineShape.transform.position.set(majotTickPositionX, plotAreaHeight * 0.5);\n\t\t\t\t\tgridlineShape.size.set(0, plotAreaHeight);\n\t\t\t\t\tgridlineShape.allowUploadedUpdate();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmajorShape.visible = false;\n\t\t\t\tif (gridlineShapes) {\n\t\t\t\t\tgridlineShapes[i].visible = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i < minorCount; ++i) {\n\t\t\tconst minorShape = minorShapes[i];\n\t\t\tconst iminorTick = i * 3;\n\t\t\tconst minorTickPosition = minorTicks[iminorTick + 0];\n\t\t\tconst minorTickProjectedPosition = minorTicks[iminorTick + 1];\n\t\t\tif (!isNaN(minorTickPosition)) {\n\t\t\t\tminorShape.disallowUploadedUpdate();\n\t\t\t\tminorShape.visible = true;\n\t\t\t\tminorShape.transform.position.set(\n\t\t\t\t\ta * minorTickProjectedPosition + tx,\n\t\t\t\t\tshapePositionY\n\t\t\t\t);\n\t\t\t\tminorShape.allowUploadedUpdate();\n\t\t\t} else {\n\t\t\t\tminorShape.visible = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateTicksY(\n\t\tdomainMin: number,\n\t\tdomainMax: number,\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tmajorShapes: EShapeBar[],\n\t\tminorShapes: EShapeBar[],\n\t\tgridlineShapes: EShapeBar[] | undefined,\n\t\tshapePositionX: number,\n\t\ttransform: Matrix,\n\t\tplotAreaWidth: number\n\t): void {\n\t\tconst tick = this._tick;\n\t\tconst majorTick = tick.major;\n\t\tconst majorCount = majorTick.count;\n\t\tconst majorStep = majorTick.step;\n\t\tconst majorFormatter = majorTick.formatter;\n\t\tconst minorTick = tick.minor;\n\t\tconst minorCountPerMajor = minorTick.count;\n\t\tconst minorCount = (majorCount + 1) * minorCountPerMajor;\n\t\tconst minorStep = minorTick.step;\n\t\tconst majorTicks = this._majorTicks;\n\t\tconst minorTicks = this._minorTicks;\n\t\tcoordinate.ticks(\n\t\t\tdomainMin,\n\t\t\tdomainMax,\n\t\t\tmajorCount,\n\t\t\tmajorStep,\n\t\t\tminorCountPerMajor,\n\t\t\tminorCount,\n\t\t\tminorStep,\n\t\t\tmajorTicks,\n\t\t\tminorTicks\n\t\t);\n\n\t\tconst d = transform.d;\n\t\tconst ty = transform.ty;\n\t\tfor (let i = 0; i < majorCount; ++i) {\n\t\t\tconst majorShape = majorShapes[i];\n\t\t\tconst imajorTick = i * 3;\n\t\t\tconst majorTickPosition = majorTicks[imajorTick + 0];\n\t\t\tif (!isNaN(majorTickPosition)) {\n\t\t\t\tconst majorTickProjectedPosition = majorTicks[imajorTick + 1];\n\t\t\t\tconst majotTickPositionY = d * majorTickProjectedPosition + ty;\n\t\t\t\tconst majorTickStep = majorTicks[imajorTick + 2];\n\n\t\t\t\tmajorShape.disallowUploadedUpdate();\n\t\t\t\tmajorShape.visible = true;\n\t\t\t\tmajorShape.transform.position.set(shapePositionX, majotTickPositionY);\n\t\t\t\tmajorShape.text.value = majorFormatter.format(majorTickPosition, majorTickStep);\n\t\t\t\tmajorShape.allowUploadedUpdate();\n\n\t\t\t\tif (gridlineShapes) {\n\t\t\t\t\tconst gridlineShape = gridlineShapes[i];\n\t\t\t\t\tgridlineShape.disallowUploadedUpdate();\n\t\t\t\t\tgridlineShape.visible = true;\n\t\t\t\t\tgridlineShape.transform.position.set(plotAreaWidth * 0.5, majotTickPositionY);\n\t\t\t\t\tgridlineShape.size.set(plotAreaWidth, 0);\n\t\t\t\t\tgridlineShape.allowUploadedUpdate();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmajorShape.visible = false;\n\t\t\t\tif (gridlineShapes) {\n\t\t\t\t\tgridlineShapes[i].visible = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i < minorCount; ++i) {\n\t\t\tconst minorShape = minorShapes[i];\n\t\t\tconst iminorTick = i * 3;\n\t\t\tconst minorTickPosition = minorTicks[iminorTick + 0];\n\t\t\tconst minorTickProjectedPosition = minorTicks[iminorTick + 1];\n\t\t\tif (!isNaN(minorTickPosition)) {\n\t\t\t\tminorShape.disallowUploadedUpdate();\n\t\t\t\tminorShape.visible = true;\n\t\t\t\tminorShape.transform.position.set(\n\t\t\t\t\tshapePositionX,\n\t\t\t\t\td * minorTickProjectedPosition + ty\n\t\t\t\t);\n\t\t\t\tminorShape.allowUploadedUpdate();\n\t\t\t} else {\n\t\t\t\tminorShape.visible = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected updateTicks(container: DChartAxisContainer<CHART>): void {\n\t\tconst tick = this._tick;\n\t\tconst majorShapes = tick.major.shapes;\n\t\tconst minorShapes = tick.minor.shapes;\n\t\tif (majorShapes && minorShapes) {\n\t\t\tconst plotArea = container.plotArea;\n\t\t\tconst bounds = plotArea.getBoundsInContainer();\n\t\t\tconst transform = plotArea.container.transform.localTransform;\n\t\t\tconst gridlineShapes = tick.major.gridline.shapes;\n\n\t\t\tconst coordinateIndex = this._coordinateIndex;\n\t\t\tconst padding = this._padding * this._index;\n\t\t\tlet coordinate: DChartCoordinate<CHART> | null;\n\t\t\tswitch (this._position) {\n\t\t\t\tcase DChartAxisPosition.TOP:\n\t\t\t\t\tcoordinate = plotArea.coordinate.x.get(coordinateIndex);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.x));\n\t\t\t\t\t\tconst domainTo = coordinate.unmap(\n\t\t\t\t\t\t\tcoordinate.transform.unmap(bounds.x + bounds.width)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst plotAreaHeight = plotArea.height;\n\t\t\t\t\t\tthis.updateTicksX(\n\t\t\t\t\t\t\tdomainFrom,\n\t\t\t\t\t\t\tdomainTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\t0 - padding,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaHeight\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.BOTTOM:\n\t\t\t\t\tcoordinate = plotArea.coordinate.x.get(coordinateIndex);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.x));\n\t\t\t\t\t\tconst domainTo = coordinate.unmap(\n\t\t\t\t\t\t\tcoordinate.transform.unmap(bounds.x + bounds.width)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst plotAreaHeight = plotArea.height;\n\t\t\t\t\t\tthis.updateTicksX(\n\t\t\t\t\t\t\tdomainFrom,\n\t\t\t\t\t\t\tdomainTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\tplotAreaHeight + padding,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaHeight\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.LEFT:\n\t\t\t\t\tcoordinate = plotArea.coordinate.y.get(coordinateIndex);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.y));\n\t\t\t\t\t\tconst domainTo = coordinate.unmap(\n\t\t\t\t\t\t\tcoordinate.transform.unmap(bounds.y + bounds.height)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst plotAreaWidth = plotArea.width;\n\t\t\t\t\t\tthis.updateTicksY(\n\t\t\t\t\t\t\tdomainFrom,\n\t\t\t\t\t\t\tdomainTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\t0 - padding,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaWidth\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.RIGHT:\n\t\t\t\t\tcoordinate = plotArea.coordinate.y.get(coordinateIndex);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.y));\n\t\t\t\t\t\tconst domainTo = coordinate.unmap(\n\t\t\t\t\t\t\tcoordinate.transform.unmap(bounds.y + bounds.height)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst plotAreaWidth = plotArea.width;\n\t\t\t\t\t\tthis.updateTicksY(\n\t\t\t\t\t\t\tdomainFrom,\n\t\t\t\t\t\t\tdomainTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\tplotAreaWidth + padding,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaWidth\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tbind(container: DChartAxisContainer<CHART>, index: number): void {\n\t\tthis._container = container;\n\t\tthis._index = index;\n\t\tconst tickShapeContainer = container.container;\n\n\t\t// Bar\n\t\tconst bar = this._bar;\n\t\tlet barShape = bar.shape;\n\t\tif (!barShape) {\n\t\t\tconst position = this._position;\n\t\t\tconst barPosition =\n\t\t\t\tposition === DChartAxisPosition.LEFT || position === DChartAxisPosition.RIGHT\n\t\t\t\t\t? EShapeBarPosition.TOP\n\t\t\t\t\t: EShapeBarPosition.LEFT;\n\t\t\tconst barStyle = bar.style || EShapePointsStyle.NONE;\n\t\t\tbarShape = new EShapeBar();\n\t\t\tbarShape.points.position = barPosition;\n\t\t\tbarShape.points.style = barStyle;\n\t\t\tbarShape.stroke.copy(bar.stroke);\n\t\t\tbarShape.text.copy(this._label);\n\t\t\tthis._bar.shape = barShape;\n\t\t}\n\t\tbarShape.attach(container.container);\n\n\t\t// Major tick gridline\n\t\tconst tick = this._tick;\n\t\tconst tickMajor = tick.major;\n\t\tconst gridline = tickMajor.gridline;\n\t\tlet gridlineShapes = gridline.shapes;\n\t\tif (!gridlineShapes && tick.enable && gridline.enable) {\n\t\t\tgridlineShapes = [];\n\t\t\tgridline.shapes = gridlineShapes;\n\t\t\tconst position = this._position;\n\t\t\tconst gridlinePosition =\n\t\t\t\tposition === DChartAxisPosition.LEFT || position === DChartAxisPosition.RIGHT\n\t\t\t\t\t? EShapeBarPosition.LEFT\n\t\t\t\t\t: EShapeBarPosition.TOP;\n\t\t\tconst gridlineCount = tickMajor.count;\n\t\t\tconst gridlineStyle = gridline.style || EShapePointsStyle.NONE;\n\t\t\tfor (let i = 0; i < gridlineCount; ++i) {\n\t\t\t\tconst gridlineShape = new EShapeBar();\n\t\t\t\tgridlineShape.points.position = gridlinePosition;\n\t\t\t\tgridlineShape.points.style = gridlineStyle;\n\t\t\t\tgridlineShape.stroke.copy(gridline.stroke);\n\t\t\t\tgridlineShapes.push(gridlineShape);\n\t\t\t}\n\t\t}\n\t\tif (gridlineShapes) {\n\t\t\tfor (let i = 0, imax = gridlineShapes.length; i < imax; ++i) {\n\t\t\t\tgridlineShapes[i].attach(tickShapeContainer);\n\t\t\t}\n\t\t}\n\n\t\t// Major ticks\n\t\tlet tickMajorShapes = tickMajor.shapes;\n\t\tif (!tickMajorShapes && tick.enable) {\n\t\t\ttickMajorShapes = [];\n\t\t\ttickMajor.shapes = tickMajorShapes;\n\t\t\tconst tickMajorCount = tickMajor.count;\n\t\t\tconst tickMajorSize = tickMajor.size;\n\t\t\tconst tickMajorPosition = tickMajor.position;\n\t\t\tconst tickMajorStyle = tickMajor.style || EShapePointsStyle.NONE;\n\t\t\tfor (let i = 0; i < tickMajorCount; ++i) {\n\t\t\t\tconst tickMajorShape = new EShapeBar();\n\t\t\t\ttickMajorShape.points.position = tickMajorPosition;\n\t\t\t\ttickMajorShape.points.size = tickMajorSize;\n\t\t\t\ttickMajorShape.points.style = tickMajorStyle;\n\t\t\t\ttickMajorShape.stroke.copy(tickMajor.stroke);\n\t\t\t\ttickMajorShape.text.copy(tickMajor.text);\n\t\t\t\ttickMajorShape.size.set(0, 0);\n\t\t\t\ttickMajorShapes.push(tickMajorShape);\n\t\t\t}\n\t\t}\n\t\tif (tickMajorShapes) {\n\t\t\tfor (let i = 0, imax = tickMajorShapes.length; i < imax; ++i) {\n\t\t\t\ttickMajorShapes[i].attach(tickShapeContainer);\n\t\t\t}\n\t\t}\n\n\t\t// Minor ticks\n\t\tconst tickMinor = tick.minor;\n\t\tlet tickMinorShapes = tickMinor.shapes;\n\t\tif (!tickMinorShapes && tick.enable) {\n\t\t\ttickMinorShapes = [];\n\t\t\ttickMinor.shapes = tickMinorShapes;\n\t\t\tconst tickMinorCount = tickMinor.count;\n\t\t\tconst tickMinorSize = tickMinor.size;\n\t\t\tconst tickMinorPosition = tickMinor.position;\n\t\t\tconst tickMinorStyle = tickMinor.style || EShapePointsStyle.NONE;\n\t\t\tfor (let i = 0, imax = (tickMajor.count + 1) * tickMinorCount; i < imax; ++i) {\n\t\t\t\tconst tickMinorShape = new EShapeBar();\n\t\t\t\ttickMinorShape.points.position = tickMinorPosition;\n\t\t\t\ttickMinorShape.points.size = tickMinorSize;\n\t\t\t\ttickMinorShape.points.style = tickMinorStyle;\n\t\t\t\ttickMinorShape.stroke.copy(tickMinor.stroke);\n\t\t\t\ttickMinorShape.size.set(0, 0);\n\t\t\t\ttickMinorShapes.push(tickMinorShape);\n\t\t\t}\n\t\t}\n\t\tif (tickMinorShapes) {\n\t\t\tfor (let i = 0, imax = tickMinorShapes.length; i < imax; ++i) {\n\t\t\t\ttickMinorShapes[i].attach(tickShapeContainer);\n\t\t\t}\n\t\t}\n\t}\n\n\tunbind(): void {\n\t\t// Bar\n\t\tconst barShape = this._bar.shape;\n\t\tif (barShape) {\n\t\t\tbarShape.detach();\n\t\t}\n\n\t\t// Major ticks\n\t\tconst tick = this._tick;\n\t\tconst tickMajorShapes = tick.major.shapes;\n\t\tif (tickMajorShapes) {\n\t\t\tfor (let i = 0, imax = tickMajorShapes.length; i < imax; ++i) {\n\t\t\t\ttickMajorShapes[i].detach();\n\t\t\t}\n\t\t}\n\n\t\t// Major tick gridlines\n\t\tconst tickMajorGridlineShapes = tick.major.gridline.shapes;\n\t\tif (tickMajorGridlineShapes) {\n\t\t\tfor (let i = 0, imax = tickMajorGridlineShapes.length; i < imax; ++i) {\n\t\t\t\ttickMajorGridlineShapes[i].detach();\n\t\t\t}\n\t\t}\n\n\t\t// Minor ticks\n\t\tconst tickMinorShapes = tick.minor.shapes;\n\t\tif (tickMinorShapes) {\n\t\t\tfor (let i = 0, imax = tickMinorShapes.length; i < imax; ++i) {\n\t\t\t\ttickMinorShapes[i].detach();\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tthis._container = undefined;\n\t}\n\n\tupdate(): void {\n\t\tconst container = this._container;\n\t\tif (container) {\n\t\t\tthis.updateBar(container);\n\t\t\tthis.updateTicks(container);\n\t\t}\n\t}\n\n\tdestroy(): void {\n\t\t// Bar\n\t\tconst barShape = this._bar.shape;\n\t\tif (barShape) {\n\t\t\tbarShape.destroy();\n\t\t}\n\n\t\t// Major ticks\n\t\tconst tick = this._tick;\n\t\tconst tickMajorShapes = tick.major.shapes;\n\t\tif (tickMajorShapes) {\n\t\t\tfor (let i = 0, imax = tickMajorShapes.length; i < imax; ++i) {\n\t\t\t\ttickMajorShapes[i].destroy();\n\t\t\t}\n\t\t}\n\n\t\t// Major tick gridlines\n\t\tconst tickMajorGridlineShapes = tick.major.gridline.shapes;\n\t\tif (tickMajorGridlineShapes) {\n\t\t\tfor (let i = 0, imax = tickMajorGridlineShapes.length; i < imax; ++i) {\n\t\t\t\ttickMajorGridlineShapes[i].destroy();\n\t\t\t}\n\t\t}\n\n\t\t// Minor ticks\n\t\tconst tickMinorShapes = tick.minor.shapes;\n\t\tif (tickMinorShapes) {\n\t\t\tfor (let i = 0, imax = tickMinorShapes.length; i < imax; ++i) {\n\t\t\t\ttickMinorShapes[i].destroy();\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tthis._container = undefined;\n\t}\n\n\tprotected toTheme(options?: DChartAxisBaseOptions): DThemeChartAxisBase {\n\t\treturn (options && options.theme) || this.getThemeDefault();\n\t}\n\n\tprotected getThemeDefault(): DThemeChartAxisBase {\n\t\treturn DThemes.getInstance().get(this.getType());\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DChartAxisBase\";\n\t}\n}\n"]}
|
|
@@ -9,8 +9,12 @@ export var DCommandFlag = {
|
|
|
9
9
|
*/
|
|
10
10
|
UNSTORABLE: 1,
|
|
11
11
|
/**
|
|
12
|
-
* Commands with a `CLEAR` flag
|
|
12
|
+
* Commands with a `CLEAR` flag clear the command queue.
|
|
13
13
|
*/
|
|
14
|
-
CLEAR: 2
|
|
14
|
+
CLEAR: 2,
|
|
15
|
+
/**
|
|
16
|
+
* Commands with a `CLEAN` flag are not considered as modifications to documents
|
|
17
|
+
*/
|
|
18
|
+
CLEAN: 4
|
|
15
19
|
};
|
|
16
20
|
//# sourceMappingURL=d-command-flag.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-command-flag.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-command-flag.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,IAAM,YAAY,GAAG;IAC3B,IAAI,EAAE,CAAC;IAEP;;OAEG;IACH,UAAU,EAAE,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,CAAC;CACC,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const DCommandFlag = {\n\tNONE: 0,\n\n\t/**\n\t * Commands with a `UNSTORABLE` flag will not be queued to the `done` queue.\n\t */\n\tUNSTORABLE: 1,\n\n\t/**\n\t * Commands with a `CLEAR` flag
|
|
1
|
+
{"version":3,"file":"d-command-flag.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-command-flag.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,IAAM,YAAY,GAAG;IAC3B,IAAI,EAAE,CAAC;IAEP;;OAEG;IACH,UAAU,EAAE,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,CAAC;IAER;;OAEG;IACH,KAAK,EAAE,CAAC;CACC,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const DCommandFlag = {\n\tNONE: 0,\n\n\t/**\n\t * Commands with a `UNSTORABLE` flag will not be queued to the `done` queue.\n\t */\n\tUNSTORABLE: 1,\n\n\t/**\n\t * Commands with a `CLEAR` flag clear the command queue.\n\t */\n\tCLEAR: 2,\n\n\t/**\n\t * Commands with a `CLEAN` flag are not considered as modifications to documents\n\t */\n\tCLEAN: 4\n} as const;\n\nexport type DCommandFlag = number;\n"]}
|
|
@@ -14,6 +14,9 @@ var isCommandStorable = function (command) {
|
|
|
14
14
|
var isCommandClear = function (command) {
|
|
15
15
|
return !!(command.getFlag() & DCommandFlag.CLEAR);
|
|
16
16
|
};
|
|
17
|
+
var isCommandClean = function (command) {
|
|
18
|
+
return !!(command.getFlag() & DCommandFlag.CLEAN);
|
|
19
|
+
};
|
|
17
20
|
var DControllerDefaultCommand = /** @class */ (function (_super) {
|
|
18
21
|
__extends(DControllerDefaultCommand, _super);
|
|
19
22
|
function DControllerDefaultCommand() {
|
|
@@ -40,90 +43,109 @@ var DControllerDefaultCommand = /** @class */ (function (_super) {
|
|
|
40
43
|
}
|
|
41
44
|
};
|
|
42
45
|
DControllerDefaultCommand.prototype.push = function (command) {
|
|
43
|
-
|
|
44
|
-
waiting.push(command);
|
|
46
|
+
this._waiting.push(command);
|
|
45
47
|
this.next();
|
|
46
48
|
};
|
|
47
49
|
DControllerDefaultCommand.prototype.next = function () {
|
|
50
|
+
if (this._executing != null) {
|
|
51
|
+
// Still executing a command.
|
|
52
|
+
// So do nothing.
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
var waiting = this._waiting;
|
|
56
|
+
if (waiting.length <= 0) {
|
|
57
|
+
// There is no waiting commands.
|
|
58
|
+
// So do nothing.
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
var command = waiting.shift();
|
|
62
|
+
if (command == null) {
|
|
63
|
+
// There is no waiting commands.
|
|
64
|
+
// So do nothing.
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
if (command instanceof DCommandUndo) {
|
|
68
|
+
this.executeUndo(command);
|
|
69
|
+
}
|
|
70
|
+
else if (command instanceof DCommandRedo) {
|
|
71
|
+
this.executeRedo(command);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.execute(command);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
DControllerDefaultCommand.prototype.executeUndo = function (command) {
|
|
48
78
|
var _this = this;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
this._position -= 1;
|
|
81
|
-
this.emit("change", this);
|
|
82
|
-
var result = current.redo();
|
|
83
|
-
if (result === true) {
|
|
84
|
-
this.onSuccess(command_1);
|
|
85
|
-
}
|
|
86
|
-
else if (result === false) {
|
|
87
|
-
this.onFail(command_1);
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
this._executing = result.then(function () {
|
|
91
|
-
_this.onSuccess(command_1);
|
|
92
|
-
}, function () {
|
|
93
|
-
_this.onFail(command_1);
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
var isClear = isCommandClear(command_1);
|
|
100
|
-
var isStorable = isCommandStorable(command_1);
|
|
101
|
-
if (isClear || isStorable) {
|
|
102
|
-
var size = isClear ? this._done.length : this._position;
|
|
103
|
-
if (0 < size) {
|
|
104
|
-
this.remove(size);
|
|
105
|
-
this._position = 0;
|
|
106
|
-
this.emit("change", this);
|
|
107
|
-
}
|
|
108
|
-
this.cleanup();
|
|
109
|
-
}
|
|
110
|
-
var result = command_1.execute();
|
|
111
|
-
if (result === true) {
|
|
112
|
-
this.onSuccess(command_1);
|
|
113
|
-
}
|
|
114
|
-
else if (result === false) {
|
|
115
|
-
this.onFail(command_1);
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
this._executing = result.then(function () {
|
|
119
|
-
_this.onSuccess(command_1);
|
|
120
|
-
}, function () {
|
|
121
|
-
_this.onFail(command_1);
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
79
|
+
var done = this._done;
|
|
80
|
+
if (this._position < done.length) {
|
|
81
|
+
var current_1 = done[done.length - 1 - this._position];
|
|
82
|
+
this._position += 1;
|
|
83
|
+
this.emit("change", this);
|
|
84
|
+
var result = current_1.undo();
|
|
85
|
+
if (result === true) {
|
|
86
|
+
this.onSuccessUndo(current_1);
|
|
87
|
+
}
|
|
88
|
+
else if (result === false) {
|
|
89
|
+
this.onFail(command);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
this._executing = result.then(function () {
|
|
93
|
+
_this.onSuccessUndo(current_1);
|
|
94
|
+
}, function () {
|
|
95
|
+
_this.onFail(command);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
DControllerDefaultCommand.prototype.executeRedo = function (command) {
|
|
101
|
+
var _this = this;
|
|
102
|
+
var done = this._done;
|
|
103
|
+
if (0 < this._position) {
|
|
104
|
+
var current_2 = done[done.length - this._position];
|
|
105
|
+
this._position -= 1;
|
|
106
|
+
this.emit("change", this);
|
|
107
|
+
var result = current_2.redo();
|
|
108
|
+
if (result === true) {
|
|
109
|
+
this.onSuccessRedo(current_2);
|
|
126
110
|
}
|
|
111
|
+
else if (result === false) {
|
|
112
|
+
this.onFail(command);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
this._executing = result.then(function () {
|
|
116
|
+
_this.onSuccessRedo(current_2);
|
|
117
|
+
}, function () {
|
|
118
|
+
_this.onFail(command);
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
DControllerDefaultCommand.prototype.execute = function (command) {
|
|
124
|
+
var _this = this;
|
|
125
|
+
var isClear = isCommandClear(command);
|
|
126
|
+
var isStorable = isCommandStorable(command);
|
|
127
|
+
if (isClear || isStorable) {
|
|
128
|
+
var size = isClear ? this._done.length : this._position;
|
|
129
|
+
if (0 < size) {
|
|
130
|
+
this.remove(size);
|
|
131
|
+
this._position = 0;
|
|
132
|
+
this.emit("change", this);
|
|
133
|
+
}
|
|
134
|
+
this.cleanup();
|
|
135
|
+
}
|
|
136
|
+
var result = command.execute();
|
|
137
|
+
if (result === true) {
|
|
138
|
+
this.onSuccess(command);
|
|
139
|
+
}
|
|
140
|
+
else if (result === false) {
|
|
141
|
+
this.onFail(command);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
this._executing = result.then(function () {
|
|
145
|
+
_this.onSuccess(command);
|
|
146
|
+
}, function () {
|
|
147
|
+
_this.onFail(command);
|
|
148
|
+
});
|
|
127
149
|
}
|
|
128
150
|
};
|
|
129
151
|
DControllerDefaultCommand.prototype.cleanup = function () {
|
|
@@ -155,9 +177,24 @@ var DControllerDefaultCommand = /** @class */ (function (_super) {
|
|
|
155
177
|
this._executing = null;
|
|
156
178
|
if (isCommandStorable(command)) {
|
|
157
179
|
this._done.push(command);
|
|
180
|
+
if (!isCommandClean(command)) {
|
|
181
|
+
this.emit("dirty", this);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
this.emit("change", this);
|
|
185
|
+
this.next();
|
|
186
|
+
};
|
|
187
|
+
DControllerDefaultCommand.prototype.onSuccessUndo = function (undoed) {
|
|
188
|
+
this._executing = null;
|
|
189
|
+
if (!isCommandClean(undoed)) {
|
|
158
190
|
this.emit("dirty", this);
|
|
159
191
|
}
|
|
160
|
-
|
|
192
|
+
this.emit("change", this);
|
|
193
|
+
this.next();
|
|
194
|
+
};
|
|
195
|
+
DControllerDefaultCommand.prototype.onSuccessRedo = function (redoed) {
|
|
196
|
+
this._executing = null;
|
|
197
|
+
if (!isCommandClean(redoed)) {
|
|
161
198
|
this.emit("dirty", this);
|
|
162
199
|
}
|
|
163
200
|
this.emit("change", this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-controller-default-command.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-controller-default-command.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DCommand } from \"./d-command\";\nimport { DCommandClear } from \"./d-command-clear\";\nimport { DCommandFlag } from \"./d-command-flag\";\nimport { DCommandRedo } from \"./d-command-redo\";\nimport { DCommandUndo } from \"./d-command-undo\";\nimport { DControllerCommand } from \"./d-controller-command\";\n\nconst isCommandStorable = (command: DCommand): boolean => {\n\treturn !(command.getFlag() & DCommandFlag.UNSTORABLE);\n};\n\nconst isCommandClear = (command: DCommand): boolean => {\n\treturn !!(command.getFlag() & DCommandFlag.CLEAR);\n};\n\nexport class DControllerDefaultCommand extends utils.EventEmitter implements DControllerCommand {\n\tprotected _position: number;\n\tprotected _done: DCommand[];\n\tprotected _waiting: DCommand[];\n\tprotected _executing: Promise<void> | null;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._position = 0;\n\t\tthis._done = [];\n\t\tthis._waiting = [];\n\t\tthis._executing = null;\n\t}\n\n\tlast(): DCommand | null {\n\t\tconst done = this._done;\n\t\tconst waiting = this._waiting;\n\n\t\tif (waiting.length <= 0) {\n\t\t\tif (0 < done.length) {\n\t\t\t\treturn done[done.length - 1];\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t} else {\n\t\t\treturn waiting[waiting.length - 1];\n\t\t}\n\t}\n\n\tpush(command: DCommand): void {\n\t\tconst waiting = this._waiting;\n\t\twaiting.push(command);\n\t\tthis.next();\n\t}\n\n\tnext(): void {\n\t\tif (this._executing == null) {\n\t\t\tconst waiting = this._waiting;\n\t\t\tif (0 < waiting.length) {\n\t\t\t\tconst command = waiting.shift();\n\t\t\t\tif (command != null) {\n\t\t\t\t\tif (command instanceof DCommandUndo) {\n\t\t\t\t\t\tconst done = this._done;\n\t\t\t\t\t\tif (this._position < done.length) {\n\t\t\t\t\t\t\tconst current = done[done.length - 1 - this._position];\n\t\t\t\t\t\t\tthis._position += 1;\n\t\t\t\t\t\t\tthis.emit(\"change\", this);\n\t\t\t\t\t\t\tconst result = current.undo();\n\t\t\t\t\t\t\tif (result === true) {\n\t\t\t\t\t\t\t\tthis.onSuccess(command);\n\t\t\t\t\t\t\t} else if (result === false) {\n\t\t\t\t\t\t\t\tthis.onFail(command);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._executing = result.then(\n\t\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\t\tthis.onSuccess(command);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\t\tthis.onFail(command);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (command instanceof DCommandRedo) {\n\t\t\t\t\t\tconst done = this._done;\n\t\t\t\t\t\tif (0 < this._position) {\n\t\t\t\t\t\t\tconst current = done[done.length - this._position];\n\t\t\t\t\t\t\tthis._position -= 1;\n\t\t\t\t\t\t\tthis.emit(\"change\", this);\n\t\t\t\t\t\t\tconst result = current.redo();\n\t\t\t\t\t\t\tif (result === true) {\n\t\t\t\t\t\t\t\tthis.onSuccess(command);\n\t\t\t\t\t\t\t} else if (result === false) {\n\t\t\t\t\t\t\t\tthis.onFail(command);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._executing = result.then(\n\t\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\t\tthis.onSuccess(command);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\t\tthis.onFail(command);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst isClear = isCommandClear(command);\n\t\t\t\t\t\tconst isStorable = isCommandStorable(command);\n\t\t\t\t\t\tif (isClear || isStorable) {\n\t\t\t\t\t\t\tconst size = isClear ? this._done.length : this._position;\n\t\t\t\t\t\t\tif (0 < size) {\n\t\t\t\t\t\t\t\tthis.remove(size);\n\t\t\t\t\t\t\t\tthis._position = 0;\n\t\t\t\t\t\t\t\tthis.emit(\"change\", this);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.cleanup();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst result = command.execute();\n\t\t\t\t\t\tif (result === true) {\n\t\t\t\t\t\t\tthis.onSuccess(command);\n\t\t\t\t\t\t} else if (result === false) {\n\t\t\t\t\t\t\tthis.onFail(command);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis._executing = result.then(\n\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\tthis.onSuccess(command);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\tthis.onFail(command);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected cleanup(): void {\n\t\tconst done = this._done;\n\t\tconst size = done.length - 100;\n\t\tif (0 < size) {\n\t\t\tfor (let i = 0; i < size; ++i) {\n\t\t\t\tdone[i].destroy();\n\t\t\t\tdone.shift();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected remove(size: number): boolean {\n\t\tconst done = this._done;\n\t\tif (0 < size) {\n\t\t\tconst ifrom = Math.max(0, done.length - size);\n\t\t\tsize = done.length - ifrom;\n\t\t\tif (0 < size) {\n\t\t\t\tfor (let i = ifrom, imax = done.length; i < imax; ++i) {\n\t\t\t\t\tdone[i].destroy();\n\t\t\t\t}\n\n\t\t\t\tdone.splice(ifrom, done.length - ifrom);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected onSuccess(command: DCommand): void {\n\t\tthis._executing = null;\n\t\tif (isCommandStorable(command)) {\n\t\t\tthis._done.push(command);\n\t\t\tthis.emit(\"dirty\", this);\n\t\t} else if (command instanceof DCommandUndo || command instanceof DCommandRedo) {\n\t\t\tthis.emit(\"dirty\", this);\n\t\t}\n\t\tthis.emit(\"change\", this);\n\t\tthis.next();\n\t}\n\n\tprotected onFail(command: DCommand): void {\n\t\tthis._executing = null;\n\t\tconst waiting = this._waiting;\n\t\tcommand.destroy();\n\t\tfor (let i = 0, imax = waiting.length; i < imax; ++i) {\n\t\t\twaiting[i].destroy();\n\t\t}\n\t\twaiting.length = 0;\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tsize(): number {\n\t\treturn this._done.length;\n\t}\n\n\tclear(): void {\n\t\tthis.push(new DCommandClear());\n\t}\n\n\tredo(): void {\n\t\tif (this.isRedoable()) {\n\t\t\tthis._waiting.push(new DCommandRedo());\n\t\t\tthis.next();\n\t\t}\n\t}\n\n\tundo(): void {\n\t\tif (this.isUndoable()) {\n\t\t\tthis._waiting.push(new DCommandUndo());\n\t\t\tthis.next();\n\t\t}\n\t}\n\n\tisRedoable(): boolean {\n\t\treturn 0 < this._position && this._executing == null;\n\t}\n\n\tisUndoable(): boolean {\n\t\treturn this._position < this._done.length && this._executing == null;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-controller-default-command.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-controller-default-command.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DCommand } from \"./d-command\";\nimport { DCommandClear } from \"./d-command-clear\";\nimport { DCommandFlag } from \"./d-command-flag\";\nimport { DCommandRedo } from \"./d-command-redo\";\nimport { DCommandUndo } from \"./d-command-undo\";\nimport { DControllerCommand } from \"./d-controller-command\";\n\nconst isCommandStorable = (command: DCommand): boolean => {\n\treturn !(command.getFlag() & DCommandFlag.UNSTORABLE);\n};\n\nconst isCommandClear = (command: DCommand): boolean => {\n\treturn !!(command.getFlag() & DCommandFlag.CLEAR);\n};\n\nconst isCommandClean = (command: DCommand): boolean => {\n\treturn !!(command.getFlag() & DCommandFlag.CLEAN);\n};\n\nexport class DControllerDefaultCommand extends utils.EventEmitter implements DControllerCommand {\n\tprotected _position: number;\n\tprotected _done: DCommand[];\n\tprotected _waiting: DCommand[];\n\tprotected _executing: Promise<void> | null;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._position = 0;\n\t\tthis._done = [];\n\t\tthis._waiting = [];\n\t\tthis._executing = null;\n\t}\n\n\tlast(): DCommand | null {\n\t\tconst done = this._done;\n\t\tconst waiting = this._waiting;\n\n\t\tif (waiting.length <= 0) {\n\t\t\tif (0 < done.length) {\n\t\t\t\treturn done[done.length - 1];\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t} else {\n\t\t\treturn waiting[waiting.length - 1];\n\t\t}\n\t}\n\n\tpush(command: DCommand): void {\n\t\tthis._waiting.push(command);\n\t\tthis.next();\n\t}\n\n\tnext(): void {\n\t\tif (this._executing != null) {\n\t\t\t// Still executing a command.\n\t\t\t// So do nothing.\n\t\t\treturn;\n\t\t}\n\n\t\tconst waiting = this._waiting;\n\t\tif (waiting.length <= 0) {\n\t\t\t// There is no waiting commands.\n\t\t\t// So do nothing.\n\t\t\treturn;\n\t\t}\n\n\t\tconst command = waiting.shift();\n\t\tif (command == null) {\n\t\t\t// There is no waiting commands.\n\t\t\t// So do nothing.\n\t\t\treturn;\n\t\t}\n\n\t\tif (command instanceof DCommandUndo) {\n\t\t\tthis.executeUndo(command);\n\t\t} else if (command instanceof DCommandRedo) {\n\t\t\tthis.executeRedo(command);\n\t\t} else {\n\t\t\tthis.execute(command);\n\t\t}\n\t}\n\n\tprotected executeUndo(command: DCommandUndo): void {\n\t\tconst done = this._done;\n\t\tif (this._position < done.length) {\n\t\t\tconst current = done[done.length - 1 - this._position];\n\t\t\tthis._position += 1;\n\t\t\tthis.emit(\"change\", this);\n\t\t\tconst result = current.undo();\n\t\t\tif (result === true) {\n\t\t\t\tthis.onSuccessUndo(current);\n\t\t\t} else if (result === false) {\n\t\t\t\tthis.onFail(command);\n\t\t\t} else {\n\t\t\t\tthis._executing = result.then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tthis.onSuccessUndo(current);\n\t\t\t\t\t},\n\t\t\t\t\t() => {\n\t\t\t\t\t\tthis.onFail(command);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected executeRedo(command: DCommandRedo): void {\n\t\tconst done = this._done;\n\t\tif (0 < this._position) {\n\t\t\tconst current = done[done.length - this._position];\n\t\t\tthis._position -= 1;\n\t\t\tthis.emit(\"change\", this);\n\t\t\tconst result = current.redo();\n\t\t\tif (result === true) {\n\t\t\t\tthis.onSuccessRedo(current);\n\t\t\t} else if (result === false) {\n\t\t\t\tthis.onFail(command);\n\t\t\t} else {\n\t\t\t\tthis._executing = result.then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tthis.onSuccessRedo(current);\n\t\t\t\t\t},\n\t\t\t\t\t() => {\n\t\t\t\t\t\tthis.onFail(command);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected execute(command: DCommand): void {\n\t\tconst isClear = isCommandClear(command);\n\t\tconst isStorable = isCommandStorable(command);\n\t\tif (isClear || isStorable) {\n\t\t\tconst size = isClear ? this._done.length : this._position;\n\t\t\tif (0 < size) {\n\t\t\t\tthis.remove(size);\n\t\t\t\tthis._position = 0;\n\t\t\t\tthis.emit(\"change\", this);\n\t\t\t}\n\t\t\tthis.cleanup();\n\t\t}\n\t\tconst result = command.execute();\n\t\tif (result === true) {\n\t\t\tthis.onSuccess(command);\n\t\t} else if (result === false) {\n\t\t\tthis.onFail(command);\n\t\t} else {\n\t\t\tthis._executing = result.then(\n\t\t\t\t() => {\n\t\t\t\t\tthis.onSuccess(command);\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tthis.onFail(command);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tprotected cleanup(): void {\n\t\tconst done = this._done;\n\t\tconst size = done.length - 100;\n\t\tif (0 < size) {\n\t\t\tfor (let i = 0; i < size; ++i) {\n\t\t\t\tdone[i].destroy();\n\t\t\t\tdone.shift();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected remove(size: number): boolean {\n\t\tconst done = this._done;\n\t\tif (0 < size) {\n\t\t\tconst ifrom = Math.max(0, done.length - size);\n\t\t\tsize = done.length - ifrom;\n\t\t\tif (0 < size) {\n\t\t\t\tfor (let i = ifrom, imax = done.length; i < imax; ++i) {\n\t\t\t\t\tdone[i].destroy();\n\t\t\t\t}\n\n\t\t\t\tdone.splice(ifrom, done.length - ifrom);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected onSuccess(command: DCommand): void {\n\t\tthis._executing = null;\n\t\tif (isCommandStorable(command)) {\n\t\t\tthis._done.push(command);\n\t\t\tif (!isCommandClean(command)) {\n\t\t\t\tthis.emit(\"dirty\", this);\n\t\t\t}\n\t\t}\n\t\tthis.emit(\"change\", this);\n\t\tthis.next();\n\t}\n\n\tprotected onSuccessUndo(undoed: DCommand): void {\n\t\tthis._executing = null;\n\t\tif (!isCommandClean(undoed)) {\n\t\t\tthis.emit(\"dirty\", this);\n\t\t}\n\t\tthis.emit(\"change\", this);\n\t\tthis.next();\n\t}\n\n\tprotected onSuccessRedo(redoed: DCommand): void {\n\t\tthis._executing = null;\n\t\tif (!isCommandClean(redoed)) {\n\t\t\tthis.emit(\"dirty\", this);\n\t\t}\n\t\tthis.emit(\"change\", this);\n\t\tthis.next();\n\t}\n\n\tprotected onFail(command: DCommand): void {\n\t\tthis._executing = null;\n\t\tconst waiting = this._waiting;\n\t\tcommand.destroy();\n\t\tfor (let i = 0, imax = waiting.length; i < imax; ++i) {\n\t\t\twaiting[i].destroy();\n\t\t}\n\t\twaiting.length = 0;\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tsize(): number {\n\t\treturn this._done.length;\n\t}\n\n\tclear(): void {\n\t\tthis.push(new DCommandClear());\n\t}\n\n\tredo(): void {\n\t\tif (this.isRedoable()) {\n\t\t\tthis._waiting.push(new DCommandRedo());\n\t\t\tthis.next();\n\t\t}\n\t}\n\n\tundo(): void {\n\t\tif (this.isUndoable()) {\n\t\t\tthis._waiting.push(new DCommandUndo());\n\t\t\tthis.next();\n\t\t}\n\t}\n\n\tisRedoable(): boolean {\n\t\treturn 0 < this._position && this._executing == null;\n\t}\n\n\tisUndoable(): boolean {\n\t\treturn this._position < this._done.length && this._executing == null;\n\t}\n}\n"]}
|
|
@@ -60,14 +60,9 @@ var DDiagramBase = /** @class */ (function (_super) {
|
|
|
60
60
|
};
|
|
61
61
|
DDiagramBase.prototype.newLayer = function (serialized, canvas, isEditMode, pieces, pieceData) {
|
|
62
62
|
var _this = this;
|
|
63
|
-
var layer = canvas.layer;
|
|
64
63
|
var manager = new EShapeResourceManagerDeserialization(serialized, pieces, pieceData, isEditMode);
|
|
65
|
-
DDiagrams.newLayer(serialized, layer, manager).then(function (shapes) {
|
|
66
|
-
|
|
67
|
-
_this.initialize(shapes);
|
|
68
|
-
canvas.initialize(shapes);
|
|
69
|
-
DApplications.update(_this);
|
|
70
|
-
_this.emit("ready", _this);
|
|
64
|
+
DDiagrams.newLayer(serialized, canvas.layer, manager).then(function (shapes) {
|
|
65
|
+
_this.initLayer(canvas, shapes);
|
|
71
66
|
});
|
|
72
67
|
if (this._isAmbient) {
|
|
73
68
|
var background = this.toCanvasBaseBackgroundOptions(serialized, this.theme, false);
|
|
@@ -75,6 +70,12 @@ var DDiagramBase = /** @class */ (function (_super) {
|
|
|
75
70
|
this.background.alpha = background.alpha;
|
|
76
71
|
}
|
|
77
72
|
};
|
|
73
|
+
DDiagramBase.prototype.initLayer = function (canvas, shapes, mapper) {
|
|
74
|
+
canvas.layer.init();
|
|
75
|
+
canvas.initialize(shapes, mapper);
|
|
76
|
+
DApplications.update(this);
|
|
77
|
+
this.emit("ready", this);
|
|
78
|
+
};
|
|
78
79
|
DDiagramBase.prototype.toCanvasBaseOptions = function (serialized) {
|
|
79
80
|
var _a;
|
|
80
81
|
var theme = this.theme;
|
|
@@ -116,9 +117,6 @@ var DDiagramBase = /** @class */ (function (_super) {
|
|
|
116
117
|
});
|
|
117
118
|
}
|
|
118
119
|
};
|
|
119
|
-
DDiagramBase.prototype.initialize = function (shapes) {
|
|
120
|
-
// DO NOTHING
|
|
121
|
-
};
|
|
122
120
|
DDiagramBase.prototype.onUnset = function () {
|
|
123
121
|
var canvas = this.canvas;
|
|
124
122
|
if (canvas) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-diagram-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-base.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DApplications } from \"./d-applications\";\nimport { DBaseShadow } from \"./d-base\";\nimport {\n\tDCanvasContainer,\n\tDCanvasContainerEvents,\n\tDCanvasContainerOptions,\n\tDThemeCanvasContainer\n} from \"./d-canvas-container\";\nimport {\n\tDDiagramCanvasBackgroundOptions,\n\tDDiagramCanvasBase,\n\tDDiagramCanvasBaseOptions\n} from \"./d-diagram-canvas-base\";\nimport { DDiagramCanvasTilePyramidFactory } from \"./d-diagram-canvas-tile\";\nimport { DDiagramLayer } from \"./d-diagram-layer\";\nimport { DDiagramSerialized, DDiagramSerializedSimple } from \"./d-diagram-serialized\";\nimport { DDiagramSnapshot, DDiagramSnapshotOptions } from \"./d-diagram-snapshot\";\nimport { DDiagrams } from \"./d-diagrams\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { EShape } from \"./shape/e-shape\";\nimport { EShapeResourceManagerDeserialization } from \"./shape/e-shape-resource-manager-deserialization\";\nimport { EShapeEmbeddedDatum } from \"./shape/variant/e-shape-embedded-datum\";\n\n/**\n * {@link DDiagramBase} events.\n */\nexport interface DDiagramBaseEvents<CANVAS, EMITTER>\n\textends DCanvasContainerEvents<CANVAS, EMITTER> {\n\t/**\n\t * Triggered when all the shape initializations are finished.\n\t *\n\t * @param emitter an emitter\n\t */\n\tready(emitter: EMITTER): void;\n}\n\n/**\n * {@link DDiagram} piece controller.\n */\nexport interface DDiagramBasePieceController {\n\tgetByName(name: string): Promise<DDiagramSerializedSimple | DDiagramSerialized>;\n}\n\n/**\n * {@link DDiagram} controller.\n */\nexport interface DDiagramBaseController {\n\tpiece: DDiagramBasePieceController;\n\tgetByName(name: string): Promise<DDiagramSerializedSimple | DDiagramSerialized>;\n}\n\n/**\n * {@link DDiagramBase} \"on\" options.\n */\nexport interface DDiagramBaseOnOptions<CANVAS, EMITTER>\n\textends Partial<DDiagramBaseEvents<CANVAS, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DDiagramBase} options.\n */\nexport interface DDiagramBaseOptions<\n\tCANVAS extends DDiagramCanvasBase = DDiagramCanvasBase,\n\tCANVAS_OPTIONS extends DDiagramCanvasBaseOptions = DDiagramCanvasBaseOptions,\n\tCONTROLLER extends DDiagramBaseController = DDiagramBaseController,\n\tTHEME extends DThemeDiagramBase = DThemeDiagramBase,\n\tEMITTER = any\n> extends DCanvasContainerOptions<CANVAS, CANVAS_OPTIONS, THEME> {\n\tcontroller?: CONTROLLER;\n\n\t/**\n\t * A tile pyramid factory.\n\t */\n\ttile?: DDiagramCanvasTilePyramidFactory;\n\n\tambient?: boolean;\n\n\t/**\n\t * Snapshot options.\n\t */\n\tsnapshot?: DDiagramSnapshotOptions<CANVAS>;\n\n\ton?: DDiagramBaseOnOptions<CANVAS, EMITTER>;\n}\n\n/**\n * {@link DDiagramBase} theme.\n */\nexport interface DThemeDiagramBase extends DThemeCanvasContainer {\n\tgetCanvasBackgroundColor(): number;\n\tgetCanvasBackgroundAlpha(): number;\n\tgetCanvasShadow(): DBaseShadow | null;\n\tisAmbient(): boolean;\n}\n\nexport abstract class DDiagramBase<\n\tCANVAS extends DDiagramCanvasBase = DDiagramCanvasBase,\n\tCANVAS_OPTIONS extends DDiagramCanvasBaseOptions = DDiagramCanvasBaseOptions,\n\tCONTROLLER extends DDiagramBaseController = DDiagramBaseController,\n\tTHEME extends DThemeDiagramBase = DThemeDiagramBase,\n\tOPTIONS extends DDiagramBaseOptions<\n\t\tCANVAS,\n\t\tCANVAS_OPTIONS,\n\t\tCONTROLLER,\n\t\tTHEME\n\t> = DDiagramBaseOptions<CANVAS, CANVAS_OPTIONS, CONTROLLER, THEME>\n> extends DCanvasContainer<CANVAS, CANVAS_OPTIONS, THEME, OPTIONS> {\n\tprotected _serialized: DDiagramSerialized | null;\n\tprotected _tileFactory?: DDiagramCanvasTilePyramidFactory;\n\tprotected _controller?: CONTROLLER;\n\tprotected _isAmbient: boolean;\n\tprotected _snapshot: DDiagramSnapshot;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._serialized = null;\n\t\tthis._tileFactory = options?.tile;\n\t\tthis._controller = options?.controller;\n\t\tthis._isAmbient = options?.ambient ?? this.theme.isAmbient();\n\t\tthis._snapshot = new DDiagramSnapshot(this, options?.snapshot);\n\t}\n\n\tget snapshot(): DDiagramSnapshot {\n\t\treturn this._snapshot;\n\t}\n\n\tget controller(): CONTROLLER | null {\n\t\treturn this._controller || null;\n\t}\n\n\tset(serialized: DDiagramSerialized | null): void {\n\t\tconst oldSerialized = this._serialized;\n\t\tif (oldSerialized !== serialized) {\n\t\t\tif (oldSerialized) {\n\t\t\t\tthis._serialized = null;\n\t\t\t\tthis.onUnset();\n\t\t\t}\n\n\t\t\tthis._serialized = serialized;\n\t\t\tif (serialized) {\n\t\t\t\tthis.onSet(serialized);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onSet(serialized: DDiagramSerialized): void {\n\t\tconst canvas = this.newCanvas(serialized);\n\t\tconst pieces = serialized.pieces;\n\t\tconst isEditMode = this.isEditMode();\n\t\tDDiagrams.toPieceData(this._controller, pieces, isEditMode).then((pieceData): void => {\n\t\t\tthis.newLayer(serialized, canvas, isEditMode, pieces, pieceData);\n\t\t});\n\t\tthis.canvas = canvas;\n\t}\n\n\tprotected abstract isEditMode(): boolean;\n\n\tprotected newLayer(\n\t\tserialized: DDiagramSerialized,\n\t\tcanvas: CANVAS,\n\t\tisEditMode: boolean,\n\t\tpieces?: string[],\n\t\tpieceData?: Map<string, EShapeEmbeddedDatum | null>\n\t): void {\n\t\tconst layer = canvas.layer;\n\t\tconst manager = new EShapeResourceManagerDeserialization(\n\t\t\tserialized,\n\t\t\tpieces,\n\t\t\tpieceData,\n\t\t\tisEditMode\n\t\t);\n\t\tDDiagrams.newLayer(serialized, layer, manager).then((shapes: EShape[]): void => {\n\t\t\tlayer.init();\n\t\t\tthis.initialize(shapes);\n\t\t\tcanvas.initialize(shapes);\n\t\t\tDApplications.update(this);\n\t\t\tthis.emit(\"ready\", this);\n\t\t});\n\t\tif (this._isAmbient) {\n\t\t\tconst background = this.toCanvasBaseBackgroundOptions(serialized, this.theme, false);\n\t\t\tthis.background.color = background.color;\n\t\t\tthis.background.alpha = background.alpha;\n\t\t}\n\t}\n\n\tprotected toCanvasBaseOptions(serialized: DDiagramSerialized): DDiagramCanvasBaseOptions<any> {\n\t\tconst theme = this.theme;\n\t\tconst isAmbient = this._isAmbient;\n\t\treturn {\n\t\t\tname: serialized.name,\n\t\t\twidth: serialized.width,\n\t\t\theight: serialized.height,\n\t\t\tbackground: this.toCanvasBaseBackgroundOptions(serialized, theme, isAmbient),\n\t\t\tborder: isAmbient ? { color: null } : undefined,\n\t\t\toutline: isAmbient ? { color: null } : undefined,\n\t\t\tshadow: isAmbient ? null : theme.getCanvasShadow(),\n\t\t\ttile: {\n\t\t\t\tfactory: this._tileFactory,\n\t\t\t\tmapping: serialized.tile?.mapping\n\t\t\t},\n\t\t\tambient: isAmbient\n\t\t};\n\t}\n\n\tprotected toCanvasBaseBackgroundOptions(\n\t\tserialized: DDiagramSerialized,\n\t\ttheme: THEME,\n\t\tisAmbient: boolean\n\t): DDiagramCanvasBackgroundOptions {\n\t\tif (isAmbient) {\n\t\t\treturn {\n\t\t\t\tcolor: null\n\t\t\t};\n\t\t}\n\t\tconst background = serialized.background;\n\t\treturn {\n\t\t\tcolor: background?.color ?? theme.getCanvasBackgroundColor(),\n\t\t\talpha: background?.alpha ?? theme.getCanvasBackgroundAlpha()\n\t\t};\n\t}\n\n\topenByName(name: string): void {\n\t\tconst controller = this._controller;\n\t\tif (controller) {\n\t\t\tcontroller.getByName(name).then((found): void => {\n\t\t\t\tthis.set(DDiagrams.toSerialized(found));\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected initialize(shapes: EShape[]): void {\n\t\t// DO NOTHING\n\t}\n\n\tprotected abstract newCanvas(serialized: DDiagramSerialized): CANVAS;\n\n\tprotected onUnset(): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tthis.canvas = null;\n\t\t}\n\t}\n\n\tget(): DDiagramSerialized | null {\n\t\treturn this._serialized;\n\t}\n\n\tget layer(): DDiagramLayer | null {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\treturn canvas.layer.active;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagramBase\";\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-diagram-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram-base.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DApplications } from \"./d-applications\";\nimport { DBaseShadow } from \"./d-base\";\nimport {\n\tDCanvasContainer,\n\tDCanvasContainerEvents,\n\tDCanvasContainerOptions,\n\tDThemeCanvasContainer\n} from \"./d-canvas-container\";\nimport {\n\tDDiagramCanvasBackgroundOptions,\n\tDDiagramCanvasBase,\n\tDDiagramCanvasBaseOptions\n} from \"./d-diagram-canvas-base\";\nimport { DDiagramCanvasTilePyramidFactory } from \"./d-diagram-canvas-tile\";\nimport { DDiagramDataMapper } from \"./d-diagram-data-mapper\";\nimport { DDiagramLayer } from \"./d-diagram-layer\";\nimport { DDiagramSerialized, DDiagramSerializedSimple } from \"./d-diagram-serialized\";\nimport { DDiagramSnapshot, DDiagramSnapshotOptions } from \"./d-diagram-snapshot\";\nimport { DDiagrams } from \"./d-diagrams\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { EShape } from \"./shape/e-shape\";\nimport { EShapeResourceManagerDeserialization } from \"./shape/e-shape-resource-manager-deserialization\";\nimport { EShapeEmbeddedDatum } from \"./shape/variant/e-shape-embedded-datum\";\n\n/**\n * {@link DDiagramBase} events.\n */\nexport interface DDiagramBaseEvents<CANVAS, EMITTER>\n\textends DCanvasContainerEvents<CANVAS, EMITTER> {\n\t/**\n\t * Triggered when all the shape initializations are finished.\n\t *\n\t * @param emitter an emitter\n\t */\n\tready(emitter: EMITTER): void;\n}\n\n/**\n * {@link DDiagram} piece controller.\n */\nexport interface DDiagramBasePieceController {\n\tgetByName(name: string): Promise<DDiagramSerializedSimple | DDiagramSerialized>;\n}\n\n/**\n * {@link DDiagram} controller.\n */\nexport interface DDiagramBaseController {\n\tpiece: DDiagramBasePieceController;\n\tgetByName(name: string): Promise<DDiagramSerializedSimple | DDiagramSerialized>;\n}\n\n/**\n * {@link DDiagramBase} \"on\" options.\n */\nexport interface DDiagramBaseOnOptions<CANVAS, EMITTER>\n\textends Partial<DDiagramBaseEvents<CANVAS, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DDiagramBase} options.\n */\nexport interface DDiagramBaseOptions<\n\tCANVAS extends DDiagramCanvasBase = DDiagramCanvasBase,\n\tCANVAS_OPTIONS extends DDiagramCanvasBaseOptions = DDiagramCanvasBaseOptions,\n\tCONTROLLER extends DDiagramBaseController = DDiagramBaseController,\n\tTHEME extends DThemeDiagramBase = DThemeDiagramBase,\n\tEMITTER = any\n> extends DCanvasContainerOptions<CANVAS, CANVAS_OPTIONS, THEME> {\n\tcontroller?: CONTROLLER;\n\n\t/**\n\t * A tile pyramid factory.\n\t */\n\ttile?: DDiagramCanvasTilePyramidFactory;\n\n\tambient?: boolean;\n\n\t/**\n\t * Snapshot options.\n\t */\n\tsnapshot?: DDiagramSnapshotOptions<CANVAS>;\n\n\ton?: DDiagramBaseOnOptions<CANVAS, EMITTER>;\n}\n\n/**\n * {@link DDiagramBase} theme.\n */\nexport interface DThemeDiagramBase extends DThemeCanvasContainer {\n\tgetCanvasBackgroundColor(): number;\n\tgetCanvasBackgroundAlpha(): number;\n\tgetCanvasShadow(): DBaseShadow | null;\n\tisAmbient(): boolean;\n}\n\nexport abstract class DDiagramBase<\n\tCANVAS extends DDiagramCanvasBase = DDiagramCanvasBase,\n\tCANVAS_OPTIONS extends DDiagramCanvasBaseOptions = DDiagramCanvasBaseOptions,\n\tCONTROLLER extends DDiagramBaseController = DDiagramBaseController,\n\tTHEME extends DThemeDiagramBase = DThemeDiagramBase,\n\tOPTIONS extends DDiagramBaseOptions<\n\t\tCANVAS,\n\t\tCANVAS_OPTIONS,\n\t\tCONTROLLER,\n\t\tTHEME\n\t> = DDiagramBaseOptions<CANVAS, CANVAS_OPTIONS, CONTROLLER, THEME>\n> extends DCanvasContainer<CANVAS, CANVAS_OPTIONS, THEME, OPTIONS> {\n\tprotected _serialized: DDiagramSerialized | null;\n\tprotected _tileFactory?: DDiagramCanvasTilePyramidFactory;\n\tprotected _controller?: CONTROLLER;\n\tprotected _isAmbient: boolean;\n\tprotected _snapshot: DDiagramSnapshot;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._serialized = null;\n\t\tthis._tileFactory = options?.tile;\n\t\tthis._controller = options?.controller;\n\t\tthis._isAmbient = options?.ambient ?? this.theme.isAmbient();\n\t\tthis._snapshot = new DDiagramSnapshot(this, options?.snapshot);\n\t}\n\n\tget snapshot(): DDiagramSnapshot {\n\t\treturn this._snapshot;\n\t}\n\n\tget controller(): CONTROLLER | null {\n\t\treturn this._controller || null;\n\t}\n\n\tset(serialized: DDiagramSerialized | null): void {\n\t\tconst oldSerialized = this._serialized;\n\t\tif (oldSerialized !== serialized) {\n\t\t\tif (oldSerialized) {\n\t\t\t\tthis._serialized = null;\n\t\t\t\tthis.onUnset();\n\t\t\t}\n\n\t\t\tthis._serialized = serialized;\n\t\t\tif (serialized) {\n\t\t\t\tthis.onSet(serialized);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onSet(serialized: DDiagramSerialized): void {\n\t\tconst canvas = this.newCanvas(serialized);\n\t\tconst pieces = serialized.pieces;\n\t\tconst isEditMode = this.isEditMode();\n\t\tDDiagrams.toPieceData(this._controller, pieces, isEditMode).then((pieceData): void => {\n\t\t\tthis.newLayer(serialized, canvas, isEditMode, pieces, pieceData);\n\t\t});\n\t\tthis.canvas = canvas;\n\t}\n\n\tprotected abstract isEditMode(): boolean;\n\n\tprotected newLayer(\n\t\tserialized: DDiagramSerialized,\n\t\tcanvas: CANVAS,\n\t\tisEditMode: boolean,\n\t\tpieces?: string[],\n\t\tpieceData?: Map<string, EShapeEmbeddedDatum | null>\n\t): void {\n\t\tconst manager = new EShapeResourceManagerDeserialization(\n\t\t\tserialized,\n\t\t\tpieces,\n\t\t\tpieceData,\n\t\t\tisEditMode\n\t\t);\n\t\tDDiagrams.newLayer(serialized, canvas.layer, manager).then((shapes: EShape[]): void => {\n\t\t\tthis.initLayer(canvas, shapes);\n\t\t});\n\t\tif (this._isAmbient) {\n\t\t\tconst background = this.toCanvasBaseBackgroundOptions(serialized, this.theme, false);\n\t\t\tthis.background.color = background.color;\n\t\t\tthis.background.alpha = background.alpha;\n\t\t}\n\t}\n\n\tprotected initLayer(\n\t\tcanvas: CANVAS,\n\t\tshapes: EShape[],\n\t\tmapper?: DDiagramDataMapper | null\n\t): void {\n\t\tcanvas.layer.init();\n\t\tcanvas.initialize(shapes, mapper);\n\t\tDApplications.update(this);\n\t\tthis.emit(\"ready\", this);\n\t}\n\n\tprotected toCanvasBaseOptions(serialized: DDiagramSerialized): DDiagramCanvasBaseOptions<any> {\n\t\tconst theme = this.theme;\n\t\tconst isAmbient = this._isAmbient;\n\t\treturn {\n\t\t\tname: serialized.name,\n\t\t\twidth: serialized.width,\n\t\t\theight: serialized.height,\n\t\t\tbackground: this.toCanvasBaseBackgroundOptions(serialized, theme, isAmbient),\n\t\t\tborder: isAmbient ? { color: null } : undefined,\n\t\t\toutline: isAmbient ? { color: null } : undefined,\n\t\t\tshadow: isAmbient ? null : theme.getCanvasShadow(),\n\t\t\ttile: {\n\t\t\t\tfactory: this._tileFactory,\n\t\t\t\tmapping: serialized.tile?.mapping\n\t\t\t},\n\t\t\tambient: isAmbient\n\t\t};\n\t}\n\n\tprotected toCanvasBaseBackgroundOptions(\n\t\tserialized: DDiagramSerialized,\n\t\ttheme: THEME,\n\t\tisAmbient: boolean\n\t): DDiagramCanvasBackgroundOptions {\n\t\tif (isAmbient) {\n\t\t\treturn {\n\t\t\t\tcolor: null\n\t\t\t};\n\t\t}\n\t\tconst background = serialized.background;\n\t\treturn {\n\t\t\tcolor: background?.color ?? theme.getCanvasBackgroundColor(),\n\t\t\talpha: background?.alpha ?? theme.getCanvasBackgroundAlpha()\n\t\t};\n\t}\n\n\topenByName(name: string): void {\n\t\tconst controller = this._controller;\n\t\tif (controller) {\n\t\t\tcontroller.getByName(name).then((found): void => {\n\t\t\t\tthis.set(DDiagrams.toSerialized(found));\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected abstract newCanvas(serialized: DDiagramSerialized): CANVAS;\n\n\tprotected onUnset(): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tthis.canvas = null;\n\t\t}\n\t}\n\n\tget(): DDiagramSerialized | null {\n\t\treturn this._serialized;\n\t}\n\n\tget layer(): DDiagramLayer | null {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\treturn canvas.layer.active;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagramBase\";\n\t}\n}\n"]}
|
|
@@ -48,16 +48,19 @@ var DDiagramCanvasBase = /** @class */ (function (_super) {
|
|
|
48
48
|
enumerable: false,
|
|
49
49
|
configurable: true
|
|
50
50
|
});
|
|
51
|
-
DDiagramCanvasBase.prototype.initialize = function (shapes) {
|
|
51
|
+
DDiagramCanvasBase.prototype.initialize = function (shapes, mapper) {
|
|
52
52
|
// DO NOTHING
|
|
53
53
|
};
|
|
54
54
|
DDiagramCanvasBase.prototype.destroy = function () {
|
|
55
55
|
if (!this._destroyed) {
|
|
56
|
-
this.
|
|
57
|
-
this._layer.destroy();
|
|
56
|
+
this.onDestroy();
|
|
58
57
|
_super.prototype.destroy.call(this);
|
|
59
58
|
}
|
|
60
59
|
};
|
|
60
|
+
DDiagramCanvasBase.prototype.onDestroy = function () {
|
|
61
|
+
this._tile.destroy();
|
|
62
|
+
this._layer.destroy();
|
|
63
|
+
};
|
|
61
64
|
DDiagramCanvasBase.prototype.hitTest = function (global, onHit) {
|
|
62
65
|
var layers = this._layer.children;
|
|
63
66
|
for (var i = layers.length - 1; 0 <= i; --i) {
|