@wcardinal/wcardinal-ui 0.426.0 → 0.428.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-chart-plot-area-twofold-sub-base.d.ts +4 -0
- package/dist/types/wcardinal/ui/d-chart-plot-area.d.ts +3 -0
- package/dist/types/wcardinal/ui/d-chart-selection-container-impl.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-chart-selection-container.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-chart-selection-gridline-x.d.ts +2 -1
- package/dist/types/wcardinal/ui/d-chart-selection-gridline-y.d.ts +2 -1
- package/dist/types/wcardinal/ui/d-chart-selection-marker.d.ts +3 -2
- package/dist/types/wcardinal/ui/d-chart-selection-shape-base.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-chart-selection-shape.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-chart-selection-simple.d.ts +10 -2
- package/dist/types/wcardinal/ui/d-view-gesture-impl.d.ts +3 -2
- package/dist/types/wcardinal/ui/d-view-to-target.d.ts +5 -1
- package/dist/types/wcardinal/ui/d-view.d.ts +11 -2
- package/dist/types/wcardinal/ui/util/dynamic-sdf-font-atlas.d.ts +2 -0
- package/dist/types/wcardinal/ui/util/index.d.ts +2 -0
- package/dist/types/wcardinal/ui/util/util-gesture-data.d.ts +1 -0
- package/dist/types/wcardinal/ui/util/util-gesture-tap.d.ts +26 -0
- package/dist/types/wcardinal/ui/util/util-gesture-target.d.ts +5 -0
- package/dist/types/wcardinal/ui/util/util-gesture.d.ts +8 -6
- package/dist/wcardinal/ui/d-chart-plot-area-twofold-sub-base.js +14 -0
- package/dist/wcardinal/ui/d-chart-plot-area-twofold-sub-base.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-plot-area.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-container-impl.js +3 -3
- package/dist/wcardinal/ui/d-chart-selection-container-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-container.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-gridline-x.js +1 -1
- package/dist/wcardinal/ui/d-chart-selection-gridline-x.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-gridline-y.js +1 -1
- package/dist/wcardinal/ui/d-chart-selection-gridline-y.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-marker.js +4 -3
- package/dist/wcardinal/ui/d-chart-selection-marker.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-shape-base.js +1 -1
- package/dist/wcardinal/ui/d-chart-selection-shape-base.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-shape.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-simple.js +49 -21
- package/dist/wcardinal/ui/d-chart-selection-simple.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-sub-impl.js +3 -2
- package/dist/wcardinal/ui/d-chart-selection-sub-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram.js +11 -2
- package/dist/wcardinal/ui/d-diagram.js.map +1 -1
- package/dist/wcardinal/ui/d-view-gesture-impl.js +18 -3
- package/dist/wcardinal/ui/d-view-gesture-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-view-to-target.js.map +1 -1
- package/dist/wcardinal/ui/d-view.js.map +1 -1
- package/dist/wcardinal/ui/util/dynamic-sdf-font-atlas.js +25 -7
- package/dist/wcardinal/ui/util/dynamic-sdf-font-atlas.js.map +1 -1
- package/dist/wcardinal/ui/util/index.js +2 -0
- package/dist/wcardinal/ui/util/index.js.map +1 -1
- package/dist/wcardinal/ui/util/util-gesture-data.js +1 -0
- package/dist/wcardinal/ui/util/util-gesture-data.js.map +1 -1
- package/dist/wcardinal/ui/util/util-gesture-tap.js +148 -0
- package/dist/wcardinal/ui/util/util-gesture-tap.js.map +1 -0
- package/dist/wcardinal/ui/util/util-gesture-target.js +2 -0
- package/dist/wcardinal/ui/util/util-gesture-target.js.map +1 -0
- package/dist/wcardinal/ui/util/util-gesture.js +26 -15
- package/dist/wcardinal/ui/util/util-gesture.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark-en-us.js +1 -1
- package/dist/wcardinal-ui-theme-dark-en-us.min.js +1 -1
- package/dist/wcardinal-ui-theme-dark-ja-jp.js +1 -1
- package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +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-en-us.js +1 -1
- package/dist/wcardinal-ui-theme-white-en-us.min.js +1 -1
- package/dist/wcardinal-ui-theme-white-ja-jp.js +1 -1
- package/dist/wcardinal-ui-theme-white-ja-jp.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 +299 -60
- package/dist/wcardinal-ui.js +299 -60
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -10,6 +10,8 @@ import { DChartSelectionPoint } from "./d-chart-selection";
|
|
|
10
10
|
import { DChartSelectionSubImpl } from "./d-chart-selection-sub-impl";
|
|
11
11
|
import { DChartSeriesHitResult } from "./d-chart-series";
|
|
12
12
|
import { toEnum } from "./util/to-enum";
|
|
13
|
+
import { UtilGestureModifiers } from "./util/util-gesture-modifiers";
|
|
14
|
+
import { UtilGestureModifier } from "./util/util-gesture-modifier";
|
|
13
15
|
import { UtilPointerEvent } from "./util/util-pointer-event";
|
|
14
16
|
var DChartSelectionSimple = /** @class */ (function (_super) {
|
|
15
17
|
__extends(DChartSelectionSimple, _super);
|
|
@@ -20,6 +22,7 @@ var DChartSelectionSimple = /** @class */ (function (_super) {
|
|
|
20
22
|
var point = toEnum((_a = options === null || options === void 0 ? void 0 : options.point) !== null && _a !== void 0 ? _a : DChartSelectionPoint.CLOSER, DChartSelectionPoint);
|
|
21
23
|
_this._selected = _this.newSelected(point, options === null || options === void 0 ? void 0 : options.selected);
|
|
22
24
|
_this._hovered = _this.newHovered(point, options === null || options === void 0 ? void 0 : options.hovered);
|
|
25
|
+
_this._dismiss = _this.toDismiss(options);
|
|
23
26
|
// Events
|
|
24
27
|
var on = options === null || options === void 0 ? void 0 : options.on;
|
|
25
28
|
if (on != null) {
|
|
@@ -30,15 +33,27 @@ var DChartSelectionSimple = /** @class */ (function (_super) {
|
|
|
30
33
|
}
|
|
31
34
|
}
|
|
32
35
|
}
|
|
33
|
-
//
|
|
34
36
|
_this._onMoveBound = function (e) {
|
|
35
37
|
_this.onMove(e);
|
|
36
38
|
};
|
|
37
|
-
_this.
|
|
38
|
-
_this.
|
|
39
|
+
_this._onTapBound = function (target, e) {
|
|
40
|
+
_this.onTap(e);
|
|
39
41
|
};
|
|
40
42
|
return _this;
|
|
41
43
|
}
|
|
44
|
+
DChartSelectionSimple.prototype.toDismiss = function (options) {
|
|
45
|
+
var _a;
|
|
46
|
+
if (options != null) {
|
|
47
|
+
var dismiss = options.dismiss;
|
|
48
|
+
if (dismiss != null) {
|
|
49
|
+
if (dismiss.enable === false) {
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
return toEnum((_a = dismiss.modifier) !== null && _a !== void 0 ? _a : UtilGestureModifier.NOT_NONE, UtilGestureModifier);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return UtilGestureModifier.NOT_NONE;
|
|
56
|
+
};
|
|
42
57
|
DChartSelectionSimple.prototype.newSelected = function (point, options) {
|
|
43
58
|
return new DChartSelectionSubImpl(this.toSelectedOptions(point, options));
|
|
44
59
|
};
|
|
@@ -84,14 +99,21 @@ var DChartSelectionSimple = /** @class */ (function (_super) {
|
|
|
84
99
|
}
|
|
85
100
|
return options;
|
|
86
101
|
};
|
|
87
|
-
DChartSelectionSimple.prototype.
|
|
102
|
+
DChartSelectionSimple.prototype.onTap = function (e) {
|
|
88
103
|
var container = this._container;
|
|
89
|
-
if (container
|
|
104
|
+
if (container == null) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
var dismiss = this._dismiss;
|
|
108
|
+
var selected = this._selected;
|
|
109
|
+
if (dismiss != null && UtilGestureModifiers.match(e, dismiss)) {
|
|
110
|
+
selected.unset();
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
90
113
|
var result = DChartSelectionSimple.WORK_SELECT;
|
|
91
114
|
var global_1 = e.data.global;
|
|
92
115
|
var series = container.calcHitPoint(global_1.x, global_1.y, result);
|
|
93
|
-
|
|
94
|
-
if (series) {
|
|
116
|
+
if (series != null) {
|
|
95
117
|
selected.set(series, result);
|
|
96
118
|
}
|
|
97
119
|
else {
|
|
@@ -101,23 +123,28 @@ var DChartSelectionSimple = /** @class */ (function (_super) {
|
|
|
101
123
|
};
|
|
102
124
|
DChartSelectionSimple.prototype.onMove = function (e) {
|
|
103
125
|
var container = this._container;
|
|
104
|
-
if (container) {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
126
|
+
if (container == null) {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
var plotArea = container.plotArea;
|
|
130
|
+
if (plotArea.state.isGesturing) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
var hovered = this._hovered;
|
|
134
|
+
if (e.target === container.plotArea) {
|
|
135
|
+
var result = DChartSelectionSimple.WORK_SELECT;
|
|
136
|
+
var global_2 = e.data.global;
|
|
137
|
+
var series = container.calcHitPoint(global_2.x, global_2.y, result);
|
|
138
|
+
if (series) {
|
|
139
|
+
hovered.set(series, result);
|
|
116
140
|
}
|
|
117
141
|
else {
|
|
118
142
|
hovered.unset();
|
|
119
143
|
}
|
|
120
144
|
}
|
|
145
|
+
else {
|
|
146
|
+
hovered.unset();
|
|
147
|
+
}
|
|
121
148
|
};
|
|
122
149
|
DChartSelectionSimple.prototype.bind = function (container) {
|
|
123
150
|
this._container = container;
|
|
@@ -125,14 +152,15 @@ var DChartSelectionSimple = /** @class */ (function (_super) {
|
|
|
125
152
|
this._hovered.bind(container);
|
|
126
153
|
var plotArea = container.plotArea;
|
|
127
154
|
plotArea.on(UtilPointerEvent.move, this._onMoveBound);
|
|
128
|
-
plotArea.on(
|
|
155
|
+
plotArea.view.on("gesturetap", this._onTapBound);
|
|
129
156
|
};
|
|
130
157
|
DChartSelectionSimple.prototype.unbind = function () {
|
|
131
158
|
var container = this._container;
|
|
132
159
|
this._container = null;
|
|
133
|
-
if (container) {
|
|
160
|
+
if (container != null) {
|
|
134
161
|
var plotArea = container.plotArea;
|
|
135
162
|
plotArea.off(UtilPointerEvent.move, this._onMoveBound);
|
|
163
|
+
plotArea.view.off("gesturetap", this._onTapBound);
|
|
136
164
|
}
|
|
137
165
|
this._selected.unbind();
|
|
138
166
|
this._hovered.unbind();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-chart-selection-simple.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-chart-selection-simple.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, utils } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase, DBaseOnOptions } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DChartSelection, DChartSelectionPoint } from \"./d-chart-selection\";\nimport { DChartSelectionSub, DChartSelectionSubOptions } from \"./d-chart-selection-sub\";\nimport { DChartSelectionSubImpl } from \"./d-chart-selection-sub-impl\";\nimport { DChartSeriesHitResult } from \"./d-chart-series\";\nimport { DChartSeriesContainer } from \"./d-chart-series-container\";\nimport { toEnum } from \"./util/to-enum\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\nexport interface DChartSelectionSimpleOptions<CHART extends DBase = DBase, EMITTER = any> {\n\tselected?: DChartSelectionSubOptions<CHART>;\n\thovered?: DChartSelectionSubOptions<CHART>;\n\tpoint?: DChartSelectionPoint | keyof typeof DChartSelectionPoint;\n\ton?: DBaseOnOptions<EMITTER>;\n}\n\nexport class DChartSelectionSimple<CHART extends DBase = DBase>\n\textends utils.EventEmitter\n\timplements DChartSelection<CHART>\n{\n\tprotected static WORK_SELECT: DChartSeriesHitResult = new DChartSeriesHitResult();\n\n\tprotected _container: DChartSeriesContainer<CHART> | null;\n\tprotected _selected: DChartSelectionSub<CHART>;\n\tprotected _hovered: DChartSelectionSub<CHART>;\n\n\tprotected _onClickBound!: (e: InteractionEvent) => void;\n\tprotected _onMoveBound!: (e: InteractionEvent) => void;\n\n\tconstructor(options?: DChartSelectionSimpleOptions<CHART>) {\n\t\tsuper();\n\n\t\tthis._container = null;\n\t\tconst point = toEnum(options?.point ?? DChartSelectionPoint.CLOSER, DChartSelectionPoint);\n\t\tthis._selected = this.newSelected(point, options?.selected);\n\t\tthis._hovered = this.newHovered(point, options?.hovered);\n\n\t\t// Events\n\t\tconst on = options?.on;\n\t\tif (on != null) {\n\t\t\tfor (const name in on) {\n\t\t\t\tconst handler = on[name];\n\t\t\t\tif (handler) {\n\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tthis._onMoveBound = (e: InteractionEvent): void => {\n\t\t\tthis.onMove(e);\n\t\t};\n\n\t\tthis._onClickBound = (e: InteractionEvent): void => {\n\t\t\tthis.onClick(e);\n\t\t};\n\t}\n\n\tprotected newSelected(\n\t\tpoint: DChartSelectionPoint,\n\t\toptions?: DChartSelectionSubOptions<CHART>\n\t): DChartSelectionSub<CHART> {\n\t\treturn new DChartSelectionSubImpl(this.toSelectedOptions(point, options));\n\t}\n\n\tprotected newHovered(\n\t\tpoint: DChartSelectionPoint,\n\t\toptions?: DChartSelectionSubOptions<CHART>\n\t): DChartSelectionSub<CHART> {\n\t\treturn new DChartSelectionSubImpl(this.toHoveredOptions(point, options));\n\t}\n\n\tprotected toSelectedOptions(\n\t\tpoint: DChartSelectionPoint,\n\t\toptions?: DChartSelectionSubOptions<CHART>\n\t): DChartSelectionSubOptions<CHART> {\n\t\treturn this.toSubOptions(point, options, DBaseState.ACTIVE);\n\t}\n\n\tprotected toHoveredOptions(\n\t\tpoint: DChartSelectionPoint,\n\t\toptions?: DChartSelectionSubOptions<CHART>\n\t): DChartSelectionSubOptions<CHART> {\n\t\treturn this.toSubOptions(point, options, DBaseState.HOVERED);\n\t}\n\n\tprotected toSubOptions(\n\t\tpoint: DChartSelectionPoint,\n\t\toptions: DChartSelectionSubOptions<CHART> | undefined,\n\t\tstate: string\n\t): DChartSelectionSubOptions<CHART> {\n\t\toptions = options || {};\n\n\t\tif (options.point == null) {\n\t\t\toptions.point = point;\n\t\t}\n\n\t\tif (options.state == null) {\n\t\t\toptions.state = state;\n\t\t}\n\n\t\tconst gridline = (options.gridline ??= {});\n\t\tconst gridlineX = (gridline.x ??= {});\n\t\tif (gridlineX.state == null) {\n\t\t\tgridlineX.state = state;\n\t\t}\n\n\t\tconst gridlineY = (gridline.y ??= {});\n\t\tif (gridlineY.state == null) {\n\t\t\tgridlineY.state = state;\n\t\t}\n\n\t\tconst marker = (options.marker ??= {});\n\t\tif (marker.state == null) {\n\t\t\tmarker.state = state;\n\t\t}\n\n\t\tconst label = (options.label ??= {});\n\t\tconst labelX = (label.x ??= {});\n\t\tif (labelX.state == null) {\n\t\t\tlabelX.state = state;\n\t\t}\n\n\t\tconst labelY = (label.y ??= {});\n\t\tif (labelY.state == null) {\n\t\t\tlabelY.state = state;\n\t\t}\n\n\t\treturn options;\n\t}\n\n\tprotected onClick(e: InteractionEvent): void {\n\t\tconst container = this._container;\n\t\tif (container && e.target === container.plotArea) {\n\t\t\tconst result = DChartSelectionSimple.WORK_SELECT;\n\t\t\tconst global = e.data.global;\n\t\t\tconst series = container.calcHitPoint(global.x, global.y, result);\n\t\t\tconst selected = this._selected;\n\t\t\tif (series) {\n\t\t\t\tselected.set(series, result);\n\t\t\t} else {\n\t\t\t\tselected.unset();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onMove(e: InteractionEvent): void {\n\t\tconst container = this._container;\n\t\tif (container) {\n\t\t\tconst hovered = this._hovered;\n\t\t\tif (e.target === container.plotArea) {\n\t\t\t\tconst result = DChartSelectionSimple.WORK_SELECT;\n\t\t\t\tconst global = e.data.global;\n\t\t\t\tconst series = container.calcHitPoint(global.x, global.y, result);\n\t\t\t\tif (series) {\n\t\t\t\t\thovered.set(series, result);\n\t\t\t\t} else {\n\t\t\t\t\thovered.unset();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\thovered.unset();\n\t\t\t}\n\t\t}\n\t}\n\n\tbind(container: DChartSeriesContainer<CHART>): void {\n\t\tthis._container = container;\n\t\tthis._selected.bind(container);\n\t\tthis._hovered.bind(container);\n\t\tconst plotArea = container.plotArea;\n\t\tplotArea.on(UtilPointerEvent.move, this._onMoveBound);\n\t\tplotArea.on(UtilPointerEvent.tap, this._onClickBound);\n\t}\n\n\tunbind(): void {\n\t\tconst container = this._container;\n\t\tthis._container = null;\n\t\tif (container) {\n\t\t\tconst plotArea = container.plotArea;\n\t\t\tplotArea.off(UtilPointerEvent.move, this._onMoveBound);\n\t\t}\n\n\t\tthis._selected.unbind();\n\t\tthis._hovered.unbind();\n\t}\n\n\tget selected(): DChartSelectionSub<CHART> {\n\t\treturn this._selected;\n\t}\n\n\tget hovered(): DChartSelectionSub<CHART> {\n\t\treturn this._hovered;\n\t}\n\n\tupdate(): void {\n\t\tconst isSelectedUpdated = this._selected.update();\n\t\tconst isHoveredUpdated = this._hovered.update();\n\t\tif (isSelectedUpdated || isHoveredUpdated) {\n\t\t\tconst container = this._container;\n\t\t\tif (container != null) {\n\t\t\t\tDApplications.update(container.plotArea);\n\t\t\t}\n\t\t}\n\t}\n\n\tonRender(): void {\n\t\tthis._selected.update();\n\t\tthis._hovered.update();\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-chart-selection-simple.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-chart-selection-simple.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, utils } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase, DBaseOnOptions } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DChartSelection, DChartSelectionPoint } from \"./d-chart-selection\";\nimport { DChartSelectionSub, DChartSelectionSubOptions } from \"./d-chart-selection-sub\";\nimport { DChartSelectionSubImpl } from \"./d-chart-selection-sub-impl\";\nimport { DChartSeriesHitResult } from \"./d-chart-series\";\nimport { DChartSeriesContainer } from \"./d-chart-series-container\";\nimport { toEnum } from \"./util/to-enum\";\nimport { UtilGestureModifiers } from \"./util/util-gesture-modifiers\";\nimport { UtilGestureModifier } from \"./util/util-gesture-modifier\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\nexport interface DChartSelectionSimpleDismissOptions {\n\tenable?: boolean;\n\tmodifier?: keyof typeof UtilGestureModifier | UtilGestureModifier;\n}\n\nexport interface DChartSelectionSimpleOptions<CHART extends DBase = DBase, EMITTER = any> {\n\tselected?: DChartSelectionSubOptions<CHART>;\n\thovered?: DChartSelectionSubOptions<CHART>;\n\tpoint?: DChartSelectionPoint | keyof typeof DChartSelectionPoint;\n\ton?: DBaseOnOptions<EMITTER>;\n\tdismiss?: DChartSelectionSimpleDismissOptions;\n}\n\nexport class DChartSelectionSimple<CHART extends DBase = DBase>\n\textends utils.EventEmitter\n\timplements DChartSelection<CHART>\n{\n\tprotected static WORK_SELECT: DChartSeriesHitResult = new DChartSeriesHitResult();\n\n\tprotected _container: DChartSeriesContainer<CHART> | null;\n\tprotected _selected: DChartSelectionSub<CHART>;\n\tprotected _hovered: DChartSelectionSub<CHART>;\n\tprotected _dismiss?: UtilGestureModifier;\n\n\tprotected _onMoveBound: (e: InteractionEvent) => void;\n\tprotected _onTapBound: (target: unknown, e: InteractionEvent) => void;\n\n\tconstructor(options?: DChartSelectionSimpleOptions<CHART>) {\n\t\tsuper();\n\n\t\tthis._container = null;\n\t\tconst point = toEnum(options?.point ?? DChartSelectionPoint.CLOSER, DChartSelectionPoint);\n\t\tthis._selected = this.newSelected(point, options?.selected);\n\t\tthis._hovered = this.newHovered(point, options?.hovered);\n\t\tthis._dismiss = this.toDismiss(options);\n\n\t\t// Events\n\t\tconst on = options?.on;\n\t\tif (on != null) {\n\t\t\tfor (const name in on) {\n\t\t\t\tconst handler = on[name];\n\t\t\t\tif (handler) {\n\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis._onMoveBound = (e: InteractionEvent): void => {\n\t\t\tthis.onMove(e);\n\t\t};\n\t\tthis._onTapBound = (target: unknown, e: InteractionEvent): void => {\n\t\t\tthis.onTap(e);\n\t\t};\n\t}\n\n\tprotected toDismiss(\n\t\toptions?: DChartSelectionSimpleOptions<CHART>\n\t): UtilGestureModifier | undefined {\n\t\tif (options != null) {\n\t\t\tconst dismiss = options.dismiss;\n\t\t\tif (dismiss != null) {\n\t\t\t\tif (dismiss.enable === false) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t\treturn toEnum(\n\t\t\t\t\tdismiss.modifier ?? UtilGestureModifier.NOT_NONE,\n\t\t\t\t\tUtilGestureModifier\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn UtilGestureModifier.NOT_NONE;\n\t}\n\n\tprotected newSelected(\n\t\tpoint: DChartSelectionPoint,\n\t\toptions?: DChartSelectionSubOptions<CHART>\n\t): DChartSelectionSub<CHART> {\n\t\treturn new DChartSelectionSubImpl(this.toSelectedOptions(point, options));\n\t}\n\n\tprotected newHovered(\n\t\tpoint: DChartSelectionPoint,\n\t\toptions?: DChartSelectionSubOptions<CHART>\n\t): DChartSelectionSub<CHART> {\n\t\treturn new DChartSelectionSubImpl(this.toHoveredOptions(point, options));\n\t}\n\n\tprotected toSelectedOptions(\n\t\tpoint: DChartSelectionPoint,\n\t\toptions?: DChartSelectionSubOptions<CHART>\n\t): DChartSelectionSubOptions<CHART> {\n\t\treturn this.toSubOptions(point, options, DBaseState.ACTIVE);\n\t}\n\n\tprotected toHoveredOptions(\n\t\tpoint: DChartSelectionPoint,\n\t\toptions?: DChartSelectionSubOptions<CHART>\n\t): DChartSelectionSubOptions<CHART> {\n\t\treturn this.toSubOptions(point, options, DBaseState.HOVERED);\n\t}\n\n\tprotected toSubOptions(\n\t\tpoint: DChartSelectionPoint,\n\t\toptions: DChartSelectionSubOptions<CHART> | undefined,\n\t\tstate: string\n\t): DChartSelectionSubOptions<CHART> {\n\t\toptions = options || {};\n\n\t\tif (options.point == null) {\n\t\t\toptions.point = point;\n\t\t}\n\n\t\tif (options.state == null) {\n\t\t\toptions.state = state;\n\t\t}\n\n\t\tconst gridline = (options.gridline ??= {});\n\t\tconst gridlineX = (gridline.x ??= {});\n\t\tif (gridlineX.state == null) {\n\t\t\tgridlineX.state = state;\n\t\t}\n\n\t\tconst gridlineY = (gridline.y ??= {});\n\t\tif (gridlineY.state == null) {\n\t\t\tgridlineY.state = state;\n\t\t}\n\n\t\tconst marker = (options.marker ??= {});\n\t\tif (marker.state == null) {\n\t\t\tmarker.state = state;\n\t\t}\n\n\t\tconst label = (options.label ??= {});\n\t\tconst labelX = (label.x ??= {});\n\t\tif (labelX.state == null) {\n\t\t\tlabelX.state = state;\n\t\t}\n\n\t\tconst labelY = (label.y ??= {});\n\t\tif (labelY.state == null) {\n\t\t\tlabelY.state = state;\n\t\t}\n\n\t\treturn options;\n\t}\n\n\tprotected onTap(e: InteractionEvent): void {\n\t\tconst container = this._container;\n\t\tif (container == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst dismiss = this._dismiss;\n\t\tconst selected = this._selected;\n\t\tif (dismiss != null && UtilGestureModifiers.match(e, dismiss)) {\n\t\t\tselected.unset();\n\t\t} else {\n\t\t\tconst result = DChartSelectionSimple.WORK_SELECT;\n\t\t\tconst global = e.data.global;\n\t\t\tconst series = container.calcHitPoint(global.x, global.y, result);\n\t\t\tif (series != null) {\n\t\t\t\tselected.set(series, result);\n\t\t\t} else {\n\t\t\t\tselected.unset();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onMove(e: InteractionEvent): void {\n\t\tconst container = this._container;\n\t\tif (container == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst plotArea = container.plotArea;\n\t\tif (plotArea.state.isGesturing) {\n\t\t\treturn;\n\t\t}\n\t\tconst hovered = this._hovered;\n\t\tif (e.target === container.plotArea) {\n\t\t\tconst result = DChartSelectionSimple.WORK_SELECT;\n\t\t\tconst global = e.data.global;\n\t\t\tconst series = container.calcHitPoint(global.x, global.y, result);\n\t\t\tif (series) {\n\t\t\t\thovered.set(series, result);\n\t\t\t} else {\n\t\t\t\thovered.unset();\n\t\t\t}\n\t\t} else {\n\t\t\thovered.unset();\n\t\t}\n\t}\n\n\tbind(container: DChartSeriesContainer<CHART>): void {\n\t\tthis._container = container;\n\t\tthis._selected.bind(container);\n\t\tthis._hovered.bind(container);\n\t\tconst plotArea = container.plotArea;\n\t\tplotArea.on(UtilPointerEvent.move, this._onMoveBound);\n\t\tplotArea.view.on(\"gesturetap\", this._onTapBound);\n\t}\n\n\tunbind(): void {\n\t\tconst container = this._container;\n\t\tthis._container = null;\n\t\tif (container != null) {\n\t\t\tconst plotArea = container.plotArea;\n\t\t\tplotArea.off(UtilPointerEvent.move, this._onMoveBound);\n\t\t\tplotArea.view.off(\"gesturetap\", this._onTapBound);\n\t\t}\n\n\t\tthis._selected.unbind();\n\t\tthis._hovered.unbind();\n\t}\n\n\tget selected(): DChartSelectionSub<CHART> {\n\t\treturn this._selected;\n\t}\n\n\tget hovered(): DChartSelectionSub<CHART> {\n\t\treturn this._hovered;\n\t}\n\n\tupdate(): void {\n\t\tconst isSelectedUpdated = this._selected.update();\n\t\tconst isHoveredUpdated = this._hovered.update();\n\t\tif (isSelectedUpdated || isHoveredUpdated) {\n\t\t\tconst container = this._container;\n\t\t\tif (container != null) {\n\t\t\t\tDApplications.update(container.plotArea);\n\t\t\t}\n\t\t}\n\t}\n\n\tonRender(): void {\n\t\tthis._selected.update();\n\t\tthis._hovered.update();\n\t}\n}\n"]}
|
|
@@ -157,8 +157,9 @@ var DChartSelectionSubImpl = /** @class */ (function (_super) {
|
|
|
157
157
|
var work = this._work;
|
|
158
158
|
work.set(coordinateX.transform.map(coordinateX.map(position.x)), coordinateY.transform.map(coordinateY.map(position.y)));
|
|
159
159
|
container.plotArea.container.localTransform.apply(work, work);
|
|
160
|
-
var
|
|
161
|
-
var
|
|
160
|
+
var series = this._series;
|
|
161
|
+
var isGridlineUpdated = this._gridline.update(container, position, work, series);
|
|
162
|
+
var isMarkerUpdated = this._marker.update(container, position, work, series);
|
|
162
163
|
return isGridlineUpdated || isMarkerUpdated;
|
|
163
164
|
}
|
|
164
165
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-chart-selection-sub-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-chart-selection-sub-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Point, utils } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DChartCoordinate } from \"./d-chart-coordinate\";\nimport { DChartSelectionPoint } from \"./d-chart-selection\";\nimport { DChartSelectionContainer } from \"./d-chart-selection-container\";\nimport { DChartSelectionContainerImpl } from \"./d-chart-selection-container-impl\";\nimport { DChartSelectionMarker } from \"./d-chart-selection-marker\";\nimport { DChartSelectionSub, DChartSelectionSubOptions } from \"./d-chart-selection-sub\";\nimport { DChartSeries, DChartSeriesHitResult } from \"./d-chart-series\";\nimport { DChartSeriesContainer } from \"./d-chart-series-container\";\nimport { DChartSelectionGridlineX } from \"./d-chart-selection-gridline-x\";\nimport { DChartSelectionGridlineY } from \"./d-chart-selection-gridline-y\";\n\nexport class DChartSelectionSubImpl<CHART extends DBase = DBase>\n\textends utils.EventEmitter\n\timplements DChartSelectionSub<CHART>\n{\n\tprotected _container: DChartSeriesContainer<CHART> | null;\n\tprotected _isEnabled: boolean;\n\tprotected _series: DChartSeries<CHART> | null;\n\tprotected _coordinateX: DChartCoordinate<CHART> | null;\n\tprotected _coordinateY: DChartCoordinate<CHART> | null;\n\tprotected _position: Point;\n\tprotected _point: DChartSelectionPoint;\n\tprotected _work: Point;\n\tprotected _gridline: DChartSelectionContainer<CHART>;\n\tprotected _marker: DChartSelectionMarker<CHART>;\n\tprotected _state: string;\n\n\tconstructor(options: DChartSelectionSubOptions<CHART>) {\n\t\tsuper();\n\n\t\tthis._container = null;\n\t\tthis._series = null;\n\t\tthis._isEnabled = options.enable ?? true;\n\t\tthis._gridline = new DChartSelectionContainerImpl(\n\t\t\tnew DChartSelectionGridlineX(options.gridline?.x),\n\t\t\tnew DChartSelectionGridlineY(options.gridline?.y)\n\t\t);\n\t\tthis._marker = new DChartSelectionMarker(options.marker);\n\t\tthis._state = options.state ?? DBaseState.HOVERED;\n\t\tthis._coordinateX = null;\n\t\tthis._coordinateY = null;\n\t\tthis._position = new Point();\n\t\tthis._point = options.point ?? DChartSelectionPoint.CLOSER;\n\t\tthis._work = new Point();\n\n\t\t// Events\n\t\tconst on = options.on;\n\t\tif (on) {\n\t\t\tfor (const name in on) {\n\t\t\t\tconst handler = on[name];\n\t\t\t\tif (handler) {\n\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tbind(container: DChartSeriesContainer<CHART>): void {\n\t\tif (this._isEnabled) {\n\t\t\tthis._container = container;\n\t\t\tthis._gridline.bind(container);\n\t\t\tthis._marker.bind(container);\n\t\t}\n\t}\n\n\tunbind(): void {\n\t\tthis._marker.unbind();\n\t\tthis._gridline.unbind();\n\t\tthis._container = null;\n\t\tthis._coordinateX = null;\n\t\tthis._coordinateY = null;\n\t}\n\n\tget series(): DChartSeries<CHART> | null {\n\t\treturn this._series;\n\t}\n\n\tget position(): Point {\n\t\treturn this._position;\n\t}\n\n\tget gridline(): DChartSelectionContainer<CHART> {\n\t\treturn this._gridline;\n\t}\n\n\tget marker(): DChartSelectionMarker<CHART> {\n\t\treturn this._marker;\n\t}\n\n\tset(\n\t\tseries: DChartSeries<CHART>,\n\t\tresult: DChartSeriesHitResult | DChartSelectionSub<CHART>\n\t): void {\n\t\tconst container = this._container;\n\t\tconst coordinateX = (this._coordinateX = series.coordinate.x);\n\t\tconst coordinateY = (this._coordinateY = series.coordinate.y);\n\t\tif (container && coordinateX && coordinateY) {\n\t\t\tconst transform = container.plotArea.container.localTransform;\n\t\t\tconst position = this._position;\n\t\t\tconst work = this._work;\n\t\t\tif (result instanceof DChartSeriesHitResult) {\n\t\t\t\tlet x = result.x;\n\t\t\t\tlet y = result.y;\n\t\t\t\tswitch (this._point) {\n\t\t\t\t\tcase DChartSelectionPoint.PREVIOUS:\n\t\t\t\t\t\tx = result.p0x;\n\t\t\t\t\t\ty = result.p0y;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase DChartSelectionPoint.NEXT:\n\t\t\t\t\t\tx = result.p1x;\n\t\t\t\t\t\ty = result.p1y;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase DChartSelectionPoint.CLOSER:\n\t\t\t\t\t\tif (Math.abs(result.p0x - result.x) < Math.abs(result.p1x - result.x)) {\n\t\t\t\t\t\t\tx = result.p0x;\n\t\t\t\t\t\t\ty = result.p0y;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tx = result.p1x;\n\t\t\t\t\t\t\ty = result.p1y;\n\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\twork.set(x, y);\n\t\t\t\ttransform.apply(work, work);\n\t\t\t\tposition.set(\n\t\t\t\t\tcoordinateX.unmap(coordinateX.transform.unmap(x)),\n\t\t\t\t\tcoordinateY.unmap(coordinateY.transform.unmap(y))\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tposition.copyFrom(result.position);\n\t\t\t\twork.set(\n\t\t\t\t\tcoordinateX.transform.map(coordinateX.map(position.x)),\n\t\t\t\t\tcoordinateY.transform.map(coordinateY.map(position.y))\n\t\t\t\t);\n\t\t\t\ttransform.apply(work, work);\n\t\t\t}\n\n\t\t\tthis._gridline.set(container, position, work, series);\n\t\t\tthis._marker.set(container, position, work, series);\n\n\t\t\tDApplications.update(container.plotArea);\n\t\t}\n\n\t\tconst oldSeries = this._series;\n\t\tif (oldSeries !== series) {\n\t\t\tconst state = this._state;\n\t\t\tif (oldSeries) {\n\t\t\t\toldSeries.state.remove(state);\n\t\t\t}\n\n\t\t\tthis._series = series;\n\t\t\tseries.state.add(state);\n\t\t}\n\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tunset(): void {\n\t\tconst series = this._series;\n\t\tif (series) {\n\t\t\tthis._series = null;\n\t\t\tthis._coordinateX = null;\n\t\t\tthis._coordinateY = null;\n\n\t\t\tseries.state.remove(this._state);\n\n\t\t\tthis._gridline.unset();\n\t\t\tthis._marker.unset();\n\n\t\t\tthis.emit(\"change\", this);\n\t\t}\n\t}\n\n\tupdate(): boolean {\n\t\tconst container = this._container;\n\t\tconst coordinateX = this._coordinateX;\n\t\tconst coordinateY = this._coordinateY;\n\t\tif (container && coordinateX && coordinateY) {\n\t\t\tconst position = this._position;\n\t\t\tconst work = this._work;\n\t\t\twork.set(\n\t\t\t\tcoordinateX.transform.map(coordinateX.map(position.x)),\n\t\t\t\tcoordinateY.transform.map(coordinateY.map(position.y))\n\t\t\t);\n\t\t\tcontainer.plotArea.container.localTransform.apply(work, work);\n\n\t\t\tconst isGridlineUpdated = this._gridline.update(container, position, work);\n\t\t\tconst isMarkerUpdated = this._marker.update(container, position, work);\n\t\t\treturn isGridlineUpdated || isMarkerUpdated;\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-chart-selection-sub-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-chart-selection-sub-impl.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAgB,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;IACS,0CAAkB;IAe1B,gCAAY,OAAyC;;QAArD,YACC,iBAAO,SA2BP;QAzBA,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAI,CAAC,UAAU,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,IAAI,CAAC;QACzC,KAAI,CAAC,SAAS,GAAG,IAAI,4BAA4B,CAChD,IAAI,wBAAwB,CAAC,MAAA,OAAO,CAAC,QAAQ,0CAAE,CAAC,CAAC,EACjD,IAAI,wBAAwB,CAAC,MAAA,OAAO,CAAC,QAAQ,0CAAE,CAAC,CAAC,CACjD,CAAC;QACF,KAAI,CAAC,OAAO,GAAG,IAAI,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzD,KAAI,CAAC,MAAM,GAAG,MAAA,OAAO,CAAC,KAAK,mCAAI,UAAU,CAAC,OAAO,CAAC;QAClD,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,KAAI,CAAC,SAAS,GAAG,IAAI,KAAK,EAAE,CAAC;QAC7B,KAAI,CAAC,MAAM,GAAG,MAAA,OAAO,CAAC,KAAK,mCAAI,oBAAoB,CAAC,MAAM,CAAC;QAC3D,KAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QAEzB,SAAS;QACT,IAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACtB,IAAI,EAAE,EAAE;YACP,KAAK,IAAM,MAAI,IAAI,EAAE,EAAE;gBACtB,IAAM,OAAO,GAAG,EAAE,CAAC,MAAI,CAAC,CAAC;gBACzB,IAAI,OAAO,EAAE;oBACZ,KAAI,CAAC,EAAE,CAAC,MAAI,EAAE,OAAO,CAAC,CAAC;iBACvB;aACD;SACD;;IACF,CAAC;IAED,qCAAI,GAAJ,UAAK,SAAuC;QAC3C,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC7B;IACF,CAAC;IAED,uCAAM,GAAN;QACC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,sBAAI,0CAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAED,sBAAI,4CAAQ;aAAZ;YACC,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;;;OAAA;IAED,sBAAI,4CAAQ;aAAZ;YACC,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;;;OAAA;IAED,sBAAI,0CAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAED,oCAAG,GAAH,UACC,MAA2B,EAC3B,MAAyD;QAEzD,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAM,WAAW,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAM,WAAW,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAI,SAAS,IAAI,WAAW,IAAI,WAAW,EAAE;YAC5C,IAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC;YAC9D,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,MAAM,YAAY,qBAAqB,EAAE;gBAC5C,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACjB,QAAQ,IAAI,CAAC,MAAM,EAAE;oBACpB,KAAK,oBAAoB,CAAC,QAAQ;wBACjC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;wBACf,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;wBACf,MAAM;oBACP,KAAK,oBAAoB,CAAC,IAAI;wBAC7B,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;wBACf,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;wBACf,MAAM;oBACP,KAAK,oBAAoB,CAAC,MAAM;wBAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE;4BACtE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;4BACf,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;yBACf;6BAAM;4BACN,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;4BACf,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;yBACf;iBACF;gBAED,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACf,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC5B,QAAQ,CAAC,GAAG,CACX,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACjD,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACjD,CAAC;aACF;iBAAM;gBACN,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnC,IAAI,CAAC,GAAG,CACP,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACtD,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACtD,CAAC;gBACF,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAC5B;YAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAEpD,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACzC;QAED,IAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,SAAS,KAAK,MAAM,EAAE;YACzB,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,SAAS,EAAE;gBACd,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC9B;YAED,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACxB;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,sCAAK,GAAL;QACC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,MAAM,EAAE;YACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEjC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAErB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC1B;IACF,CAAC;IAED,uCAAM,GAAN;QACC,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,SAAS,IAAI,WAAW,IAAI,WAAW,EAAE;YAC5C,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,CAAC,GAAG,CACP,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACtD,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACtD,CAAC;YACF,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAE9D,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACnF,IAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC/E,OAAO,iBAAiB,IAAI,eAAe,CAAC;SAC5C;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACF,6BAAC;AAAD,CAAC,AAtLD,CACS,KAAK,CAAC,YAAY,GAqL1B","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Point, utils } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DChartCoordinate } from \"./d-chart-coordinate\";\nimport { DChartSelectionPoint } from \"./d-chart-selection\";\nimport { DChartSelectionContainer } from \"./d-chart-selection-container\";\nimport { DChartSelectionContainerImpl } from \"./d-chart-selection-container-impl\";\nimport { DChartSelectionMarker } from \"./d-chart-selection-marker\";\nimport { DChartSelectionSub, DChartSelectionSubOptions } from \"./d-chart-selection-sub\";\nimport { DChartSeries, DChartSeriesHitResult } from \"./d-chart-series\";\nimport { DChartSeriesContainer } from \"./d-chart-series-container\";\nimport { DChartSelectionGridlineX } from \"./d-chart-selection-gridline-x\";\nimport { DChartSelectionGridlineY } from \"./d-chart-selection-gridline-y\";\n\nexport class DChartSelectionSubImpl<CHART extends DBase = DBase>\n\textends utils.EventEmitter\n\timplements DChartSelectionSub<CHART>\n{\n\tprotected _container: DChartSeriesContainer<CHART> | null;\n\tprotected _isEnabled: boolean;\n\tprotected _series: DChartSeries<CHART> | null;\n\tprotected _coordinateX: DChartCoordinate<CHART> | null;\n\tprotected _coordinateY: DChartCoordinate<CHART> | null;\n\tprotected _position: Point;\n\tprotected _point: DChartSelectionPoint;\n\tprotected _work: Point;\n\tprotected _gridline: DChartSelectionContainer<CHART>;\n\tprotected _marker: DChartSelectionMarker<CHART>;\n\tprotected _state: string;\n\n\tconstructor(options: DChartSelectionSubOptions<CHART>) {\n\t\tsuper();\n\n\t\tthis._container = null;\n\t\tthis._series = null;\n\t\tthis._isEnabled = options.enable ?? true;\n\t\tthis._gridline = new DChartSelectionContainerImpl(\n\t\t\tnew DChartSelectionGridlineX(options.gridline?.x),\n\t\t\tnew DChartSelectionGridlineY(options.gridline?.y)\n\t\t);\n\t\tthis._marker = new DChartSelectionMarker(options.marker);\n\t\tthis._state = options.state ?? DBaseState.HOVERED;\n\t\tthis._coordinateX = null;\n\t\tthis._coordinateY = null;\n\t\tthis._position = new Point();\n\t\tthis._point = options.point ?? DChartSelectionPoint.CLOSER;\n\t\tthis._work = new Point();\n\n\t\t// Events\n\t\tconst on = options.on;\n\t\tif (on) {\n\t\t\tfor (const name in on) {\n\t\t\t\tconst handler = on[name];\n\t\t\t\tif (handler) {\n\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tbind(container: DChartSeriesContainer<CHART>): void {\n\t\tif (this._isEnabled) {\n\t\t\tthis._container = container;\n\t\t\tthis._gridline.bind(container);\n\t\t\tthis._marker.bind(container);\n\t\t}\n\t}\n\n\tunbind(): void {\n\t\tthis._marker.unbind();\n\t\tthis._gridline.unbind();\n\t\tthis._container = null;\n\t\tthis._coordinateX = null;\n\t\tthis._coordinateY = null;\n\t}\n\n\tget series(): DChartSeries<CHART> | null {\n\t\treturn this._series;\n\t}\n\n\tget position(): Point {\n\t\treturn this._position;\n\t}\n\n\tget gridline(): DChartSelectionContainer<CHART> {\n\t\treturn this._gridline;\n\t}\n\n\tget marker(): DChartSelectionMarker<CHART> {\n\t\treturn this._marker;\n\t}\n\n\tset(\n\t\tseries: DChartSeries<CHART>,\n\t\tresult: DChartSeriesHitResult | DChartSelectionSub<CHART>\n\t): void {\n\t\tconst container = this._container;\n\t\tconst coordinateX = (this._coordinateX = series.coordinate.x);\n\t\tconst coordinateY = (this._coordinateY = series.coordinate.y);\n\t\tif (container && coordinateX && coordinateY) {\n\t\t\tconst transform = container.plotArea.container.localTransform;\n\t\t\tconst position = this._position;\n\t\t\tconst work = this._work;\n\t\t\tif (result instanceof DChartSeriesHitResult) {\n\t\t\t\tlet x = result.x;\n\t\t\t\tlet y = result.y;\n\t\t\t\tswitch (this._point) {\n\t\t\t\t\tcase DChartSelectionPoint.PREVIOUS:\n\t\t\t\t\t\tx = result.p0x;\n\t\t\t\t\t\ty = result.p0y;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase DChartSelectionPoint.NEXT:\n\t\t\t\t\t\tx = result.p1x;\n\t\t\t\t\t\ty = result.p1y;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase DChartSelectionPoint.CLOSER:\n\t\t\t\t\t\tif (Math.abs(result.p0x - result.x) < Math.abs(result.p1x - result.x)) {\n\t\t\t\t\t\t\tx = result.p0x;\n\t\t\t\t\t\t\ty = result.p0y;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tx = result.p1x;\n\t\t\t\t\t\t\ty = result.p1y;\n\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\twork.set(x, y);\n\t\t\t\ttransform.apply(work, work);\n\t\t\t\tposition.set(\n\t\t\t\t\tcoordinateX.unmap(coordinateX.transform.unmap(x)),\n\t\t\t\t\tcoordinateY.unmap(coordinateY.transform.unmap(y))\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tposition.copyFrom(result.position);\n\t\t\t\twork.set(\n\t\t\t\t\tcoordinateX.transform.map(coordinateX.map(position.x)),\n\t\t\t\t\tcoordinateY.transform.map(coordinateY.map(position.y))\n\t\t\t\t);\n\t\t\t\ttransform.apply(work, work);\n\t\t\t}\n\n\t\t\tthis._gridline.set(container, position, work, series);\n\t\t\tthis._marker.set(container, position, work, series);\n\n\t\t\tDApplications.update(container.plotArea);\n\t\t}\n\n\t\tconst oldSeries = this._series;\n\t\tif (oldSeries !== series) {\n\t\t\tconst state = this._state;\n\t\t\tif (oldSeries) {\n\t\t\t\toldSeries.state.remove(state);\n\t\t\t}\n\n\t\t\tthis._series = series;\n\t\t\tseries.state.add(state);\n\t\t}\n\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tunset(): void {\n\t\tconst series = this._series;\n\t\tif (series) {\n\t\t\tthis._series = null;\n\t\t\tthis._coordinateX = null;\n\t\t\tthis._coordinateY = null;\n\n\t\t\tseries.state.remove(this._state);\n\n\t\t\tthis._gridline.unset();\n\t\t\tthis._marker.unset();\n\n\t\t\tthis.emit(\"change\", this);\n\t\t}\n\t}\n\n\tupdate(): boolean {\n\t\tconst container = this._container;\n\t\tconst coordinateX = this._coordinateX;\n\t\tconst coordinateY = this._coordinateY;\n\t\tif (container && coordinateX && coordinateY) {\n\t\t\tconst position = this._position;\n\t\t\tconst work = this._work;\n\t\t\twork.set(\n\t\t\t\tcoordinateX.transform.map(coordinateX.map(position.x)),\n\t\t\t\tcoordinateY.transform.map(coordinateY.map(position.y))\n\t\t\t);\n\t\t\tcontainer.plotArea.container.localTransform.apply(work, work);\n\n\t\t\tconst series = this._series;\n\t\t\tconst isGridlineUpdated = this._gridline.update(container, position, work, series);\n\t\t\tconst isMarkerUpdated = this._marker.update(container, position, work, series);\n\t\t\treturn isGridlineUpdated || isMarkerUpdated;\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
|
|
@@ -64,7 +64,13 @@ var DDiagram = /** @class */ (function (_super) {
|
|
|
64
64
|
DDiagram.prototype.onDown = function (e) {
|
|
65
65
|
var canvas = this.canvas;
|
|
66
66
|
if (canvas) {
|
|
67
|
-
|
|
67
|
+
var target = e.target;
|
|
68
|
+
if (target === this || target === canvas) {
|
|
69
|
+
_super.prototype.onDown.call(this, e, canvas.onShapeDown(e));
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
_super.prototype.onDown.call(this, e);
|
|
73
|
+
}
|
|
68
74
|
}
|
|
69
75
|
else {
|
|
70
76
|
_super.prototype.onDown.call(this, e);
|
|
@@ -118,7 +124,10 @@ var DDiagram = /** @class */ (function (_super) {
|
|
|
118
124
|
DDiagram.prototype.onShapeRightDown = function (e) {
|
|
119
125
|
var canvas = this.canvas;
|
|
120
126
|
if (canvas) {
|
|
121
|
-
|
|
127
|
+
var target = e.target;
|
|
128
|
+
if (target === this || target === canvas) {
|
|
129
|
+
canvas.onShapeRightDown(e);
|
|
130
|
+
}
|
|
122
131
|
}
|
|
123
132
|
};
|
|
124
133
|
DDiagram.prototype.onShapeRightUp = function (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-diagram.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,YAAY,EAA0C,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAAE,cAAc,EAAyB,MAAM,oBAAoB,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,wCAAwC,EAAE,MAAM,uDAAuD,CAAC;AAuBjH;IAGU,4BAAuF;IAMhG,kBAAY,OAAiB;QAA7B,YACC,kBAAM,OAAO,CAAC,SAsCd;QApCA,iBAAiB;QACjB,KAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAC,CAAmB;YAClD,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,KAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,UAAC,CAAmB;YAChD,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,KAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAC,CAAmB;YACvD,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,KAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAC,CAAmB;YACpD,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,KAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAC,CAAmB;YACjD,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,KAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAC,CAAmB;YACtD,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,KAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAC,CAAmB;YACvD,KAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,KAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAC,CAAmB;YACrD,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,KAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,cAAc,EAAE,UAAC,CAAmB;YAC5D,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,OAAO;QACP,IAAM,IAAI,GAAG,IAAI,gBAAgB,CAAC,KAAI,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAClF,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAEhB,QAAQ;QACR,KAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,KAAI,CAAC,CAAC;;IACtC,CAAC;IAES,4BAAS,GAAnB,UACC,MAAsB,EACtB,MAAgB,EAChB,MAAkC;QAElC,OAAO,iBAAM,SAAS,YAAC,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;IAES,yBAAM,GAAhB,UAAiB,OAAiB;QACjC,OAAO,wCAAwC,CAAC,MAAM,CAAC;IACxD,CAAC;IAES,4BAAS,GAAnB,UAAoB,UAA8B;QACjD,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,CAAC;IAES,kCAAe,GAAzB,UAA0B,UAA8B;QACvD,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAES,yBAAM,GAAhB,UAAiB,CAAmB;QACnC,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,iBAAM,MAAM,YAAC,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;SACvC;aAAM;YACN,iBAAM,MAAM,YAAC,CAAC,CAAC,CAAC;SAChB;IACF,CAAC;IAES,8BAAW,GAArB,UAAsB,CAAmB;QACxC,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,IAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACxB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,MAAM,EAAE;gBACzC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;aACtB;SACD;IACF,CAAC;IAES,4BAAS,GAAnB,UAAoB,CAAmB;QACtC,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,IAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACxB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,MAAM,EAAE;gBACzC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACpB;SACD;IACF,CAAC;IAES,gCAAa,GAAvB,UAAwB,CAAmB;QAC1C,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,IAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACxB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,MAAM,EAAE;gBACzC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACxB;SACD;IACF,CAAC;IAES,+BAAY,GAAtB,UAAuB,CAAmB;QACzC,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,IAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACxB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,MAAM,EAAE;gBACzC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;aACvB;SACD;IACF,CAAC;IAES,oCAAiB,GAA3B,UAA4B,CAAmB;QAC9C,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,IAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACxB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,MAAM,EAAE;gBACzC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;aAC5B;SACD;IACF,CAAC;IAES,mCAAgB,GAA1B,UAA2B,CAAmB;QAC7C,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;SAC3B;IACF,CAAC;IAES,iCAAc,GAAxB,UAAyB,CAAmB;QAC3C,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,IAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACxB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,MAAM,EAAE;gBACzC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;aACzB;SACD;IACF,CAAC;IAES,qCAAkB,GAA5B,UAA6B,CAAmB;QAC/C,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,IAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACxB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,MAAM,EAAE;gBACzC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;aAC7B;SACD;IACF,CAAC;IAED,6BAAU,GAAV,UAAW,CAA0B,EAAE,OAA2B;QACjE,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,OAAO,iBAAM,UAAU,YAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;SACxE;aAAM;YACN,OAAO,iBAAM,UAAU,YAAC,CAAC,EAAE,OAAO,CAAC,CAAC;SACpC;IACF,CAAC;IAED,yBAAM,GAAN,UAAO,QAAkB;QACxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9B,iBAAM,MAAM,YAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAES,0BAAO,GAAjB;QACC,OAAO,UAAU,CAAC;IACnB,CAAC;IACF,eAAC;AAAD,CAAC,AA7KD,CAGU,YAAY,GA0KrB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, InteractionManager, Renderer } from \"pixi.js\";\nimport { DDiagramBase, DDiagramBaseOptions, DThemeDiagramBase } from \"./d-diagram-base\";\nimport { DDiagramCanvas, DDiagramCanvasOptions } from \"./d-diagram-canvas\";\nimport { DDiagramSerialized } from \"./d-diagram-serialized\";\nimport { DDiagramShape } from \"./d-diagram-shape\";\nimport { DDiagramData, DDiagramDataOptions } from \"./d-diagram-data\";\nimport { EShape } from \"./shape/e-shape\";\nimport { DDiagramDataImpl } from \"./d-diagram-data-impl\";\nimport { DDiagramDataMapper } from \"./d-diagram-data-mapper\";\nimport { DDiagramController } from \"./d-diagram-controller\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { EShapeResourceManagerDeserializationMode } from \"./shape/e-shape-resource-manager-deserialization-mode\";\n\n/**\n * {@link DDiagram} options.\n */\nexport interface DDiagramOptions<THEME extends DThemeDiagram = DThemeDiagram, EMITTER = any>\n\textends DDiagramBaseOptions<\n\t\tDDiagramCanvas,\n\t\tDDiagramCanvasOptions,\n\t\tDDiagramController,\n\t\tTHEME,\n\t\tEMITTER\n\t> {\n\t/** @deprecated in favor of {@link data} */\n\ttag?: DDiagramDataOptions;\n\tdata?: DDiagramDataOptions;\n}\n\n/**\n * {@link DDiagram} theme.\n */\nexport interface DThemeDiagram extends DThemeDiagramBase {}\n\nexport class DDiagram<\n\tTHEME extends DThemeDiagram = DThemeDiagram,\n\tOPTIONS extends DDiagramOptions<THEME> = DDiagramOptions<THEME>\n> extends DDiagramBase<DDiagramCanvas, DDiagramCanvasOptions, DDiagramController, THEME, OPTIONS> {\n\t/** @deprecated in favor of {@link data} */\n\ttag: DDiagramData;\n\tdata: DDiagramData;\n\tshape: DDiagramShape;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\t// Event handlers\n\t\tthis.on(UtilPointerEvent.move, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeMove(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.up, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeUp(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.upoutside, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeCancel(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.cancel, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeCancel(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.tap, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeClick(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.righttap, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeRightClick(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.rightdown, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeRightDown(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.rightup, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeRightUp(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.rightupoutside, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeRightCancel(e);\n\t\t});\n\n\t\t// Data\n\t\tconst data = new DDiagramDataImpl(this, options && (options.data || options.tag));\n\t\tthis.data = data;\n\t\tthis.tag = data;\n\n\t\t// Shape\n\t\tthis.shape = new DDiagramShape(this);\n\t}\n\n\tprotected initLayer(\n\t\tcanvas: DDiagramCanvas,\n\t\tshapes: EShape[],\n\t\tmapper?: DDiagramDataMapper | null\n\t): DDiagramCanvas {\n\t\treturn super.initLayer(canvas, shapes, mapper || this.data.mapper);\n\t}\n\n\tprotected toMode(options?: OPTIONS): EShapeResourceManagerDeserializationMode {\n\t\treturn EShapeResourceManagerDeserializationMode.VIEWER;\n\t}\n\n\tprotected newCanvas(serialized: DDiagramSerialized): DDiagramCanvas {\n\t\treturn new DDiagramCanvas(this.toCanvasOptions(serialized));\n\t}\n\n\tprotected toCanvasOptions(serialized: DDiagramSerialized): DDiagramCanvasOptions {\n\t\treturn this.toCanvasBaseOptions(serialized);\n\t}\n\n\tprotected onDown(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tsuper.onDown(e, canvas.onShapeDown(e));\n\t\t} else {\n\t\t\tsuper.onDown(e);\n\t\t}\n\t}\n\n\tprotected onShapeMove(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeMove(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeUp(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeUp(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeCancel(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeCancel(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeClick(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeClick(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeRightClick(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeRightClick(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeRightDown(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tcanvas.onShapeRightDown(e);\n\t\t}\n\t}\n\n\tprotected onShapeRightUp(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeRightUp(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeRightCancel(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeRightCancel(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonDblClick(e: MouseEvent | TouchEvent, manager: InteractionManager): boolean {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\treturn super.onDblClick(e, manager, canvas.onShapeDblClick(e, manager));\n\t\t} else {\n\t\t\treturn super.onDblClick(e, manager);\n\t\t}\n\t}\n\n\trender(renderer: Renderer): void {\n\t\tthis.shape.onRender(renderer);\n\t\tsuper.render(renderer);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagram\";\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-diagram.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-diagram.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, InteractionManager, Renderer } from \"pixi.js\";\nimport { DDiagramBase, DDiagramBaseOptions, DThemeDiagramBase } from \"./d-diagram-base\";\nimport { DDiagramCanvas, DDiagramCanvasOptions } from \"./d-diagram-canvas\";\nimport { DDiagramSerialized } from \"./d-diagram-serialized\";\nimport { DDiagramShape } from \"./d-diagram-shape\";\nimport { DDiagramData, DDiagramDataOptions } from \"./d-diagram-data\";\nimport { EShape } from \"./shape/e-shape\";\nimport { DDiagramDataImpl } from \"./d-diagram-data-impl\";\nimport { DDiagramDataMapper } from \"./d-diagram-data-mapper\";\nimport { DDiagramController } from \"./d-diagram-controller\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { EShapeResourceManagerDeserializationMode } from \"./shape/e-shape-resource-manager-deserialization-mode\";\n\n/**\n * {@link DDiagram} options.\n */\nexport interface DDiagramOptions<THEME extends DThemeDiagram = DThemeDiagram, EMITTER = any>\n\textends DDiagramBaseOptions<\n\t\tDDiagramCanvas,\n\t\tDDiagramCanvasOptions,\n\t\tDDiagramController,\n\t\tTHEME,\n\t\tEMITTER\n\t> {\n\t/** @deprecated in favor of {@link data} */\n\ttag?: DDiagramDataOptions;\n\tdata?: DDiagramDataOptions;\n}\n\n/**\n * {@link DDiagram} theme.\n */\nexport interface DThemeDiagram extends DThemeDiagramBase {}\n\nexport class DDiagram<\n\tTHEME extends DThemeDiagram = DThemeDiagram,\n\tOPTIONS extends DDiagramOptions<THEME> = DDiagramOptions<THEME>\n> extends DDiagramBase<DDiagramCanvas, DDiagramCanvasOptions, DDiagramController, THEME, OPTIONS> {\n\t/** @deprecated in favor of {@link data} */\n\ttag: DDiagramData;\n\tdata: DDiagramData;\n\tshape: DDiagramShape;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\t// Event handlers\n\t\tthis.on(UtilPointerEvent.move, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeMove(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.up, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeUp(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.upoutside, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeCancel(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.cancel, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeCancel(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.tap, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeClick(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.righttap, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeRightClick(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.rightdown, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeRightDown(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.rightup, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeRightUp(e);\n\t\t});\n\t\tthis.on(UtilPointerEvent.rightupoutside, (e: InteractionEvent): void => {\n\t\t\tthis.onShapeRightCancel(e);\n\t\t});\n\n\t\t// Data\n\t\tconst data = new DDiagramDataImpl(this, options && (options.data || options.tag));\n\t\tthis.data = data;\n\t\tthis.tag = data;\n\n\t\t// Shape\n\t\tthis.shape = new DDiagramShape(this);\n\t}\n\n\tprotected initLayer(\n\t\tcanvas: DDiagramCanvas,\n\t\tshapes: EShape[],\n\t\tmapper?: DDiagramDataMapper | null\n\t): DDiagramCanvas {\n\t\treturn super.initLayer(canvas, shapes, mapper || this.data.mapper);\n\t}\n\n\tprotected toMode(options?: OPTIONS): EShapeResourceManagerDeserializationMode {\n\t\treturn EShapeResourceManagerDeserializationMode.VIEWER;\n\t}\n\n\tprotected newCanvas(serialized: DDiagramSerialized): DDiagramCanvas {\n\t\treturn new DDiagramCanvas(this.toCanvasOptions(serialized));\n\t}\n\n\tprotected toCanvasOptions(serialized: DDiagramSerialized): DDiagramCanvasOptions {\n\t\treturn this.toCanvasBaseOptions(serialized);\n\t}\n\n\tprotected onDown(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tsuper.onDown(e, canvas.onShapeDown(e));\n\t\t\t} else {\n\t\t\t\tsuper.onDown(e);\n\t\t\t}\n\t\t} else {\n\t\t\tsuper.onDown(e);\n\t\t}\n\t}\n\n\tprotected onShapeMove(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeMove(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeUp(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeUp(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeCancel(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeCancel(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeClick(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeClick(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeRightClick(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeRightClick(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeRightDown(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeRightDown(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeRightUp(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeRightUp(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onShapeRightCancel(e: InteractionEvent): void {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\tconst target = e.target;\n\t\t\tif (target === this || target === canvas) {\n\t\t\t\tcanvas.onShapeRightCancel(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonDblClick(e: MouseEvent | TouchEvent, manager: InteractionManager): boolean {\n\t\tconst canvas = this.canvas;\n\t\tif (canvas) {\n\t\t\treturn super.onDblClick(e, manager, canvas.onShapeDblClick(e, manager));\n\t\t} else {\n\t\t\treturn super.onDblClick(e, manager);\n\t\t}\n\t}\n\n\trender(renderer: Renderer): void {\n\t\tthis.shape.onRender(renderer);\n\t\tsuper.render(renderer);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDiagram\";\n\t}\n}\n"]}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Copyright (C) 2019 Toshiba Corporation
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
|
+
import { Point } from "pixi.js";
|
|
5
6
|
import { UtilGestureMode } from "./util/util-gesture-mode";
|
|
6
7
|
import { UtilGestureModifier } from "./util/util-gesture-modifier";
|
|
7
8
|
import { toEnum } from "./util/to-enum";
|
|
@@ -16,6 +17,7 @@ var DViewGestureImpl = /** @class */ (function () {
|
|
|
16
17
|
var mode = toEnum((_a = options === null || options === void 0 ? void 0 : options.mode) !== null && _a !== void 0 ? _a : theme.getGestureMode(), UtilGestureMode);
|
|
17
18
|
var modifier = toEnum((_b = options === null || options === void 0 ? void 0 : options.modifier) !== null && _b !== void 0 ? _b : theme.getGestureModifier(), UtilGestureModifier);
|
|
18
19
|
if (mode === UtilGestureMode.ON || mode === UtilGestureMode.TOUCH) {
|
|
20
|
+
var work_1 = new Point();
|
|
19
21
|
this._gestureUtil = new UtilGesture({
|
|
20
22
|
touch: mode === UtilGestureMode.TOUCH,
|
|
21
23
|
modifier: modifier,
|
|
@@ -28,7 +30,7 @@ var DViewGestureImpl = /** @class */ (function () {
|
|
|
28
30
|
_this.onStart(target);
|
|
29
31
|
},
|
|
30
32
|
move: function (target, dx, dy, x, y, ds) {
|
|
31
|
-
_this.onGestureMove(toTarget(owner), dx, dy, x, y, ds);
|
|
33
|
+
_this.onGestureMove(toTarget(owner), dx, dy, x, y, ds, work_1);
|
|
32
34
|
},
|
|
33
35
|
easing: {
|
|
34
36
|
end: function (target) {
|
|
@@ -37,6 +39,9 @@ var DViewGestureImpl = /** @class */ (function () {
|
|
|
37
39
|
},
|
|
38
40
|
stop: function (target) {
|
|
39
41
|
_this.onStop(target);
|
|
42
|
+
},
|
|
43
|
+
tap: function (target, e) {
|
|
44
|
+
_this.onTap(target, e);
|
|
40
45
|
}
|
|
41
46
|
}
|
|
42
47
|
});
|
|
@@ -55,8 +60,12 @@ var DViewGestureImpl = /** @class */ (function () {
|
|
|
55
60
|
var parent = this._parent;
|
|
56
61
|
parent.emit("gesturestop", target, parent);
|
|
57
62
|
};
|
|
58
|
-
DViewGestureImpl.prototype.
|
|
59
|
-
|
|
63
|
+
DViewGestureImpl.prototype.onTap = function (target, e) {
|
|
64
|
+
var parent = this._parent;
|
|
65
|
+
parent.emit("gesturetap", target, e, parent);
|
|
66
|
+
};
|
|
67
|
+
DViewGestureImpl.prototype.onGestureMove = function (target, dx, dy, x, y, ds, work) {
|
|
68
|
+
if (target != null) {
|
|
60
69
|
// Scale
|
|
61
70
|
var parent_1 = this._parent;
|
|
62
71
|
var oldScale = target.scale;
|
|
@@ -70,6 +79,12 @@ var DViewGestureImpl = /** @class */ (function () {
|
|
|
70
79
|
newScaleX = scaleRatio * oldScaleX;
|
|
71
80
|
newScaleY = scaleRatio * oldScaleY;
|
|
72
81
|
// Position
|
|
82
|
+
var targetParent = target.parent;
|
|
83
|
+
if (targetParent != null) {
|
|
84
|
+
targetParent.toLocal(work.set(x, y), undefined, work);
|
|
85
|
+
x = work.x;
|
|
86
|
+
y = work.y;
|
|
87
|
+
}
|
|
73
88
|
var cx = x - dx;
|
|
74
89
|
var cy = y - dy;
|
|
75
90
|
var position = target.position;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-view-gesture-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-view-gesture-impl.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"d-view-gesture-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-view-gesture-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, Point } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport { UtilGestureMode } from \"./util/util-gesture-mode\";\nimport { UtilGestureModifier } from \"./util/util-gesture-modifier\";\nimport { DThemeViewGesture, DViewGesture, DViewGestureOptions } from \"./d-view-gesture\";\nimport { DViewParent } from \"./d-view-parent\";\nimport { DViewTarget, DViewToTarget } from \"./d-view-to-target\";\nimport { toEnum } from \"./util/to-enum\";\nimport { UtilGesture } from \"./util/util-gesture\";\nimport { DViewConstraint } from \"./d-view-constraint\";\n\nexport class DViewGestureImpl implements DViewGesture {\n\tprotected _owner: DBase;\n\tprotected _parent: DViewParent;\n\tprotected _constraint: DViewConstraint;\n\tprotected _gestureUtil?: UtilGesture<DBase>;\n\n\tconstructor(\n\t\towner: DBase,\n\t\ttoTarget: DViewToTarget,\n\t\tparent: DViewParent,\n\t\tconstraint: DViewConstraint,\n\t\ttheme: DThemeViewGesture,\n\t\toptions?: DViewGestureOptions\n\t) {\n\t\tthis._owner = owner;\n\t\tthis._parent = parent;\n\t\tthis._constraint = constraint;\n\n\t\tconst mode = toEnum(options?.mode ?? theme.getGestureMode(), UtilGestureMode);\n\t\tconst modifier = toEnum(\n\t\t\toptions?.modifier ?? theme.getGestureModifier(),\n\t\t\tUtilGestureModifier\n\t\t);\n\t\tif (mode === UtilGestureMode.ON || mode === UtilGestureMode.TOUCH) {\n\t\t\tconst work = new Point();\n\t\t\tthis._gestureUtil = new UtilGesture<DBase>({\n\t\t\t\ttouch: mode === UtilGestureMode.TOUCH,\n\t\t\t\tmodifier,\n\t\t\t\tchecker: options && options.checker,\n\t\t\t\teasing: {\n\t\t\t\t\tduration: options?.duration\n\t\t\t\t},\n\t\t\t\ton: {\n\t\t\t\t\tstart: (target): void => {\n\t\t\t\t\t\tthis.onStart(target);\n\t\t\t\t\t},\n\t\t\t\t\tmove: (\n\t\t\t\t\t\ttarget: DBase,\n\t\t\t\t\t\tdx: number,\n\t\t\t\t\t\tdy: number,\n\t\t\t\t\t\tx: number,\n\t\t\t\t\t\ty: number,\n\t\t\t\t\t\tds: number\n\t\t\t\t\t): void => {\n\t\t\t\t\t\tthis.onGestureMove(toTarget(owner), dx, dy, x, y, ds, work);\n\t\t\t\t\t},\n\t\t\t\t\teasing: {\n\t\t\t\t\t\tend: (target): void => {\n\t\t\t\t\t\t\tthis.onEnd(target);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tstop: (target): void => {\n\t\t\t\t\t\tthis.onStop(target);\n\t\t\t\t\t},\n\t\t\t\t\ttap: (target, e): void => {\n\t\t\t\t\t\tthis.onTap(target, e);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected onStart(target: DBase): void {\n\t\tconst parent = this._parent;\n\t\tparent.stop();\n\t\tparent.emit(\"gesturestart\", target, parent);\n\t}\n\n\tprotected onEnd(target: DBase): void {\n\t\tconst parent = this._parent;\n\t\tparent.emit(\"gestureend\", target, parent);\n\t}\n\n\tprotected onStop(target: DBase): void {\n\t\tconst parent = this._parent;\n\t\tparent.emit(\"gesturestop\", target, parent);\n\t}\n\n\tprotected onTap(target: DBase, e: InteractionEvent): void {\n\t\tconst parent = this._parent;\n\t\tparent.emit(\"gesturetap\", target, e, parent);\n\t}\n\n\tprotected onGestureMove(\n\t\ttarget: DViewTarget | null,\n\t\tdx: number,\n\t\tdy: number,\n\t\tx: number,\n\t\ty: number,\n\t\tds: number,\n\t\twork: Point\n\t): void {\n\t\tif (target != null) {\n\t\t\t// Scale\n\t\t\tconst parent = this._parent;\n\t\t\tconst oldScale = target.scale;\n\t\t\tconst oldScaleX = oldScale.x;\n\t\t\tconst oldScaleY = oldScale.y;\n\t\t\tlet newScaleX = parent.toNormalizedScale(oldScaleX * ds);\n\t\t\tlet newScaleY = parent.toNormalizedScale(oldScaleY * ds);\n\n\t\t\tconst scaleRatioX = newScaleX / oldScaleX;\n\t\t\tconst scaleRatioY = newScaleY / oldScaleY;\n\t\t\tconst scaleRatio =\n\t\t\t\tds < 1 ? Math.max(scaleRatioX, scaleRatioY) : Math.min(scaleRatioX, scaleRatioY);\n\t\t\tnewScaleX = scaleRatio * oldScaleX;\n\t\t\tnewScaleY = scaleRatio * oldScaleY;\n\n\t\t\t// Position\n\t\t\tconst targetParent = target.parent;\n\t\t\tif (targetParent != null) {\n\t\t\t\ttargetParent.toLocal(work.set(x, y), undefined, work);\n\t\t\t\tx = work.x;\n\t\t\t\ty = work.y;\n\t\t\t}\n\t\t\tconst cx = x - dx;\n\t\t\tconst cy = y - dy;\n\t\t\tconst position = target.position;\n\t\t\tconst newX = (position.x - cx) * scaleRatio + x;\n\t\t\tconst newY = (position.y - cy) * scaleRatio + y;\n\n\t\t\t// Update\n\t\t\tthis._constraint(target, newX, newY, newScaleX, newScaleY);\n\t\t}\n\t}\n\n\tstop(): void {\n\t\tthis._gestureUtil?.stop(this._owner);\n\t}\n\n\tonDown(e: InteractionEvent): void {\n\t\tthis._gestureUtil?.onDown(this._owner, e);\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-view-to-target.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-view-to-target.ts"],"names":[],"mappings":"","sourcesContent":["import { Rectangle } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\n\nexport interface DViewTargetPoint {\n\tx: number;\n\ty: number;\n\n\tset(x?: number, y?: number): void;\n}\n\nexport interface DViewTarget {\n\treadonly scale: DViewTargetPoint;\n\treadonly position: DViewTargetPoint;\n\tgetLocalBounds(rect: Rectangle): Rectangle;\n}\n\nexport type DViewToTarget = (parent: DBase) => DViewTarget | null;\n"]}
|
|
1
|
+
{"version":3,"file":"d-view-to-target.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-view-to-target.ts"],"names":[],"mappings":"","sourcesContent":["import { DisplayObject, IPointData, Point, Rectangle } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\n\nexport interface DViewTargetPoint {\n\tx: number;\n\ty: number;\n\n\tset(x?: number, y?: number): void;\n}\n\nexport interface DViewTargetParent {\n\ttoLocal(\n\t\tposition: IPointData,\n\t\tfrom?: DisplayObject,\n\t\tpoint?: Point,\n\t\tskipUpdate?: boolean\n\t): PIXI.Point;\n}\n\nexport interface DViewTarget {\n\tparent?: DViewTargetParent | null;\n\treadonly scale: DViewTargetPoint;\n\treadonly position: DViewTargetPoint;\n\tgetLocalBounds(rect: Rectangle): Rectangle;\n}\n\nexport type DViewToTarget = (parent: DBase) => DViewTarget | null;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-view.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-view.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IPoint } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport { UtilGestureModifier } from \"./util/util-gesture-modifier\";\nimport { DThemeViewGesture, DViewGesture, DViewGestureOptions } from \"./d-view-gesture\";\nimport { DViewTargetPoint } from \"./d-view-to-target\";\nimport { DViewConstraint } from \"./d-view-constraint\";\nimport { DOnOptions } from \"./d-on-options\";\n\nexport type DViewChecker = (\n\te: WheelEvent | MouseEvent | TouchEvent,\n\tmodifier: UtilGestureModifier,\n\ttarget: DBase\n) => boolean;\n\n/**\n * {@link DView} wheel zoom options.\n */\nexport interface DViewZoomWheelOptions {\n\t/** True to enable wheel zoom */\n\tenable?: boolean;\n\n\t/** Zoom speed */\n\tspeed?: number;\n\n\t/** Mouse modifiers */\n\tmodifier?: keyof typeof UtilGestureModifier | UtilGestureModifier;\n\n\t/**\n\t * Wheel zoom checker.\n\t * If a checker returns false, wheel zooms will be canceled.\n\t */\n\tchecker?: DViewChecker;\n}\n\n/**\n * {@link DView} double-click zoom options.\n */\nexport interface DViewZoomDblClickOptions {\n\t/** True to enable double click zoom */\n\tenable?: boolean;\n\n\t/** Zoom amount */\n\tamount?: number;\n\n\t/** Mouse modifiers */\n\tmodifier?: keyof typeof UtilGestureModifier | UtilGestureModifier;\n\n\t/**\n\t * Double click zoom checker.\n\t * If a checker returns false, double click zooms will be canceled.\n\t */\n\tchecker?: DViewChecker;\n\n\t/** Zoom duration */\n\tduration?: number;\n}\n\n/**\n * {@link DView} zoom options.\n */\nexport interface DViewZoomOptions {\n\t/** Minimum scale */\n\tmin?: number;\n\n\t/** Maximum scale */\n\tmax?: number;\n\n\t/** True to keep size ratio */\n\tkeepRatio?: boolean;\n\n\t/** Wheel zoom options */\n\twheel?: DViewZoomWheelOptions;\n\n\t/** Double click zoom options */\n\tdblclick?: DViewZoomDblClickOptions;\n}\n\n/**\n * {@link DView} wheel translation options.\n */\nexport interface DViewTranslationWheelOptions {\n\t/** True to enable wheel translation */\n\tenable?: boolean;\n\n\t/** Translation speed */\n\tspeed?: number;\n\n\t/** Mouse modifiers */\n\tmodifier?: keyof typeof UtilGestureModifier | UtilGestureModifier;\n\n\t/**\n\t * Wheel translation checker.\n\t * If a checker returns false, wheel translations will be canceled.\n\t */\n\tchecker?: DViewChecker;\n}\n\n/**\n * {@link DView} translation options.\n */\nexport interface DViewTranslationOptions {\n\t/** Wheel translation options */\n\twheel?: DViewTranslationWheelOptions;\n}\n\n/**\n * {@link DView} events.\n */\nexport interface DViewEvents<EMITTER> {\n\t/**\n\t * Triggered when a gesture starts.\n\t *\n\t * @param target an operation target\n\t * @param emitter an emitter\n\t */\n\tgesturestart(target: DBase, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a gesture ends.\n\t *\n\t * @param target an operation target\n\t * @param emitter an emitter\n\t */\n\tgestureend(target: DBase, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a gesture stops.\n\t *\n\t * @param target an operation target\n\t * @param emitter an emitter\n\t */\n\tgesturestop(target: DBase, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a transform starts.\n\t *\n\t * @param target an operation target\n\t * @param emitter an emitter\n\t */\n\ttransformstart(target: DBase, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a transform ends.\n\t *\n\t * @param target an operation target\n\t * @param emitter an emitter\n\t */\n\ttransformend(target: DBase, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a transform stops.\n\t *\n\t * @param target an operation target\n\t * @param emitter an emitter\n\t */\n\ttransformstop(target: DBase, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a wheel translation starts.\n\t *\n\t * @param target an operation target\n\t * @param emitter an emitter\n\t */\n\twheeltranslationstart(target: DBase, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a wheel translation ends.\n\t *\n\t * @param target an operation target\n\t * @param emitter an emitter\n\t */\n\twheeltranslationend(target: DBase, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a wheel translation stops.\n\t *\n\t * @param target an operation target\n\t * @param emitter an emitter\n\t */\n\twheeltranslationstop(target: DBase, emitter: EMITTER): void;\n}\n\n/**\n * {@link DView} \"on\" options.\n */\nexport interface DViewOnOptions<EMITTER> extends Partial<DViewEvents<EMITTER>>, DOnOptions {}\n\n/**\n * {@link DView} options.\n */\nexport interface DViewOptions {\n\t/** Gesture options */\n\tgesture?: DViewGestureOptions;\n\n\t/** Zoom options */\n\tzoom?: DViewZoomOptions;\n\n\t/** Translation options */\n\ttranslation?: DViewTranslationOptions;\n\n\t/** Constraint options */\n\tconstraint?: DViewConstraint;\n\n\t/** Theme */\n\ttheme?: DThemeView | string;\n\n\t/** On options */\n\ton?: DViewOnOptions<DView>;\n}\n\n/**\n * {@link DView} theme.\n */\nexport interface DThemeView extends DThemeViewGesture {\n\tisWheelZoomEnabled(): boolean;\n\tisDblClickZoomEnabled(): boolean;\n\tisWheelTranslationEnabled(): boolean;\n\tgetWheelZoomSpeed(): number;\n\tgetWheelZoomModifier(): UtilGestureModifier;\n\tgetDblClickZoomSpeed(): number;\n\tgetDblClickZoomModifier(): UtilGestureModifier;\n\tgetDblClickZoomDuration(): number;\n\tgetWheelTranslationSpeed(): number;\n\tgetWheelTranslationModifier(): UtilGestureModifier;\n\tgetZoomMin(): number;\n\tgetZoomMax(): number;\n\tgetZoomKeepRatio(): boolean;\n}\n\nexport interface DView {\n\treadonly gesture: DViewGesture;\n\tscale: DViewTargetPoint;\n\tposition: DViewTargetPoint;\n\n\t/**\n\t * Stops an animation if exits.\n\t */\n\tstop(): void;\n\n\t/**\n\t * Resets a position and a scale.\n\t *\n\t * @param duration an animation duration\n\t * @param stop false to keep a previous animation\n\t */\n\treset(duration?: number, stop?: boolean): void;\n\n\t/**\n\t * Fits into a screen.\n\t *\n\t * @param duration an animation duration\n\t * @param stop false to keep a previous animation\n\t */\n\tfit(duration?: number, stop?: boolean): void;\n\n\t/**\n\t * Zooms in at the current position.\n\t *\n\t * @param duration an animation duration\n\t * @param stop false to keep a previous animation\n\t */\n\tzoomIn(duration?: number, stop?: boolean): void;\n\n\t/**\n\t * Zooms out at the current position.\n\t *\n\t * @param duration an animation duration\n\t * @param stop false to keep a previous animation\n\t */\n\tzoomOut(duration?: number, stop?: boolean): void;\n\n\t/**\n\t * Zooms into the given position.\n\t *\n\t * @param x a local X coordinate position\n\t * @param y a local Y coordinate position\n\t * @param scaleX a X coordinate scale\n\t * @param scaleY a Y coordinate scale\n\t * @param duration an duration\n\t * @param stop false to keep a previous animation\n\t */\n\tzoomAt(\n\t\tx: number,\n\t\ty: number,\n\t\tscaleX: number,\n\t\tscaleY: number,\n\t\tduration?: number,\n\t\tstop?: boolean\n\t): void;\n\n\t/**\n\t * Zooms into the specified global position.\n\t *\n\t * @param x a global X coordinate position\n\t * @param y a global Y coordinate position\n\t * @param scaleX a X coordinate scale\n\t * @param scaleY a Y coordinate scale\n\t * @param duration an animation duration\n\t * @param stop false to keep a previous animation\n\t */\n\tzoomAtGlobal(\n\t\tx: number,\n\t\ty: number,\n\t\tscaleX: number,\n\t\tscaleY: number,\n\t\tduration?: number,\n\t\tstop?: boolean\n\t): void;\n\n\t/**\n\t * Zooms in / out at the current position.\n\t *\n\t * @param scaleX a X coordinate scale\n\t * @param scaleY a Y coordinate scale\n\t * @param duration an animation duration\n\t * @param stop false to keep a previous animation\n\t */\n\tzoom(scaleX: number, scaleY: number, duration?: number, stop?: boolean): void;\n\n\t/**\n\t * Moves to the given position.\n\t *\n\t * @param x a local X coordinate position\n\t * @param y a local Y coordinate position\n\t * @param duration an animation duration\n\t * @param stop false to keep a previous animation\n\t */\n\tmoveTo(x: number, y: number, duration?: number, stop?: boolean): void;\n\n\t/**\n\t * Sets to the specified position and scale.\n\t *\n\t * @param x a local X coordinate position\n\t * @param y a local Y coordinate position\n\t * @param scaleX a X coordinate scale\n\t * @param scaleY a Y coordinate scale\n\t * @param duration an animation duration\n\t * @param stop false to keep a previous animation\n\t */\n\ttransform(\n\t\tx: number,\n\t\ty: number,\n\t\tscaleX: number,\n\t\tscaleY: number,\n\t\tduration?: number,\n\t\tstop?: boolean\n\t): void;\n\n\ttoLocal(global: IPoint, local: IPoint, skipUpdate?: boolean): IPoint;\n\ttoGlobal(local: IPoint, global: IPoint, skipUpdate?: boolean): IPoint;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-view.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-view.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IPoint, InteractionEvent, utils } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport { UtilGestureModifier } from \"./util/util-gesture-modifier\";\nimport { DThemeViewGesture, DViewGesture, DViewGestureOptions } from \"./d-view-gesture\";\nimport { DViewTargetPoint } from \"./d-view-to-target\";\nimport { DViewConstraint } from \"./d-view-constraint\";\nimport { DOnOptions } from \"./d-on-options\";\n\nexport type DViewChecker = (\n\te: WheelEvent | MouseEvent | TouchEvent,\n\tmodifier: UtilGestureModifier,\n\ttarget: DBase\n) => boolean;\n\n/**\n * {@link DView} wheel zoom options.\n */\nexport interface DViewZoomWheelOptions {\n\t/** True to enable wheel zoom */\n\tenable?: boolean;\n\n\t/** Zoom speed */\n\tspeed?: number;\n\n\t/** Mouse modifiers */\n\tmodifier?: keyof typeof UtilGestureModifier | UtilGestureModifier;\n\n\t/**\n\t * Wheel zoom checker.\n\t * If a checker returns false, wheel zooms will be canceled.\n\t */\n\tchecker?: DViewChecker;\n}\n\n/**\n * {@link DView} double-click zoom options.\n */\nexport interface DViewZoomDblClickOptions {\n\t/** True to enable double click zoom */\n\tenable?: boolean;\n\n\t/** Zoom amount */\n\tamount?: number;\n\n\t/** Mouse modifiers */\n\tmodifier?: keyof typeof UtilGestureModifier | UtilGestureModifier;\n\n\t/**\n\t * Double click zoom checker.\n\t * If a checker returns false, double click zooms will be canceled.\n\t */\n\tchecker?: DViewChecker;\n\n\t/** Zoom duration */\n\tduration?: number;\n}\n\n/**\n * {@link DView} zoom options.\n */\nexport interface DViewZoomOptions {\n\t/** Minimum scale */\n\tmin?: number;\n\n\t/** Maximum scale */\n\tmax?: number;\n\n\t/** True to keep size ratio */\n\tkeepRatio?: boolean;\n\n\t/** Wheel zoom options */\n\twheel?: DViewZoomWheelOptions;\n\n\t/** Double click zoom options */\n\tdblclick?: DViewZoomDblClickOptions;\n}\n\n/**\n * {@link DView} wheel translation options.\n */\nexport interface DViewTranslationWheelOptions {\n\t/** True to enable wheel translation */\n\tenable?: boolean;\n\n\t/** Translation speed */\n\tspeed?: number;\n\n\t/** Mouse modifiers */\n\tmodifier?: keyof typeof UtilGestureModifier | UtilGestureModifier;\n\n\t/**\n\t * Wheel translation checker.\n\t * If a checker returns false, wheel translations will be canceled.\n\t */\n\tchecker?: DViewChecker;\n}\n\n/**\n * {@link DView} translation options.\n */\nexport interface DViewTranslationOptions {\n\t/** Wheel translation options */\n\twheel?: DViewTranslationWheelOptions;\n}\n\n/**\n * {@link DView} events.\n */\nexport interface DViewEvents<EMITTER> {\n\t/**\n\t * Triggered when a gesture starts.\n\t *\n\t * @param target an operation target\n\t * @param emitter an emitter\n\t */\n\tgesturestart(target: DBase, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a gesture ends.\n\t *\n\t * @param target an operation target\n\t * @param emitter an emitter\n\t */\n\tgestureend(target: DBase, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a gesture stops.\n\t *\n\t * @param target an operation target\n\t * @param emitter an emitter\n\t */\n\tgesturestop(target: DBase, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when tapped.\n\t * Unlike the tap event of PixiJS, this event is emitted only when the gesture is not performed.\n\t *\n\t * @param target an operation target\n\t * @param target an event data\n\t * @param emitter an emitter\n\t */\n\tgesturetap(target: DBase, e: InteractionEvent, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a transform starts.\n\t *\n\t * @param target an operation target\n\t * @param emitter an emitter\n\t */\n\ttransformstart(target: DBase, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a transform ends.\n\t *\n\t * @param target an operation target\n\t * @param emitter an emitter\n\t */\n\ttransformend(target: DBase, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a transform stops.\n\t *\n\t * @param target an operation target\n\t * @param emitter an emitter\n\t */\n\ttransformstop(target: DBase, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a wheel translation starts.\n\t *\n\t * @param target an operation target\n\t * @param emitter an emitter\n\t */\n\twheeltranslationstart(target: DBase, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a wheel translation ends.\n\t *\n\t * @param target an operation target\n\t * @param emitter an emitter\n\t */\n\twheeltranslationend(target: DBase, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a wheel translation stops.\n\t *\n\t * @param target an operation target\n\t * @param emitter an emitter\n\t */\n\twheeltranslationstop(target: DBase, emitter: EMITTER): void;\n}\n\n/**\n * {@link DView} \"on\" options.\n */\nexport interface DViewOnOptions<EMITTER> extends Partial<DViewEvents<EMITTER>>, DOnOptions {}\n\n/**\n * {@link DView} options.\n */\nexport interface DViewOptions {\n\t/** Gesture options */\n\tgesture?: DViewGestureOptions;\n\n\t/** Zoom options */\n\tzoom?: DViewZoomOptions;\n\n\t/** Translation options */\n\ttranslation?: DViewTranslationOptions;\n\n\t/** Constraint options */\n\tconstraint?: DViewConstraint;\n\n\t/** Theme */\n\ttheme?: DThemeView | string;\n\n\t/** On options */\n\ton?: DViewOnOptions<DView>;\n}\n\n/**\n * {@link DView} theme.\n */\nexport interface DThemeView extends DThemeViewGesture {\n\tisWheelZoomEnabled(): boolean;\n\tisDblClickZoomEnabled(): boolean;\n\tisWheelTranslationEnabled(): boolean;\n\tgetWheelZoomSpeed(): number;\n\tgetWheelZoomModifier(): UtilGestureModifier;\n\tgetDblClickZoomSpeed(): number;\n\tgetDblClickZoomModifier(): UtilGestureModifier;\n\tgetDblClickZoomDuration(): number;\n\tgetWheelTranslationSpeed(): number;\n\tgetWheelTranslationModifier(): UtilGestureModifier;\n\tgetZoomMin(): number;\n\tgetZoomMax(): number;\n\tgetZoomKeepRatio(): boolean;\n}\n\nexport interface DView extends utils.EventEmitter {\n\treadonly gesture: DViewGesture;\n\tscale: DViewTargetPoint;\n\tposition: DViewTargetPoint;\n\n\t/**\n\t * Stops an animation if exits.\n\t */\n\tstop(): void;\n\n\t/**\n\t * Resets a position and a scale.\n\t *\n\t * @param duration an animation duration\n\t * @param stop false to keep a previous animation\n\t */\n\treset(duration?: number, stop?: boolean): void;\n\n\t/**\n\t * Fits into a screen.\n\t *\n\t * @param duration an animation duration\n\t * @param stop false to keep a previous animation\n\t */\n\tfit(duration?: number, stop?: boolean): void;\n\n\t/**\n\t * Zooms in at the current position.\n\t *\n\t * @param duration an animation duration\n\t * @param stop false to keep a previous animation\n\t */\n\tzoomIn(duration?: number, stop?: boolean): void;\n\n\t/**\n\t * Zooms out at the current position.\n\t *\n\t * @param duration an animation duration\n\t * @param stop false to keep a previous animation\n\t */\n\tzoomOut(duration?: number, stop?: boolean): void;\n\n\t/**\n\t * Zooms into the given position.\n\t *\n\t * @param x a local X coordinate position\n\t * @param y a local Y coordinate position\n\t * @param scaleX a X coordinate scale\n\t * @param scaleY a Y coordinate scale\n\t * @param duration an duration\n\t * @param stop false to keep a previous animation\n\t */\n\tzoomAt(\n\t\tx: number,\n\t\ty: number,\n\t\tscaleX: number,\n\t\tscaleY: number,\n\t\tduration?: number,\n\t\tstop?: boolean\n\t): void;\n\n\t/**\n\t * Zooms into the specified global position.\n\t *\n\t * @param x a global X coordinate position\n\t * @param y a global Y coordinate position\n\t * @param scaleX a X coordinate scale\n\t * @param scaleY a Y coordinate scale\n\t * @param duration an animation duration\n\t * @param stop false to keep a previous animation\n\t */\n\tzoomAtGlobal(\n\t\tx: number,\n\t\ty: number,\n\t\tscaleX: number,\n\t\tscaleY: number,\n\t\tduration?: number,\n\t\tstop?: boolean\n\t): void;\n\n\t/**\n\t * Zooms in / out at the current position.\n\t *\n\t * @param scaleX a X coordinate scale\n\t * @param scaleY a Y coordinate scale\n\t * @param duration an animation duration\n\t * @param stop false to keep a previous animation\n\t */\n\tzoom(scaleX: number, scaleY: number, duration?: number, stop?: boolean): void;\n\n\t/**\n\t * Moves to the given position.\n\t *\n\t * @param x a local X coordinate position\n\t * @param y a local Y coordinate position\n\t * @param duration an animation duration\n\t * @param stop false to keep a previous animation\n\t */\n\tmoveTo(x: number, y: number, duration?: number, stop?: boolean): void;\n\n\t/**\n\t * Sets to the specified position and scale.\n\t *\n\t * @param x a local X coordinate position\n\t * @param y a local Y coordinate position\n\t * @param scaleX a X coordinate scale\n\t * @param scaleY a Y coordinate scale\n\t * @param duration an animation duration\n\t * @param stop false to keep a previous animation\n\t */\n\ttransform(\n\t\tx: number,\n\t\ty: number,\n\t\tscaleX: number,\n\t\tscaleY: number,\n\t\tduration?: number,\n\t\tstop?: boolean\n\t): void;\n\n\ttoLocal(global: IPoint, local: IPoint, skipUpdate?: boolean): IPoint;\n\ttoGlobal(local: IPoint, global: IPoint, skipUpdate?: boolean): IPoint;\n}\n"]}
|
|
@@ -26,6 +26,8 @@ var DynamicSDFFontAtlas = /** @class */ (function () {
|
|
|
26
26
|
}
|
|
27
27
|
this._characters = characters;
|
|
28
28
|
this._isDirty = true;
|
|
29
|
+
this._isTouched = false;
|
|
30
|
+
this._life = DynamicFontAtlasCharacter.LIFE;
|
|
29
31
|
}
|
|
30
32
|
Object.defineProperty(DynamicSDFFontAtlas.prototype, "id", {
|
|
31
33
|
get: function () {
|
|
@@ -82,6 +84,7 @@ var DynamicSDFFontAtlas = /** @class */ (function () {
|
|
|
82
84
|
configurable: true
|
|
83
85
|
});
|
|
84
86
|
DynamicSDFFontAtlas.prototype.begin = function () {
|
|
87
|
+
this._isTouched = false;
|
|
85
88
|
this._characters.forEach(function (character) {
|
|
86
89
|
if (!(character.type & DynamicFontAtlasCharacterType.RESERVED)) {
|
|
87
90
|
character.ref = 0;
|
|
@@ -91,15 +94,26 @@ var DynamicSDFFontAtlas = /** @class */ (function () {
|
|
|
91
94
|
DynamicSDFFontAtlas.prototype.end = function () {
|
|
92
95
|
var _this = this;
|
|
93
96
|
var characters = this._characters;
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
if (character.
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
if (this._isTouched) {
|
|
98
|
+
this._life = DynamicFontAtlasCharacter.LIFE;
|
|
99
|
+
characters.forEach(function (character, id) {
|
|
100
|
+
if (character.ref <= 0 &&
|
|
101
|
+
!(character.type & DynamicFontAtlasCharacterType.RESERVED)) {
|
|
102
|
+
character.life -= 1;
|
|
103
|
+
if (character.life <= 0) {
|
|
104
|
+
characters.delete(id);
|
|
105
|
+
_this._isDirty = true;
|
|
106
|
+
}
|
|
100
107
|
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
this._life -= 1;
|
|
112
|
+
if (this._life <= 0 && 0 < characters.size) {
|
|
113
|
+
characters.clear();
|
|
114
|
+
this._isDirty = true;
|
|
101
115
|
}
|
|
102
|
-
}
|
|
116
|
+
}
|
|
103
117
|
};
|
|
104
118
|
DynamicSDFFontAtlas.prototype.newChar = function (character, type) {
|
|
105
119
|
return new DynamicFontAtlasCharacter(type, character, 0, 0, 1, 1, 0);
|
|
@@ -111,12 +125,16 @@ var DynamicSDFFontAtlas = /** @class */ (function () {
|
|
|
111
125
|
var data = cs.get(nac);
|
|
112
126
|
if (data != null) {
|
|
113
127
|
data.ref += 1;
|
|
128
|
+
data.life = DynamicFontAtlasCharacter.LIFE;
|
|
114
129
|
}
|
|
115
130
|
else {
|
|
116
131
|
cs.set(nac, this.newChar(nac, DynamicFontAtlasCharacterType.LETTER));
|
|
117
132
|
this._isDirty = true;
|
|
118
133
|
}
|
|
119
134
|
}
|
|
135
|
+
if (0 < characters.length) {
|
|
136
|
+
this._isTouched = true;
|
|
137
|
+
}
|
|
120
138
|
};
|
|
121
139
|
DynamicSDFFontAtlas.prototype.get = function (id) {
|
|
122
140
|
return this._characters.get(id);
|