@wcardinal/wcardinal-ui 0.410.0 → 0.411.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-base.d.ts +1 -0
- package/dist/types/wcardinal/ui/d-dialog-gesture-impl.d.ts +2 -2
- package/dist/types/wcardinal/ui/util/util-gesture-easing.d.ts +1 -0
- package/dist/wcardinal/ui/d-base.js +7 -0
- package/dist/wcardinal/ui/d-base.js.map +1 -1
- package/dist/wcardinal/ui/d-dialog-gesture-impl.js.map +1 -1
- package/dist/wcardinal/ui/util/util-gesture-easing.js +16 -5
- package/dist/wcardinal/ui/util/util-gesture-easing.js.map +1 -1
- package/dist/wcardinal/ui/util/util-gesture.js +2 -1
- 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 +26 -7
- package/dist/wcardinal-ui.js +26 -7
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -19,6 +19,7 @@ var UtilGestureEasing = /** @class */ (function () {
|
|
|
19
19
|
this._dt = 0;
|
|
20
20
|
this._dtw = 0;
|
|
21
21
|
this._t = 0;
|
|
22
|
+
this._duration = 333 * ((_a = options === null || options === void 0 ? void 0 : options.duration) !== null && _a !== void 0 ? _a : 1);
|
|
22
23
|
this._animation = new DAnimationBase({
|
|
23
24
|
onTime: function (t) {
|
|
24
25
|
_this.onEase(t);
|
|
@@ -27,7 +28,7 @@ var UtilGestureEasing = /** @class */ (function () {
|
|
|
27
28
|
_this.onEaseEnd();
|
|
28
29
|
},
|
|
29
30
|
timing: DAnimationTimings.LINEAR,
|
|
30
|
-
duration:
|
|
31
|
+
duration: this._duration
|
|
31
32
|
});
|
|
32
33
|
this._onMove = onMove;
|
|
33
34
|
this._onEnd = onEnd;
|
|
@@ -108,6 +109,11 @@ var UtilGestureEasing = /** @class */ (function () {
|
|
|
108
109
|
}
|
|
109
110
|
};
|
|
110
111
|
UtilGestureEasing.prototype.onEnd = function (ldt) {
|
|
112
|
+
var d0 = this._duration;
|
|
113
|
+
var d = d0 - ldt;
|
|
114
|
+
if (d <= 0) {
|
|
115
|
+
return this.onEaseEnd();
|
|
116
|
+
}
|
|
111
117
|
this.updateHistoriesSorted(ldt);
|
|
112
118
|
var sorted = this._historiesSorted;
|
|
113
119
|
var sortedLength = sorted.length;
|
|
@@ -132,22 +138,27 @@ var UtilGestureEasing = /** @class */ (function () {
|
|
|
132
138
|
dx *= w;
|
|
133
139
|
dy *= w;
|
|
134
140
|
ds *= w;
|
|
135
|
-
dt *= w;
|
|
141
|
+
dt *= w * (d0 / d); // Effectively, this lowers the velocity (dx, dy, ds) by d / d0.
|
|
136
142
|
this._dx = dx;
|
|
137
143
|
this._dy = dy;
|
|
138
144
|
this._ds = ds;
|
|
139
145
|
this._dt = dt;
|
|
140
146
|
// Start animation
|
|
141
147
|
var animation = this._animation;
|
|
142
|
-
|
|
143
|
-
this._t =
|
|
148
|
+
animation.duration = d;
|
|
149
|
+
this._t = 0;
|
|
144
150
|
this._dtw = d / dt;
|
|
145
151
|
animation.start();
|
|
146
152
|
};
|
|
147
153
|
UtilGestureEasing.prototype.onEase = function (t) {
|
|
148
154
|
var ot = this._t;
|
|
149
155
|
this._t = t;
|
|
150
|
-
// Note:
|
|
156
|
+
// Note: Integral_{x=ot...t} (1-x) dx
|
|
157
|
+
// = [x (1 - 0.5 x)]_{x=ot...t}
|
|
158
|
+
// = t (1 - 0.5 t) - ot (1 - 0.5 ot)
|
|
159
|
+
// = t - ot - 0.5 t t + 0.5 ot ot
|
|
160
|
+
// = (t - ot) - 0.5 (t + ot) (t - ot)
|
|
161
|
+
// = (1 - 0.5 (t + ot)) * (t - ot)
|
|
151
162
|
var w = (1 - 0.5 * (t + ot)) * (t - ot) * this._dtw;
|
|
152
163
|
this._onMove(this._dx * w, this._dy * w, 1 + (this._ds - 1) * w, t);
|
|
153
164
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util-gesture-easing.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-gesture-easing.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DAnimation } from \"../d-animation\";\nimport { DAnimationBase } from \"../d-animation-base\";\nimport { DAnimationTimings } from \"../d-animation-timings\";\nimport { UtilGestureEasingHistory } from \"./util-gesture-easing-history\";\n\nexport type UtilGestureEasingOnMove = (dx: number, dy: number, ds: number, time: number) => void;\nexport type UtilGestureEasingOnEnd = () => void;\n\nexport interface UtilGestureEasingOptions {\n\tduration?: number;\n}\n\nexport class UtilGestureEasing {\n\tprotected static HISTORY_CAPACITY = 5;\n\tprotected _histories: UtilGestureEasingHistory[];\n\tprotected _historiesSorted: UtilGestureEasingHistory[];\n\tprotected _historyBegin: number;\n\tprotected _historyEnd: number;\n\tprotected _animation: DAnimation;\n\tprotected _dx: number;\n\tprotected _dy: number;\n\tprotected _ds: number;\n\tprotected _dt: number;\n\tprotected _dtw: number;\n\tprotected _t: number;\n\tprotected _onMove: UtilGestureEasingOnMove;\n\tprotected _onEnd: UtilGestureEasingOnEnd;\n\n\tconstructor(\n\t\tonMove: UtilGestureEasingOnMove,\n\t\tonEnd: UtilGestureEasingOnEnd,\n\t\toptions?: UtilGestureEasingOptions\n\t) {\n\t\tthis._histories = [];\n\t\tthis._historiesSorted = [];\n\t\tthis._historyBegin = 0;\n\t\tthis._historyEnd = -1;\n\t\tthis._dx = 0;\n\t\tthis._dy = 0;\n\t\tthis._ds = 0;\n\t\tthis._dt = 0;\n\t\tthis._dtw = 0;\n\t\tthis._t = 0;\n\t\tthis._animation = new DAnimationBase({\n\t\t\tonTime: (t: number): void => {\n\t\t\t\tthis.onEase(t);\n\t\t\t},\n\t\t\tonEnd: (): void => {\n\t\t\t\tthis.onEaseEnd();\n\t\t\t},\n\t\t\ttiming: DAnimationTimings.LINEAR,\n\t\t\tduration: 333 * (options?.duration ?? 1)\n\t\t});\n\t\tthis._onMove = onMove;\n\t\tthis._onEnd = onEnd;\n\t}\n\n\tonStart(): void {\n\t\t// History\n\t\tconst histories = this._histories;\n\t\tfor (let i = histories.length, imax = UtilGestureEasing.HISTORY_CAPACITY; i < imax; ++i) {\n\t\t\thistories.push(new UtilGestureEasingHistory(0, 0, 1, 0));\n\t\t}\n\t\tthis._historyBegin = 0;\n\t\tthis._historyEnd = -1;\n\n\t\t// Stop animation\n\t\tthis._animation.stop();\n\t}\n\n\tonMove(dx: number, dy: number, ds: number, dt: number): void {\n\t\tconst capacity = UtilGestureEasing.HISTORY_CAPACITY;\n\n\t\tconst oldHistoryEnd = this._historyEnd;\n\t\tconst newHistoryEnd = (oldHistoryEnd + 1) % capacity;\n\t\tthis._historyEnd = newHistoryEnd;\n\n\t\tconst oldHistoryBegin = this._historyBegin;\n\t\tif (\n\t\t\tnewHistoryEnd < oldHistoryEnd ||\n\t\t\t(0 <= oldHistoryEnd && oldHistoryEnd < oldHistoryBegin)\n\t\t) {\n\t\t\tthis._historyBegin = (oldHistoryBegin + 1) % capacity;\n\t\t}\n\n\t\tthis._histories[newHistoryEnd].set(dx, dy, ds, dt);\n\t}\n\n\tprotected updateHistoriesSorted(dt: number): number {\n\t\tconst unsorted = this._histories;\n\t\tconst sorted = this._historiesSorted;\n\t\tconst begin = this._historyBegin;\n\t\tconst end = this._historyEnd;\n\t\tconst length = unsorted.length;\n\t\tconst threshold = 160;\n\t\tif (end < 0) {\n\t\t\tsorted.length = 0;\n\t\t\treturn dt;\n\t\t} else if (end < begin) {\n\t\t\tlet total = dt;\n\t\t\tsorted.length = 0;\n\t\t\tfor (let i = end; 0 <= i; --i) {\n\t\t\t\tconst history = unsorted[i];\n\t\t\t\tif (total + history.dt < threshold) {\n\t\t\t\t\ttotal += history.dt;\n\t\t\t\t\tsorted.push(history);\n\t\t\t\t} else {\n\t\t\t\t\treturn total;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (let i = length - 1; begin <= i; --i) {\n\t\t\t\tconst history = unsorted[i];\n\t\t\t\tif (total + history.dt < threshold) {\n\t\t\t\t\ttotal += history.dt;\n\t\t\t\t\tsorted.push(history);\n\t\t\t\t} else {\n\t\t\t\t\treturn total;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn total;\n\t\t} else {\n\t\t\tlet total = dt;\n\t\t\tsorted.length = 0;\n\t\t\tfor (let i = end; begin <= i; --i) {\n\t\t\t\tconst history = unsorted[i];\n\t\t\t\tif (total + history.dt < threshold) {\n\t\t\t\t\ttotal += history.dt;\n\t\t\t\t\tsorted.push(history);\n\t\t\t\t} else {\n\t\t\t\t\treturn total;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn total;\n\t\t}\n\t}\n\n\tonEnd(ldt: number): void {\n\t\tthis.updateHistoriesSorted(ldt);\n\t\tconst sorted = this._historiesSorted;\n\t\tconst sortedLength = sorted.length;\n\t\tif (sortedLength <= 0) {\n\t\t\treturn this.onEaseEnd();\n\t\t}\n\n\t\tlet dx = 0;\n\t\tlet dy = 0;\n\t\tlet ds = 0;\n\t\tlet dt = 0;\n\t\tfor (let i = 0; i < sortedLength; ++i) {\n\t\t\tconst history = sorted[i];\n\t\t\tdx += history.dx;\n\t\t\tdy += history.dy;\n\t\t\tds += history.ds;\n\t\t\tdt += history.dt;\n\t\t}\n\t\tif (dt <= 0) {\n\t\t\treturn this.onEaseEnd();\n\t\t}\n\n\t\tconst w = 1 / sortedLength;\n\t\tdx *= w;\n\t\tdy *= w;\n\t\tds *= w;\n\t\tdt *= w;\n\t\tthis._dx = dx;\n\t\tthis._dy = dy;\n\t\tthis._ds = ds;\n\t\tthis._dt = dt;\n\n\t\t// Start animation\n\t\tconst animation = this._animation;\n\t\tconst d = animation.duration;\n\t\tthis._t = -ldt / d;\n\t\tthis._dtw = d / dt;\n\t\tanimation.start();\n\t}\n\n\tprotected onEase(t: number): void {\n\t\tconst ot = this._t;\n\t\tthis._t = t;\n\t\t// Note: Integral of (1-x) is x (1 - 0.5 x) + c.\n\t\tconst w = (1 - 0.5 * (t + ot)) * (t - ot) * this._dtw;\n\t\tthis._onMove(this._dx * w, this._dy * w, 1 + (this._ds - 1) * w, t);\n\t}\n\n\tprotected onEaseEnd(): void {\n\t\tthis._onEnd();\n\t}\n\n\tstop(): void {\n\t\tthis._animation.stop();\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"util-gesture-easing.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-gesture-easing.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DAnimation } from \"../d-animation\";\nimport { DAnimationBase } from \"../d-animation-base\";\nimport { DAnimationTimings } from \"../d-animation-timings\";\nimport { UtilGestureEasingHistory } from \"./util-gesture-easing-history\";\n\nexport type UtilGestureEasingOnMove = (dx: number, dy: number, ds: number, time: number) => void;\nexport type UtilGestureEasingOnEnd = () => void;\n\nexport interface UtilGestureEasingOptions {\n\tduration?: number;\n}\n\nexport class UtilGestureEasing {\n\tprotected static HISTORY_CAPACITY = 5;\n\tprotected _histories: UtilGestureEasingHistory[];\n\tprotected _historiesSorted: UtilGestureEasingHistory[];\n\tprotected _historyBegin: number;\n\tprotected _historyEnd: number;\n\tprotected _animation: DAnimation;\n\tprotected _dx: number;\n\tprotected _dy: number;\n\tprotected _ds: number;\n\tprotected _dt: number;\n\tprotected _dtw: number;\n\tprotected _t: number;\n\tprotected _onMove: UtilGestureEasingOnMove;\n\tprotected _onEnd: UtilGestureEasingOnEnd;\n\tprotected _duration: number;\n\n\tconstructor(\n\t\tonMove: UtilGestureEasingOnMove,\n\t\tonEnd: UtilGestureEasingOnEnd,\n\t\toptions?: UtilGestureEasingOptions\n\t) {\n\t\tthis._histories = [];\n\t\tthis._historiesSorted = [];\n\t\tthis._historyBegin = 0;\n\t\tthis._historyEnd = -1;\n\t\tthis._dx = 0;\n\t\tthis._dy = 0;\n\t\tthis._ds = 0;\n\t\tthis._dt = 0;\n\t\tthis._dtw = 0;\n\t\tthis._t = 0;\n\t\tthis._duration = 333 * (options?.duration ?? 1);\n\t\tthis._animation = new DAnimationBase({\n\t\t\tonTime: (t: number): void => {\n\t\t\t\tthis.onEase(t);\n\t\t\t},\n\t\t\tonEnd: (): void => {\n\t\t\t\tthis.onEaseEnd();\n\t\t\t},\n\t\t\ttiming: DAnimationTimings.LINEAR,\n\t\t\tduration: this._duration\n\t\t});\n\t\tthis._onMove = onMove;\n\t\tthis._onEnd = onEnd;\n\t}\n\n\tonStart(): void {\n\t\t// History\n\t\tconst histories = this._histories;\n\t\tfor (let i = histories.length, imax = UtilGestureEasing.HISTORY_CAPACITY; i < imax; ++i) {\n\t\t\thistories.push(new UtilGestureEasingHistory(0, 0, 1, 0));\n\t\t}\n\t\tthis._historyBegin = 0;\n\t\tthis._historyEnd = -1;\n\n\t\t// Stop animation\n\t\tthis._animation.stop();\n\t}\n\n\tonMove(dx: number, dy: number, ds: number, dt: number): void {\n\t\tconst capacity = UtilGestureEasing.HISTORY_CAPACITY;\n\n\t\tconst oldHistoryEnd = this._historyEnd;\n\t\tconst newHistoryEnd = (oldHistoryEnd + 1) % capacity;\n\t\tthis._historyEnd = newHistoryEnd;\n\n\t\tconst oldHistoryBegin = this._historyBegin;\n\t\tif (\n\t\t\tnewHistoryEnd < oldHistoryEnd ||\n\t\t\t(0 <= oldHistoryEnd && oldHistoryEnd < oldHistoryBegin)\n\t\t) {\n\t\t\tthis._historyBegin = (oldHistoryBegin + 1) % capacity;\n\t\t}\n\n\t\tthis._histories[newHistoryEnd].set(dx, dy, ds, dt);\n\t}\n\n\tprotected updateHistoriesSorted(dt: number): number {\n\t\tconst unsorted = this._histories;\n\t\tconst sorted = this._historiesSorted;\n\t\tconst begin = this._historyBegin;\n\t\tconst end = this._historyEnd;\n\t\tconst length = unsorted.length;\n\t\tconst threshold = 160;\n\t\tif (end < 0) {\n\t\t\tsorted.length = 0;\n\t\t\treturn dt;\n\t\t} else if (end < begin) {\n\t\t\tlet total = dt;\n\t\t\tsorted.length = 0;\n\t\t\tfor (let i = end; 0 <= i; --i) {\n\t\t\t\tconst history = unsorted[i];\n\t\t\t\tif (total + history.dt < threshold) {\n\t\t\t\t\ttotal += history.dt;\n\t\t\t\t\tsorted.push(history);\n\t\t\t\t} else {\n\t\t\t\t\treturn total;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (let i = length - 1; begin <= i; --i) {\n\t\t\t\tconst history = unsorted[i];\n\t\t\t\tif (total + history.dt < threshold) {\n\t\t\t\t\ttotal += history.dt;\n\t\t\t\t\tsorted.push(history);\n\t\t\t\t} else {\n\t\t\t\t\treturn total;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn total;\n\t\t} else {\n\t\t\tlet total = dt;\n\t\t\tsorted.length = 0;\n\t\t\tfor (let i = end; begin <= i; --i) {\n\t\t\t\tconst history = unsorted[i];\n\t\t\t\tif (total + history.dt < threshold) {\n\t\t\t\t\ttotal += history.dt;\n\t\t\t\t\tsorted.push(history);\n\t\t\t\t} else {\n\t\t\t\t\treturn total;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn total;\n\t\t}\n\t}\n\n\tonEnd(ldt: number): void {\n\t\tconst d0 = this._duration;\n\t\tconst d = d0 - ldt;\n\t\tif (d <= 0) {\n\t\t\treturn this.onEaseEnd();\n\t\t}\n\n\t\tthis.updateHistoriesSorted(ldt);\n\t\tconst sorted = this._historiesSorted;\n\t\tconst sortedLength = sorted.length;\n\t\tif (sortedLength <= 0) {\n\t\t\treturn this.onEaseEnd();\n\t\t}\n\n\t\tlet dx = 0;\n\t\tlet dy = 0;\n\t\tlet ds = 0;\n\t\tlet dt = 0;\n\t\tfor (let i = 0; i < sortedLength; ++i) {\n\t\t\tconst history = sorted[i];\n\t\t\tdx += history.dx;\n\t\t\tdy += history.dy;\n\t\t\tds += history.ds;\n\t\t\tdt += history.dt;\n\t\t}\n\t\tif (dt <= 0) {\n\t\t\treturn this.onEaseEnd();\n\t\t}\n\n\t\tconst w = 1 / sortedLength;\n\t\tdx *= w;\n\t\tdy *= w;\n\t\tds *= w;\n\t\tdt *= w * (d0 / d); // Effectively, this lowers the velocity (dx, dy, ds) by d / d0.\n\t\tthis._dx = dx;\n\t\tthis._dy = dy;\n\t\tthis._ds = ds;\n\t\tthis._dt = dt;\n\n\t\t// Start animation\n\t\tconst animation = this._animation;\n\t\tanimation.duration = d;\n\t\tthis._t = 0;\n\t\tthis._dtw = d / dt;\n\t\tanimation.start();\n\t}\n\n\tprotected onEase(t: number): void {\n\t\tconst ot = this._t;\n\t\tthis._t = t;\n\t\t// Note: Integral_{x=ot...t} (1-x) dx\n\t\t// = [x (1 - 0.5 x)]_{x=ot...t}\n\t\t// = t (1 - 0.5 t) - ot (1 - 0.5 ot)\n\t\t// = t - ot - 0.5 t t + 0.5 ot ot\n\t\t// = (t - ot) - 0.5 (t + ot) (t - ot)\n\t\t// = (1 - 0.5 (t + ot)) * (t - ot)\n\t\tconst w = (1 - 0.5 * (t + ot)) * (t - ot) * this._dtw;\n\t\tthis._onMove(this._dx * w, this._dy * w, 1 + (this._ds - 1) * w, t);\n\t}\n\n\tprotected onEaseEnd(): void {\n\t\tthis._onEnd();\n\t}\n\n\tstop(): void {\n\t\tthis._animation.stop();\n\t}\n}\n"]}
|
|
@@ -195,6 +195,7 @@ var UtilGesture = /** @class */ (function () {
|
|
|
195
195
|
if (target == null || !target.state.isGesturing) {
|
|
196
196
|
return;
|
|
197
197
|
}
|
|
198
|
+
var oldTime = data.time;
|
|
198
199
|
if (!data.end(e)) {
|
|
199
200
|
return;
|
|
200
201
|
}
|
|
@@ -226,7 +227,7 @@ var UtilGesture = /** @class */ (function () {
|
|
|
226
227
|
}
|
|
227
228
|
var easing = data.easing;
|
|
228
229
|
if (easing) {
|
|
229
|
-
easing.onEnd(
|
|
230
|
+
easing.onEnd(data.time - oldTime);
|
|
230
231
|
}
|
|
231
232
|
else {
|
|
232
233
|
this.deleteData(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util-gesture.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-gesture.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 { DApplicationTarget } from \"../d-application-like\";\nimport { DApplications } from \"../d-applications\";\nimport { DBaseStateSet } from \"../d-base-state-set\";\nimport { UtilGestureModifier } from \"./util-gesture-modifier\";\nimport { UtilGestureModifiers } from \"./util-gesture-modifiers\";\nimport { UtilGestureData } from \"./util-gesture-data\";\nimport { UtilGestureEasing, UtilGestureEasingOptions } from \"./util-gesture-easing\";\nimport { UtilPointerEvent } from \"./util-pointer-event\";\n\nexport interface UtilGestureTarget extends DApplicationTarget {\n\tstate: DBaseStateSet;\n}\nexport type UtilGestureOnMove<TARGET> = (\n\ttarget: TARGET,\n\tdx: number,\n\tdy: number,\n\tx: number,\n\ty: number,\n\tds: number\n) => void;\nexport type UtilGestureOnStart<TARGET> = (target: TARGET) => void;\nexport type UtilGestureOnEnd<TARGET> = (target: TARGET) => void;\nexport type UtilGestureOnStop<TARGET> = (target: TARGET) => void;\nexport type UtilGestureOnEasingStart<TARGET> = (target: TARGET) => void;\nexport type UtilGestureOnEasingEnd<TARGET> = (target: TARGET) => void;\nexport type UtilGestureChecker<TARGET> = (\n\te: InteractionEvent,\n\tmodifier: UtilGestureModifier,\n\ttarget: TARGET\n) => boolean;\n\nexport interface UtilGestureCheckerOptions<TARGET> {\n\tstart?: UtilGestureChecker<TARGET>;\n\tmove?: UtilGestureChecker<TARGET>;\n}\n\nexport interface UtilGestureOnEasingOptions<TARGET> {\n\tstart?: UtilGestureOnEasingStart<TARGET>;\n\tend?: UtilGestureOnEasingEnd<TARGET>;\n}\n\nexport interface UtilGestureOnOptions<TARGET> {\n\tstart?: UtilGestureOnStart<TARGET>;\n\tmove?: UtilGestureOnMove<TARGET>;\n\tend?: UtilGestureOnEnd<TARGET>;\n\tstop?: UtilGestureOnStop<TARGET>;\n\teasing?: UtilGestureOnEasingOptions<TARGET>;\n}\n\nexport interface UtilGestureOptions<TARGET> {\n\t/**\n\t * True to restrict to touch gestures only.\n\t */\n\ttouch?: boolean;\n\n\t/**\n\t * Expected mouse modifiers\n\t */\n\tmodifier?: UtilGestureModifier;\n\n\t/**\n\t * Checker options\n\t */\n\tchecker?: UtilGestureCheckerOptions<TARGET>;\n\n\t/**\n\t * Easing options\n\t */\n\teasing?: boolean | UtilGestureEasingOptions;\n\n\t/** Binds the pointerdown event of the given target. */\n\tbind?: TARGET & utils.EventEmitter;\n\n\t/** Event options */\n\ton?: UtilGestureOnOptions<TARGET>;\n}\n\nexport class UtilGesture<TARGET extends UtilGestureTarget> {\n\tprotected _onStart?: UtilGestureOnStart<TARGET>;\n\tprotected _onMove?: UtilGestureOnMove<TARGET>;\n\tprotected _onEnd?: UtilGestureOnEnd<TARGET>;\n\tprotected _onStop?: UtilGestureOnStop<TARGET>;\n\tprotected _onEasingStart?: UtilGestureOnEasingStart<TARGET>;\n\tprotected _onEasingEnd?: UtilGestureOnEasingEnd<TARGET>;\n\tprotected _modifier: UtilGestureModifier;\n\tprotected _checkerStart: UtilGestureChecker<TARGET>;\n\tprotected _checkerMove: UtilGestureChecker<TARGET>;\n\tprotected _easing?: boolean | UtilGestureEasingOptions;\n\tprotected _touch: boolean;\n\n\tprotected _unused: Array<UtilGestureData<TARGET>>;\n\tprotected _used: Map<TARGET, UtilGestureData<TARGET>>;\n\n\tconstructor(options: UtilGestureOptions<TARGET>) {\n\t\tconst on = options.on;\n\t\tif (on) {\n\t\t\tthis._onStart = on.start;\n\t\t\tthis._onMove = on.move;\n\t\t\tthis._onEnd = on.end;\n\t\t\tthis._onStop = on.stop;\n\t\t\tconst easing = on.easing;\n\t\t\tif (easing != null) {\n\t\t\t\tthis._onEasingStart = easing.start;\n\t\t\t\tthis._onEasingEnd = easing.end;\n\t\t\t}\n\t\t}\n\t\tthis._modifier = options?.modifier ?? UtilGestureModifier.NONE;\n\t\tconst checker = options.checker;\n\t\tconst defaultChecker = UtilGestureModifiers.match;\n\t\tthis._checkerStart = checker?.start ?? defaultChecker;\n\t\tthis._checkerMove = checker?.move ?? defaultChecker;\n\t\tthis._easing = options.easing;\n\t\tthis._touch = !!options.touch;\n\n\t\tthis._unused = [];\n\t\tthis._used = new Map<TARGET, UtilGestureData<TARGET>>();\n\n\t\tconst bind = options.bind;\n\t\tif (bind != null) {\n\t\t\tthis.bind(bind);\n\t\t}\n\t}\n\n\tprotected newData(target: TARGET): UtilGestureData<TARGET> {\n\t\tconst used = this._used;\n\t\tconst result = used.get(target);\n\t\tif (result != null) {\n\t\t\treturn result;\n\t\t}\n\t\tconst poped = this._unused.pop();\n\t\tif (poped != null) {\n\t\t\tused.set(target, poped);\n\t\t\treturn poped;\n\t\t}\n\t\tconst created = new UtilGestureData<TARGET>();\n\t\tcreated.easing = this.newEasing(created);\n\t\tcreated.onMove = this.newOnMove(created);\n\t\tcreated.onEnd = this.newOnEnd(created);\n\t\tused.set(target, created);\n\t\treturn created;\n\t}\n\n\tprotected newEasing(data: UtilGestureData<TARGET>): UtilGestureEasing | undefined {\n\t\tconst easing = this._easing;\n\t\tif (easing == null || easing !== false) {\n\t\t\tconst onEasingMoveBound = (dx: number, dy: number, ds: number, time: number): void => {\n\t\t\t\tthis.onEasingMove(dx, dy, ds, time, data);\n\t\t\t};\n\t\t\tconst onEasingEndBound = (): void => {\n\t\t\t\tthis.onEasingEnd(data);\n\t\t\t};\n\t\t\treturn new UtilGestureEasing(\n\t\t\t\tonEasingMoveBound,\n\t\t\t\tonEasingEndBound,\n\t\t\t\tthis.toEasingOptions(easing)\n\t\t\t);\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprotected toEasingOptions(\n\t\toptions?: true | UtilGestureEasingOptions\n\t): UtilGestureEasingOptions | undefined {\n\t\treturn options == null || options === true ? undefined : options;\n\t}\n\n\tprotected deleteData(data: UtilGestureData<TARGET>): void {\n\t\tconst target = data.target;\n\t\tif (target) {\n\t\t\tif (this._used.delete(target)) {\n\t\t\t\tdata.target = undefined;\n\t\t\t\tdata.pointers.clear();\n\t\t\t\tthis._unused.push(data);\n\t\t\t}\n\t\t}\n\t}\n\n\tbind(target: TARGET & utils.EventEmitter): this {\n\t\ttarget.on(UtilPointerEvent.down, (e: InteractionEvent): void => {\n\t\t\tthis.onDown(target, e);\n\t\t});\n\t\treturn this;\n\t}\n\n\tprotected isTouch(e: InteractionEvent): boolean {\n\t\tconst oe = e.data.originalEvent;\n\t\tif (\"touches\" in oe) {\n\t\t\treturn true;\n\t\t} else if (\"pointerId\" in oe) {\n\t\t\treturn oe.pointerType !== \"mouse\";\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tonDown(target: TARGET, e: InteractionEvent): void {\n\t\tif (this._touch && !this.isTouch(e)) {\n\t\t\treturn;\n\t\t}\n\t\tif (!this._checkerStart(e, this._modifier, target)) {\n\t\t\treturn;\n\t\t}\n\t\tconst layer = DApplications.getLayer(target);\n\t\tif (layer == null) {\n\t\t\treturn;\n\t\t}\n\n\t\te.stopPropagation();\n\t\tif (target.state.isGesturing) {\n\t\t\tthis._used.get(target)?.start(e);\n\t\t} else {\n\t\t\t// User-defined handler\n\t\t\tconst onStart = this._onStart;\n\t\t\tif (onStart != null) {\n\t\t\t\tonStart(target);\n\t\t\t}\n\n\t\t\tconst data = this.newData(target);\n\t\t\tdata.target = target;\n\t\t\ttarget.state.isGesturing = true;\n\n\t\t\t// Interaction manager\n\t\t\tconst interactionManager = layer.renderer.plugins.interaction;\n\t\t\tdata.interactionManager = interactionManager;\n\n\t\t\t// Update the center\n\t\t\tdata.start(e);\n\n\t\t\t// Easing util\n\t\t\tconst easing = data.easing;\n\t\t\tif (easing) {\n\t\t\t\teasing.onStart();\n\t\t\t}\n\n\t\t\t// Event handler\n\t\t\tdata.bind(e);\n\t\t}\n\t}\n\n\tprotected newOnMove(data: UtilGestureData<TARGET>): (e: InteractionEvent) => void {\n\t\treturn (e: InteractionEvent): void => {\n\t\t\tthis.onMove(e, data);\n\t\t};\n\t}\n\n\tprotected newOnEnd(data: UtilGestureData<TARGET>): (e: InteractionEvent) => void {\n\t\treturn (e: InteractionEvent): void => {\n\t\t\tthis.onEnd(e, data);\n\t\t};\n\t}\n\n\tprotected onMove(e: InteractionEvent, data: UtilGestureData<TARGET>): void {\n\t\tconst target = data.target;\n\t\tif (target == null || !target.state.isGesturing) {\n\t\t\treturn;\n\t\t}\n\t\tif (!data.isUpdatable(e) || !this._checkerMove(e, this._modifier, target)) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Update the center\n\t\tconst center = data.center;\n\t\tconst oldCenterX = center.x;\n\t\tconst oldCenterY = center.y;\n\t\tconst oldScale = data.scale;\n\t\tconst oldTime = data.time;\n\t\tdata.update(e);\n\t\tconst newCenterX = center.x;\n\t\tconst newCenterY = center.y;\n\t\tconst newScale = data.scale;\n\t\tconst newTime = data.time;\n\n\t\t// Calculate the position\n\t\tconst dx = newCenterX - oldCenterX;\n\t\tconst dy = newCenterY - oldCenterY;\n\t\tconst dt = newTime - oldTime;\n\t\tconst epsilon = 0.00001;\n\t\tconst ds = epsilon < oldScale && epsilon < newScale ? newScale / oldScale : 1;\n\n\t\t// Easing\n\t\tconst easing = data.easing;\n\t\tif (easing) {\n\t\t\teasing.onMove(dx, dy, ds, dt);\n\t\t}\n\n\t\t// Call the user-defined handler\n\t\tconst onMove = this._onMove;\n\t\tif (onMove != null) {\n\t\t\tif (dx !== 0 || dy !== 0 || ds !== 1) {\n\t\t\t\tonMove(target, dx, dy, newCenterX, newCenterY, ds);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onEnd(e: InteractionEvent, data: UtilGestureData<TARGET>): void {\n\t\tconst target = data.target;\n\t\tif (target == null || !target.state.isGesturing) {\n\t\t\treturn;\n\t\t}\n\t\tif (!data.end(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\t// State\n\t\ttarget.state.isGesturing = false;\n\n\t\t// Remove event handlers\n\t\tconst interactionManager = data.interactionManager;\n\t\tdata.interactionManager = undefined;\n\t\tif (interactionManager) {\n\t\t\tconst onMoveBound = data.onMove;\n\t\t\tif (onMoveBound) {\n\t\t\t\tinteractionManager.off(UtilPointerEvent.move, onMoveBound);\n\t\t\t}\n\t\t\tconst onEndBound = data.onEnd;\n\t\t\tif (onEndBound) {\n\t\t\t\tinteractionManager.off(UtilPointerEvent.up, onEndBound);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.cancel, onEndBound);\n\t\t\t}\n\t\t}\n\n\t\t// Call the user-defined handler\n\t\tconst onEnd = this._onEnd;\n\t\tif (onEnd != null) {\n\t\t\tonEnd(target);\n\t\t}\n\n\t\t// Start the Easing\n\t\tconst onEasingStart = this._onEasingStart;\n\t\tif (onEasingStart) {\n\t\t\tonEasingStart(data.target!);\n\t\t}\n\t\tconst easing = data.easing;\n\t\tif (easing) {\n\t\t\teasing.onEnd(e.data.originalEvent.timeStamp - data.time);\n\t\t} else {\n\t\t\tthis.deleteData(data);\n\t\t\tconst onEasingEnd = this._onEasingEnd;\n\t\t\tif (onEasingEnd) {\n\t\t\t\tonEasingEnd(data.target!);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onEasingMove(\n\t\tdx: number,\n\t\tdy: number,\n\t\tds: number,\n\t\ttime: number,\n\t\tdata: UtilGestureData<TARGET>\n\t): void {\n\t\tconst target = data.target;\n\t\tif (target == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst onMove = this._onMove;\n\t\tif (onMove == null) {\n\t\t\treturn;\n\t\t}\n\t\tif (dx === 0 && dy === 0 && ds === 1) {\n\t\t\treturn;\n\t\t}\n\t\tconst center = data.center;\n\t\tconst x = center.x + dx;\n\t\tconst y = center.y + dy;\n\t\tcenter.set(x, y);\n\t\tonMove(data.target!, dx, dy, x, y, ds);\n\t}\n\n\tprotected onEasingEnd(data: UtilGestureData<TARGET>): void {\n\t\tconst target = data.target;\n\t\tthis.deleteData(data);\n\t\tconst onEasingEnd = this._onEasingEnd;\n\t\tif (onEasingEnd && target != null) {\n\t\t\tonEasingEnd(target);\n\t\t}\n\t}\n\n\tstop(target: TARGET): void {\n\t\tconst data = this._used.get(target);\n\t\tif (data == null) {\n\t\t\treturn;\n\t\t}\n\t\tdata.easing?.stop();\n\t\tthis.deleteData(data);\n\t\tconst onStop = this._onStop;\n\t\tif (onStop) {\n\t\t\tonStop(target);\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"util-gesture.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-gesture.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 { DApplicationTarget } from \"../d-application-like\";\nimport { DApplications } from \"../d-applications\";\nimport { DBaseStateSet } from \"../d-base-state-set\";\nimport { UtilGestureModifier } from \"./util-gesture-modifier\";\nimport { UtilGestureModifiers } from \"./util-gesture-modifiers\";\nimport { UtilGestureData } from \"./util-gesture-data\";\nimport { UtilGestureEasing, UtilGestureEasingOptions } from \"./util-gesture-easing\";\nimport { UtilPointerEvent } from \"./util-pointer-event\";\n\nexport interface UtilGestureTarget extends DApplicationTarget {\n\tstate: DBaseStateSet;\n}\nexport type UtilGestureOnMove<TARGET> = (\n\ttarget: TARGET,\n\tdx: number,\n\tdy: number,\n\tx: number,\n\ty: number,\n\tds: number\n) => void;\nexport type UtilGestureOnStart<TARGET> = (target: TARGET) => void;\nexport type UtilGestureOnEnd<TARGET> = (target: TARGET) => void;\nexport type UtilGestureOnStop<TARGET> = (target: TARGET) => void;\nexport type UtilGestureOnEasingStart<TARGET> = (target: TARGET) => void;\nexport type UtilGestureOnEasingEnd<TARGET> = (target: TARGET) => void;\nexport type UtilGestureChecker<TARGET> = (\n\te: InteractionEvent,\n\tmodifier: UtilGestureModifier,\n\ttarget: TARGET\n) => boolean;\n\nexport interface UtilGestureCheckerOptions<TARGET> {\n\tstart?: UtilGestureChecker<TARGET>;\n\tmove?: UtilGestureChecker<TARGET>;\n}\n\nexport interface UtilGestureOnEasingOptions<TARGET> {\n\tstart?: UtilGestureOnEasingStart<TARGET>;\n\tend?: UtilGestureOnEasingEnd<TARGET>;\n}\n\nexport interface UtilGestureOnOptions<TARGET> {\n\tstart?: UtilGestureOnStart<TARGET>;\n\tmove?: UtilGestureOnMove<TARGET>;\n\tend?: UtilGestureOnEnd<TARGET>;\n\tstop?: UtilGestureOnStop<TARGET>;\n\teasing?: UtilGestureOnEasingOptions<TARGET>;\n}\n\nexport interface UtilGestureOptions<TARGET> {\n\t/**\n\t * True to restrict to touch gestures only.\n\t */\n\ttouch?: boolean;\n\n\t/**\n\t * Expected mouse modifiers\n\t */\n\tmodifier?: UtilGestureModifier;\n\n\t/**\n\t * Checker options\n\t */\n\tchecker?: UtilGestureCheckerOptions<TARGET>;\n\n\t/**\n\t * Easing options\n\t */\n\teasing?: boolean | UtilGestureEasingOptions;\n\n\t/** Binds the pointerdown event of the given target. */\n\tbind?: TARGET & utils.EventEmitter;\n\n\t/** Event options */\n\ton?: UtilGestureOnOptions<TARGET>;\n}\n\nexport class UtilGesture<TARGET extends UtilGestureTarget> {\n\tprotected _onStart?: UtilGestureOnStart<TARGET>;\n\tprotected _onMove?: UtilGestureOnMove<TARGET>;\n\tprotected _onEnd?: UtilGestureOnEnd<TARGET>;\n\tprotected _onStop?: UtilGestureOnStop<TARGET>;\n\tprotected _onEasingStart?: UtilGestureOnEasingStart<TARGET>;\n\tprotected _onEasingEnd?: UtilGestureOnEasingEnd<TARGET>;\n\tprotected _modifier: UtilGestureModifier;\n\tprotected _checkerStart: UtilGestureChecker<TARGET>;\n\tprotected _checkerMove: UtilGestureChecker<TARGET>;\n\tprotected _easing?: boolean | UtilGestureEasingOptions;\n\tprotected _touch: boolean;\n\n\tprotected _unused: Array<UtilGestureData<TARGET>>;\n\tprotected _used: Map<TARGET, UtilGestureData<TARGET>>;\n\n\tconstructor(options: UtilGestureOptions<TARGET>) {\n\t\tconst on = options.on;\n\t\tif (on) {\n\t\t\tthis._onStart = on.start;\n\t\t\tthis._onMove = on.move;\n\t\t\tthis._onEnd = on.end;\n\t\t\tthis._onStop = on.stop;\n\t\t\tconst easing = on.easing;\n\t\t\tif (easing != null) {\n\t\t\t\tthis._onEasingStart = easing.start;\n\t\t\t\tthis._onEasingEnd = easing.end;\n\t\t\t}\n\t\t}\n\t\tthis._modifier = options?.modifier ?? UtilGestureModifier.NONE;\n\t\tconst checker = options.checker;\n\t\tconst defaultChecker = UtilGestureModifiers.match;\n\t\tthis._checkerStart = checker?.start ?? defaultChecker;\n\t\tthis._checkerMove = checker?.move ?? defaultChecker;\n\t\tthis._easing = options.easing;\n\t\tthis._touch = !!options.touch;\n\n\t\tthis._unused = [];\n\t\tthis._used = new Map<TARGET, UtilGestureData<TARGET>>();\n\n\t\tconst bind = options.bind;\n\t\tif (bind != null) {\n\t\t\tthis.bind(bind);\n\t\t}\n\t}\n\n\tprotected newData(target: TARGET): UtilGestureData<TARGET> {\n\t\tconst used = this._used;\n\t\tconst result = used.get(target);\n\t\tif (result != null) {\n\t\t\treturn result;\n\t\t}\n\t\tconst poped = this._unused.pop();\n\t\tif (poped != null) {\n\t\t\tused.set(target, poped);\n\t\t\treturn poped;\n\t\t}\n\t\tconst created = new UtilGestureData<TARGET>();\n\t\tcreated.easing = this.newEasing(created);\n\t\tcreated.onMove = this.newOnMove(created);\n\t\tcreated.onEnd = this.newOnEnd(created);\n\t\tused.set(target, created);\n\t\treturn created;\n\t}\n\n\tprotected newEasing(data: UtilGestureData<TARGET>): UtilGestureEasing | undefined {\n\t\tconst easing = this._easing;\n\t\tif (easing == null || easing !== false) {\n\t\t\tconst onEasingMoveBound = (dx: number, dy: number, ds: number, time: number): void => {\n\t\t\t\tthis.onEasingMove(dx, dy, ds, time, data);\n\t\t\t};\n\t\t\tconst onEasingEndBound = (): void => {\n\t\t\t\tthis.onEasingEnd(data);\n\t\t\t};\n\t\t\treturn new UtilGestureEasing(\n\t\t\t\tonEasingMoveBound,\n\t\t\t\tonEasingEndBound,\n\t\t\t\tthis.toEasingOptions(easing)\n\t\t\t);\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprotected toEasingOptions(\n\t\toptions?: true | UtilGestureEasingOptions\n\t): UtilGestureEasingOptions | undefined {\n\t\treturn options == null || options === true ? undefined : options;\n\t}\n\n\tprotected deleteData(data: UtilGestureData<TARGET>): void {\n\t\tconst target = data.target;\n\t\tif (target) {\n\t\t\tif (this._used.delete(target)) {\n\t\t\t\tdata.target = undefined;\n\t\t\t\tdata.pointers.clear();\n\t\t\t\tthis._unused.push(data);\n\t\t\t}\n\t\t}\n\t}\n\n\tbind(target: TARGET & utils.EventEmitter): this {\n\t\ttarget.on(UtilPointerEvent.down, (e: InteractionEvent): void => {\n\t\t\tthis.onDown(target, e);\n\t\t});\n\t\treturn this;\n\t}\n\n\tprotected isTouch(e: InteractionEvent): boolean {\n\t\tconst oe = e.data.originalEvent;\n\t\tif (\"touches\" in oe) {\n\t\t\treturn true;\n\t\t} else if (\"pointerId\" in oe) {\n\t\t\treturn oe.pointerType !== \"mouse\";\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tonDown(target: TARGET, e: InteractionEvent): void {\n\t\tif (this._touch && !this.isTouch(e)) {\n\t\t\treturn;\n\t\t}\n\t\tif (!this._checkerStart(e, this._modifier, target)) {\n\t\t\treturn;\n\t\t}\n\t\tconst layer = DApplications.getLayer(target);\n\t\tif (layer == null) {\n\t\t\treturn;\n\t\t}\n\n\t\te.stopPropagation();\n\t\tif (target.state.isGesturing) {\n\t\t\tthis._used.get(target)?.start(e);\n\t\t} else {\n\t\t\t// User-defined handler\n\t\t\tconst onStart = this._onStart;\n\t\t\tif (onStart != null) {\n\t\t\t\tonStart(target);\n\t\t\t}\n\n\t\t\tconst data = this.newData(target);\n\t\t\tdata.target = target;\n\t\t\ttarget.state.isGesturing = true;\n\n\t\t\t// Interaction manager\n\t\t\tconst interactionManager = layer.renderer.plugins.interaction;\n\t\t\tdata.interactionManager = interactionManager;\n\n\t\t\t// Update the center\n\t\t\tdata.start(e);\n\n\t\t\t// Easing util\n\t\t\tconst easing = data.easing;\n\t\t\tif (easing) {\n\t\t\t\teasing.onStart();\n\t\t\t}\n\n\t\t\t// Event handler\n\t\t\tdata.bind(e);\n\t\t}\n\t}\n\n\tprotected newOnMove(data: UtilGestureData<TARGET>): (e: InteractionEvent) => void {\n\t\treturn (e: InteractionEvent): void => {\n\t\t\tthis.onMove(e, data);\n\t\t};\n\t}\n\n\tprotected newOnEnd(data: UtilGestureData<TARGET>): (e: InteractionEvent) => void {\n\t\treturn (e: InteractionEvent): void => {\n\t\t\tthis.onEnd(e, data);\n\t\t};\n\t}\n\n\tprotected onMove(e: InteractionEvent, data: UtilGestureData<TARGET>): void {\n\t\tconst target = data.target;\n\t\tif (target == null || !target.state.isGesturing) {\n\t\t\treturn;\n\t\t}\n\t\tif (!data.isUpdatable(e) || !this._checkerMove(e, this._modifier, target)) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Update the center\n\t\tconst center = data.center;\n\t\tconst oldCenterX = center.x;\n\t\tconst oldCenterY = center.y;\n\t\tconst oldScale = data.scale;\n\t\tconst oldTime = data.time;\n\t\tdata.update(e);\n\t\tconst newCenterX = center.x;\n\t\tconst newCenterY = center.y;\n\t\tconst newScale = data.scale;\n\t\tconst newTime = data.time;\n\n\t\t// Calculate the position\n\t\tconst dx = newCenterX - oldCenterX;\n\t\tconst dy = newCenterY - oldCenterY;\n\t\tconst dt = newTime - oldTime;\n\t\tconst epsilon = 0.00001;\n\t\tconst ds = epsilon < oldScale && epsilon < newScale ? newScale / oldScale : 1;\n\n\t\t// Easing\n\t\tconst easing = data.easing;\n\t\tif (easing) {\n\t\t\teasing.onMove(dx, dy, ds, dt);\n\t\t}\n\n\t\t// Call the user-defined handler\n\t\tconst onMove = this._onMove;\n\t\tif (onMove != null) {\n\t\t\tif (dx !== 0 || dy !== 0 || ds !== 1) {\n\t\t\t\tonMove(target, dx, dy, newCenterX, newCenterY, ds);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onEnd(e: InteractionEvent, data: UtilGestureData<TARGET>): void {\n\t\tconst target = data.target;\n\t\tif (target == null || !target.state.isGesturing) {\n\t\t\treturn;\n\t\t}\n\t\tconst oldTime = data.time;\n\t\tif (!data.end(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\t// State\n\t\ttarget.state.isGesturing = false;\n\n\t\t// Remove event handlers\n\t\tconst interactionManager = data.interactionManager;\n\t\tdata.interactionManager = undefined;\n\t\tif (interactionManager) {\n\t\t\tconst onMoveBound = data.onMove;\n\t\t\tif (onMoveBound) {\n\t\t\t\tinteractionManager.off(UtilPointerEvent.move, onMoveBound);\n\t\t\t}\n\t\t\tconst onEndBound = data.onEnd;\n\t\t\tif (onEndBound) {\n\t\t\t\tinteractionManager.off(UtilPointerEvent.up, onEndBound);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.cancel, onEndBound);\n\t\t\t}\n\t\t}\n\n\t\t// Call the user-defined handler\n\t\tconst onEnd = this._onEnd;\n\t\tif (onEnd != null) {\n\t\t\tonEnd(target);\n\t\t}\n\n\t\t// Start the Easing\n\t\tconst onEasingStart = this._onEasingStart;\n\t\tif (onEasingStart) {\n\t\t\tonEasingStart(data.target!);\n\t\t}\n\t\tconst easing = data.easing;\n\t\tif (easing) {\n\t\t\teasing.onEnd(data.time - oldTime);\n\t\t} else {\n\t\t\tthis.deleteData(data);\n\t\t\tconst onEasingEnd = this._onEasingEnd;\n\t\t\tif (onEasingEnd) {\n\t\t\t\tonEasingEnd(data.target!);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onEasingMove(\n\t\tdx: number,\n\t\tdy: number,\n\t\tds: number,\n\t\ttime: number,\n\t\tdata: UtilGestureData<TARGET>\n\t): void {\n\t\tconst target = data.target;\n\t\tif (target == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst onMove = this._onMove;\n\t\tif (onMove == null) {\n\t\t\treturn;\n\t\t}\n\t\tif (dx === 0 && dy === 0 && ds === 1) {\n\t\t\treturn;\n\t\t}\n\t\tconst center = data.center;\n\t\tconst x = center.x + dx;\n\t\tconst y = center.y + dy;\n\t\tcenter.set(x, y);\n\t\tonMove(data.target!, dx, dy, x, y, ds);\n\t}\n\n\tprotected onEasingEnd(data: UtilGestureData<TARGET>): void {\n\t\tconst target = data.target;\n\t\tthis.deleteData(data);\n\t\tconst onEasingEnd = this._onEasingEnd;\n\t\tif (onEasingEnd && target != null) {\n\t\t\tonEasingEnd(target);\n\t\t}\n\t}\n\n\tstop(target: TARGET): void {\n\t\tconst data = this._used.get(target);\n\t\tif (data == null) {\n\t\t\treturn;\n\t\t}\n\t\tdata.easing?.stop();\n\t\tthis.deleteData(data);\n\t\tconst onStop = this._onStop;\n\t\tif (onStop) {\n\t\t\tonStop(target);\n\t\t}\n\t}\n}\n"]}
|
package/dist/wcardinal-ui.cjs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Winter Cardinal UI v0.
|
|
2
|
+
Winter Cardinal UI v0.411.0
|
|
3
3
|
Copyright (C) 2019 Toshiba Corporation
|
|
4
4
|
SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
|
|
@@ -14357,6 +14357,13 @@ var DBase = /** @class */ (function (_super) {
|
|
|
14357
14357
|
get: function () {
|
|
14358
14358
|
return this._weight;
|
|
14359
14359
|
},
|
|
14360
|
+
set: function (weight) {
|
|
14361
|
+
if (this._weight !== weight) {
|
|
14362
|
+
this._weight = weight;
|
|
14363
|
+
this.toHierarchyDirty();
|
|
14364
|
+
DApplications.update(this);
|
|
14365
|
+
}
|
|
14366
|
+
},
|
|
14360
14367
|
enumerable: false,
|
|
14361
14368
|
configurable: true
|
|
14362
14369
|
});
|
|
@@ -15809,6 +15816,7 @@ var UtilGestureEasing = /** @class */ (function () {
|
|
|
15809
15816
|
this._dt = 0;
|
|
15810
15817
|
this._dtw = 0;
|
|
15811
15818
|
this._t = 0;
|
|
15819
|
+
this._duration = 333 * ((_a = options === null || options === void 0 ? void 0 : options.duration) !== null && _a !== void 0 ? _a : 1);
|
|
15812
15820
|
this._animation = new DAnimationBase({
|
|
15813
15821
|
onTime: function (t) {
|
|
15814
15822
|
_this.onEase(t);
|
|
@@ -15817,7 +15825,7 @@ var UtilGestureEasing = /** @class */ (function () {
|
|
|
15817
15825
|
_this.onEaseEnd();
|
|
15818
15826
|
},
|
|
15819
15827
|
timing: DAnimationTimings.LINEAR,
|
|
15820
|
-
duration:
|
|
15828
|
+
duration: this._duration
|
|
15821
15829
|
});
|
|
15822
15830
|
this._onMove = onMove;
|
|
15823
15831
|
this._onEnd = onEnd;
|
|
@@ -15898,6 +15906,11 @@ var UtilGestureEasing = /** @class */ (function () {
|
|
|
15898
15906
|
}
|
|
15899
15907
|
};
|
|
15900
15908
|
UtilGestureEasing.prototype.onEnd = function (ldt) {
|
|
15909
|
+
var d0 = this._duration;
|
|
15910
|
+
var d = d0 - ldt;
|
|
15911
|
+
if (d <= 0) {
|
|
15912
|
+
return this.onEaseEnd();
|
|
15913
|
+
}
|
|
15901
15914
|
this.updateHistoriesSorted(ldt);
|
|
15902
15915
|
var sorted = this._historiesSorted;
|
|
15903
15916
|
var sortedLength = sorted.length;
|
|
@@ -15922,22 +15935,27 @@ var UtilGestureEasing = /** @class */ (function () {
|
|
|
15922
15935
|
dx *= w;
|
|
15923
15936
|
dy *= w;
|
|
15924
15937
|
ds *= w;
|
|
15925
|
-
dt *= w;
|
|
15938
|
+
dt *= w * (d0 / d); // Effectively, this lowers the velocity (dx, dy, ds) by d / d0.
|
|
15926
15939
|
this._dx = dx;
|
|
15927
15940
|
this._dy = dy;
|
|
15928
15941
|
this._ds = ds;
|
|
15929
15942
|
this._dt = dt;
|
|
15930
15943
|
// Start animation
|
|
15931
15944
|
var animation = this._animation;
|
|
15932
|
-
|
|
15933
|
-
this._t =
|
|
15945
|
+
animation.duration = d;
|
|
15946
|
+
this._t = 0;
|
|
15934
15947
|
this._dtw = d / dt;
|
|
15935
15948
|
animation.start();
|
|
15936
15949
|
};
|
|
15937
15950
|
UtilGestureEasing.prototype.onEase = function (t) {
|
|
15938
15951
|
var ot = this._t;
|
|
15939
15952
|
this._t = t;
|
|
15940
|
-
// Note:
|
|
15953
|
+
// Note: Integral_{x=ot...t} (1-x) dx
|
|
15954
|
+
// = [x (1 - 0.5 x)]_{x=ot...t}
|
|
15955
|
+
// = t (1 - 0.5 t) - ot (1 - 0.5 ot)
|
|
15956
|
+
// = t - ot - 0.5 t t + 0.5 ot ot
|
|
15957
|
+
// = (t - ot) - 0.5 (t + ot) (t - ot)
|
|
15958
|
+
// = (1 - 0.5 (t + ot)) * (t - ot)
|
|
15941
15959
|
var w = (1 - 0.5 * (t + ot)) * (t - ot) * this._dtw;
|
|
15942
15960
|
this._onMove(this._dx * w, this._dy * w, 1 + (this._ds - 1) * w, t);
|
|
15943
15961
|
};
|
|
@@ -16142,6 +16160,7 @@ var UtilGesture = /** @class */ (function () {
|
|
|
16142
16160
|
if (target == null || !target.state.isGesturing) {
|
|
16143
16161
|
return;
|
|
16144
16162
|
}
|
|
16163
|
+
var oldTime = data.time;
|
|
16145
16164
|
if (!data.end(e)) {
|
|
16146
16165
|
return;
|
|
16147
16166
|
}
|
|
@@ -16173,7 +16192,7 @@ var UtilGesture = /** @class */ (function () {
|
|
|
16173
16192
|
}
|
|
16174
16193
|
var easing = data.easing;
|
|
16175
16194
|
if (easing) {
|
|
16176
|
-
easing.onEnd(
|
|
16195
|
+
easing.onEnd(data.time - oldTime);
|
|
16177
16196
|
}
|
|
16178
16197
|
else {
|
|
16179
16198
|
this.deleteData(data);
|
package/dist/wcardinal-ui.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Winter Cardinal UI v0.
|
|
2
|
+
Winter Cardinal UI v0.411.0
|
|
3
3
|
Copyright (C) 2019 Toshiba Corporation
|
|
4
4
|
SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
|
|
@@ -14354,6 +14354,13 @@
|
|
|
14354
14354
|
get: function () {
|
|
14355
14355
|
return this._weight;
|
|
14356
14356
|
},
|
|
14357
|
+
set: function (weight) {
|
|
14358
|
+
if (this._weight !== weight) {
|
|
14359
|
+
this._weight = weight;
|
|
14360
|
+
this.toHierarchyDirty();
|
|
14361
|
+
DApplications.update(this);
|
|
14362
|
+
}
|
|
14363
|
+
},
|
|
14357
14364
|
enumerable: false,
|
|
14358
14365
|
configurable: true
|
|
14359
14366
|
});
|
|
@@ -15806,6 +15813,7 @@
|
|
|
15806
15813
|
this._dt = 0;
|
|
15807
15814
|
this._dtw = 0;
|
|
15808
15815
|
this._t = 0;
|
|
15816
|
+
this._duration = 333 * ((_a = options === null || options === void 0 ? void 0 : options.duration) !== null && _a !== void 0 ? _a : 1);
|
|
15809
15817
|
this._animation = new DAnimationBase({
|
|
15810
15818
|
onTime: function (t) {
|
|
15811
15819
|
_this.onEase(t);
|
|
@@ -15814,7 +15822,7 @@
|
|
|
15814
15822
|
_this.onEaseEnd();
|
|
15815
15823
|
},
|
|
15816
15824
|
timing: DAnimationTimings.LINEAR,
|
|
15817
|
-
duration:
|
|
15825
|
+
duration: this._duration
|
|
15818
15826
|
});
|
|
15819
15827
|
this._onMove = onMove;
|
|
15820
15828
|
this._onEnd = onEnd;
|
|
@@ -15895,6 +15903,11 @@
|
|
|
15895
15903
|
}
|
|
15896
15904
|
};
|
|
15897
15905
|
UtilGestureEasing.prototype.onEnd = function (ldt) {
|
|
15906
|
+
var d0 = this._duration;
|
|
15907
|
+
var d = d0 - ldt;
|
|
15908
|
+
if (d <= 0) {
|
|
15909
|
+
return this.onEaseEnd();
|
|
15910
|
+
}
|
|
15898
15911
|
this.updateHistoriesSorted(ldt);
|
|
15899
15912
|
var sorted = this._historiesSorted;
|
|
15900
15913
|
var sortedLength = sorted.length;
|
|
@@ -15919,22 +15932,27 @@
|
|
|
15919
15932
|
dx *= w;
|
|
15920
15933
|
dy *= w;
|
|
15921
15934
|
ds *= w;
|
|
15922
|
-
dt *= w;
|
|
15935
|
+
dt *= w * (d0 / d); // Effectively, this lowers the velocity (dx, dy, ds) by d / d0.
|
|
15923
15936
|
this._dx = dx;
|
|
15924
15937
|
this._dy = dy;
|
|
15925
15938
|
this._ds = ds;
|
|
15926
15939
|
this._dt = dt;
|
|
15927
15940
|
// Start animation
|
|
15928
15941
|
var animation = this._animation;
|
|
15929
|
-
|
|
15930
|
-
this._t =
|
|
15942
|
+
animation.duration = d;
|
|
15943
|
+
this._t = 0;
|
|
15931
15944
|
this._dtw = d / dt;
|
|
15932
15945
|
animation.start();
|
|
15933
15946
|
};
|
|
15934
15947
|
UtilGestureEasing.prototype.onEase = function (t) {
|
|
15935
15948
|
var ot = this._t;
|
|
15936
15949
|
this._t = t;
|
|
15937
|
-
// Note:
|
|
15950
|
+
// Note: Integral_{x=ot...t} (1-x) dx
|
|
15951
|
+
// = [x (1 - 0.5 x)]_{x=ot...t}
|
|
15952
|
+
// = t (1 - 0.5 t) - ot (1 - 0.5 ot)
|
|
15953
|
+
// = t - ot - 0.5 t t + 0.5 ot ot
|
|
15954
|
+
// = (t - ot) - 0.5 (t + ot) (t - ot)
|
|
15955
|
+
// = (1 - 0.5 (t + ot)) * (t - ot)
|
|
15938
15956
|
var w = (1 - 0.5 * (t + ot)) * (t - ot) * this._dtw;
|
|
15939
15957
|
this._onMove(this._dx * w, this._dy * w, 1 + (this._ds - 1) * w, t);
|
|
15940
15958
|
};
|
|
@@ -16139,6 +16157,7 @@
|
|
|
16139
16157
|
if (target == null || !target.state.isGesturing) {
|
|
16140
16158
|
return;
|
|
16141
16159
|
}
|
|
16160
|
+
var oldTime = data.time;
|
|
16142
16161
|
if (!data.end(e)) {
|
|
16143
16162
|
return;
|
|
16144
16163
|
}
|
|
@@ -16170,7 +16189,7 @@
|
|
|
16170
16189
|
}
|
|
16171
16190
|
var easing = data.easing;
|
|
16172
16191
|
if (easing) {
|
|
16173
|
-
easing.onEnd(
|
|
16192
|
+
easing.onEnd(data.time - oldTime);
|
|
16174
16193
|
}
|
|
16175
16194
|
else {
|
|
16176
16195
|
this.deleteData(data);
|