@amcharts/amcharts5 5.2.13 → 5.2.14
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/.internal/charts/xy/XYChart.js +3 -3
- package/.internal/charts/xy/XYChart.js.map +1 -1
- package/.internal/charts/xy/XYChartDefaultTheme.js +1 -0
- package/.internal/charts/xy/XYChartDefaultTheme.js.map +1 -1
- package/.internal/charts/xy/axes/Axis.d.ts +2 -2
- package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/Axis.js.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.js +7 -1
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/core/Root.d.ts.map +1 -1
- package/.internal/core/Root.js +2 -1
- package/.internal/core/Root.js.map +1 -1
- package/.internal/core/render/Component.d.ts +1 -1
- package/.internal/core/render/Component.d.ts.map +1 -1
- package/.internal/core/render/Component.js.map +1 -1
- package/.internal/core/render/Container.d.ts.map +1 -1
- package/.internal/core/render/Container.js +4 -0
- package/.internal/core/render/Container.js.map +1 -1
- package/.internal/core/render/Scrollbar.js +1 -1
- package/.internal/core/render/Scrollbar.js.map +1 -1
- package/.internal/core/render/Sprite.d.ts.map +1 -1
- package/.internal/core/render/Sprite.js +2 -1
- package/.internal/core/render/Sprite.js.map +1 -1
- package/.internal/core/render/Tooltip.d.ts +9 -1
- package/.internal/core/render/Tooltip.d.ts.map +1 -1
- package/.internal/core/render/Tooltip.js +34 -0
- package/.internal/core/render/Tooltip.js.map +1 -1
- package/.internal/core/util/Animation.d.ts.map +1 -1
- package/.internal/core/util/Animation.js +4 -4
- package/.internal/core/util/Animation.js.map +1 -1
- package/.internal/core/util/DateFormatter.js +1 -1
- package/.internal/core/util/DateFormatter.js.map +1 -1
- package/.internal/core/util/Entity.d.ts +8 -5
- package/.internal/core/util/Entity.d.ts.map +1 -1
- package/.internal/core/util/Entity.js +21 -21
- package/.internal/core/util/Entity.js.map +1 -1
- package/CHANGELOG.md +13 -0
- package/examples/javascript/flow-chord/package.json +1 -1
- package/examples/javascript/flow-chord-directed/package.json +1 -1
- package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/javascript/flow-sankey/package.json +1 -1
- package/examples/javascript/gauge/package.json +1 -1
- package/examples/javascript/gauge-bands/package.json +1 -1
- package/examples/javascript/hierarchy-force-directed/package.json +1 -1
- package/examples/javascript/hierarchy-pack/package.json +1 -1
- package/examples/javascript/hierarchy-partition/package.json +1 -1
- package/examples/javascript/hierarchy-sunburst/package.json +1 -1
- package/examples/javascript/hierarchy-tree/package.json +1 -1
- package/examples/javascript/hierarchy-treemap/package.json +1 -1
- package/examples/javascript/json/package.json +1 -1
- package/examples/javascript/map-animating-along-lines/package.json +1 -1
- package/examples/javascript/map-day-and-night/package.json +1 -1
- package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/javascript/map-with-bubbles/package.json +1 -1
- package/examples/javascript/map-zoom-to-country/package.json +1 -1
- package/examples/javascript/misc-40-charts/package.json +1 -1
- package/examples/javascript/misc-microchart-grid/package.json +1 -1
- package/examples/javascript/pie-chart/package.json +1 -1
- package/examples/javascript/pie-donut-chart/package.json +1 -1
- package/examples/javascript/pie-variable-radius/package.json +1 -1
- package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
- package/examples/javascript/radar-heat-map/package.json +1 -1
- package/examples/javascript/radar-line/package.json +1 -1
- package/examples/javascript/radar-time-line/package.json +1 -1
- package/examples/javascript/sliced-funnel/package.json +1 -1
- package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/javascript/sliced-pyramid/package.json +1 -1
- package/examples/javascript/stock-chart/package.json +1 -1
- package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
- package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
- package/examples/javascript/stock-chart-intraday/package.json +1 -1
- package/examples/javascript/stock-chart-live/package.json +1 -1
- package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/javascript/venn-diagram/package.json +1 -1
- package/examples/javascript/wordcloud-with-data/package.json +1 -1
- package/examples/javascript/wordcloud-with-text/package.json +1 -1
- package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/javascript/xy-bubble/package.json +1 -1
- package/examples/javascript/xy-candlestick/package.json +1 -1
- package/examples/javascript/xy-clustered-column/package.json +1 -1
- package/examples/javascript/xy-column/package.json +1 -1
- package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/javascript/xy-data-grouping/package.json +1 -1
- package/examples/javascript/xy-draggable-range/package.json +1 -1
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/javascript/xy-dumbbell plot/package.json +1 -1
- package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/javascript/xy-line/package.json +1 -1
- package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/javascript/xy-live-data/package.json +1 -1
- package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/javascript/xy-ohlc/package.json +1 -1
- package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/javascript/xy-smoothed-line/package.json +1 -1
- package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/javascript/xy-stacked-column/package.json +1 -1
- package/examples/javascript/xy-stacked-step/package.json +1 -1
- package/examples/javascript/xy-stock/package.json +1 -1
- package/examples/javascript/xy-stock-comparing/package.json +1 -1
- package/examples/typescript/flow-chord/package.json +1 -1
- package/examples/typescript/flow-chord-directed/package.json +1 -1
- package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/typescript/flow-sankey/package.json +1 -1
- package/examples/typescript/gauge/package.json +1 -1
- package/examples/typescript/gauge-bands/package.json +1 -1
- package/examples/typescript/hierarchy-force-directed/package.json +1 -1
- package/examples/typescript/hierarchy-pack/package.json +1 -1
- package/examples/typescript/hierarchy-partition/package.json +1 -1
- package/examples/typescript/hierarchy-sunburst/package.json +1 -1
- package/examples/typescript/hierarchy-tree/package.json +1 -1
- package/examples/typescript/hierarchy-treemap/package.json +1 -1
- package/examples/typescript/json/package.json +1 -1
- package/examples/typescript/map-animating-along-lines/package.json +1 -1
- package/examples/typescript/map-day-and-night/package.json +1 -1
- package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/typescript/map-with-bubbles/package.json +1 -1
- package/examples/typescript/map-zoom-to-country/package.json +1 -1
- package/examples/typescript/misc-40-charts/package.json +1 -1
- package/examples/typescript/misc-microchart-grid/package.json +1 -1
- package/examples/typescript/pie-chart/package.json +1 -1
- package/examples/typescript/pie-donut-chart/package.json +1 -1
- package/examples/typescript/pie-variable-radius/package.json +1 -1
- package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
- package/examples/typescript/radar-heat-map/package.json +1 -1
- package/examples/typescript/radar-line/package.json +1 -1
- package/examples/typescript/radar-time-line/package.json +1 -1
- package/examples/typescript/sliced-funnel/package.json +1 -1
- package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/typescript/sliced-pyramid/package.json +1 -1
- package/examples/typescript/stock-chart/package.json +1 -1
- package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
- package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
- package/examples/typescript/stock-chart-intraday/package.json +1 -1
- package/examples/typescript/stock-chart-live/package.json +1 -1
- package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/typescript/venn-diagram/package.json +1 -1
- package/examples/typescript/wordcloud-with-data/package.json +1 -1
- package/examples/typescript/wordcloud-with-text/package.json +1 -1
- package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/typescript/xy-bubble/package.json +1 -1
- package/examples/typescript/xy-candlestick/package.json +1 -1
- package/examples/typescript/xy-clustered-column/package.json +1 -1
- package/examples/typescript/xy-column/package.json +1 -1
- package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/typescript/xy-data-grouping/package.json +1 -1
- package/examples/typescript/xy-draggable-range/package.json +1 -1
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/typescript/xy-dumbbell plot/package.json +1 -1
- package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/typescript/xy-line/package.json +1 -1
- package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/typescript/xy-live-data/package.json +1 -1
- package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/typescript/xy-ohlc/package.json +1 -1
- package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/typescript/xy-smoothed-line/package.json +1 -1
- package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/typescript/xy-stacked-column/package.json +1 -1
- package/examples/typescript/xy-stacked-step/package.json +1 -1
- package/examples/typescript/xy-stock/package.json +1 -1
- package/examples/typescript/xy-stock-comparing/package.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Tooltip.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
|
+
import { MultiDisposer } from "../util/Disposer";
|
|
2
3
|
import { Label } from "../render/Label";
|
|
3
4
|
import { PointedRectangle } from "../render/PointedRectangle";
|
|
4
5
|
import { Container } from "./Container";
|
|
@@ -71,6 +72,12 @@ var Tooltip = /** @class */ (function (_super) {
|
|
|
71
72
|
writable: true,
|
|
72
73
|
value: 0
|
|
73
74
|
});
|
|
75
|
+
Object.defineProperty(_this, "_keepHoverDp", {
|
|
76
|
+
enumerable: true,
|
|
77
|
+
configurable: true,
|
|
78
|
+
writable: true,
|
|
79
|
+
value: void 0
|
|
80
|
+
});
|
|
74
81
|
return _this;
|
|
75
82
|
}
|
|
76
83
|
Object.defineProperty(Tooltip.prototype, "_afterNew", {
|
|
@@ -143,6 +150,7 @@ var Tooltip = /** @class */ (function (_super) {
|
|
|
143
150
|
configurable: true,
|
|
144
151
|
writable: true,
|
|
145
152
|
value: function () {
|
|
153
|
+
var _this = this;
|
|
146
154
|
_super.prototype._changed.call(this);
|
|
147
155
|
if (this.isDirty("pointTo")) {
|
|
148
156
|
// can't compare to previous, as sometimes pointTo is set twice (when pointer moves, so the position won't be udpated)
|
|
@@ -151,6 +159,32 @@ var Tooltip = /** @class */ (function (_super) {
|
|
|
151
159
|
if (this.isDirty("tooltipTarget")) {
|
|
152
160
|
this.updateBackgroundColor();
|
|
153
161
|
}
|
|
162
|
+
if (this.isDirty("keepTargetHover")) {
|
|
163
|
+
var keephover = this.get("keepTargetHover");
|
|
164
|
+
if (keephover) {
|
|
165
|
+
var bg = this.get("background");
|
|
166
|
+
this._keepHoverDp = new MultiDisposer([
|
|
167
|
+
bg.events.on("pointerover", function (_ev) {
|
|
168
|
+
var target = _this.get("tooltipTarget");
|
|
169
|
+
if (target) {
|
|
170
|
+
target.hover();
|
|
171
|
+
}
|
|
172
|
+
}),
|
|
173
|
+
bg.events.on("pointerout", function (_ev) {
|
|
174
|
+
var target = _this.get("tooltipTarget");
|
|
175
|
+
if (target) {
|
|
176
|
+
target.unhover();
|
|
177
|
+
}
|
|
178
|
+
})
|
|
179
|
+
]);
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
if (this._keepHoverDp) {
|
|
183
|
+
this._keepHoverDp.dispose();
|
|
184
|
+
this._keepHoverDp = undefined;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
154
188
|
}
|
|
155
189
|
});
|
|
156
190
|
Object.defineProperty(Tooltip.prototype, "_onShow", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IBounds } from \"../util/IBounds\";\nimport type { IPoint } from \"../util/IPoint\";\nimport type { Pattern } from \"../render/patterns/Pattern\";\nimport type { Time } from \"../util/Animation\";\nimport type { Sprite } from \"../render/Sprite\";\nimport type { MultiDisposer, IDisposer } from \"../util/Disposer\";\n\nimport { Label } from \"../render/Label\";\nimport { PointedRectangle } from \"../render/PointedRectangle\";\nimport { Container, IContainerPrivate, IContainerSettings } from \"./Container\";\nimport { Percent } from \"../util/Percent\";\nimport { Color } from \"../util/Color\";\n\nimport * as $math from \"../util/Math\";\nimport * as $array from \"../util/Array\";\nimport * as $utils from \"../util/Utils\";\n//import * as $utils from \"../util/Utils\";\nimport type { DataItem, IComponentDataItem } from \"./Component\";\n\n\nexport interface ITooltipSettings extends IContainerSettings {\n\n\t/**\n\t * Text to use for tooltip's label.\n\t */\n\tlabelText?: string\n\n\t/**\n\t * HTML content to use for tooltip's label.\n\t *\n\t * @since 5.2.11\n\t */\n\tlabelHTML?: string\n\n\t/**\n\t * A direction of the tooltip pointer.\n\t *\n\t * https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Orientation\n\t */\n\tpointerOrientation?: \"left\" | \"right\" | \"up\" | \"down\" | \"vertical\" | \"horizontal\";\n\n\t/**\n\t * If set to `true` will use the same `fill` color for its background as\n\t * its `tooltipTarget`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Colors} for more info\n\t * @default false\n\t */\n\tgetFillFromSprite?: boolean;\n\n\t/**\n\t * If set to `true` will use the same `fill` color as its `tooltipTarget`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Colors} for more info\n\t * @default false\n\t */\n\tgetLabelFillFromSprite?: boolean;\n\n\t/**\n\t * If set to `true` will use the same `stroke` color as its `tooltipTarget`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Colors} for more info\n\t * @default false\n\t */\n\tgetStrokeFromSprite?: boolean;\n\n\t/**\n\t * Scree bounds to constring tooltip within.\n\t */\n\tbounds?: IBounds;\n\n\t/**\n\t * If set to `true` tooltip will adjust its text color for better visibility\n\t * on its background.\n\t *\n\t * @default true\n\t */\n\tautoTextColor?: boolean;\n\n\t/**\n\t * Screen coordinates the tooltip show point to.\n\t */\n\tpointTo?: IPoint;\n\n\t/**\n\t * Duration in milliseconds for tooltip position change, e.g. when tooltip\n\t * is jumping from one target to another.\n\t */\n\tanimationDuration?: number;\n\n\t/**\n\t * Easing function for tooltip animation.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/animations/#Easing_functions} for more info\n\t */\n\tanimationEasing?: (t: Time) => Time;\n\n\t/**\n\t * A target element tooltip is shown fow.\n\t */\n\ttooltipTarget?: Sprite;\n\n}\n\nexport interface ITooltipPrivate extends IContainerPrivate {\n}\n\n/**\n * Creates a tooltip.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/} for more info\n * @important\n */\nexport class Tooltip extends Container {\n\n\tprotected _arrangeDisposer: MultiDisposer | undefined;\n\n\tpublic _fx: number = 0;\n\tpublic _fy: number = 0;\n\n\tdeclare public _settings: ITooltipSettings;\n\tdeclare public _privateSettings: ITooltipPrivate;\n\n\tprotected _label!: Label;\n\tpublic static className: string = \"Tooltip\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([Tooltip.className]);\n\n\tprotected _fillDp: IDisposer | undefined;\n\tprotected _strokeDp: IDisposer | undefined;\n\tprotected _labelDp: IDisposer | undefined;\n\n\tprotected _w: number = 0;\n\tprotected _h: number = 0;\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"tooltip\"]);\n\n\t\tsuper._afterNew();\n\n\t\tthis.set(\"background\", PointedRectangle.new(this._root, {\n\t\t\tthemeTags: [\"tooltip\", \"background\"]\n\t\t}));\n\n\t\tthis._label = this.children.push(Label.new(this._root, {}));\n\n\t\tthis._disposers.push(this._label.events.on(\"boundschanged\", () => {\n\t\t\tthis._updateBackground();\n\t\t}))\n\n\t\tthis.on(\"bounds\", () => {\n\t\t\tthis._updateBackground();\n\t\t})\n\n\t\tthis._updateTextColor();\n\n\t\tthis._root.tooltipContainer.children.push(this);\n\t\tthis.hide(0);\n\n\t\tthis._root._tooltips.push(this);\n\t}\n\n\t/**\n\t * A [[Label]] element for the tooltip.\n\t *\n\t * @readonly\n\t * @return Label\n\t */\n\tpublic get label(): Label {\n\t\treturn this._label;\n\t}\n\n\t/**\n\t * Permanently disposes the tooltip.\n\t */\n\tpublic dispose() {\n\t\tsuper.dispose();\n\t\t$array.remove(this._root._tooltips, this);\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\t\tconst labelText = this.get(\"labelText\");\n\t\tif (labelText != null) {\n\t\t\tthis.label.set(\"text\", this.get(\"labelText\"));\n\t\t}\n\t\tconst labelHTML = this.get(\"labelHTML\");\n\t\tif (labelHTML != null) {\n\t\t\tthis.label.set(\"html\", this.get(\"labelHTML\"));\n\t\t}\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\n\t\tif (this.isDirty(\"pointTo\")) {\n\t\t\t// can't compare to previous, as sometimes pointTo is set twice (when pointer moves, so the position won't be udpated)\n\t\t\tthis._updateBackground();\n\t\t}\n\n\t\tif (this.isDirty(\"tooltipTarget\")) {\n\t\t\tthis.updateBackgroundColor();\n\t\t}\n\t}\n\n\tprotected _onShow() {\n\t\tsuper._onShow();\n\t\tthis.updateBackgroundColor();\n\t}\n\n\n\tpublic updateBackgroundColor() {\n\t\tlet tooltipTarget = this.get(\"tooltipTarget\");\n\t\tconst background = this.get(\"background\");\n\t\tlet fill: Color | undefined;\n\t\tlet stroke: Color | undefined;\n\n\n\t\tif (tooltipTarget && background) {\n\n\t\t\tfill = tooltipTarget.get(\"fill\" as any);\n\t\t\tstroke = tooltipTarget.get(\"stroke\" as any);\n\n\t\t\tif (fill == null) {\n\t\t\t\tfill = stroke;\n\t\t\t}\n\n\t\t\tif (this.get(\"getFillFromSprite\")) {\n\n\t\t\t\tif (this._fillDp) {\n\t\t\t\t\tthis._fillDp.dispose();\n\t\t\t\t}\n\n\t\t\t\tif (fill != null) {\n\t\t\t\t\tbackground.set(\"fill\", fill as any);\n\t\t\t\t}\n\n\t\t\t\tthis._fillDp = tooltipTarget.on(\"fill\" as any, (fill) => {\n\t\t\t\t\tif (fill != null) {\n\t\t\t\t\t\tbackground.set(\"fill\", fill as any);\n\t\t\t\t\t\tthis._updateTextColor(fill);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (this.get(\"getStrokeFromSprite\")) {\n\n\t\t\t\tif (this._strokeDp) {\n\t\t\t\t\tthis._strokeDp.dispose();\n\t\t\t\t}\n\n\t\t\t\tif (fill != null) {\n\t\t\t\t\tbackground.set(\"stroke\", fill as any);\n\t\t\t\t}\n\n\t\t\t\tthis._strokeDp = tooltipTarget.on(\"fill\" as any, (fill) => {\n\t\t\t\t\tif (fill != null) {\n\t\t\t\t\t\tbackground.set(\"stroke\", fill as any);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (this.get(\"getLabelFillFromSprite\")) {\n\n\t\t\t\tif (this._labelDp) {\n\t\t\t\t\tthis._labelDp.dispose();\n\t\t\t\t}\n\n\t\t\t\tif (fill != null) {\n\t\t\t\t\tthis.label.set(\"fill\", fill as any);\n\t\t\t\t}\n\n\t\t\t\tthis._labelDp = tooltipTarget.on(\"fill\" as any, (fill) => {\n\t\t\t\t\tif (fill != null) {\n\t\t\t\t\t\tthis.label.set(\"fill\", fill as any);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\tthis._updateTextColor(fill);\n\t}\n\n\n\tprotected _updateTextColor(fill?: Color | Pattern) {\n\t\tif (this.get(\"autoTextColor\")) {\n\t\t\tif (fill == null) {\n\t\t\t\tfill = this.get(\"background\")!.get(\"fill\") as Color;\n\t\t\t}\n\n\t\t\tif (fill == null) {\n\t\t\t\tfill = this._root.interfaceColors.get(\"background\");\n\t\t\t}\n\n\t\t\tif (fill instanceof Color) {\n\t\t\t\tthis.label.set(\"fill\", Color.alternative(fill, this._root.interfaceColors.get(\"alternativeText\"), this._root.interfaceColors.get(\"text\")));\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _setDataItem(dataItem?: DataItem<IComponentDataItem>): void {\n\t\tsuper._setDataItem(dataItem);\n\t\tthis.label._setDataItem(dataItem);\n\t}\n\n\n\tprotected _updateBackground() {\n\t\tsuper.updateBackground();\n\t\tconst parent = this._root.container;\n\n\t\tif (parent) {\n\n\t\t\tlet cw = 0.5;\n\t\t\tlet ch = 0.5;\n\n\t\t\tlet centerX = this.get(\"centerX\");\n\t\t\tif (centerX instanceof Percent) {\n\t\t\t\tcw = centerX.value;\n\t\t\t}\n\n\t\t\tlet centerY = this.get(\"centerY\");\n\t\t\tif (centerY instanceof Percent) {\n\t\t\t\tch = centerY.value;\n\t\t\t}\n\n\t\t\tlet parentW = parent.width();\n\t\t\tlet parentH = parent.height();\n\n\t\t\tconst bounds = this.get(\"bounds\", { left: 0, top: 0, right: parentW, bottom: parentH });\n\n\t\t\tthis._updateBounds();\n\n\t\t\tlet w = this.width();\n\t\t\tlet h = this.height();\n\n\t\t\t// use old w and h,as when tooltip is hidden, these are 0 and unneeded animation happens\n\t\t\tif (w === 0) {\n\t\t\t\tw = this._w;\n\t\t\t}\n\n\t\t\tif (h === 0) {\n\t\t\t\th = this._h;\n\t\t\t}\n\n\t\t\tlet pointTo = this.get(\"pointTo\", { x: parentW / 2, y: parentH / 2 });\n\t\t\tlet x = pointTo.x;\n\t\t\tlet y = pointTo.y;\n\n\t\t\tlet pointerOrientation = this.get(\"pointerOrientation\");\n\n\t\t\tlet background = this.get(\"background\");\n\t\t\tlet pointerLength = 0;\n\t\t\tlet bgStrokeSizeY = 0;\n\t\t\tlet bgStrokeSizeX = 0;\n\n\t\t\tif (background instanceof PointedRectangle) {\n\t\t\t\tpointerLength = background.get(\"pointerLength\", 0);\n\t\t\t\tbgStrokeSizeY = background.get(\"strokeWidth\", 0) / 2;\n\t\t\t\tbgStrokeSizeX = bgStrokeSizeY;\n\t\t\t}\n\n\t\t\tlet pointerX = 0;\n\t\t\tlet pointerY = 0;\n\n\t\t\tlet boundsW = bounds.right - bounds.left;\n\t\t\tlet boundsH = bounds.bottom - bounds.top;\n\n\n\n\t\t\t// horizontal\n\t\t\tif (pointerOrientation == \"horizontal\" || pointerOrientation == \"left\" || pointerOrientation == \"right\") {\n\t\t\t\tbgStrokeSizeY = 0;\n\t\t\t\tif (pointerOrientation == \"horizontal\") {\n\t\t\t\t\tif (x > bounds.left + boundsW / 2) {\n\t\t\t\t\t\tx -= (w * (1 - cw) + pointerLength);\n\t\t\t\t\t\tbgStrokeSizeX *= -1;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tx += (w * cw + pointerLength);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (pointerOrientation == \"left\") {\n\t\t\t\t\tx += (w * (1 - cw) + pointerLength);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tx -= (w * cw + pointerLength);\n\t\t\t\t\tbgStrokeSizeX *= -1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// vertical pointer\n\t\t\telse {\n\t\t\t\tbgStrokeSizeX = 0;\n\t\t\t\tif (pointerOrientation == \"vertical\") {\n\t\t\t\t\tif (y > bounds.top + h / 2 + pointerLength) {\n\t\t\t\t\t\ty -= (h * (1 - ch) + pointerLength);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\ty += (h * ch + pointerLength);\n\t\t\t\t\t\tbgStrokeSizeY *= -1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (pointerOrientation == \"down\") {\n\t\t\t\t\ty -= (h * (1 - ch) + pointerLength);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\ty += (h * ch + pointerLength);\n\t\t\t\t\tbgStrokeSizeY *= -1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tx = $math.fitToRange(x, bounds.left + w * cw, bounds.left + boundsW - w * (1 - cw)) + bgStrokeSizeX;\n\t\t\ty = $math.fitToRange(y, bounds.top + h * ch, bounds.top + boundsH - h * (1 - ch)) - bgStrokeSizeY;\n\n\t\t\tpointerX = pointTo.x - x + w * cw + bgStrokeSizeX;\n\t\t\tpointerY = pointTo.y - y + h * ch - bgStrokeSizeY;\n\n\t\t\tthis._fx = x;\n\t\t\tthis._fy = y;\n\n\t\t\tconst animationDuration = this.get(\"animationDuration\", 0);\n\n\t\t\tif (animationDuration > 0 && this.get(\"visible\") && this.get(\"opacity\") > 0.1) {\n\t\t\t\tconst animationEasing = this.get(\"animationEasing\");\n\t\t\t\tthis.animate({ key: \"x\", to: x, duration: animationDuration, easing: animationEasing });\n\t\t\t\tthis.animate({ key: \"y\", to: y, duration: animationDuration, easing: animationEasing });\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.set(\"x\", x);\n\t\t\t\tthis.set(\"y\", y);\n\t\t\t}\n\n\t\t\tif (background instanceof PointedRectangle) {\n\t\t\t\tbackground.set(\"pointerX\", pointerX);\n\t\t\t\tbackground.set(\"pointerY\", pointerY);\n\t\t\t}\n\n\t\t\tif (w > 0) {\n\t\t\t\tthis._w = w;\n\t\t\t}\n\t\t\tif (h > 0) {\n\t\t\t\tthis._h = h;\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IBounds } from \"../util/IBounds\";\nimport type { IPoint } from \"../util/IPoint\";\nimport type { Pattern } from \"../render/patterns/Pattern\";\nimport type { Time } from \"../util/Animation\";\nimport type { Sprite } from \"../render/Sprite\";\n\nimport { MultiDisposer, IDisposer } from \"../util/Disposer\";\nimport { Label } from \"../render/Label\";\nimport { PointedRectangle } from \"../render/PointedRectangle\";\nimport { Container, IContainerPrivate, IContainerSettings } from \"./Container\";\nimport { Percent } from \"../util/Percent\";\nimport { Color } from \"../util/Color\";\n\nimport * as $math from \"../util/Math\";\nimport * as $array from \"../util/Array\";\nimport * as $utils from \"../util/Utils\";\n//import * as $utils from \"../util/Utils\";\nimport type { DataItem, IComponentDataItem } from \"./Component\";\n\n\nexport interface ITooltipSettings extends IContainerSettings {\n\n\t/**\n\t * Text to use for tooltip's label.\n\t */\n\tlabelText?: string\n\n\t/**\n\t * HTML content to use for tooltip's label.\n\t *\n\t * @since 5.2.11\n\t */\n\tlabelHTML?: string\n\n\t/**\n\t * A direction of the tooltip pointer.\n\t *\n\t * https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Orientation\n\t */\n\tpointerOrientation?: \"left\" | \"right\" | \"up\" | \"down\" | \"vertical\" | \"horizontal\";\n\n\t/**\n\t * If set to `true` will use the same `fill` color for its background as\n\t * its `tooltipTarget`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Colors} for more info\n\t * @default false\n\t */\n\tgetFillFromSprite?: boolean;\n\n\t/**\n\t * If set to `true` will use the same `fill` color as its `tooltipTarget`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Colors} for more info\n\t * @default false\n\t */\n\tgetLabelFillFromSprite?: boolean;\n\n\t/**\n\t * If set to `true` will use the same `stroke` color as its `tooltipTarget`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Colors} for more info\n\t * @default false\n\t */\n\tgetStrokeFromSprite?: boolean;\n\n\t/**\n\t * Scree bounds to constring tooltip within.\n\t */\n\tbounds?: IBounds;\n\n\t/**\n\t * If set to `true` tooltip will adjust its text color for better visibility\n\t * on its background.\n\t *\n\t * @default true\n\t */\n\tautoTextColor?: boolean;\n\n\t/**\n\t * Screen coordinates the tooltip show point to.\n\t */\n\tpointTo?: IPoint;\n\n\t/**\n\t * Duration in milliseconds for tooltip position change, e.g. when tooltip\n\t * is jumping from one target to another.\n\t */\n\tanimationDuration?: number;\n\n\t/**\n\t * Easing function for tooltip animation.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/animations/#Easing_functions} for more info\n\t */\n\tanimationEasing?: (t: Time) => Time;\n\n\t/**\n\t * A target element tooltip is shown fow.\n\t */\n\ttooltipTarget?: Sprite;\n\n\t/**\n\t * If set to `true`, tooltip's target element will considered to be hovered\n\t * when mouse pointer is over tooltip itself.\n\t *\n\t * @since 5.2.14\n\t */\n\tkeepTargetHover?: boolean;\n\n}\n\nexport interface ITooltipPrivate extends IContainerPrivate {\n}\n\n/**\n * Creates a tooltip.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/} for more info\n * @important\n */\nexport class Tooltip extends Container {\n\n\tprotected _arrangeDisposer: MultiDisposer | undefined;\n\n\tpublic _fx: number = 0;\n\tpublic _fy: number = 0;\n\n\tdeclare public _settings: ITooltipSettings;\n\tdeclare public _privateSettings: ITooltipPrivate;\n\n\tprotected _label!: Label;\n\tpublic static className: string = \"Tooltip\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([Tooltip.className]);\n\n\tprotected _fillDp: IDisposer | undefined;\n\tprotected _strokeDp: IDisposer | undefined;\n\tprotected _labelDp: IDisposer | undefined;\n\n\tprotected _w: number = 0;\n\tprotected _h: number = 0;\n\n\tprotected _keepHoverDp: MultiDisposer | undefined;\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"tooltip\"]);\n\n\t\tsuper._afterNew();\n\n\t\tthis.set(\"background\", PointedRectangle.new(this._root, {\n\t\t\tthemeTags: [\"tooltip\", \"background\"]\n\t\t}));\n\n\t\tthis._label = this.children.push(Label.new(this._root, {}));\n\n\t\tthis._disposers.push(this._label.events.on(\"boundschanged\", () => {\n\t\t\tthis._updateBackground();\n\t\t}))\n\n\t\tthis.on(\"bounds\", () => {\n\t\t\tthis._updateBackground();\n\t\t})\n\n\t\tthis._updateTextColor();\n\n\t\tthis._root.tooltipContainer.children.push(this);\n\t\tthis.hide(0);\n\n\t\tthis._root._tooltips.push(this);\n\t}\n\n\t/**\n\t * A [[Label]] element for the tooltip.\n\t *\n\t * @readonly\n\t * @return Label\n\t */\n\tpublic get label(): Label {\n\t\treturn this._label;\n\t}\n\n\t/**\n\t * Permanently disposes the tooltip.\n\t */\n\tpublic dispose() {\n\t\tsuper.dispose();\n\t\t$array.remove(this._root._tooltips, this);\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\t\tconst labelText = this.get(\"labelText\");\n\t\tif (labelText != null) {\n\t\t\tthis.label.set(\"text\", this.get(\"labelText\"));\n\t\t}\n\t\tconst labelHTML = this.get(\"labelHTML\");\n\t\tif (labelHTML != null) {\n\t\t\tthis.label.set(\"html\", this.get(\"labelHTML\"));\n\t\t}\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\n\t\tif (this.isDirty(\"pointTo\")) {\n\t\t\t// can't compare to previous, as sometimes pointTo is set twice (when pointer moves, so the position won't be udpated)\n\t\t\tthis._updateBackground();\n\t\t}\n\n\t\tif (this.isDirty(\"tooltipTarget\")) {\n\t\t\tthis.updateBackgroundColor();\n\t\t}\n\n\t\tif (this.isDirty(\"keepTargetHover\")) {\n\t\t\tconst keephover = this.get(\"keepTargetHover\");\n\t\t\tif (keephover) {\n\t\t\t\tconst bg = this.get(\"background\")!;\n\t\t\t\tthis._keepHoverDp = new MultiDisposer([\n\t\t\t\t\tbg.events.on(\"pointerover\", (_ev) => {\n\t\t\t\t\t\tconst target = this.get(\"tooltipTarget\");\n\t\t\t\t\t\tif (target) {\n\t\t\t\t\t\t\ttarget.hover();\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\tbg.events.on(\"pointerout\", (_ev) => {\n\t\t\t\t\t\tconst target = this.get(\"tooltipTarget\");\n\t\t\t\t\t\tif (target) {\n\t\t\t\t\t\t\ttarget.unhover();\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t]);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (this._keepHoverDp) {\n\t\t\t\t\tthis._keepHoverDp.dispose();\n\t\t\t\t\tthis._keepHoverDp = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _onShow() {\n\t\tsuper._onShow();\n\t\tthis.updateBackgroundColor();\n\t}\n\n\n\tpublic updateBackgroundColor() {\n\t\tlet tooltipTarget = this.get(\"tooltipTarget\");\n\t\tconst background = this.get(\"background\");\n\t\tlet fill: Color | undefined;\n\t\tlet stroke: Color | undefined;\n\n\n\t\tif (tooltipTarget && background) {\n\n\t\t\tfill = tooltipTarget.get(\"fill\" as any);\n\t\t\tstroke = tooltipTarget.get(\"stroke\" as any);\n\n\t\t\tif (fill == null) {\n\t\t\t\tfill = stroke;\n\t\t\t}\n\n\t\t\tif (this.get(\"getFillFromSprite\")) {\n\n\t\t\t\tif (this._fillDp) {\n\t\t\t\t\tthis._fillDp.dispose();\n\t\t\t\t}\n\n\t\t\t\tif (fill != null) {\n\t\t\t\t\tbackground.set(\"fill\", fill as any);\n\t\t\t\t}\n\n\t\t\t\tthis._fillDp = tooltipTarget.on(\"fill\" as any, (fill) => {\n\t\t\t\t\tif (fill != null) {\n\t\t\t\t\t\tbackground.set(\"fill\", fill as any);\n\t\t\t\t\t\tthis._updateTextColor(fill);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (this.get(\"getStrokeFromSprite\")) {\n\n\t\t\t\tif (this._strokeDp) {\n\t\t\t\t\tthis._strokeDp.dispose();\n\t\t\t\t}\n\n\t\t\t\tif (fill != null) {\n\t\t\t\t\tbackground.set(\"stroke\", fill as any);\n\t\t\t\t}\n\n\t\t\t\tthis._strokeDp = tooltipTarget.on(\"fill\" as any, (fill) => {\n\t\t\t\t\tif (fill != null) {\n\t\t\t\t\t\tbackground.set(\"stroke\", fill as any);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (this.get(\"getLabelFillFromSprite\")) {\n\n\t\t\t\tif (this._labelDp) {\n\t\t\t\t\tthis._labelDp.dispose();\n\t\t\t\t}\n\n\t\t\t\tif (fill != null) {\n\t\t\t\t\tthis.label.set(\"fill\", fill as any);\n\t\t\t\t}\n\n\t\t\t\tthis._labelDp = tooltipTarget.on(\"fill\" as any, (fill) => {\n\t\t\t\t\tif (fill != null) {\n\t\t\t\t\t\tthis.label.set(\"fill\", fill as any);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\tthis._updateTextColor(fill);\n\t}\n\n\n\tprotected _updateTextColor(fill?: Color | Pattern) {\n\t\tif (this.get(\"autoTextColor\")) {\n\t\t\tif (fill == null) {\n\t\t\t\tfill = this.get(\"background\")!.get(\"fill\") as Color;\n\t\t\t}\n\n\t\t\tif (fill == null) {\n\t\t\t\tfill = this._root.interfaceColors.get(\"background\");\n\t\t\t}\n\n\t\t\tif (fill instanceof Color) {\n\t\t\t\tthis.label.set(\"fill\", Color.alternative(fill, this._root.interfaceColors.get(\"alternativeText\"), this._root.interfaceColors.get(\"text\")));\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _setDataItem(dataItem?: DataItem<IComponentDataItem>): void {\n\t\tsuper._setDataItem(dataItem);\n\t\tthis.label._setDataItem(dataItem);\n\t}\n\n\n\tprotected _updateBackground() {\n\t\tsuper.updateBackground();\n\t\tconst parent = this._root.container;\n\n\t\tif (parent) {\n\n\t\t\tlet cw = 0.5;\n\t\t\tlet ch = 0.5;\n\n\t\t\tlet centerX = this.get(\"centerX\");\n\t\t\tif (centerX instanceof Percent) {\n\t\t\t\tcw = centerX.value;\n\t\t\t}\n\n\t\t\tlet centerY = this.get(\"centerY\");\n\t\t\tif (centerY instanceof Percent) {\n\t\t\t\tch = centerY.value;\n\t\t\t}\n\n\t\t\tlet parentW = parent.width();\n\t\t\tlet parentH = parent.height();\n\n\t\t\tconst bounds = this.get(\"bounds\", { left: 0, top: 0, right: parentW, bottom: parentH });\n\n\t\t\tthis._updateBounds();\n\n\t\t\tlet w = this.width();\n\t\t\tlet h = this.height();\n\n\t\t\t// use old w and h,as when tooltip is hidden, these are 0 and unneeded animation happens\n\t\t\tif (w === 0) {\n\t\t\t\tw = this._w;\n\t\t\t}\n\n\t\t\tif (h === 0) {\n\t\t\t\th = this._h;\n\t\t\t}\n\n\t\t\tlet pointTo = this.get(\"pointTo\", { x: parentW / 2, y: parentH / 2 });\n\t\t\tlet x = pointTo.x;\n\t\t\tlet y = pointTo.y;\n\n\t\t\tlet pointerOrientation = this.get(\"pointerOrientation\");\n\n\t\t\tlet background = this.get(\"background\");\n\t\t\tlet pointerLength = 0;\n\t\t\tlet bgStrokeSizeY = 0;\n\t\t\tlet bgStrokeSizeX = 0;\n\n\t\t\tif (background instanceof PointedRectangle) {\n\t\t\t\tpointerLength = background.get(\"pointerLength\", 0);\n\t\t\t\tbgStrokeSizeY = background.get(\"strokeWidth\", 0) / 2;\n\t\t\t\tbgStrokeSizeX = bgStrokeSizeY;\n\t\t\t}\n\n\t\t\tlet pointerX = 0;\n\t\t\tlet pointerY = 0;\n\n\t\t\tlet boundsW = bounds.right - bounds.left;\n\t\t\tlet boundsH = bounds.bottom - bounds.top;\n\n\n\n\t\t\t// horizontal\n\t\t\tif (pointerOrientation == \"horizontal\" || pointerOrientation == \"left\" || pointerOrientation == \"right\") {\n\t\t\t\tbgStrokeSizeY = 0;\n\t\t\t\tif (pointerOrientation == \"horizontal\") {\n\t\t\t\t\tif (x > bounds.left + boundsW / 2) {\n\t\t\t\t\t\tx -= (w * (1 - cw) + pointerLength);\n\t\t\t\t\t\tbgStrokeSizeX *= -1;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tx += (w * cw + pointerLength);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (pointerOrientation == \"left\") {\n\t\t\t\t\tx += (w * (1 - cw) + pointerLength);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tx -= (w * cw + pointerLength);\n\t\t\t\t\tbgStrokeSizeX *= -1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// vertical pointer\n\t\t\telse {\n\t\t\t\tbgStrokeSizeX = 0;\n\t\t\t\tif (pointerOrientation == \"vertical\") {\n\t\t\t\t\tif (y > bounds.top + h / 2 + pointerLength) {\n\t\t\t\t\t\ty -= (h * (1 - ch) + pointerLength);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\ty += (h * ch + pointerLength);\n\t\t\t\t\t\tbgStrokeSizeY *= -1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (pointerOrientation == \"down\") {\n\t\t\t\t\ty -= (h * (1 - ch) + pointerLength);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\ty += (h * ch + pointerLength);\n\t\t\t\t\tbgStrokeSizeY *= -1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tx = $math.fitToRange(x, bounds.left + w * cw, bounds.left + boundsW - w * (1 - cw)) + bgStrokeSizeX;\n\t\t\ty = $math.fitToRange(y, bounds.top + h * ch, bounds.top + boundsH - h * (1 - ch)) - bgStrokeSizeY;\n\n\t\t\tpointerX = pointTo.x - x + w * cw + bgStrokeSizeX;\n\t\t\tpointerY = pointTo.y - y + h * ch - bgStrokeSizeY;\n\n\t\t\tthis._fx = x;\n\t\t\tthis._fy = y;\n\n\t\t\tconst animationDuration = this.get(\"animationDuration\", 0);\n\n\t\t\tif (animationDuration > 0 && this.get(\"visible\") && this.get(\"opacity\") > 0.1) {\n\t\t\t\tconst animationEasing = this.get(\"animationEasing\");\n\t\t\t\tthis.animate({ key: \"x\", to: x, duration: animationDuration, easing: animationEasing });\n\t\t\t\tthis.animate({ key: \"y\", to: y, duration: animationDuration, easing: animationEasing });\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.set(\"x\", x);\n\t\t\t\tthis.set(\"y\", y);\n\t\t\t}\n\n\t\t\tif (background instanceof PointedRectangle) {\n\t\t\t\tbackground.set(\"pointerX\", pointerX);\n\t\t\t\tbackground.set(\"pointerY\", pointerY);\n\t\t\t}\n\n\t\t\tif (w > 0) {\n\t\t\t\tthis._w = w;\n\t\t\t}\n\t\t\tif (h > 0) {\n\t\t\t\tthis._h = h;\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Animation.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Animation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG5D,oBAAY,UAAU,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAEjE;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/F;AAGD,UAAU,KAAK;IACd,QAAQ,CAAC,GAAG,EAAE,OAAO,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,oBAAY,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC;AAGlC;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAOvE;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAO1E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,CAElF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,KAAK,CAE1E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,KAAK,CAAC;AAEvE;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,kBAAkB,CAAC;AAEtF;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,OAAO,kBAAkB,CAAC;AAsB9E,MAAM,WAAW,UAAU;
|
|
1
|
+
{"version":3,"file":"Animation.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Animation.ts"],"names":[],"mappings":"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"}
|
|
@@ -162,7 +162,7 @@ var AnimationTime = /** @class */ (function () {
|
|
|
162
162
|
if (this._playingDuration !== null) {
|
|
163
163
|
if (this._startingTime === null) {
|
|
164
164
|
this._startingTime = currentTime;
|
|
165
|
-
return
|
|
165
|
+
return true;
|
|
166
166
|
}
|
|
167
167
|
else {
|
|
168
168
|
var diff = (currentTime - this._startingTime) / this._playingDuration;
|
|
@@ -177,7 +177,7 @@ var AnimationTime = /** @class */ (function () {
|
|
|
177
177
|
if (this.events.isEnabled(type)) {
|
|
178
178
|
this.events.dispatch(type, { type: type, target: this });
|
|
179
179
|
}
|
|
180
|
-
return
|
|
180
|
+
return false;
|
|
181
181
|
}
|
|
182
182
|
else {
|
|
183
183
|
this._current = range(diff, this._from, this._to);
|
|
@@ -186,12 +186,12 @@ var AnimationTime = /** @class */ (function () {
|
|
|
186
186
|
if (this.events.isEnabled(type)) {
|
|
187
187
|
this.events.dispatch(type, { type: type, target: this, progress: diff });
|
|
188
188
|
}
|
|
189
|
-
return
|
|
189
|
+
return true;
|
|
190
190
|
}
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
193
|
else {
|
|
194
|
-
return
|
|
194
|
+
return false;
|
|
195
195
|
}
|
|
196
196
|
}
|
|
197
197
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Animation.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Animation.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAU,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AAIpC;;GAEG;AACH,MAAM,UAAgB,iBAAiB,CAAI,UAAqC;;;;;;yBAC3E,CAAA,UAAU,KAAK,SAAS,CAAA,EAAxB,wBAAwB;oBACrB,aAAiC,EAAE,CAAC;oBAE1C,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,UAAC,CAAC,EAAE,SAAS;wBACrC,UAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;oBACxC,CAAC,CAAC,CAAC;oBAEH,qBAAM,OAAO,CAAC,GAAG,CAAC,UAAQ,CAAC,EAAA;;oBAA3B,SAA2B,CAAC;;;;;;CAE7B;AAaD;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IAChE,IAAI,GAAG,KAAK,GAAG,EAAE;QAChB,OAAO,CAAC,CAAC;KAET;SAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACnE;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,IAAU,EAAE,IAAY,EAAE,EAAU;IACzD,OAAO,IAAI,GAAG,CAAC,IAAc,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAO,IAAU,EAAE,IAAO,EAAE,EAAK;IAClE,IAAI,IAAI,IAAI,CAAC,EAAE;QACd,OAAO,EAAE,CAAC;KAEV;SAAM;QACN,OAAO,IAAI,CAAC;KACZ;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAU,EAAE,IAAa,EAAE,EAAW;IACxE,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAU,EAAE,IAAW,EAAE,EAAS;IAClE,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAC1C,CAAC;AAiBD;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAS,EAAE,EAAO;IAChD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACvD,OAAO,KAAK,CAAC;KACb;IAED,IAAI,IAAI,YAAY,OAAO,IAAI,EAAE,YAAY,OAAO,EAAE;QACrD,OAAO,kBAAkB,CAAC;KAC1B;IAED,IAAI,IAAI,YAAY,KAAK,IAAI,EAAE,YAAY,KAAK,EAAE;QACjD,OAAO,gBAAgB,CAAC;KACxB;IAED,OAAO,kBAAkB,CAAC;AAC3B,CAAC;AAmBD;;GAEG;AACH;IAeC,uBAAY,MAAc,EAAE,QAAgB;QAd5C;;;;;WAA0B;QAC1B;;;;;WAA4B;QAE5B;;;;mBAA4C,IAAI;WAAC;QACjD;;;;mBAAyC,IAAI;WAAC;QAC9C;;;;mBAA2B,CAAC;WAAC;QAC7B;;;;mBAAwB,CAAC;WAAC;QAC1B;;;;mBAAsB,CAAC;WAAC;QAGxB;;;;mBAAgE,IAAI,eAAe,EAAE;WAAC;QAEtF;;;;;WAAkC;QAGjC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC3B,CAAC;;;;;eAED;YACC,IAAM,IAAI,GAAG,SAAS,CAAC;YACvB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACzD;QACF,CAAC;;;;;;eAED,UAAqB,WAAmB;YACvC,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE;gBACnC,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;oBAChC,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;oBACjC,OAAO,KAAK,CAAC;iBACb;qBACI;oBACJ,IAAM,IAAI,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;oBAExE,IAAI,IAAI,IAAI,CAAC,EAAE;wBACd,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;wBAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;wBAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;wBACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;wBACzB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBACzB,IAAI,CAAC,UAAU,EAAE,CAAC;wBAClB,IAAM,IAAI,GAAG,OAAO,CAAC;wBACrB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;4BAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACzD;wBACD,OAAO,IAAI,CAAC;qBAEZ;yBAAM;wBACN,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAe,EAAE,IAAI,CAAC,GAAa,CAAC,CAAC;wBACtE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBAEzB,IAAM,IAAI,GAAG,UAAU,CAAC;wBACxB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;4BAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;yBACzE;wBAED,OAAO,KAAK,CAAC;qBACb;iBACD;aAED;iBAAM;gBACN,OAAO,IAAI,CAAC;aACZ;QACF,CAAC;;;;;;eAED;YACC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;YAE3B,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE;gBACnC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAEvC,IAAM,IAAI,GAAG,SAAS,CAAC;gBACvB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;oBAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACzD;aAED;iBAAM;gBACN,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC1B;YAED,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,GAAc,GAAI,IAAI,CAAC,KAAgB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QAClG,CAAC;;IAED,sBAAW,mCAAQ;aAAnB;YACC,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;aAED,UAAoB,KAAa;YAChC,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE;gBAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBAEvB,IAAI,KAAK,KAAK,CAAC,EAAE;oBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAEtB;qBAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,GAAG,EAAE;oBACtC,IAAI,CAAC,KAAK,EAAE,CAAC;iBACb;aACD;QACF,CAAC;;;OAbA;IAeD,sBAAW,kCAAO;aAAlB;YACC,IAAI,IAAI,CAAC,MAAM,EAAE;gBAChB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAElC;iBAAM;gBACN,OAAO,IAAI,CAAC,QAAQ,CAAC;aACrB;QACF,CAAC;;;OAAA;;;;;eAED;YACC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;;;;;;eAED,UAAc,KAAW;YACxB,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;gBAC5B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;aACzB;YAED,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE;gBACnC,IAAI,CAAC,UAAU,EAAE,CAAC;aAClB;YAED,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;QAClB,CAAC;;;;;;eAED,UAAe,KAAW;YACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE;gBACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAEnB;iBAAM;gBACN,IAAI,IAAI,CAAC,GAAG,KAAK,KAAK,EAAE;oBACvB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;oBACjB,IAAI,CAAC,KAAK,EAAE,CAAC;iBACb;aACD;QACF,CAAC;;IACF,oBAAC;AAAD,CAAC,AA9ID,IA8IC;;AAGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CE","sourcesContent":["import type { Entity, Animation } from \"./Entity\";\nimport { Percent } from \"./Percent\";\nimport { Color } from \"./Color\";\nimport type { Easing } from \"./Ease\";\nimport { EventDispatcher, Events } from \"./EventDispatcher\";\nimport * as $object from \"./Object\";\n\nexport type Animations<T> = { [K in keyof T]?: Animation<T[K]> };\n\n/**\n * @ignore\n */\nexport async function waitForAnimations<T>(animations: Animations<T> | undefined): Promise<void> {\n\tif (animations !== undefined) {\n\t\tconst promises: Array<Promise<void>> = [];\n\n\t\t$object.each(animations, (_, animation) => {\n\t\t\tpromises.push(animation.waitForStop());\n\t\t});\n\n\t\tawait Promise.all(promises);\n\t}\n}\n\n\ninterface ITime {\n\treadonly tag: unique symbol;\n}\n\n/**\n * New type which allows for conversion from a number into a Time, but not from a Time to a number\n */\nexport type Time = number | ITime;\n\n\n/**\n * @ignore\n */\nexport function normalize(value: number, min: number, max: number): Time {\n\tif (min === max) {\n\t\treturn 0;\n\n\t} else {\n\t\treturn Math.min(Math.max((value - min) * (1 / (max - min)), 0), 1);\n\t}\n}\n\n/**\n * @ignore\n */\nexport function range(diff: Time, from: number, to: number): number {\n\treturn from + (diff as number * (to - from));\n}\n\n/**\n * @ignore\n */\nexport function defaultInterpolate<A, B>(diff: Time, from: A, to: B): A | B {\n\tif (diff >= 1) {\n\t\treturn to;\n\n\t} else {\n\t\treturn from;\n\t}\n}\n\n/**\n * @ignore\n */\nexport function percentInterpolate(diff: Time, from: Percent, to: Percent): Percent {\n\treturn new Percent(range(diff, from.percent, to.percent));\n}\n\n/**\n * @ignore\n */\nexport function colorInterpolate(diff: Time, from: Color, to: Color): Color {\n\treturn Color.interpolate(diff, from, to);\n}\n\n/**\n * @ignore\n */\nexport function getInterpolate(from: number, to: number): typeof range;\n\n/**\n * @ignore\n */\nexport function getInterpolate(from: Percent, to: Percent): typeof percentInterpolate;\n\n/**\n * @ignore\n */\nexport function getInterpolate(from: any, to: any): typeof defaultInterpolate;\n\n/**\n * @ignore\n */\nexport function getInterpolate(from: any, to: any): (diff: Time, from: any, to: any) => any {\n\tif (typeof from === \"number\" && typeof to === \"number\") {\n\t\treturn range;\n\t}\n\n\tif (from instanceof Percent && to instanceof Percent) {\n\t\treturn percentInterpolate;\n\t}\n\n\tif (from instanceof Color && to instanceof Color) {\n\t\treturn colorInterpolate;\n\t}\n\n\treturn defaultInterpolate;\n}\n\n\nexport interface IAnimation {\n\t_runAnimation(_currentTime: number): boolean;\n}\n\n\n/**\n * @ignore\n */\nexport interface IEntityEvents {\n\tstarted: {};\n\tstopped: {};\n\t// TODO replace this with stopped\n\tended: {};\n\tprogress: { progress: number };\n}\n\n/**\n * @ignore\n */\nexport class AnimationTime implements IAnimation {\n\tprotected _entity: Entity;\n\tprotected _duration: number;\n\n\tprotected _playingDuration: number | null = null;\n\tprotected _startingTime: number | null = null;\n\tprotected _current: Time = 0;\n\tprotected _from: Time = 0;\n\tprotected _to: Time = 0;\n\n\tdeclare public _events: IEntityEvents;\n\tpublic events: EventDispatcher<Events<this, this[\"_events\"]>> = new EventDispatcher();\n\n\tpublic easing: Easing | undefined;\n\n\tconstructor(entity: Entity, duration: number) {\n\t\tthis._entity = entity;\n\t\tthis._duration = duration;\n\t}\n\n\tprivate _stopEvent() {\n\t\tconst type = \"stopped\";\n\t\tif (this.events.isEnabled(type)) {\n\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t}\n\t}\n\n\tpublic _runAnimation(currentTime: number): boolean {\n\t\tif (this._playingDuration !== null) {\n\t\t\tif (this._startingTime === null) {\n\t\t\t\tthis._startingTime = currentTime;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst diff = (currentTime - this._startingTime) / this._playingDuration;\n\n\t\t\t\tif (diff >= 1) {\n\t\t\t\t\tthis._playingDuration = null;\n\t\t\t\t\tthis._startingTime = null;\n\t\t\t\t\tthis._from = this._to;\n\t\t\t\t\tthis._current = this._to;\n\t\t\t\t\tthis._entity.markDirty();\n\t\t\t\t\tthis._stopEvent();\n\t\t\t\t\tconst type = \"ended\";\n\t\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\n\t\t\t\t} else {\n\t\t\t\t\tthis._current = range(diff, this._from as number, this._to as number);\n\t\t\t\t\tthis._entity.markDirty();\n\n\t\t\t\t\tconst type = \"progress\";\n\t\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this, progress: diff });\n\t\t\t\t\t}\n\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t} else {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tprivate _play() {\n\t\tthis._from = this._current;\n\n\t\tif (this._playingDuration === null) {\n\t\t\tthis._entity._root._addAnimation(this);\n\n\t\t\tconst type = \"started\";\n\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t\t}\n\n\t\t} else {\n\t\t\tthis._startingTime = null;\n\t\t}\n\n\t\tthis._playingDuration = Math.abs((this._to as number) - (this._from as number)) * this._duration;\n\t}\n\n\tpublic get duration(): number {\n\t\treturn this._duration;\n\t}\n\n\tpublic set duration(value: number) {\n\t\tif (this._duration !== value) {\n\t\t\tthis._duration = value;\n\n\t\t\tif (value === 0) {\n\t\t\t\tthis.jumpTo(this._to);\n\n\t\t\t} else if (this._current !== this._to) {\n\t\t\t\tthis._play();\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic get current(): Time {\n\t\tif (this.easing) {\n\t\t\treturn this.easing(this._current);\n\n\t\t} else {\n\t\t\treturn this._current;\n\t\t}\n\t}\n\n\tpublic stop() {\n\t\tthis.jumpTo(this._current);\n\t}\n\n\tpublic jumpTo(value: Time) {\n\t\tif (this._current !== value) {\n\t\t\tthis._entity.markDirty();\n\t\t}\n\n\t\tif (this._playingDuration !== null) {\n\t\t\tthis._stopEvent();\n\t\t}\n\n\t\tthis._playingDuration = null;\n\t\tthis._startingTime = null;\n\t\tthis._current = value;\n\t\tthis._from = value;\n\t\tthis._to = value;\n\t}\n\n\tpublic tweenTo(value: Time) {\n\t\tif (this._current === value || this._duration === 0) {\n\t\t\tthis.jumpTo(value);\n\n\t\t} else {\n\t\t\tif (this._to !== value) {\n\t\t\t\tthis._to = value;\n\t\t\t\tthis._play();\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/*export class AnimationValue extends AnimationTime {\n\tpublic _min: number;\n\tpublic _max: number;\n\n\tconstructor(entity: Entity, duration: number, min: number, max: number) {\n\t\tsuper(entity, duration);\n\t\tthis._min = min;\n\t\tthis._max = max;\n\t}\n\n\tpublic get min(): number {\n\t\treturn this._min;\n\t}\n\n\tpublic set min(value: number) {\n\t\tif (this._min !== value) {\n\t\t\tthis._min = value;\n\t\t\tthis._entity.markDirty();\n\t\t}\n\t}\n\n\tpublic get max(): number {\n\t\treturn this._max;\n\t}\n\n\tpublic set max(value: number) {\n\t\tif (this._max !== value) {\n\t\t\tthis._max = value;\n\t\t\tthis._entity.markDirty();\n\t\t}\n\t}\n\n\tpublic currentValue(): number {\n\t\treturn range(super.currentTime(), this._min, this._max);\n\t}\n\n\tpublic jumpToValue(value: number) {\n\t\tsuper.jumpToTime(normalize(value, this._min, this._max));\n\t}\n\n\tpublic tweenToValue(value: number) {\n\t\tsuper.tweenToTime(normalize(value, this._min, this._max));\n\t}\n}\n*/\n"]}
|
|
1
|
+
{"version":3,"file":"Animation.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Animation.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Entity, Animation } from \"./Entity\";\nimport { Percent } from \"./Percent\";\nimport { Color } from \"./Color\";\nimport type { Easing } from \"./Ease\";\nimport { EventDispatcher, Events } from \"./EventDispatcher\";\nimport * as $object from \"./Object\";\n\nexport type Animations<T> = { [K in keyof T]?: Animation<T[K]> };\n\n/**\n * @ignore\n */\nexport async function waitForAnimations<T>(animations: Animations<T> | undefined): Promise<void> {\n\tif (animations !== undefined) {\n\t\tconst promises: Array<Promise<void>> = [];\n\n\t\t$object.each(animations, (_, animation) => {\n\t\t\tpromises.push(animation.waitForStop());\n\t\t});\n\n\t\tawait Promise.all(promises);\n\t}\n}\n\n\ninterface ITime {\n\treadonly tag: unique symbol;\n}\n\n/**\n * New type which allows for conversion from a number into a Time, but not from a Time to a number\n */\nexport type Time = number | ITime;\n\n\n/**\n * @ignore\n */\nexport function normalize(value: number, min: number, max: number): Time {\n\tif (min === max) {\n\t\treturn 0;\n\n\t} else {\n\t\treturn Math.min(Math.max((value - min) * (1 / (max - min)), 0), 1);\n\t}\n}\n\n/**\n * @ignore\n */\nexport function range(diff: Time, from: number, to: number): number {\n\treturn from + (diff as number * (to - from));\n}\n\n/**\n * @ignore\n */\nexport function defaultInterpolate<A, B>(diff: Time, from: A, to: B): A | B {\n\tif (diff >= 1) {\n\t\treturn to;\n\n\t} else {\n\t\treturn from;\n\t}\n}\n\n/**\n * @ignore\n */\nexport function percentInterpolate(diff: Time, from: Percent, to: Percent): Percent {\n\treturn new Percent(range(diff, from.percent, to.percent));\n}\n\n/**\n * @ignore\n */\nexport function colorInterpolate(diff: Time, from: Color, to: Color): Color {\n\treturn Color.interpolate(diff, from, to);\n}\n\n/**\n * @ignore\n */\nexport function getInterpolate(from: number, to: number): typeof range;\n\n/**\n * @ignore\n */\nexport function getInterpolate(from: Percent, to: Percent): typeof percentInterpolate;\n\n/**\n * @ignore\n */\nexport function getInterpolate(from: any, to: any): typeof defaultInterpolate;\n\n/**\n * @ignore\n */\nexport function getInterpolate(from: any, to: any): (diff: Time, from: any, to: any) => any {\n\tif (typeof from === \"number\" && typeof to === \"number\") {\n\t\treturn range;\n\t}\n\n\tif (from instanceof Percent && to instanceof Percent) {\n\t\treturn percentInterpolate;\n\t}\n\n\tif (from instanceof Color && to instanceof Color) {\n\t\treturn colorInterpolate;\n\t}\n\n\treturn defaultInterpolate;\n}\n\n\nexport interface IAnimation {\n\t// Returns true if the animation is still playing, or false if the animation isn't playing\n\t_runAnimation(_currentTime: number): boolean;\n}\n\n\n/**\n * @ignore\n */\nexport interface IEntityEvents {\n\tstarted: {};\n\tstopped: {};\n\t// TODO replace this with stopped\n\tended: {};\n\tprogress: { progress: number };\n}\n\n/**\n * @ignore\n */\nexport class AnimationTime implements IAnimation {\n\tprotected _entity: Entity;\n\tprotected _duration: number;\n\n\tprotected _playingDuration: number | null = null;\n\tprotected _startingTime: number | null = null;\n\tprotected _current: Time = 0;\n\tprotected _from: Time = 0;\n\tprotected _to: Time = 0;\n\n\tdeclare public _events: IEntityEvents;\n\tpublic events: EventDispatcher<Events<this, this[\"_events\"]>> = new EventDispatcher();\n\n\tpublic easing: Easing | undefined;\n\n\tconstructor(entity: Entity, duration: number) {\n\t\tthis._entity = entity;\n\t\tthis._duration = duration;\n\t}\n\n\tprivate _stopEvent() {\n\t\tconst type = \"stopped\";\n\t\tif (this.events.isEnabled(type)) {\n\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t}\n\t}\n\n\tpublic _runAnimation(currentTime: number): boolean {\n\t\tif (this._playingDuration !== null) {\n\t\t\tif (this._startingTime === null) {\n\t\t\t\tthis._startingTime = currentTime;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst diff = (currentTime - this._startingTime) / this._playingDuration;\n\n\t\t\t\tif (diff >= 1) {\n\t\t\t\t\tthis._playingDuration = null;\n\t\t\t\t\tthis._startingTime = null;\n\t\t\t\t\tthis._from = this._to;\n\t\t\t\t\tthis._current = this._to;\n\t\t\t\t\tthis._entity.markDirty();\n\t\t\t\t\tthis._stopEvent();\n\t\t\t\t\tconst type = \"ended\";\n\t\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\n\t\t\t\t} else {\n\t\t\t\t\tthis._current = range(diff, this._from as number, this._to as number);\n\t\t\t\t\tthis._entity.markDirty();\n\n\t\t\t\t\tconst type = \"progress\";\n\t\t\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\t\t\tthis.events.dispatch(type, { type: type, target: this, progress: diff });\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tprivate _play() {\n\t\tthis._from = this._current;\n\n\t\tif (this._playingDuration === null) {\n\t\t\tthis._entity._root._addAnimation(this);\n\n\t\t\tconst type = \"started\";\n\t\t\tif (this.events.isEnabled(type)) {\n\t\t\t\tthis.events.dispatch(type, { type: type, target: this });\n\t\t\t}\n\n\t\t} else {\n\t\t\tthis._startingTime = null;\n\t\t}\n\n\t\tthis._playingDuration = Math.abs((this._to as number) - (this._from as number)) * this._duration;\n\t}\n\n\tpublic get duration(): number {\n\t\treturn this._duration;\n\t}\n\n\tpublic set duration(value: number) {\n\t\tif (this._duration !== value) {\n\t\t\tthis._duration = value;\n\n\t\t\tif (value === 0) {\n\t\t\t\tthis.jumpTo(this._to);\n\n\t\t\t} else if (this._current !== this._to) {\n\t\t\t\tthis._play();\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic get current(): Time {\n\t\tif (this.easing) {\n\t\t\treturn this.easing(this._current);\n\n\t\t} else {\n\t\t\treturn this._current;\n\t\t}\n\t}\n\n\tpublic stop() {\n\t\tthis.jumpTo(this._current);\n\t}\n\n\tpublic jumpTo(value: Time) {\n\t\tif (this._current !== value) {\n\t\t\tthis._entity.markDirty();\n\t\t}\n\n\t\tif (this._playingDuration !== null) {\n\t\t\tthis._stopEvent();\n\t\t}\n\n\t\tthis._playingDuration = null;\n\t\tthis._startingTime = null;\n\t\tthis._current = value;\n\t\tthis._from = value;\n\t\tthis._to = value;\n\t}\n\n\tpublic tweenTo(value: Time) {\n\t\tif (this._current === value || this._duration === 0) {\n\t\t\tthis.jumpTo(value);\n\n\t\t} else {\n\t\t\tif (this._to !== value) {\n\t\t\t\tthis._to = value;\n\t\t\t\tthis._play();\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/*export class AnimationValue extends AnimationTime {\n\tpublic _min: number;\n\tpublic _max: number;\n\n\tconstructor(entity: Entity, duration: number, min: number, max: number) {\n\t\tsuper(entity, duration);\n\t\tthis._min = min;\n\t\tthis._max = max;\n\t}\n\n\tpublic get min(): number {\n\t\treturn this._min;\n\t}\n\n\tpublic set min(value: number) {\n\t\tif (this._min !== value) {\n\t\t\tthis._min = value;\n\t\t\tthis._entity.markDirty();\n\t\t}\n\t}\n\n\tpublic get max(): number {\n\t\treturn this._max;\n\t}\n\n\tpublic set max(value: number) {\n\t\tif (this._max !== value) {\n\t\t\tthis._max = value;\n\t\t\tthis._entity.markDirty();\n\t\t}\n\t}\n\n\tpublic currentValue(): number {\n\t\treturn range(super.currentTime(), this._min, this._max);\n\t}\n\n\tpublic jumpToValue(value: number) {\n\t\tsuper.jumpToTime(normalize(value, this._min, this._max));\n\t}\n\n\tpublic tweenToValue(value: number) {\n\t\tsuper.tweenToTime(normalize(value, this._min, this._max));\n\t}\n}\n*/\n"]}
|