@amcharts/amcharts5 5.9.13 → 5.10.1
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/flow/ArcDiagramNodes.d.ts.map +1 -1
- package/.internal/charts/flow/ArcDiagramNodes.js +2 -0
- package/.internal/charts/flow/ArcDiagramNodes.js.map +1 -1
- package/.internal/charts/flow/ChordNodes.d.ts.map +1 -1
- package/.internal/charts/flow/ChordNodes.js +2 -0
- package/.internal/charts/flow/ChordNodes.js.map +1 -1
- package/.internal/charts/flow/FlowNodes.d.ts +17 -1
- package/.internal/charts/flow/FlowNodes.d.ts.map +1 -1
- package/.internal/charts/flow/FlowNodes.js +13 -0
- package/.internal/charts/flow/FlowNodes.js.map +1 -1
- package/.internal/charts/flow/SankeyNodes.d.ts.map +1 -1
- package/.internal/charts/flow/SankeyNodes.js +2 -0
- package/.internal/charts/flow/SankeyNodes.js.map +1 -1
- package/.internal/charts/funnel/FunnelSeries.d.ts.map +1 -1
- package/.internal/charts/funnel/FunnelSeries.js +2 -0
- package/.internal/charts/funnel/FunnelSeries.js.map +1 -1
- package/.internal/charts/hierarchy/Hierarchy.d.ts +16 -0
- package/.internal/charts/hierarchy/Hierarchy.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Hierarchy.js +25 -4
- package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
- package/.internal/charts/hierarchy/LinkedHierarchy.d.ts.map +1 -1
- package/.internal/charts/hierarchy/LinkedHierarchy.js +5 -0
- package/.internal/charts/hierarchy/LinkedHierarchy.js.map +1 -1
- package/.internal/charts/hierarchy/Pack.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Pack.js +2 -0
- package/.internal/charts/hierarchy/Pack.js.map +1 -1
- package/.internal/charts/hierarchy/Partition.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Partition.js +2 -0
- package/.internal/charts/hierarchy/Partition.js.map +1 -1
- package/.internal/charts/hierarchy/Sunburst.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Sunburst.js +2 -0
- package/.internal/charts/hierarchy/Sunburst.js.map +1 -1
- package/.internal/charts/hierarchy/Treemap.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Treemap.js +2 -0
- package/.internal/charts/hierarchy/Treemap.js.map +1 -1
- package/.internal/charts/hierarchy/VoronoiTreemap.d.ts.map +1 -1
- package/.internal/charts/hierarchy/VoronoiTreemap.js +2 -0
- package/.internal/charts/hierarchy/VoronoiTreemap.js.map +1 -1
- package/.internal/charts/percent/PercentSeries.d.ts +16 -0
- package/.internal/charts/percent/PercentSeries.d.ts.map +1 -1
- package/.internal/charts/percent/PercentSeries.js +13 -0
- package/.internal/charts/percent/PercentSeries.js.map +1 -1
- package/.internal/charts/pie/PieSeries.d.ts.map +1 -1
- package/.internal/charts/pie/PieSeries.js +3 -1
- package/.internal/charts/pie/PieSeries.js.map +1 -1
- package/.internal/charts/stock/indicators/ChartIndicator.js +2 -2
- package/.internal/charts/stock/indicators/ChartIndicator.js.map +1 -1
- package/.internal/charts/stock/toolbar/DateRangeSelector.js +1 -1
- package/.internal/charts/stock/toolbar/DateRangeSelector.js.map +1 -1
- package/.internal/charts/stock/toolbar/StockToolbarCSS.js +56 -56
- package/.internal/charts/stock/toolbar/StockToolbarCSS.js.map +1 -1
- package/.internal/charts/venn/Venn.d.ts +19 -3
- package/.internal/charts/venn/Venn.d.ts.map +1 -1
- package/.internal/charts/venn/Venn.js +13 -0
- package/.internal/charts/venn/Venn.js.map +1 -1
- package/.internal/charts/xy/XYChart.d.ts +1 -1
- package/.internal/charts/xy/XYChart.d.ts.map +1 -1
- package/.internal/charts/xy/XYChart.js +7 -0
- package/.internal/charts/xy/XYChart.js.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.d.ts +2 -0
- package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.js +12 -1
- package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.js +5 -0
- package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
- package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/LineSeries.js +12 -0
- package/.internal/charts/xy/series/LineSeries.js.map +1 -1
- package/.internal/core/Classes.d.ts +2 -0
- package/.internal/core/Classes.d.ts.map +1 -1
- package/.internal/core/Classes.js.map +1 -1
- package/.internal/core/Registry.js +1 -1
- package/.internal/core/Registry.js.map +1 -1
- package/.internal/core/render/Circle.js +1 -1
- package/.internal/core/render/Circle.js.map +1 -1
- package/.internal/core/render/Component.d.ts +12 -4
- package/.internal/core/render/Component.d.ts.map +1 -1
- package/.internal/core/render/Component.js +14 -6
- package/.internal/core/render/Component.js.map +1 -1
- package/.internal/core/render/Label.d.ts +8 -0
- package/.internal/core/render/Label.d.ts.map +1 -1
- package/.internal/core/render/Label.js +3 -1
- package/.internal/core/render/Label.js.map +1 -1
- package/.internal/core/render/SerialChart.d.ts +9 -1
- package/.internal/core/render/SerialChart.d.ts.map +1 -1
- package/.internal/core/render/SerialChart.js +4 -0
- package/.internal/core/render/SerialChart.js.map +1 -1
- package/.internal/core/render/Series.d.ts +12 -4
- package/.internal/core/render/Series.d.ts.map +1 -1
- package/.internal/core/render/Series.js +4 -3
- package/.internal/core/render/Series.js.map +1 -1
- package/.internal/core/render/Sprite.d.ts.map +1 -1
- package/.internal/core/render/Sprite.js +45 -39
- package/.internal/core/render/Sprite.js.map +1 -1
- package/.internal/core/render/Text.d.ts +9 -1
- package/.internal/core/render/Text.d.ts.map +1 -1
- package/.internal/core/render/Text.js +27 -3
- package/.internal/core/render/Text.js.map +1 -1
- package/.internal/core/render/gradients/LinearGradient.d.ts.map +1 -1
- package/.internal/core/render/gradients/LinearGradient.js.map +1 -1
- package/.internal/core/util/DurationFormatter.d.ts.map +1 -1
- package/.internal/core/util/DurationFormatter.js +9 -2
- package/.internal/core/util/DurationFormatter.js.map +1 -1
- package/.internal/core/util/Modal.js +17 -17
- package/.internal/core/util/Modal.js.map +1 -1
- package/.internal/core/util/PatternSet.d.ts +91 -0
- package/.internal/core/util/PatternSet.d.ts.map +1 -0
- package/.internal/core/util/PatternSet.js +236 -0
- package/.internal/core/util/PatternSet.js.map +1 -0
- package/.internal/plugins/exporting/Exporting.d.ts.map +1 -1
- package/.internal/plugins/exporting/Exporting.js +25 -6
- package/.internal/plugins/exporting/Exporting.js.map +1 -1
- package/.internal/plugins/exporting/ExportingCSS.d.ts.map +1 -1
- package/.internal/plugins/exporting/ExportingCSS.js +22 -36
- package/.internal/plugins/exporting/ExportingCSS.js.map +1 -1
- package/.internal/plugins/json/Classes-script.d.ts +2 -0
- package/.internal/plugins/json/Classes-script.d.ts.map +1 -1
- package/.internal/plugins/json/Classes-script.js +1 -0
- package/.internal/plugins/json/Classes-script.js.map +1 -1
- package/.internal/plugins/json/Classes.d.ts +2 -0
- package/.internal/plugins/json/Classes.d.ts.map +1 -1
- package/.internal/plugins/json/Classes.js +1 -0
- package/.internal/plugins/json/Classes.js.map +1 -1
- package/.internal/themes/DefaultTheme.d.ts.map +1 -1
- package/.internal/themes/DefaultTheme.js +7 -0
- package/.internal/themes/DefaultTheme.js.map +1 -1
- package/CHANGELOG.md +33 -1
- package/examples/javascript/flow-arc-horizontal/package.json +1 -1
- package/examples/javascript/flow-arc-vertical/package.json +1 -1
- 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/hierarchy-voronoi-treemap/package.json +1 -1
- package/examples/javascript/jest/package.json +1 -1
- package/examples/javascript/json-pie/package.json +1 -1
- package/examples/javascript/json-xy/package.json +1 -1
- package/examples/javascript/map-animating-along-lines/package.json +1 -1
- package/examples/javascript/map-clustered-points/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-arc-horizontal/package.json +1 -1
- package/examples/typescript/flow-arc-vertical/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/hierarchy-voronoi-treemap/package.json +1 -1
- package/examples/typescript/jest/package.json +1 -1
- package/examples/typescript/json-pie/package.json +1 -1
- package/examples/typescript/json-xy/package.json +1 -1
- package/examples/typescript/map-animating-along-lines/package.json +1 -1
- package/examples/typescript/map-clustered-points/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/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/package.json +4 -1
|
@@ -2,16 +2,24 @@ import type { Color } from "../util/Color";
|
|
|
2
2
|
import type { Percent } from "../util/Percent";
|
|
3
3
|
import type { IText } from "./backend/Renderer";
|
|
4
4
|
import type { DataItem, IComponentDataItem } from "./Component";
|
|
5
|
-
import { Sprite, ISpriteSettings, ISpritePrivate } from "./Sprite";
|
|
6
5
|
import type { NumberFormatter } from "../util/NumberFormatter";
|
|
7
6
|
import type { DateFormatter } from "../util/DateFormatter";
|
|
8
7
|
import type { DurationFormatter } from "../util/DurationFormatter";
|
|
8
|
+
import type { Gradient } from "../render/gradients/Gradient";
|
|
9
|
+
import { Sprite, ISpriteSettings, ISpritePrivate } from "./Sprite";
|
|
9
10
|
/**
|
|
10
11
|
* @ignore Text is an internal class. Use Label instead.
|
|
11
12
|
*/
|
|
12
13
|
export interface ITextSettings extends ISpriteSettings {
|
|
13
14
|
text?: string;
|
|
14
15
|
fill?: Color;
|
|
16
|
+
/**
|
|
17
|
+
* Fill gradient.
|
|
18
|
+
*
|
|
19
|
+
* @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/gradients/} for more information
|
|
20
|
+
* @since 5.10.1
|
|
21
|
+
*/
|
|
22
|
+
fillGradient?: Gradient;
|
|
15
23
|
fillOpacity?: number;
|
|
16
24
|
textAlign?: "start" | "end" | "left" | "right" | "center";
|
|
17
25
|
fontFamily?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Text.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,6 +76,10 @@ export class Text extends Sprite {
|
|
|
76
76
|
}
|
|
77
77
|
else {
|
|
78
78
|
super._updateBounds();
|
|
79
|
+
let fillGradient = this.get("fillGradient");
|
|
80
|
+
if (fillGradient) {
|
|
81
|
+
this._display.style.fill = fillGradient.getFill(this);
|
|
82
|
+
}
|
|
79
83
|
}
|
|
80
84
|
}
|
|
81
85
|
_changed() {
|
|
@@ -125,9 +129,29 @@ export class Text extends Sprite {
|
|
|
125
129
|
textStyle.minScale = this.get("minScale", 0);
|
|
126
130
|
this.markDirtyBounds();
|
|
127
131
|
}
|
|
128
|
-
if (this.isDirty("fill")) {
|
|
129
|
-
|
|
130
|
-
|
|
132
|
+
if (this.isDirty("fill") || this.isDirty("fillGradient")) {
|
|
133
|
+
const fill = this.get("fill");
|
|
134
|
+
const fillGradient = this.get("fillGradient");
|
|
135
|
+
const fillOpacity = this.get("fillOpacity");
|
|
136
|
+
if (fillGradient) {
|
|
137
|
+
if (fill) {
|
|
138
|
+
const stops = fillGradient.get("stops", []);
|
|
139
|
+
if (stops.length) {
|
|
140
|
+
$array.each(stops, (stop) => {
|
|
141
|
+
if ((!stop.color || stop.colorInherited) && fill) {
|
|
142
|
+
stop.color = fill;
|
|
143
|
+
stop.colorInherited = true;
|
|
144
|
+
}
|
|
145
|
+
if (stop.opacity == null || stop.opacityInherited) {
|
|
146
|
+
stop.opacity = fillOpacity;
|
|
147
|
+
stop.opacityInherited = true;
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
textStyle.fill = fillGradient.getFill(this);
|
|
153
|
+
}
|
|
154
|
+
else if (fill) {
|
|
131
155
|
textStyle.fill = fill;
|
|
132
156
|
}
|
|
133
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Text.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Color } from \"../util/Color\";\nimport type { Percent } from \"../util/Percent\";\nimport type { IText } from \"./backend/Renderer\";\nimport type { IBounds } from \"../util/IBounds\";\nimport type { DataItem, IComponentDataItem } from \"./Component\";\n\nimport { Sprite, ISpriteSettings, ISpritePrivate } from \"./Sprite\";\nimport { populateString } from \"../util/PopulateString\";\n\nimport type { NumberFormatter } from \"../util/NumberFormatter\";\nimport type { DateFormatter } from \"../util/DateFormatter\";\nimport type { DurationFormatter } from \"../util/DurationFormatter\";\n\nimport * as $array from \"../util/Array\";\nimport * as $utils from \"../util/Utils\";\nimport { Disposer } from \"../util/Disposer\";\n\n/**\n * @ignore Text is an internal class. Use Label instead.\n */\nexport interface ITextSettings extends ISpriteSettings {\n\ttext?: string;\n\tfill?: Color;\n\tfillOpacity?: number;\n\ttextAlign?: \"start\" | \"end\" | \"left\" | \"right\" | \"center\";\n\tfontFamily?: string;\n\tfontSize?: string | number;\n\tfontWeight?: \"normal\" | \"bold\" | \"bolder\" | \"lighter\" | \"100\" | \"200\" | \"300\" | \"400\" | \"500\" | \"600\" | \"700\" | \"800\" | \"900\"\n\tfontStyle?: \"normal\" | \"italic\" | \"oblique\";\n\tfontVariant?: \"normal\" | \"small-caps\";\n\ttextDecoration?: \"underline\" | \"line-through\";\n\tshadowColor?: Color | null;\n\tshadowBlur?: number;\n\tshadowOffsetX?: number;\n\tshadowOffsetY?: number;\n\tshadowOpacity?: number;\n\t// leading?: number;\n\t// letterSpacing?: number;\n\tlineHeight?: Percent | number;\n\tbaselineRatio?: number;\n\t// stroke?: number;\n\t// strokeThickness?: number;\n\t// trim?: number;\n\t// wordWrap?: boolean;\n\topacity?: number;\n\tdirection?: \"ltr\" | \"rtl\";\n\ttextBaseline?: \"top\" | \"hanging\" | \"middle\" | \"alphabetic\" | \"ideographic\" | \"bottom\";\n\toversizedBehavior?: \"none\" | \"hide\" | \"fit\" | \"wrap\" | \"wrap-no-break\" | \"truncate\";\n\tbreakWords?: boolean;\n\tellipsis?: string;\n\tminScale?: number;\n\tpopulateText?: boolean;\n\tignoreFormatting?: boolean;\n\tmaxChars?: number;\n}\n\n/**\n * @ignore\n */\nexport interface ITextPrivate extends ISpritePrivate {\n\n\t/**\n\t * @ignore\n\t */\n\ttooltipElement?: HTMLDivElement;\n\n}\n\n/**\n * @ignore Text is an internal class. Use Label instead.\n */\nexport class Text extends Sprite {\n\n\tdeclare public _settings: ITextSettings;\n\tdeclare public _privateSettings: ITextPrivate;\n\n\tpublic textStyle = this._root._renderer.makeTextStyle();\n\n\tpublic _display: IText = this._root._renderer.makeText(\"\", this.textStyle);\n\n\tprotected _textStyles: Array<keyof ITextSettings> = [\n\t\t\"textAlign\",\n\t\t\"fontFamily\",\n\t\t\"fontSize\",\n\t\t\"fontStyle\",\n\t\t\"fontWeight\",\n\t\t\"fontStyle\",\n\t\t\"fontVariant\",\n\t\t\"textDecoration\",\n\t\t\"shadowColor\",\n\t\t\"shadowBlur\",\n\t\t\"shadowOffsetX\",\n\t\t\"shadowOffsetY\",\n\t\t\"shadowOpacity\",\n\t\t// \"leading\",\n\t\t// \"letterSpacing\",\n\t\t\"lineHeight\",\n\t\t\"baselineRatio\",\n\t\t//\"padding\",\n\t\t// \"stroke\",\n\t\t// \"strokeThickness\",\n\t\t// \"trim\",\n\t\t// \"wordWrap\",\n\t\t\"direction\",\n\t\t\"textBaseline\",\n\t\t\"oversizedBehavior\",\n\t\t\"breakWords\",\n\t\t\"ellipsis\",\n\t\t\"minScale\",\n\t\t\"maxChars\"\n\t];\n\n\tprotected _originalScale: number | undefined;\n\n\tpublic static className: string = \"Text\";\n\tpublic static classNames: Array<string> = Sprite.classNames.concat([Text.className]);\n\n\tpublic _updateBounds(): void {\n\t\tif (!this.get(\"text\")) {\n\n\t\t\tlet newBounds: IBounds = {\n\t\t\t\tleft: 0,\n\t\t\t\tright: 0,\n\t\t\t\ttop: 0,\n\t\t\t\tbottom: 0,\n\t\t\t};\n\t\t\tthis._adjustedLocalBounds = newBounds;\n\t\t}\n\t\telse {\n\t\t\tsuper._updateBounds();\n\t\t}\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\n\t\tthis._display.clear();\n\n\t\tlet textStyle = <any>this.textStyle;\n\n\t\tif (this.isDirty(\"opacity\")) {\n\t\t\tlet opacity = this.get(\"opacity\", 1);\n\t\t\tthis._display.alpha = opacity;\n\t\t}\n\n\t\tif (this.isDirty(\"text\") || this.isDirty(\"populateText\")) {\n\t\t\tthis._display.text = this._getText();\n\n\t\t\tthis.markDirtyBounds();\n\t\t\tif (this.get(\"role\") == \"tooltip\") {\n\t\t\t\tthis._root.updateTooltip(this);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isPrivateDirty(\"tooltipElement\")) {\n\t\t\tconst tooltipElement = this.getPrivate(\"tooltipElement\");\n\t\t\tif (tooltipElement) {\n\t\t\t\tthis._disposers.push(new Disposer(() => {\n\t\t\t\t\tthis._root._removeTooltipElement(this);\n\t\t\t\t}));\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"width\")) {\n\t\t\ttextStyle.wordWrapWidth = this.width();\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\n\t\tif (this.isDirty(\"oversizedBehavior\")) {\n\t\t\ttextStyle.oversizedBehavior = this.get(\"oversizedBehavior\", \"none\");\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\n\t\tif (this.isDirty(\"breakWords\")) {\n\t\t\ttextStyle.breakWords = this.get(\"breakWords\", false);\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\n\t\tif (this.isDirty(\"ellipsis\")) {\n\t\t\ttextStyle.ellipsis = this.get(\"ellipsis\");\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\n\t\tif (this.isDirty(\"ignoreFormatting\")) {\n\t\t\ttextStyle.ignoreFormatting = this.get(\"ignoreFormatting\", false);\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\n\t\tif (this.isDirty(\"minScale\")) {\n\t\t\ttextStyle.minScale = this.get(\"minScale\", 0);\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\n\t\tif (this.isDirty(\"fill\")) {\n\t\t\tlet fill = this.get(\"fill\");\n\t\t\tif (fill) {\n\t\t\t\ttextStyle.fill = fill;\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"fillOpacity\")) {\n\t\t\tlet fillOpacity = this.get(\"fillOpacity\", 1);\n\t\t\tif (fillOpacity) {\n\t\t\t\ttextStyle.fillOpacity = fillOpacity;\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"maxWidth\") || this.isPrivateDirty(\"maxWidth\")) {\n\t\t\ttextStyle.maxWidth = this.get(\"maxWidth\", this.getPrivate(\"maxWidth\"));\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\n\t\tif (this.isDirty(\"maxHeight\") || this.isPrivateDirty(\"maxHeight\")) {\n\t\t\ttextStyle.maxHeight = this.get(\"maxHeight\", this.getPrivate(\"maxHeight\"));\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\n\t\t$array.each(this._textStyles, (styleName) => {\n\t\t\tif (this._dirty[styleName]) {\n\t\t\t\ttextStyle[styleName] = this.get(styleName);\n\t\t\t\tthis.markDirtyBounds();\n\t\t\t}\n\t\t})\n\n\t\ttextStyle[\"fontSize\"] = this.get(\"fontSize\");\n\t\ttextStyle[\"fontFamily\"] = this.get(\"fontFamily\");\n\t\tthis._display.style = textStyle;\n\n\t\tif (this.isDirty(\"role\") && this.get(\"role\") == \"tooltip\") {\n\t\t\tthis._root.updateTooltip(this);\n\t\t}\n\t}\n\n\tpublic _getText(): string {\n\t\tlet text = this.get(\"text\", \"\");\n\t\tif (this.get(\"maxChars\")) {\n\t\t\ttext = $utils.truncateTextWithEllipsis(text, this.get(\"maxChars\", 100000000), this.get(\"breakWords\"), this.get(\"ellipsis\"));\n\t\t}\n\t\treturn this.get(\"populateText\") ? populateString(this, text) : text;\n\t}\n\n\tpublic _getAccessibleText(): string {\n\t\tconst ariaLabel = this.get(\"ariaLabel\");\n\t\tif (ariaLabel !== undefined) {\n\t\t\treturn this.get(\"populateText\") ? populateString(this, ariaLabel) : ariaLabel;\n\t\t}\n\t\treturn this._getText();\n\t}\n\n\t/**\n\t * Forces the text to be re-evaluated and re-populated.\n\t */\n\tpublic markDirtyText(): void {\n\t\tthis._display.text = this._getText();\n\t\tif (this.get(\"role\") == \"tooltip\") {\n\t\t\tthis._root.updateTooltip(this);\n\t\t}\n\t\tthis.markDirtyBounds();\n\t\tthis.markDirty();\n\t}\n\n\tpublic _setDataItem(dataItem?: DataItem<IComponentDataItem>): void {\n\t\tsuper._setDataItem(dataItem);\n\t\tif (this.get(\"populateText\")) {\n\t\t\tthis.markDirtyText();\n\t\t}\n\t}\n\n\tpublic getNumberFormatter(): NumberFormatter {\n\t\tif (this.parent) {\n\t\t\treturn this.parent.getNumberFormatter();\n\t\t}\n\t\telse {\n\t\t\treturn super.getNumberFormatter();\n\t\t}\n\t}\n\n\tpublic getDateFormatter(): DateFormatter {\n\t\tif (this.parent) {\n\t\t\treturn this.parent.getDateFormatter();\n\t\t}\n\t\telse {\n\t\t\treturn super.getDateFormatter();\n\t\t}\n\t}\n\n\tpublic getDurationFormatter(): DurationFormatter {\n\t\tif (this.parent) {\n\t\t\treturn this.parent.getDurationFormatter();\n\t\t}\n\t\telse {\n\t\t\treturn super.getDurationFormatter();\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Text.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Color } from \"../util/Color\";\nimport type { Percent } from \"../util/Percent\";\nimport type { IText } from \"./backend/Renderer\";\nimport type { IBounds } from \"../util/IBounds\";\nimport type { DataItem, IComponentDataItem } from \"./Component\";\nimport type { NumberFormatter } from \"../util/NumberFormatter\";\nimport type { DateFormatter } from \"../util/DateFormatter\";\nimport type { DurationFormatter } from \"../util/DurationFormatter\";\nimport type { Gradient } from \"../render/gradients/Gradient\";\n\nimport { Sprite, ISpriteSettings, ISpritePrivate } from \"./Sprite\";\nimport { populateString } from \"../util/PopulateString\";\n\nimport * as $array from \"../util/Array\";\nimport * as $utils from \"../util/Utils\";\nimport { Disposer } from \"../util/Disposer\";\n\n/**\n * @ignore Text is an internal class. Use Label instead.\n */\nexport interface ITextSettings extends ISpriteSettings {\n\ttext?: string;\n\tfill?: Color;\n\n\t/**\n\t * Fill gradient.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/gradients/} for more information\n\t * @since 5.10.1\n\t */\n\tfillGradient?: Gradient;\n\n\tfillOpacity?: number;\n\ttextAlign?: \"start\" | \"end\" | \"left\" | \"right\" | \"center\";\n\tfontFamily?: string;\n\tfontSize?: string | number;\n\tfontWeight?: \"normal\" | \"bold\" | \"bolder\" | \"lighter\" | \"100\" | \"200\" | \"300\" | \"400\" | \"500\" | \"600\" | \"700\" | \"800\" | \"900\"\n\tfontStyle?: \"normal\" | \"italic\" | \"oblique\";\n\tfontVariant?: \"normal\" | \"small-caps\";\n\ttextDecoration?: \"underline\" | \"line-through\";\n\tshadowColor?: Color | null;\n\tshadowBlur?: number;\n\tshadowOffsetX?: number;\n\tshadowOffsetY?: number;\n\tshadowOpacity?: number;\n\t// leading?: number;\n\t// letterSpacing?: number;\n\tlineHeight?: Percent | number;\n\tbaselineRatio?: number;\n\t// stroke?: number;\n\t// strokeThickness?: number;\n\t// trim?: number;\n\t// wordWrap?: boolean;\n\topacity?: number;\n\tdirection?: \"ltr\" | \"rtl\";\n\ttextBaseline?: \"top\" | \"hanging\" | \"middle\" | \"alphabetic\" | \"ideographic\" | \"bottom\";\n\toversizedBehavior?: \"none\" | \"hide\" | \"fit\" | \"wrap\" | \"wrap-no-break\" | \"truncate\";\n\tbreakWords?: boolean;\n\tellipsis?: string;\n\tminScale?: number;\n\tpopulateText?: boolean;\n\tignoreFormatting?: boolean;\n\tmaxChars?: number;\n}\n\n/**\n * @ignore\n */\nexport interface ITextPrivate extends ISpritePrivate {\n\n\t/**\n\t * @ignore\n\t */\n\ttooltipElement?: HTMLDivElement;\n\n}\n\n/**\n * @ignore Text is an internal class. Use Label instead.\n */\nexport class Text extends Sprite {\n\n\tdeclare public _settings: ITextSettings;\n\tdeclare public _privateSettings: ITextPrivate;\n\n\tpublic textStyle = this._root._renderer.makeTextStyle();\n\n\tpublic _display: IText = this._root._renderer.makeText(\"\", this.textStyle);\n\n\tprotected _textStyles: Array<keyof ITextSettings> = [\n\t\t\"textAlign\",\n\t\t\"fontFamily\",\n\t\t\"fontSize\",\n\t\t\"fontStyle\",\n\t\t\"fontWeight\",\n\t\t\"fontStyle\",\n\t\t\"fontVariant\",\n\t\t\"textDecoration\",\n\t\t\"shadowColor\",\n\t\t\"shadowBlur\",\n\t\t\"shadowOffsetX\",\n\t\t\"shadowOffsetY\",\n\t\t\"shadowOpacity\",\n\t\t// \"leading\",\n\t\t// \"letterSpacing\",\n\t\t\"lineHeight\",\n\t\t\"baselineRatio\",\n\t\t//\"padding\",\n\t\t// \"stroke\",\n\t\t// \"strokeThickness\",\n\t\t// \"trim\",\n\t\t// \"wordWrap\",\n\t\t\"direction\",\n\t\t\"textBaseline\",\n\t\t\"oversizedBehavior\",\n\t\t\"breakWords\",\n\t\t\"ellipsis\",\n\t\t\"minScale\",\n\t\t\"maxChars\"\n\t];\n\n\tprotected _originalScale: number | undefined;\n\n\tpublic static className: string = \"Text\";\n\tpublic static classNames: Array<string> = Sprite.classNames.concat([Text.className]);\n\n\tpublic _updateBounds(): void {\n\t\tif (!this.get(\"text\")) {\n\n\t\t\tlet newBounds: IBounds = {\n\t\t\t\tleft: 0,\n\t\t\t\tright: 0,\n\t\t\t\ttop: 0,\n\t\t\t\tbottom: 0,\n\t\t\t};\n\t\t\tthis._adjustedLocalBounds = newBounds;\n\t\t}\n\t\telse {\n\t\t\tsuper._updateBounds();\n\t\t\tlet fillGradient = this.get(\"fillGradient\");\n\t\t\tif (fillGradient) {\n\t\t\t\tthis._display.style.fill = fillGradient.getFill(this);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\n\t\tthis._display.clear();\n\n\t\tlet textStyle = <any>this.textStyle;\n\n\t\tif (this.isDirty(\"opacity\")) {\n\t\t\tlet opacity = this.get(\"opacity\", 1);\n\t\t\tthis._display.alpha = opacity;\n\t\t}\n\n\t\tif (this.isDirty(\"text\") || this.isDirty(\"populateText\")) {\n\t\t\tthis._display.text = this._getText();\n\n\t\t\tthis.markDirtyBounds();\n\t\t\tif (this.get(\"role\") == \"tooltip\") {\n\t\t\t\tthis._root.updateTooltip(this);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isPrivateDirty(\"tooltipElement\")) {\n\t\t\tconst tooltipElement = this.getPrivate(\"tooltipElement\");\n\t\t\tif (tooltipElement) {\n\t\t\t\tthis._disposers.push(new Disposer(() => {\n\t\t\t\t\tthis._root._removeTooltipElement(this);\n\t\t\t\t}));\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"width\")) {\n\t\t\ttextStyle.wordWrapWidth = this.width();\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\n\t\tif (this.isDirty(\"oversizedBehavior\")) {\n\t\t\ttextStyle.oversizedBehavior = this.get(\"oversizedBehavior\", \"none\");\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\n\t\tif (this.isDirty(\"breakWords\")) {\n\t\t\ttextStyle.breakWords = this.get(\"breakWords\", false);\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\n\t\tif (this.isDirty(\"ellipsis\")) {\n\t\t\ttextStyle.ellipsis = this.get(\"ellipsis\");\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\n\t\tif (this.isDirty(\"ignoreFormatting\")) {\n\t\t\ttextStyle.ignoreFormatting = this.get(\"ignoreFormatting\", false);\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\n\t\tif (this.isDirty(\"minScale\")) {\n\t\t\ttextStyle.minScale = this.get(\"minScale\", 0);\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\n\t\tif (this.isDirty(\"fill\") || this.isDirty(\"fillGradient\")) {\n\t\t\tconst fill = this.get(\"fill\");\n\t\t\tconst fillGradient = this.get(\"fillGradient\");\n\t\t\tconst fillOpacity = this.get(\"fillOpacity\");\n\t\t\tif (fillGradient) {\n\t\t\t\tif (fill) {\n\t\t\t\t\tconst stops = fillGradient.get(\"stops\", []);\n\t\t\t\t\tif (stops.length) {\n\t\t\t\t\t\t$array.each(stops, (stop: any) => {\n\t\t\t\t\t\t\tif ((!stop.color || stop.colorInherited) && fill) {\n\t\t\t\t\t\t\t\tstop.color = fill;\n\t\t\t\t\t\t\t\tstop.colorInherited = true;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (stop.opacity == null || stop.opacityInherited) {\n\t\t\t\t\t\t\t\tstop.opacity = fillOpacity;\n\t\t\t\t\t\t\t\tstop.opacityInherited = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ttextStyle.fill = fillGradient.getFill(this);\n\t\t\t}\n\t\t\telse if (fill) {\n\t\t\t\ttextStyle.fill = fill;\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"fillOpacity\")) {\n\t\t\tlet fillOpacity = this.get(\"fillOpacity\", 1);\n\t\t\tif (fillOpacity) {\n\t\t\t\ttextStyle.fillOpacity = fillOpacity;\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"maxWidth\") || this.isPrivateDirty(\"maxWidth\")) {\n\t\t\ttextStyle.maxWidth = this.get(\"maxWidth\", this.getPrivate(\"maxWidth\"));\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\n\t\tif (this.isDirty(\"maxHeight\") || this.isPrivateDirty(\"maxHeight\")) {\n\t\t\ttextStyle.maxHeight = this.get(\"maxHeight\", this.getPrivate(\"maxHeight\"));\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\n\t\t$array.each(this._textStyles, (styleName) => {\n\t\t\tif (this._dirty[styleName]) {\n\t\t\t\ttextStyle[styleName] = this.get(styleName);\n\t\t\t\tthis.markDirtyBounds();\n\t\t\t}\n\t\t})\n\n\t\ttextStyle[\"fontSize\"] = this.get(\"fontSize\");\n\t\ttextStyle[\"fontFamily\"] = this.get(\"fontFamily\");\n\t\tthis._display.style = textStyle;\n\n\t\tif (this.isDirty(\"role\") && this.get(\"role\") == \"tooltip\") {\n\t\t\tthis._root.updateTooltip(this);\n\t\t}\n\t}\n\n\tpublic _getText(): string {\n\t\tlet text = this.get(\"text\", \"\");\n\t\tif (this.get(\"maxChars\")) {\n\t\t\ttext = $utils.truncateTextWithEllipsis(text, this.get(\"maxChars\", 100000000), this.get(\"breakWords\"), this.get(\"ellipsis\"));\n\t\t}\n\t\treturn this.get(\"populateText\") ? populateString(this, text) : text;\n\t}\n\n\tpublic _getAccessibleText(): string {\n\t\tconst ariaLabel = this.get(\"ariaLabel\");\n\t\tif (ariaLabel !== undefined) {\n\t\t\treturn this.get(\"populateText\") ? populateString(this, ariaLabel) : ariaLabel;\n\t\t}\n\t\treturn this._getText();\n\t}\n\n\t/**\n\t * Forces the text to be re-evaluated and re-populated.\n\t */\n\tpublic markDirtyText(): void {\n\t\tthis._display.text = this._getText();\n\t\tif (this.get(\"role\") == \"tooltip\") {\n\t\t\tthis._root.updateTooltip(this);\n\t\t}\n\t\tthis.markDirtyBounds();\n\t\tthis.markDirty();\n\t}\n\n\tpublic _setDataItem(dataItem?: DataItem<IComponentDataItem>): void {\n\t\tsuper._setDataItem(dataItem);\n\t\tif (this.get(\"populateText\")) {\n\t\t\tthis.markDirtyText();\n\t\t}\n\t}\n\n\tpublic getNumberFormatter(): NumberFormatter {\n\t\tif (this.parent) {\n\t\t\treturn this.parent.getNumberFormatter();\n\t\t}\n\t\telse {\n\t\t\treturn super.getNumberFormatter();\n\t\t}\n\t}\n\n\tpublic getDateFormatter(): DateFormatter {\n\t\tif (this.parent) {\n\t\t\treturn this.parent.getDateFormatter();\n\t\t}\n\t\telse {\n\t\t\treturn super.getDateFormatter();\n\t\t}\n\t}\n\n\tpublic getDurationFormatter(): DurationFormatter {\n\t\tif (this.parent) {\n\t\t\treturn this.parent.getDurationFormatter();\n\t\t}\n\t\telse {\n\t\t\treturn super.getDurationFormatter();\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinearGradient.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/gradients/LinearGradient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAQ3E,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAEjE;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAElB;AAED,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;CAC/D;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAE5B,SAAS,EAAE,uBAAuB,CAAC;IACnC,gBAAgB,EAAE,sBAAsB,CAAC;IAExD,OAAc,SAAS,EAAE,MAAM,CAAoB;IACnD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA0D;IAEjG;;OAEG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"LinearGradient.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/gradients/LinearGradient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAQ3E,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAEjE;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAElB;AAED,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;CAC/D;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAE5B,SAAS,EAAE,uBAAuB,CAAC;IACnC,gBAAgB,EAAE,sBAAsB,CAAC;IAExD,OAAc,SAAS,EAAE,MAAM,CAAoB;IACnD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA0D;IAEjG;;OAEG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;CAsEzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinearGradient.js","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/gradients/LinearGradient.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAuC,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC;AAiBzC;;;;GAIG;AACH,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAQ3C;;OAEG;IACI,OAAO,CAAC,MAAc;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACzC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QAE3B,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEtB,
|
|
1
|
+
{"version":3,"file":"LinearGradient.js","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/gradients/LinearGradient.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IGradient } from \"../backend/Renderer\";\nimport type { Sprite } from \"../Sprite\";\n\nimport { Gradient, IGradientSettings, IGradientPrivate } from \"./Gradient\";\nimport { Color } from \"../../util/Color\";\n\nimport * as $array from \"../../util/Array\";\nimport * as $type from \"../../util/Type\";\nimport * as $math from \"../../util/Math\";\n\n\nexport interface ILinearGradientSettings extends IGradientSettings {\n\n\t/**\n\t * Gradient rotation, in degrees.\n\t *\n\t * @default 90\n\t */\n\trotation?: number;\n\n}\n\nexport interface ILinearGradientPrivate extends IGradientPrivate {\n}\n\n/**\n * Linear gradient.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/gradients/} for more info\n */\nexport class LinearGradient extends Gradient {\n\n\tdeclare public _settings: ILinearGradientSettings;\n\tdeclare public _privateSettings: ILinearGradientPrivate;\n\n\tpublic static className: string = \"LinearGradient\";\n\tpublic static classNames: Array<string> = Gradient.classNames.concat([LinearGradient.className]);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getFill(target: Sprite): IGradient {\n\t\tconst rotation = this.get(\"rotation\", 0);\n\t\tlet bounds = this.getBounds(target);\n\n\t\tlet l = bounds.left || 0;\n\t\tlet r = bounds.right || 0;\n\t\tlet t = bounds.top || 0;\n\t\tlet b = bounds.bottom || 0;\n\n\t\tlet cos = $math.cos(rotation);\n\t\tlet sin = $math.sin(rotation);\n\n\t\tlet w = cos * (r - l);\n\t\tlet h = sin * (b - t);\n\n\t\tif (w == 0) {\n\t\t\tw = 1;\n\t\t}\n\n\t\tif (h == 0) {\n\t\t\th = 1;\n\t\t}\n\n\t\tlet longer = Math.max(w, h);\n\n\t\tconst gradient = this._root._renderer.createLinearGradient(\n\t\t\tl,\n\t\t\tt,\n\t\t\tl + longer * cos,\n\t\t\tt + longer * sin\n\t\t);\n\n\t\tconst stops = this.get(\"stops\")!;\n\t\tif (stops) {\n\t\t\tlet i = 0;\n\t\t\t$array.each(stops, (stop) => {\n\n\t\t\t\tlet offset = stop.offset;\n\n\t\t\t\tif (!$type.isNumber(offset)) {\n\t\t\t\t\toffset = i / (stops.length - 1);\n\t\t\t\t}\n\n\t\t\t\tlet opacity = stop.opacity;\n\n\t\t\t\tif (!$type.isNumber(opacity)) {\n\t\t\t\t\topacity = 1;\n\t\t\t\t}\n\n\t\t\t\tlet color = stop.color;\n\n\t\t\t\tif (color) {\n\n\t\t\t\t\tconst lighten = stop.lighten;\n\t\t\t\t\tif (lighten) {\n\t\t\t\t\t\tcolor = Color.lighten(color, lighten)\n\t\t\t\t\t}\n\n\t\t\t\t\tconst brighten = stop.brighten;\n\t\t\t\t\tif (brighten) {\n\t\t\t\t\t\tcolor = Color.brighten(color, brighten)\n\t\t\t\t\t}\n\n\t\t\t\t\tgradient.addColorStop(offset, 'rgba(' + color.r + ',' + color.g + ',' + color.b + ',' + opacity + ')');\n\t\t\t\t}\n\t\t\t\ti++;\n\t\t\t})\n\t\t}\n\t\treturn gradient;\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DurationFormatter.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/DurationFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAQlE,MAAM,WAAW,0BAA2B,SAAQ,eAAe;IAElE;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/E;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAE1B;AAED,MAAM,WAAW,yBAA0B,SAAQ,cAAc;CAChE;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,MAAM;IAC7B,SAAS,EAAE,0BAA0B,CAAC;IACtC,gBAAgB,EAAE,yBAAyB,CAAC;IAE3D,SAAS,CAAC,YAAY;IAgFtB;;OAEG;IACH,SAAS,CAAC,YAAY,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAOjD;IAEK,cAAc;IAIrB;;;;;;;;;;OAUG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"DurationFormatter.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/DurationFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAQlE,MAAM,WAAW,0BAA2B,SAAQ,eAAe;IAElE;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/E;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAE1B;AAED,MAAM,WAAW,yBAA0B,SAAQ,cAAc;CAChE;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,MAAM;IAC7B,SAAS,EAAE,0BAA0B,CAAC;IACtC,gBAAgB,EAAE,yBAAyB,CAAC;IAE3D,SAAS,CAAC,YAAY;IAgFtB;;OAEG;IACH,SAAS,CAAC,YAAY,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAOjD;IAEK,cAAc;IAIrB;;;;;;;;;;OAUG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM;IAgD/E;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,GAAG;IAqJ3D;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM;IA2C1D;;;;;;OAMG;IACI,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAI7D,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAqBzD;;;;;;;;;;;;;;;;;;OAkBG;IACI,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM;IAyB/E;;;;;;;OAOG;IACI,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS;IA2B7E;;;;;;OAMG;IACI,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM;IAUlE,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAInD,SAAS,CAAC,cAAc,IAAI,GAAG;CAa/B"}
|
|
@@ -308,10 +308,17 @@ export class DurationFormatter extends Entity {
|
|
|
308
308
|
let unit = this._toTimeUnit(part.substr(0, 1));
|
|
309
309
|
let digits = part.length;
|
|
310
310
|
// Calculate current unit value
|
|
311
|
-
let ints
|
|
311
|
+
let ints;
|
|
312
|
+
const unitValue = this._getUnitValue(unit);
|
|
313
|
+
if (i < (len - 1)) {
|
|
314
|
+
ints = Math.floor(tstamp / unitValue);
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
ints = Math.round(tstamp / unitValue);
|
|
318
|
+
}
|
|
312
319
|
res = res.replace($type.PLACEHOLDER, $utils.padString(ints, digits, "0"));
|
|
313
320
|
// Reduce timestamp
|
|
314
|
-
tstamp -= ints *
|
|
321
|
+
tstamp -= ints * unitValue;
|
|
315
322
|
}
|
|
316
323
|
// Reapply negative sign
|
|
317
324
|
if (negative) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DurationFormatter.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/DurationFormatter.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TimeUnit } from \"./Time\";\r\n\r\nimport { Entity, IEntitySettings, IEntityPrivate } from \"./Entity\"\r\nimport { TextFormatter } from \"./TextFormatter\";\r\n\r\nimport * as $object from \"./Object\";\r\nimport * as $utils from \"./Utils\";\r\nimport * as $type from \"./Type\";\r\n\r\n\r\nexport interface IDurationFormatterSettings extends IEntitySettings {\r\n\r\n\t/**\r\n\t * A universal duration format to use wherever number needs to be formatted\r\n\t * as a duration.\r\n\t */\r\n\tdurationFormat?: string;\r\n\r\n\t/**\r\n\t * A base value. Any number below it will be considered \"negative\".\r\n\t *\r\n\t * @default 0\r\n\t */\r\n\tnegativeBase?: number;\r\n\r\n\t/**\r\n\t * Identifies what values are used in duration.\r\n\t *\r\n\t * Available options: `\"millisecond\"`, `\"second\"` (default), `\"minute\"`, `\"hour\"`, `\"day\"`, `\"week\"`, `\"month\"`, and `\"year\"`.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/formatting-durations/#Base_unit} for more info\r\n\t * @default \"second\"\r\n\t */\r\n\tbaseUnit?: TimeUnit;\r\n\r\n\t/**\r\n\t * Time unit dependent duration formats.\r\n\t *\r\n\t * Used be [[DurationAxis]].\r\n\t */\r\n\tdurationFormats?: Partial<Record<TimeUnit, Partial<Record<TimeUnit, string>>>>;\r\n\r\n\t/**\r\n\t * An array of data fields that hold duration values and should be formatted\r\n\t * with a [[DurationFormatter]].\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/data-placeholders/#Formatting_placeholders} for more info\r\n\t */\r\n\tdurationFields?: string[];\r\n\r\n}\r\n\r\nexport interface IDurationFormatterPrivate extends IEntityPrivate {\r\n}\r\n\r\n/**\r\n * A class used to format numberic values as time duration.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/formatting-durations/} for more info\r\n */\r\nexport class DurationFormatter extends Entity {\r\n\tdeclare public _settings: IDurationFormatterSettings;\r\n\tdeclare public _privateSettings: IDurationFormatterPrivate;\r\n\r\n\tprotected _setDefaults() {\r\n\t\tconst dmillisecond = \"_duration_millisecond\";\r\n\t\tconst dsecond = \"_duration_second\";\r\n\t\tconst dminute = \"_duration_minute\";\r\n\t\tconst dhour = \"_duration_hour\";\r\n\t\tconst dday = \"_duration_day\";\r\n\t\tconst dweek = \"_duration_week\";\r\n\t\tconst dmonth = \"_duration_month\";\r\n\t\tconst dyear = \"_duration_year\";\r\n\r\n\t\tconst asecond = \"_second\";\r\n\t\tconst aminute = \"_minute\";\r\n\t\tconst ahour = \"_hour\";\r\n\t\tconst aday = \"_day\";\r\n\t\tconst aweek = \"_week\";\r\n\t\tconst amonth = \"_week\";\r\n\t\tconst ayear = \"_year\";\r\n\r\n\t\t// Defaults\r\n\t\tthis._setDefault(\"negativeBase\", 0);\r\n\t\tthis._setDefault(\"baseUnit\", \"second\");\r\n\t\tthis._setDefault(\"durationFormats\", {\r\n\t\t\t\"millisecond\": {\r\n\t\t\t\t\"millisecond\": this._t(dmillisecond),\r\n\t\t\t\t\"second\": this._t((dmillisecond + asecond) as any),\r\n\t\t\t\t\"minute\": this._t((dmillisecond + aminute) as any),\r\n\t\t\t\t\"hour\": this._t((dmillisecond + ahour) as any),\r\n\t\t\t\t\"day\": this._t((dmillisecond + aday) as any),\r\n\t\t\t\t\"week\": this._t((dmillisecond + aweek) as any),\r\n\t\t\t\t\"month\": this._t((dmillisecond + amonth) as any),\r\n\t\t\t\t\"year\": this._t((dmillisecond + ayear) as any)\r\n\t\t\t},\r\n\t\t\t\"second\": {\r\n\t\t\t\t\"second\": this._t((dsecond) as any),\r\n\t\t\t\t\"minute\": this._t((dsecond + aminute) as any),\r\n\t\t\t\t\"hour\": this._t((dsecond + ahour) as any),\r\n\t\t\t\t\"day\": this._t((dsecond + aday) as any),\r\n\t\t\t\t\"week\": this._t((dsecond + aweek) as any),\r\n\t\t\t\t\"month\": this._t((dsecond + amonth) as any),\r\n\t\t\t\t\"year\": this._t((dsecond + ayear) as any)\r\n\t\t\t},\r\n\t\t\t\"minute\": {\r\n\t\t\t\t\"minute\": this._t((dminute) as any),\r\n\t\t\t\t\"hour\": this._t((dminute + ahour) as any),\r\n\t\t\t\t\"day\": this._t((dminute + aday) as any),\r\n\t\t\t\t\"week\": this._t((dminute + aweek) as any),\r\n\t\t\t\t\"month\": this._t((dminute + amonth) as any),\r\n\t\t\t\t\"year\": this._t((dminute + ayear) as any)\r\n\t\t\t},\r\n\t\t\t\"hour\": {\r\n\t\t\t\t\"hour\": this._t((dhour) as any),\r\n\t\t\t\t\"day\": this._t((dhour + aday) as any),\r\n\t\t\t\t\"week\": this._t((dhour + aweek) as any),\r\n\t\t\t\t\"month\": this._t((dhour + amonth) as any),\r\n\t\t\t\t\"year\": this._t((dhour + ayear) as any)\r\n\t\t\t},\r\n\t\t\t\"day\": {\r\n\t\t\t\t\"day\": this._t((dday) as any),\r\n\t\t\t\t\"week\": this._t((dday + aweek) as any),\r\n\t\t\t\t\"month\": this._t((dday + amonth) as any),\r\n\t\t\t\t\"year\": this._t((dday + ayear) as any)\r\n\t\t\t},\r\n\t\t\t\"week\": {\r\n\t\t\t\t\"week\": this._t((dweek) as any),\r\n\t\t\t\t\"month\": this._t((dweek + amonth) as any),\r\n\t\t\t\t\"year\": this._t((dweek + ayear) as any)\r\n\t\t\t},\r\n\t\t\t\"month\": {\r\n\t\t\t\t\"month\": this._t((dmonth) as any),\r\n\t\t\t\t\"year\": this._t((dmonth + ayear) as any)\r\n\t\t\t},\r\n\t\t\t\"year\": {\r\n\t\t\t\t\"year\": this._t(dyear)\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tsuper._setDefaults();\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * Collection of aliases for units.\r\n\t */\r\n\tprotected _unitAliases: { [index: string]: string } = {\r\n\t\t\"Y\": \"y\",\r\n\t\t\"D\": \"d\",\r\n\t\t\"H\": \"h\",\r\n\t\t\"K\": \"h\",\r\n\t\t\"k\": \"h\",\r\n\t\t\"n\": \"S\"\r\n\t};\r\n\r\n\tpublic _beforeChanged() {\r\n\t\tsuper._beforeChanged();\r\n\t}\r\n\r\n\t/**\r\n\t * Formats the number as duration.\r\n\t *\r\n\t * For example `1000` (base unit seconds) would be converted to `16:40` as in\r\n\t * 16 minutes and 40 seconds.\r\n\t *\r\n\t * @param value Value to format\r\n\t * @param format Format to apply\r\n\t * @param base Override base unit\r\n\t * @return Formatted number\r\n\t */\r\n\tpublic format(value: number | string, format?: string, base?: TimeUnit): string {\r\n\r\n\t\t// no base unit?\r\n\t\tlet baseUnit = base || this.get(\"baseUnit\");\r\n\r\n\t\t// no format passed in or empty\r\n\t\tif (typeof format === \"undefined\" || format === \"\") {\r\n\t\t\tif (this.get(\"durationFormat\") != null) {\r\n\t\t\t\tformat = this.get(\"durationFormat\");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tformat = this.getFormat($type.toNumber(value), undefined, baseUnit);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Clean format\r\n\t\tformat = $utils.cleanFormat(format!);\r\n\r\n\t\t// get format info (it will also deal with parser caching)\r\n\t\tlet info = this.parseFormat(format, baseUnit);\r\n\r\n\t\t// cast to number just in case\r\n\t\t// TODO: maybe use better casting\r\n\t\tlet source: number = Number(value);\r\n\r\n\t\t// format and replace the number\r\n\t\tlet details;\r\n\t\tif (source > this.get(\"negativeBase\")) {\r\n\t\t\tdetails = info.positive;\r\n\t\t}\r\n\t\telse if (source < this.get(\"negativeBase\")) {\r\n\t\t\tdetails = info.negative;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tdetails = info.zero;\r\n\t\t}\r\n\r\n\r\n\t\t// Format\r\n\t\tlet formatted = this.applyFormat(source, details);\r\n\r\n\t\t// Apply color?\r\n\t\tif (details.color !== \"\") {\r\n\t\t\tformatted = \"[\" + details.color + \"]\" + formatted + \"[/]\";\r\n\t\t}\r\n\r\n\t\treturn formatted;\r\n\t}\r\n\r\n\t/**\r\n\t * Parses supplied format into structured object which can be used to format\r\n\t * the number.\r\n\t *\r\n\t * @param format Format string, i.e. \"#,###.00\"\r\n\t * @param base Override base unit\r\n\t * @return Parsed information\r\n\t */\r\n\tprotected parseFormat(format: string, base?: TimeUnit): any {\r\n\r\n\t\t// Check cache\r\n\t\t// TODO\r\n\t\t// let cached = this.getCache(format);\r\n\t\t// if (cached != null) {\r\n\t\t// \treturn cached;\r\n\t\t// }\r\n\r\n\t\t// no base unit?\r\n\t\tlet baseUnit = base || this.get(\"baseUnit\");\r\n\r\n\t\t// Initialize duration parsing info\r\n\t\tlet info = {\r\n\t\t\t\"positive\": {\r\n\t\t\t\t\"color\": \"\",\r\n\t\t\t\t\"template\": \"\",\r\n\t\t\t\t\"parts\": <any>[],\r\n\t\t\t\t\"source\": \"\",\r\n\t\t\t\t\"baseUnit\": baseUnit,\r\n\t\t\t\t\"parsed\": false,\r\n\t\t\t\t\"absolute\": false\r\n\t\t\t},\r\n\t\t\t\"negative\": {\r\n\t\t\t\t\"color\": \"\",\r\n\t\t\t\t\"template\": \"\",\r\n\t\t\t\t\"parts\": <any>[],\r\n\t\t\t\t\"source\": \"\",\r\n\t\t\t\t\"baseUnit\": baseUnit,\r\n\t\t\t\t\"parsed\": false,\r\n\t\t\t\t\"absolute\": false\r\n\t\t\t},\r\n\t\t\t\"zero\": {\r\n\t\t\t\t\"color\": \"\",\r\n\t\t\t\t\"template\": \"\",\r\n\t\t\t\t\"parts\": <any>[],\r\n\t\t\t\t\"source\": \"\",\r\n\t\t\t\t\"baseUnit\": baseUnit,\r\n\t\t\t\t\"parsed\": false,\r\n\t\t\t\t\"absolute\": false\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// Escape double vertical bars (that mean display one vertical bar)\r\n\t\tformat = format.replace(\"||\", $type.PLACEHOLDER2);\r\n\r\n\t\t// Split it up and deal with different formats\r\n\t\tlet parts = format.split(\"|\");\r\n\t\tinfo.positive.source = parts[0];\r\n\r\n\t\tif (typeof parts[2] === \"undefined\") {\r\n\t\t\tinfo.zero = info.positive;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tinfo.zero.source = parts[2];\r\n\t\t}\r\n\r\n\t\tif (typeof parts[1] === \"undefined\") {\r\n\t\t\tinfo.negative = info.positive;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tinfo.negative.source = parts[1];\r\n\t\t}\r\n\r\n\t\t// Parse each\r\n\t\t$object.each(info, (_part, item) => {\r\n\t\t\t// Already parsed\r\n\t\t\tif (item.parsed) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// Check cached\r\n\t\t\t// TODO\r\n\t\t\t// if (typeof this.getCache(item.source) !== \"undefined\") {\r\n\t\t\t// \tinfo[part] = this.getCache(item.source);\r\n\t\t\t// \treturn;\r\n\t\t\t// }\r\n\r\n\t\t\t// Begin parsing\r\n\t\t\tlet partFormat: string = item.source;\r\n\r\n\t\t\t// Check for [] directives\r\n\t\t\tlet dirs: string[] | null = [];\r\n\t\t\tdirs = item.source.match(/^\\[([^\\]]*)\\]/);\r\n\t\t\tif (dirs && dirs.length && dirs[0] !== \"\") {\r\n\t\t\t\tpartFormat = item.source.substr(dirs[0].length);\r\n\t\t\t\titem.color = dirs[1];\r\n\t\t\t}\r\n\r\n\r\n\t\t\t// Let TextFormatter split into chunks\r\n\t\t\tlet chunks = TextFormatter.chunk(partFormat, true);\r\n\t\t\tfor (let i: number = 0; i < chunks.length; i++) {\r\n\t\t\t\tlet chunk = chunks[i];\r\n\r\n\t\t\t\t// replace back double vertical bar\r\n\t\t\t\tchunk.text = chunk.text.replace($type.PLACEHOLDER2, \"|\");\r\n\r\n\t\t\t\tif (chunk.type === \"value\") {\r\n\r\n\t\t\t\t\t// Just \"Duration\"?\r\n\t\t\t\t\t// if (chunk.text.toLowerCase() === \"duration\") {\r\n\t\t\t\t\t// \tchunk.text = durationFormat;\r\n\t\t\t\t\t// }\r\n\r\n\t\t\t\t\t// Check for \"a\" (absolute) modifier\r\n\t\t\t\t\tif (chunk.text.match(/[yYMdDwhHKkmsSn]+a/)) {\r\n\t\t\t\t\t\titem.absolute = true;\r\n\t\t\t\t\t\tchunk.text = chunk.text.replace(/([yYMdDwhHKkmsSn]+)a/, \"$1\");\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Find all possible parts\r\n\t\t\t\t\tlet matches = chunk.text.match(/y+|Y+|M+|d+|D+|w+|h+|H+|K+|k+|m+|s+|S+|n+/g);\r\n\r\n\t\t\t\t\tif (matches) {\r\n\t\t\t\t\t\t// Populate template\r\n\t\t\t\t\t\tfor (let x = 0; x < matches.length; x++) {\r\n\t\t\t\t\t\t\t// Is it an alias?\r\n\t\t\t\t\t\t\tif (matches[x] == null) {\r\n\t\t\t\t\t\t\t\tmatches[x] = this._unitAliases[matches[x]];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\titem.parts.push(matches[x]);\r\n\t\t\t\t\t\t\tchunk.text = chunk.text.replace(matches[x], $type.PLACEHOLDER);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Apply to template\r\n\t\t\t\titem.template += chunk.text;\r\n\t\t\t}\r\n\r\n\t\t\t// Apply style formatting\r\n\t\t\t//item.template = TextFormatter.format(item.template, this.outputFormat);\r\n\r\n\t\t\t// Save cache\r\n\t\t\t// TODO\r\n\t\t\t//this.setCache(item.source, item);\r\n\r\n\t\t\t// Mark this as parsed\r\n\t\t\titem.parsed = true;\r\n\t\t});\r\n\r\n\t\t// Save cache (the whole thing)\r\n\t\t// TODO\r\n\t\t//this.setCache(format, info);\r\n\r\n\t\treturn info;\r\n\t}\r\n\r\n\t/**\r\n\t * Applies parsed format to a numeric value.\r\n\t *\r\n\t * @param value Value\r\n\t * @param details Parsed format as returned by {parseFormat}\r\n\t * @return Formatted duration\r\n\t */\r\n\tprotected applyFormat(value: number, details: any): string {\r\n\r\n\t\t// Use absolute values\r\n\t\tlet negative = !details.absolute && (value < this.get(\"negativeBase\"));\r\n\t\tvalue = Math.abs(value);\r\n\r\n\t\t// Recalculate to milliseconds\r\n\t\tlet tstamp = this.toTimeStamp(value, details.baseUnit);\r\n\r\n\t\t// Init return value\r\n\t\tlet res = details.template;\r\n\r\n\t\t// Iterate through duration parts\r\n\t\tfor (let i = 0, len = details.parts.length; i < len; i++) {\r\n\r\n\t\t\t// Gather the part\r\n\t\t\tlet part = details.parts[i];\r\n\t\t\tlet unit = this._toTimeUnit(part.substr(0, 1));\r\n\t\t\tlet digits = part.length;\r\n\r\n\t\t\t// Calculate current unit value\r\n\t\t\tlet ints = Math.floor(tstamp / this._getUnitValue(unit!));\r\n\t\t\tres = res.replace($type.PLACEHOLDER, $utils.padString(ints, digits, \"0\"));\r\n\r\n\t\t\t// Reduce timestamp\r\n\t\t\ttstamp -= ints * this._getUnitValue(unit!);\r\n\t\t}\r\n\r\n\t\t// Reapply negative sign\r\n\t\tif (negative) {\r\n\t\t\tres = \"-\" + res;\r\n\t\t}\r\n\r\n\t\treturn res;\r\n\t}\r\n\r\n\t/**\r\n\t * Converts numeric value to timestamp in milliseconds.\r\n\t *\r\n\t * @param value A source value\r\n\t * @param baseUnit Base unit the source value is in: \"q\", \"s\", \"i\", \"h\", \"d\", \"w\", \"m\", \"y\"\r\n\t * @return Value representation as a timestamp in milliseconds\r\n\t */\r\n\tpublic toTimeStamp(value: number, baseUnit: TimeUnit): number {\r\n\t\treturn value * this._getUnitValue(baseUnit);\r\n\t}\r\n\r\n\tprotected _toTimeUnit(code: string): TimeUnit | undefined {\r\n\t\tswitch (code) {\r\n\t\t\tcase \"S\":\r\n\t\t\t\treturn \"millisecond\";\r\n\t\t\tcase \"s\":\r\n\t\t\t\treturn \"second\";\r\n\t\t\tcase \"m\":\r\n\t\t\t\treturn \"minute\";\r\n\t\t\tcase \"h\":\r\n\t\t\t\treturn \"hour\";\r\n\t\t\tcase \"d\":\r\n\t\t\t\treturn \"day\";\r\n\t\t\tcase \"w\":\r\n\t\t\t\treturn \"week\";\r\n\t\t\tcase \"M\":\r\n\t\t\t\treturn \"month\";\r\n\t\t\tcase \"y\":\r\n\t\t\t\treturn \"year\";\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * Returns appropriate default format for the value.\r\n\t *\r\n\t * If `maxValue` is sepcified, it will use that value to determine the time\r\n\t * unit for the format.\r\n\t *\r\n\t * For example if your `baseUnit` is `\"second\"` and you pass in `10`, you\r\n\t * will get `\"10\"`.\r\n\t *\r\n\t * However, you might want it to be formatted in the context of bigger scale,\r\n\t * say 10 minutes (600 seconds). If you pass in `600` as `maxValue`, all\r\n\t * values, including small ones will use format with minutes, e.g.:\r\n\t * `00:10`, `00:50`, `12: 30`, etc.\r\n\t *\r\n\t * @param value Value to format\r\n\t * @param maxValue Maximum value to be used to determine format\r\n\t * @param baseUnit Base unit of the value\r\n\t * @return Format\r\n\t */\r\n\tpublic getFormat(value: number, maxValue?: number, baseUnit?: TimeUnit): string {\r\n\r\n\t\t// Is format override set?\r\n\t\tif (this.get(\"durationFormat\") != null) {\r\n\t\t\treturn this.get(\"durationFormat\")!;\r\n\t\t}\r\n\r\n\t\t// Get base unit\r\n\t\tif (!baseUnit) {\r\n\t\t\tbaseUnit = this.get(\"baseUnit\");\r\n\t\t}\r\n\r\n\t\tif (maxValue != null && value != maxValue) {\r\n\t\t\tvalue = Math.abs(value);\r\n\t\t\tmaxValue = Math.abs(maxValue);\r\n\t\t\tlet maxUnit = this.getValueUnit(Math.max(value, maxValue), baseUnit);\r\n\t\t\treturn (<any>this.get(\"durationFormats\"))[baseUnit!][maxUnit!];\r\n\t\t}\r\n\t\telse {\r\n\t\t\tlet unit = this.getValueUnit(value, baseUnit);\r\n\t\t\treturn (<any>this.get(\"durationFormats\"))[baseUnit!][unit!];\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t/**\r\n\t * Returns value's closest denominator time unit, e.g 100 seconds is\r\n\t * `\"minute\"`, while 59 seconds would still be `second`.\r\n\t *\r\n\t * @param value Source duration value\r\n\t * @param baseUnit Base unit\r\n\t * @return Denominator\r\n\t */\r\n\tpublic getValueUnit(value: number, baseUnit?: TimeUnit): TimeUnit | undefined {\r\n\r\n\t\t// Get base unit\r\n\t\tif (!baseUnit) {\r\n\t\t\tbaseUnit = this.get(\"baseUnit\");\r\n\t\t}\r\n\r\n\t\t// Convert to milliseconds\r\n\t\tlet currentUnit: any;\r\n\t\tlet ms = this.getMilliseconds(value, baseUnit);\r\n\t\t$object.eachContinue(this._getUnitValues(), (key, val) => {\r\n\t\t\tif (key == baseUnit || currentUnit) {\r\n\t\t\t\tlet num = ms / val;\r\n\t\t\t\tif (num <= 1) {\r\n\t\t\t\t\tif (!currentUnit) {\r\n\t\t\t\t\t\tcurrentUnit = key;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tcurrentUnit = key;\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t});\r\n\r\n\t\treturn currentUnit;\r\n\t}\r\n\r\n\t/**\r\n\t * Converts value to milliseconds according to `baseUnit`.\r\n\t *\r\n\t * @param value Source duration value\r\n\t * @param baseUnit Base unit\r\n\t * @return Value in milliseconds\r\n\t */\r\n\tpublic getMilliseconds(value: number, baseUnit?: TimeUnit): number {\r\n\r\n\t\t// Get base unit\r\n\t\tif (!baseUnit) {\r\n\t\t\tbaseUnit = this.get(\"baseUnit\");\r\n\t\t}\r\n\r\n\t\treturn value * this._getUnitValue(baseUnit!);\r\n\t}\r\n\r\n\tprotected _getUnitValue(timeUnit: TimeUnit): number {\r\n\t\treturn this._getUnitValues()[timeUnit];\r\n\t}\r\n\r\n\tprotected _getUnitValues(): any {\r\n\t\treturn {\r\n\t\t\t\"millisecond\": 1,\r\n\t\t\t\"second\": 1000,\r\n\t\t\t\"minute\": 60000,\r\n\t\t\t\"hour\": 3600000,\r\n\t\t\t\"day\": 86400000,\r\n\t\t\t\"week\": 604800000,\r\n\t\t\t\"month\": 2592000000,\r\n\t\t\t\"year\": 31536000000,\r\n\t\t};\r\n\t}\r\n\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"DurationFormatter.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/DurationFormatter.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TimeUnit } from \"./Time\";\r\n\r\nimport { Entity, IEntitySettings, IEntityPrivate } from \"./Entity\"\r\nimport { TextFormatter } from \"./TextFormatter\";\r\n\r\nimport * as $object from \"./Object\";\r\nimport * as $utils from \"./Utils\";\r\nimport * as $type from \"./Type\";\r\n\r\n\r\nexport interface IDurationFormatterSettings extends IEntitySettings {\r\n\r\n\t/**\r\n\t * A universal duration format to use wherever number needs to be formatted\r\n\t * as a duration.\r\n\t */\r\n\tdurationFormat?: string;\r\n\r\n\t/**\r\n\t * A base value. Any number below it will be considered \"negative\".\r\n\t *\r\n\t * @default 0\r\n\t */\r\n\tnegativeBase?: number;\r\n\r\n\t/**\r\n\t * Identifies what values are used in duration.\r\n\t *\r\n\t * Available options: `\"millisecond\"`, `\"second\"` (default), `\"minute\"`, `\"hour\"`, `\"day\"`, `\"week\"`, `\"month\"`, and `\"year\"`.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/formatting-durations/#Base_unit} for more info\r\n\t * @default \"second\"\r\n\t */\r\n\tbaseUnit?: TimeUnit;\r\n\r\n\t/**\r\n\t * Time unit dependent duration formats.\r\n\t *\r\n\t * Used be [[DurationAxis]].\r\n\t */\r\n\tdurationFormats?: Partial<Record<TimeUnit, Partial<Record<TimeUnit, string>>>>;\r\n\r\n\t/**\r\n\t * An array of data fields that hold duration values and should be formatted\r\n\t * with a [[DurationFormatter]].\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/data-placeholders/#Formatting_placeholders} for more info\r\n\t */\r\n\tdurationFields?: string[];\r\n\r\n}\r\n\r\nexport interface IDurationFormatterPrivate extends IEntityPrivate {\r\n}\r\n\r\n/**\r\n * A class used to format numberic values as time duration.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/formatting-durations/} for more info\r\n */\r\nexport class DurationFormatter extends Entity {\r\n\tdeclare public _settings: IDurationFormatterSettings;\r\n\tdeclare public _privateSettings: IDurationFormatterPrivate;\r\n\r\n\tprotected _setDefaults() {\r\n\t\tconst dmillisecond = \"_duration_millisecond\";\r\n\t\tconst dsecond = \"_duration_second\";\r\n\t\tconst dminute = \"_duration_minute\";\r\n\t\tconst dhour = \"_duration_hour\";\r\n\t\tconst dday = \"_duration_day\";\r\n\t\tconst dweek = \"_duration_week\";\r\n\t\tconst dmonth = \"_duration_month\";\r\n\t\tconst dyear = \"_duration_year\";\r\n\r\n\t\tconst asecond = \"_second\";\r\n\t\tconst aminute = \"_minute\";\r\n\t\tconst ahour = \"_hour\";\r\n\t\tconst aday = \"_day\";\r\n\t\tconst aweek = \"_week\";\r\n\t\tconst amonth = \"_week\";\r\n\t\tconst ayear = \"_year\";\r\n\r\n\t\t// Defaults\r\n\t\tthis._setDefault(\"negativeBase\", 0);\r\n\t\tthis._setDefault(\"baseUnit\", \"second\");\r\n\t\tthis._setDefault(\"durationFormats\", {\r\n\t\t\t\"millisecond\": {\r\n\t\t\t\t\"millisecond\": this._t(dmillisecond),\r\n\t\t\t\t\"second\": this._t((dmillisecond + asecond) as any),\r\n\t\t\t\t\"minute\": this._t((dmillisecond + aminute) as any),\r\n\t\t\t\t\"hour\": this._t((dmillisecond + ahour) as any),\r\n\t\t\t\t\"day\": this._t((dmillisecond + aday) as any),\r\n\t\t\t\t\"week\": this._t((dmillisecond + aweek) as any),\r\n\t\t\t\t\"month\": this._t((dmillisecond + amonth) as any),\r\n\t\t\t\t\"year\": this._t((dmillisecond + ayear) as any)\r\n\t\t\t},\r\n\t\t\t\"second\": {\r\n\t\t\t\t\"second\": this._t((dsecond) as any),\r\n\t\t\t\t\"minute\": this._t((dsecond + aminute) as any),\r\n\t\t\t\t\"hour\": this._t((dsecond + ahour) as any),\r\n\t\t\t\t\"day\": this._t((dsecond + aday) as any),\r\n\t\t\t\t\"week\": this._t((dsecond + aweek) as any),\r\n\t\t\t\t\"month\": this._t((dsecond + amonth) as any),\r\n\t\t\t\t\"year\": this._t((dsecond + ayear) as any)\r\n\t\t\t},\r\n\t\t\t\"minute\": {\r\n\t\t\t\t\"minute\": this._t((dminute) as any),\r\n\t\t\t\t\"hour\": this._t((dminute + ahour) as any),\r\n\t\t\t\t\"day\": this._t((dminute + aday) as any),\r\n\t\t\t\t\"week\": this._t((dminute + aweek) as any),\r\n\t\t\t\t\"month\": this._t((dminute + amonth) as any),\r\n\t\t\t\t\"year\": this._t((dminute + ayear) as any)\r\n\t\t\t},\r\n\t\t\t\"hour\": {\r\n\t\t\t\t\"hour\": this._t((dhour) as any),\r\n\t\t\t\t\"day\": this._t((dhour + aday) as any),\r\n\t\t\t\t\"week\": this._t((dhour + aweek) as any),\r\n\t\t\t\t\"month\": this._t((dhour + amonth) as any),\r\n\t\t\t\t\"year\": this._t((dhour + ayear) as any)\r\n\t\t\t},\r\n\t\t\t\"day\": {\r\n\t\t\t\t\"day\": this._t((dday) as any),\r\n\t\t\t\t\"week\": this._t((dday + aweek) as any),\r\n\t\t\t\t\"month\": this._t((dday + amonth) as any),\r\n\t\t\t\t\"year\": this._t((dday + ayear) as any)\r\n\t\t\t},\r\n\t\t\t\"week\": {\r\n\t\t\t\t\"week\": this._t((dweek) as any),\r\n\t\t\t\t\"month\": this._t((dweek + amonth) as any),\r\n\t\t\t\t\"year\": this._t((dweek + ayear) as any)\r\n\t\t\t},\r\n\t\t\t\"month\": {\r\n\t\t\t\t\"month\": this._t((dmonth) as any),\r\n\t\t\t\t\"year\": this._t((dmonth + ayear) as any)\r\n\t\t\t},\r\n\t\t\t\"year\": {\r\n\t\t\t\t\"year\": this._t(dyear)\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tsuper._setDefaults();\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * Collection of aliases for units.\r\n\t */\r\n\tprotected _unitAliases: { [index: string]: string } = {\r\n\t\t\"Y\": \"y\",\r\n\t\t\"D\": \"d\",\r\n\t\t\"H\": \"h\",\r\n\t\t\"K\": \"h\",\r\n\t\t\"k\": \"h\",\r\n\t\t\"n\": \"S\"\r\n\t};\r\n\r\n\tpublic _beforeChanged() {\r\n\t\tsuper._beforeChanged();\r\n\t}\r\n\r\n\t/**\r\n\t * Formats the number as duration.\r\n\t *\r\n\t * For example `1000` (base unit seconds) would be converted to `16:40` as in\r\n\t * 16 minutes and 40 seconds.\r\n\t *\r\n\t * @param value Value to format\r\n\t * @param format Format to apply\r\n\t * @param base Override base unit\r\n\t * @return Formatted number\r\n\t */\r\n\tpublic format(value: number | string, format?: string, base?: TimeUnit): string {\r\n\r\n\t\t// no base unit?\r\n\t\tlet baseUnit = base || this.get(\"baseUnit\");\r\n\r\n\t\t// no format passed in or empty\r\n\t\tif (typeof format === \"undefined\" || format === \"\") {\r\n\t\t\tif (this.get(\"durationFormat\") != null) {\r\n\t\t\t\tformat = this.get(\"durationFormat\");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tformat = this.getFormat($type.toNumber(value), undefined, baseUnit);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Clean format\r\n\t\tformat = $utils.cleanFormat(format!);\r\n\r\n\t\t// get format info (it will also deal with parser caching)\r\n\t\tlet info = this.parseFormat(format, baseUnit);\r\n\r\n\t\t// cast to number just in case\r\n\t\t// TODO: maybe use better casting\r\n\t\tlet source: number = Number(value);\r\n\r\n\t\t// format and replace the number\r\n\t\tlet details;\r\n\t\tif (source > this.get(\"negativeBase\")) {\r\n\t\t\tdetails = info.positive;\r\n\t\t}\r\n\t\telse if (source < this.get(\"negativeBase\")) {\r\n\t\t\tdetails = info.negative;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tdetails = info.zero;\r\n\t\t}\r\n\r\n\t\t// Format\r\n\t\tlet formatted = this.applyFormat(source, details);\r\n\r\n\t\t// Apply color?\r\n\t\tif (details.color !== \"\") {\r\n\t\t\tformatted = \"[\" + details.color + \"]\" + formatted + \"[/]\";\r\n\t\t}\r\n\r\n\t\treturn formatted;\r\n\t}\r\n\r\n\t/**\r\n\t * Parses supplied format into structured object which can be used to format\r\n\t * the number.\r\n\t *\r\n\t * @param format Format string, i.e. \"#,###.00\"\r\n\t * @param base Override base unit\r\n\t * @return Parsed information\r\n\t */\r\n\tprotected parseFormat(format: string, base?: TimeUnit): any {\r\n\r\n\t\t// Check cache\r\n\t\t// TODO\r\n\t\t// let cached = this.getCache(format);\r\n\t\t// if (cached != null) {\r\n\t\t// \treturn cached;\r\n\t\t// }\r\n\r\n\t\t// no base unit?\r\n\t\tlet baseUnit = base || this.get(\"baseUnit\");\r\n\r\n\t\t// Initialize duration parsing info\r\n\t\tlet info = {\r\n\t\t\t\"positive\": {\r\n\t\t\t\t\"color\": \"\",\r\n\t\t\t\t\"template\": \"\",\r\n\t\t\t\t\"parts\": <any>[],\r\n\t\t\t\t\"source\": \"\",\r\n\t\t\t\t\"baseUnit\": baseUnit,\r\n\t\t\t\t\"parsed\": false,\r\n\t\t\t\t\"absolute\": false\r\n\t\t\t},\r\n\t\t\t\"negative\": {\r\n\t\t\t\t\"color\": \"\",\r\n\t\t\t\t\"template\": \"\",\r\n\t\t\t\t\"parts\": <any>[],\r\n\t\t\t\t\"source\": \"\",\r\n\t\t\t\t\"baseUnit\": baseUnit,\r\n\t\t\t\t\"parsed\": false,\r\n\t\t\t\t\"absolute\": false\r\n\t\t\t},\r\n\t\t\t\"zero\": {\r\n\t\t\t\t\"color\": \"\",\r\n\t\t\t\t\"template\": \"\",\r\n\t\t\t\t\"parts\": <any>[],\r\n\t\t\t\t\"source\": \"\",\r\n\t\t\t\t\"baseUnit\": baseUnit,\r\n\t\t\t\t\"parsed\": false,\r\n\t\t\t\t\"absolute\": false\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// Escape double vertical bars (that mean display one vertical bar)\r\n\t\tformat = format.replace(\"||\", $type.PLACEHOLDER2);\r\n\r\n\t\t// Split it up and deal with different formats\r\n\t\tlet parts = format.split(\"|\");\r\n\t\tinfo.positive.source = parts[0];\r\n\r\n\t\tif (typeof parts[2] === \"undefined\") {\r\n\t\t\tinfo.zero = info.positive;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tinfo.zero.source = parts[2];\r\n\t\t}\r\n\r\n\t\tif (typeof parts[1] === \"undefined\") {\r\n\t\t\tinfo.negative = info.positive;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tinfo.negative.source = parts[1];\r\n\t\t}\r\n\r\n\t\t// Parse each\r\n\t\t$object.each(info, (_part, item) => {\r\n\t\t\t// Already parsed\r\n\t\t\tif (item.parsed) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// Check cached\r\n\t\t\t// TODO\r\n\t\t\t// if (typeof this.getCache(item.source) !== \"undefined\") {\r\n\t\t\t// \tinfo[part] = this.getCache(item.source);\r\n\t\t\t// \treturn;\r\n\t\t\t// }\r\n\r\n\t\t\t// Begin parsing\r\n\t\t\tlet partFormat: string = item.source;\r\n\r\n\t\t\t// Check for [] directives\r\n\t\t\tlet dirs: string[] | null = [];\r\n\t\t\tdirs = item.source.match(/^\\[([^\\]]*)\\]/);\r\n\t\t\tif (dirs && dirs.length && dirs[0] !== \"\") {\r\n\t\t\t\tpartFormat = item.source.substr(dirs[0].length);\r\n\t\t\t\titem.color = dirs[1];\r\n\t\t\t}\r\n\r\n\r\n\t\t\t// Let TextFormatter split into chunks\r\n\t\t\tlet chunks = TextFormatter.chunk(partFormat, true);\r\n\t\t\tfor (let i: number = 0; i < chunks.length; i++) {\r\n\t\t\t\tlet chunk = chunks[i];\r\n\r\n\t\t\t\t// replace back double vertical bar\r\n\t\t\t\tchunk.text = chunk.text.replace($type.PLACEHOLDER2, \"|\");\r\n\r\n\t\t\t\tif (chunk.type === \"value\") {\r\n\r\n\t\t\t\t\t// Just \"Duration\"?\r\n\t\t\t\t\t// if (chunk.text.toLowerCase() === \"duration\") {\r\n\t\t\t\t\t// \tchunk.text = durationFormat;\r\n\t\t\t\t\t// }\r\n\r\n\t\t\t\t\t// Check for \"a\" (absolute) modifier\r\n\t\t\t\t\tif (chunk.text.match(/[yYMdDwhHKkmsSn]+a/)) {\r\n\t\t\t\t\t\titem.absolute = true;\r\n\t\t\t\t\t\tchunk.text = chunk.text.replace(/([yYMdDwhHKkmsSn]+)a/, \"$1\");\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Find all possible parts\r\n\t\t\t\t\tlet matches = chunk.text.match(/y+|Y+|M+|d+|D+|w+|h+|H+|K+|k+|m+|s+|S+|n+/g);\r\n\r\n\t\t\t\t\tif (matches) {\r\n\t\t\t\t\t\t// Populate template\r\n\t\t\t\t\t\tfor (let x = 0; x < matches.length; x++) {\r\n\t\t\t\t\t\t\t// Is it an alias?\r\n\t\t\t\t\t\t\tif (matches[x] == null) {\r\n\t\t\t\t\t\t\t\tmatches[x] = this._unitAliases[matches[x]];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\titem.parts.push(matches[x]);\r\n\t\t\t\t\t\t\tchunk.text = chunk.text.replace(matches[x], $type.PLACEHOLDER);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Apply to template\r\n\t\t\t\titem.template += chunk.text;\r\n\t\t\t}\r\n\r\n\t\t\t// Apply style formatting\r\n\t\t\t//item.template = TextFormatter.format(item.template, this.outputFormat);\r\n\r\n\t\t\t// Save cache\r\n\t\t\t// TODO\r\n\t\t\t//this.setCache(item.source, item);\r\n\r\n\t\t\t// Mark this as parsed\r\n\t\t\titem.parsed = true;\r\n\t\t});\r\n\r\n\t\t// Save cache (the whole thing)\r\n\t\t// TODO\r\n\t\t//this.setCache(format, info);\r\n\r\n\t\treturn info;\r\n\t}\r\n\r\n\t/**\r\n\t * Applies parsed format to a numeric value.\r\n\t *\r\n\t * @param value Value\r\n\t * @param details Parsed format as returned by {parseFormat}\r\n\t * @return Formatted duration\r\n\t */\r\n\tprotected applyFormat(value: number, details: any): string {\r\n\r\n\t\t// Use absolute values\r\n\t\tlet negative = !details.absolute && (value < this.get(\"negativeBase\"));\r\n\t\tvalue = Math.abs(value);\r\n\r\n\t\t// Recalculate to milliseconds\r\n\t\tlet tstamp = this.toTimeStamp(value, details.baseUnit);\r\n\r\n\t\t// Init return value\r\n\t\tlet res = details.template;\r\n\r\n\t\t// Iterate through duration parts\r\n\t\tfor (let i = 0, len = details.parts.length; i < len; i++) {\r\n\r\n\t\t\t// Gather the part\r\n\t\t\tlet part = details.parts[i];\r\n\t\t\tlet unit = this._toTimeUnit(part.substr(0, 1));\r\n\t\t\tlet digits = part.length;\r\n\r\n\t\t\t// Calculate current unit value\r\n\t\t\tlet ints: number;\r\n\t\t\tconst unitValue = this._getUnitValue(unit!);\r\n\t\t\tif (i < (len -1)) {\r\n\t\t\t\tints = Math.floor(tstamp / unitValue);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tints = Math.round(tstamp / unitValue);\r\n\t\t\t}\r\n\t\t\tres = res.replace($type.PLACEHOLDER, $utils.padString(ints, digits, \"0\"));\r\n\r\n\t\t\t// Reduce timestamp\r\n\t\t\ttstamp -= ints * unitValue;\r\n\t\t}\r\n\r\n\t\t// Reapply negative sign\r\n\t\tif (negative) {\r\n\t\t\tres = \"-\" + res;\r\n\t\t}\r\n\r\n\t\treturn res;\r\n\t}\r\n\r\n\t/**\r\n\t * Converts numeric value to timestamp in milliseconds.\r\n\t *\r\n\t * @param value A source value\r\n\t * @param baseUnit Base unit the source value is in: \"q\", \"s\", \"i\", \"h\", \"d\", \"w\", \"m\", \"y\"\r\n\t * @return Value representation as a timestamp in milliseconds\r\n\t */\r\n\tpublic toTimeStamp(value: number, baseUnit: TimeUnit): number {\r\n\t\treturn value * this._getUnitValue(baseUnit);\r\n\t}\r\n\r\n\tprotected _toTimeUnit(code: string): TimeUnit | undefined {\r\n\t\tswitch (code) {\r\n\t\t\tcase \"S\":\r\n\t\t\t\treturn \"millisecond\";\r\n\t\t\tcase \"s\":\r\n\t\t\t\treturn \"second\";\r\n\t\t\tcase \"m\":\r\n\t\t\t\treturn \"minute\";\r\n\t\t\tcase \"h\":\r\n\t\t\t\treturn \"hour\";\r\n\t\t\tcase \"d\":\r\n\t\t\t\treturn \"day\";\r\n\t\t\tcase \"w\":\r\n\t\t\t\treturn \"week\";\r\n\t\t\tcase \"M\":\r\n\t\t\t\treturn \"month\";\r\n\t\t\tcase \"y\":\r\n\t\t\t\treturn \"year\";\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * Returns appropriate default format for the value.\r\n\t *\r\n\t * If `maxValue` is sepcified, it will use that value to determine the time\r\n\t * unit for the format.\r\n\t *\r\n\t * For example if your `baseUnit` is `\"second\"` and you pass in `10`, you\r\n\t * will get `\"10\"`.\r\n\t *\r\n\t * However, you might want it to be formatted in the context of bigger scale,\r\n\t * say 10 minutes (600 seconds). If you pass in `600` as `maxValue`, all\r\n\t * values, including small ones will use format with minutes, e.g.:\r\n\t * `00:10`, `00:50`, `12: 30`, etc.\r\n\t *\r\n\t * @param value Value to format\r\n\t * @param maxValue Maximum value to be used to determine format\r\n\t * @param baseUnit Base unit of the value\r\n\t * @return Format\r\n\t */\r\n\tpublic getFormat(value: number, maxValue?: number, baseUnit?: TimeUnit): string {\r\n\r\n\t\t// Is format override set?\r\n\t\tif (this.get(\"durationFormat\") != null) {\r\n\t\t\treturn this.get(\"durationFormat\")!;\r\n\t\t}\r\n\r\n\t\t// Get base unit\r\n\t\tif (!baseUnit) {\r\n\t\t\tbaseUnit = this.get(\"baseUnit\");\r\n\t\t}\r\n\r\n\t\tif (maxValue != null && value != maxValue) {\r\n\t\t\tvalue = Math.abs(value);\r\n\t\t\tmaxValue = Math.abs(maxValue);\r\n\t\t\tlet maxUnit = this.getValueUnit(Math.max(value, maxValue), baseUnit);\r\n\t\t\treturn (<any>this.get(\"durationFormats\"))[baseUnit!][maxUnit!];\r\n\t\t}\r\n\t\telse {\r\n\t\t\tlet unit = this.getValueUnit(value, baseUnit);\r\n\t\t\treturn (<any>this.get(\"durationFormats\"))[baseUnit!][unit!];\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t/**\r\n\t * Returns value's closest denominator time unit, e.g 100 seconds is\r\n\t * `\"minute\"`, while 59 seconds would still be `second`.\r\n\t *\r\n\t * @param value Source duration value\r\n\t * @param baseUnit Base unit\r\n\t * @return Denominator\r\n\t */\r\n\tpublic getValueUnit(value: number, baseUnit?: TimeUnit): TimeUnit | undefined {\r\n\r\n\t\t// Get base unit\r\n\t\tif (!baseUnit) {\r\n\t\t\tbaseUnit = this.get(\"baseUnit\");\r\n\t\t}\r\n\r\n\t\t// Convert to milliseconds\r\n\t\tlet currentUnit: any;\r\n\t\tlet ms = this.getMilliseconds(value, baseUnit);\r\n\t\t$object.eachContinue(this._getUnitValues(), (key, val) => {\r\n\t\t\tif (key == baseUnit || currentUnit) {\r\n\t\t\t\tlet num = ms / val;\r\n\t\t\t\tif (num <= 1) {\r\n\t\t\t\t\tif (!currentUnit) {\r\n\t\t\t\t\t\tcurrentUnit = key;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tcurrentUnit = key;\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t});\r\n\r\n\t\treturn currentUnit;\r\n\t}\r\n\r\n\t/**\r\n\t * Converts value to milliseconds according to `baseUnit`.\r\n\t *\r\n\t * @param value Source duration value\r\n\t * @param baseUnit Base unit\r\n\t * @return Value in milliseconds\r\n\t */\r\n\tpublic getMilliseconds(value: number, baseUnit?: TimeUnit): number {\r\n\r\n\t\t// Get base unit\r\n\t\tif (!baseUnit) {\r\n\t\t\tbaseUnit = this.get(\"baseUnit\");\r\n\t\t}\r\n\r\n\t\treturn value * this._getUnitValue(baseUnit!);\r\n\t}\r\n\r\n\tprotected _getUnitValue(timeUnit: TimeUnit): number {\r\n\t\treturn this._getUnitValues()[timeUnit];\r\n\t}\r\n\r\n\tprotected _getUnitValues(): any {\r\n\t\treturn {\r\n\t\t\t\"millisecond\": 1,\r\n\t\t\t\"second\": 1000,\r\n\t\t\t\"minute\": 60000,\r\n\t\t\t\"hour\": 3600000,\r\n\t\t\t\"day\": 86400000,\r\n\t\t\t\"week\": 604800000,\r\n\t\t\t\"month\": 2592000000,\r\n\t\t\t\"year\": 31536000000,\r\n\t\t};\r\n\t}\r\n\r\n}\r\n"]}
|
|
@@ -24,7 +24,7 @@ function modalCSS(element, root, _prefix) {
|
|
|
24
24
|
"z-index": "100000",
|
|
25
25
|
"top": "0",
|
|
26
26
|
"left": "0"
|
|
27
|
-
}),
|
|
27
|
+
}, root.nonce),
|
|
28
28
|
new StyleRule(element, ".am5-modal-curtain", {
|
|
29
29
|
"top": "0",
|
|
30
30
|
"left": "0",
|
|
@@ -33,7 +33,7 @@ function modalCSS(element, root, _prefix) {
|
|
|
33
33
|
"position": "absolute",
|
|
34
34
|
"background": ic.get("background").toCSS(0.5),
|
|
35
35
|
"z-index": "100"
|
|
36
|
-
}),
|
|
36
|
+
}, root.nonce),
|
|
37
37
|
new StyleRule(element, ".am5-modal-wrapper", {
|
|
38
38
|
"top": "0",
|
|
39
39
|
"left": "0",
|
|
@@ -44,14 +44,14 @@ function modalCSS(element, root, _prefix) {
|
|
|
44
44
|
"white-space": "nowrap",
|
|
45
45
|
"background": ic.get("background").toCSS(0.5),
|
|
46
46
|
"z-index": "101"
|
|
47
|
-
}),
|
|
47
|
+
}, root.nonce),
|
|
48
48
|
new StyleRule(element, ".am5-modal-wrapper:before", {
|
|
49
49
|
"content": "''",
|
|
50
50
|
"display": "inline-block",
|
|
51
51
|
"height": "100%",
|
|
52
52
|
"vertical-align": "middle",
|
|
53
53
|
"margin-right": "-0.25em"
|
|
54
|
-
}),
|
|
54
|
+
}, root.nonce),
|
|
55
55
|
new StyleRule(element, ".am5-modal-content", {
|
|
56
56
|
"display": "inline-block",
|
|
57
57
|
"padding": "1.2em",
|
|
@@ -64,38 +64,38 @@ function modalCSS(element, root, _prefix) {
|
|
|
64
64
|
"-webkit-box-shadow": "0px 0px 36px 0px " + shadow,
|
|
65
65
|
"box-shadow": "0px 0px 36px 0px " + shadow,
|
|
66
66
|
"color": text
|
|
67
|
-
}),
|
|
67
|
+
}, root.nonce),
|
|
68
68
|
new StyleRule(element, ".am5-modal-content h1", {
|
|
69
69
|
"font-size": "1em",
|
|
70
70
|
"margin": "0 0 0.5em 0"
|
|
71
|
-
}),
|
|
71
|
+
}, root.nonce),
|
|
72
72
|
new StyleRule(element, ".am5-modal-table", {
|
|
73
73
|
"display": "table",
|
|
74
74
|
"margin": "1em 0"
|
|
75
|
-
}),
|
|
75
|
+
}, root.nonce),
|
|
76
76
|
new StyleRule(element, ".am5-modal-table-row", {
|
|
77
77
|
"display": "table-row"
|
|
78
|
-
}),
|
|
78
|
+
}, root.nonce),
|
|
79
79
|
new StyleRule(element, ".am5-modal-table-heading", {
|
|
80
80
|
"display": "table-heading",
|
|
81
81
|
"padding": "3px 10px 3px 0",
|
|
82
|
-
}),
|
|
82
|
+
}, root.nonce),
|
|
83
83
|
new StyleRule(element, ".am5-modal-table-cell", {
|
|
84
84
|
"display": "table-cell",
|
|
85
85
|
"padding": "3px 0 3px 0",
|
|
86
|
-
}),
|
|
86
|
+
}, root.nonce),
|
|
87
87
|
new StyleRule(element, ".am5-modal-table-cell > *", {
|
|
88
88
|
"vertical-align": "middle"
|
|
89
|
-
}),
|
|
89
|
+
}, root.nonce),
|
|
90
90
|
new StyleRule(element, ".am5-modal-content input[type=text], .am5-modal-content input[type=number], .am5-modal-content select", {
|
|
91
91
|
"border": "1px solid " + active,
|
|
92
92
|
"border-radius": "4px",
|
|
93
93
|
"padding": "3px 5px",
|
|
94
94
|
"margin": "2px"
|
|
95
|
-
}),
|
|
95
|
+
}, root.nonce),
|
|
96
96
|
new StyleRule(element, ".am5-modal-input-narrow", {
|
|
97
97
|
"width": "50px"
|
|
98
|
-
}),
|
|
98
|
+
}, root.nonce),
|
|
99
99
|
new StyleRule(element, ".am5-modal-button", {
|
|
100
100
|
"font-weight": "400",
|
|
101
101
|
"color": ic.get("secondaryButtonText").toCSS(),
|
|
@@ -110,18 +110,18 @@ function modalCSS(element, root, _prefix) {
|
|
|
110
110
|
"margin": "0 0.25em 0 0",
|
|
111
111
|
"border": "1px solid " + ic.get("secondaryButtonStroke").toCSS(),
|
|
112
112
|
"background": ic.get("secondaryButton").toCSS()
|
|
113
|
-
}),
|
|
113
|
+
}, root.nonce),
|
|
114
114
|
new StyleRule(element, ".am5-modal-button:hover", {
|
|
115
115
|
"background": ic.get("secondaryButtonHover").toCSS()
|
|
116
|
-
}),
|
|
116
|
+
}, root.nonce),
|
|
117
117
|
new StyleRule(element, ".am5-modal-button.am5-modal-primary", {
|
|
118
118
|
"color": ic.get("primaryButtonText").toCSS(),
|
|
119
119
|
"border": "1px solid " + ic.get("primaryButtonStroke").toCSS(),
|
|
120
120
|
"background": ic.get("primaryButton").toCSS()
|
|
121
|
-
}),
|
|
121
|
+
}, root.nonce),
|
|
122
122
|
new StyleRule(element, ".am5-modal-button.am5-modal-primary:hover", {
|
|
123
123
|
"background": ic.get("primaryButtonHover").toCSS()
|
|
124
|
-
}),
|
|
124
|
+
}, root.nonce),
|
|
125
125
|
]);
|
|
126
126
|
rules = new CounterDisposer(() => {
|
|
127
127
|
rules = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Modal.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Root } from \"../Root\"\n\nimport { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from \"./Entity\";\nimport { StyleRule } from \"./Utils\"\nimport { MultiDisposer, IDisposer, CounterDisposer } from \"../../core/util/Disposer\";\n\nimport * as $utils from \"./Utils\"\n\n\n/**\n * @ignore\n */\nlet rules: CounterDisposer | undefined;\n\n/**\n * @ignore\n */\nfunction modalCSS(element: ShadowRoot | null, root: Root, _prefix?: string): IDisposer {\n\tconst ic = root.interfaceColors;\n\tconst active = ic.get(\"secondaryButton\")!.toCSS();\n\tconst text = ic.get(\"text\")!.toCSS();\n\tconst shadow = ic.get(\"alternativeBackground\")!.toCSS(0.45);\n\t//const altbg = ic.get(\"alternativeBackground\")!.toCSS();\n\n\tif (!rules) {\n\t\tconst disposer = new MultiDisposer([\n\n\t\t\tnew StyleRule(element, \".am5-modal\", {\n\t\t\t\t\"width\": \"100%\",\n\t\t\t\t\"height\": \"100%\",\n\t\t\t\t\"position\": \"absolute\",\n\t\t\t\t\"z-index\": \"100000\",\n\t\t\t\t\"top\": \"0\",\n\t\t\t\t\"left\": \"0\"\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-curtain\", {\n\t\t\t\t\"top\": \"0\",\n\t\t\t\t\"left\": \"0\",\n\t\t\t\t\"width\": \"100%\",\n\t\t\t\t\"height\": \"100%\",\n\t\t\t\t\"position\": \"absolute\",\n\t\t\t\t\"background\": ic.get(\"background\")!.toCSS(0.5),\n\t\t\t\t\"z-index\": \"100\"\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-wrapper\", {\n\t\t\t\t\"top\": \"0\",\n\t\t\t\t\"left\": \"0\",\n\t\t\t\t\"width\": \"100%\",\n\t\t\t\t\"height\": \"100%\",\n\t\t\t\t\"position\": \"absolute\",\n\t\t\t\t\"text-align\": \"center\",\n\t\t\t\t\"white-space\": \"nowrap\",\n\t\t\t\t\"background\": ic.get(\"background\")!.toCSS(0.5),\n\t\t\t\t\"z-index\": \"101\"\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-wrapper:before\", {\n\t\t\t\t\"content\": \"''\",\n\t\t\t\t\"display\": \"inline-block\",\n\t\t\t\t\"height\": \"100%\",\n\t\t\t\t\"vertical-align\": \"middle\",\n\t\t\t\t\"margin-right\": \"-0.25em\"\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-content\", {\n\t\t\t\t\"display\": \"inline-block\",\n\t\t\t\t\"padding\": \"1.2em\",\n\t\t\t\t\"vertical-align\": \"middle\",\n\t\t\t\t\"text-align\": \"left\",\n\t\t\t\t\"white-space\": \"normal\",\n\t\t\t\t\"background\": ic.get(\"background\")!.toCSS(),\n\t\t\t\t//\"border\": \"1px solid \" + ic.get(\"alternativeBackground\")!.toCSS(),\n\t\t\t\t\"border-radius\": \"4px\",\n\t\t\t\t\"-webkit-box-shadow\": \"0px 0px 36px 0px \" + shadow,\n\t\t\t\t\"box-shadow\": \"0px 0px 36px 0px \" + shadow,\n\t\t\t\t\"color\": text\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-content h1\", {\n\t\t\t\t\"font-size\": \"1em\",\n\t\t\t\t\"margin\": \"0 0 0.5em 0\"\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-table\", {\n\t\t\t\t\"display\": \"table\",\n\t\t\t\t\"margin\": \"1em 0\"\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-table-row\", {\n\t\t\t\t\"display\": \"table-row\"\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-table-heading\", {\n\t\t\t\t\"display\": \"table-heading\",\n\t\t\t\t\"padding\": \"3px 10px 3px 0\",\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-table-cell\", {\n\t\t\t\t\"display\": \"table-cell\",\n\t\t\t\t\"padding\": \"3px 0 3px 0\",\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-table-cell > *\", {\n\t\t\t\t\"vertical-align\": \"middle\"\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-content input[type=text], .am5-modal-content input[type=number], .am5-modal-content select\", {\n\t\t\t\t\"border\": \"1px solid \" + active,\n\t\t\t\t\"border-radius\": \"4px\",\n\t\t\t\t\"padding\": \"3px 5px\",\n\t\t\t\t\"margin\": \"2px\"\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-input-narrow\", {\n\t\t\t\t\"width\": \"50px\"\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-button\", {\n\t\t\t\t\"font-weight\": \"400\",\n\t\t\t\t\"color\": ic.get(\"secondaryButtonText\")!.toCSS(),\n\t\t\t\t\"line-height\": \"1.5\",\n\t\t\t\t\"text-align\": \"center\",\n\t\t\t\t\"text-decoration\": \"none\",\n\t\t\t\t\"vertical-align\": \"middle\",\n\t\t\t\t\"cursor\": \"pointer\",\n\t\t\t\t\"padding\": \"0.2em 0.8em\",\n\t\t\t\t\"font-size\": \"1em\",\n\t\t\t\t\"border-radius\": \"0.25em\",\n\t\t\t\t\"margin\": \"0 0.25em 0 0\",\n\t\t\t\t\"border\": \"1px solid \" + ic.get(\"secondaryButtonStroke\")!.toCSS(),\n\t\t\t\t\"background\": ic.get(\"secondaryButton\")!.toCSS()\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-button:hover\", {\n\t\t\t\t\"background\": ic.get(\"secondaryButtonHover\")!.toCSS()\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-button.am5-modal-primary\", {\n\t\t\t\t\"color\": ic.get(\"primaryButtonText\")!.toCSS(),\n\t\t\t\t\"border\": \"1px solid \" + ic.get(\"primaryButtonStroke\")!.toCSS(),\n\t\t\t\t\"background\": ic.get(\"primaryButton\")!.toCSS()\n\t\t\t}),\n\n\t\t\tnew StyleRule(element, \".am5-modal-button.am5-modal-primary:hover\", {\n\t\t\t\t\"background\": ic.get(\"primaryButtonHover\")!.toCSS()\n\t\t\t}),\n\n\t\t]);\n\n\t\trules = new CounterDisposer(() => {\n\t\t\trules = undefined;\n\t\t\tdisposer.dispose();\n\t\t});\n\t}\n\n\treturn rules.increment();\n}\n\n\nexport interface IModalSettings extends IEntitySettings {\n\n\t/**\n\t * HTML content of the modal.\n\t */\n\tcontent?: string;\n\n\t/**\n\t * When modal is open, all interactions for the underlying chart will be\n\t * disabled.\n\t *\n\t * @default true\n\t * @since 5.2.11\n\t */\n\tdeactivateRoot?: boolean;\n\n}\n\nexport interface IModalPrivate extends IEntityPrivate {\n\tcontainer: HTMLDivElement;\n\tcurtain: HTMLDivElement;\n\twrapper: HTMLDivElement;\n\tcontent: HTMLDivElement;\n}\n\nexport interface IModalEvents extends IEntityEvents {\n\t\"opened\": {}\n\t\"closed\": {}\n\t\"cancelled\": {}\n}\n\n/**\n * Used to display a modal dialog with HTML content.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/modal-popups/} for more info\n */\nexport class Modal extends Entity {\n\tpublic static className: string = \"Modal\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([Modal.className]);\n\n\tdeclare public _settings: IModalSettings;\n\tdeclare public _privateSettings: IModalPrivate;\n\tdeclare public _events: IModalEvents;\n\n\t//protected _currentPass: number = 0;\n\n\tprotected _afterNew() {\n\t\t// Applying themes because this will not have parents\n\t\tsuper._afterNewApplyThemes();\n\n\t\t// Defaults\n\t\tthis._setRawDefault(\"deactivateRoot\", true);\n\n\t\t// Load CSS\n\t\tmodalCSS($utils.getShadowRoot(this._root.dom), this._root);\n\n\t\t// Create elements\n\t\tconst container = document.createElement(\"div\");\n\t\tcontainer.className = \"am5-modal\";\n\t\tcontainer.style.display = \"none\";\n\t\tthis.root._inner.appendChild(container);\n\t\tthis.setPrivate(\"container\", container);\n\n\t\tconst curtain = document.createElement(\"div\");\n\t\tcurtain.className = \"am5-modal-curtain\";\n\t\tcontainer.appendChild(curtain);\n\t\tthis.setPrivate(\"curtain\", curtain);\n\n\t\tthis._disposers.push($utils.addEventListener(curtain, \"click\", () => {\n\t\t\tthis.cancel();\n\t\t}));\n\n\t\tconst wrapper = document.createElement(\"div\");\n\t\twrapper.className = \"am5-modal-wrapper\";\n\t\tcontainer.appendChild(wrapper);\n\t\tthis.setPrivate(\"wrapper\", wrapper);\n\n\t\tconst content = document.createElement(\"div\");\n\t\tcontent.className = \"am5-modal-content\";\n\t\twrapper.appendChild(content);\n\t\tthis.setPrivate(\"content\", content);\n\n\t\tconst html = this.get(\"content\");\n\t\tif (html) {\n\t\t\tcontent.innerHTML = html;\n\t\t}\n\n\t\t// Close on ESC\n\t\tif ($utils.supports(\"keyboardevents\")) {\n\t\t\tthis._disposers.push($utils.addEventListener(document, \"keydown\", (ev: KeyboardEvent) => {\n\t\t\t\tif (this.isOpen() && $utils.getEventKey(ev) == \"Escape\") {\n\t\t\t\t\tthis.cancel();\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"content\")) {\n\t\t\tthis.getPrivate(\"content\").innerHTML = this.get(\"content\", \"\");\n\t\t}\n\t}\n\n\t/**\n\t * Returns `true` if modal is currently open.\n\t * \n\t * @return Modal open?\n\t */\n\tpublic isOpen(): boolean {\n\t\treturn this.getPrivate(\"container\").style.display != \"none\";\n\t}\n\n\t/**\n\t * Opens modal.\n\t */\n\tpublic open(): void {\n\t\tthis.getPrivate(\"container\").style.display = \"block\";\n\t\tif (this.get(\"deactivateRoot\")) {\n\t\t\tthis.setTimeout(() => {\n\t\t\t\tthis._root._renderer.interactionsEnabled = false;\n\t\t\t}, 10);\n\t\t}\n\t\tthis.events.dispatch(\"opened\", {\n\t\t\ttype: \"opened\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\t/**\n\t * Closes modal.\n\t */\n\tpublic close(): void {\n\t\tthis.getPrivate(\"container\").style.display = \"none\";\n\t\tif (this.get(\"deactivateRoot\")) {\n\t\t\tthis._root._renderer.interactionsEnabled = true;\n\t\t}\n\t\tthis.events.dispatch(\"closed\", {\n\t\t\ttype: \"closed\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\t/**\n\t * Closes modal and invokes `cancelled` event.\n\t */\n\tpublic cancel(): void {\n\t\tthis.getPrivate(\"container\").style.display = \"none\";\n\t\tif (this.get(\"deactivateRoot\")) {\n\t\t\tthis._root._renderer.interactionsEnabled = true;\n\t\t}\n\t\tthis.events.dispatch(\"cancelled\", {\n\t\t\ttype: \"cancelled\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\t/**\n\t * Disposes modal.\n\t */\n\tpublic dispose() {\n\t\tsuper.dispose();\n\t\tconst container = this.getPrivate(\"container\");\n\t\tif (container.parentElement) {\n\t\t\tcontainer.parentElement.removeChild(container);\n\t\t}\n\t}\n\n}"]}
|
|
1
|
+
{"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Modal.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Root } from \"../Root\"\n\nimport { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from \"./Entity\";\nimport { StyleRule } from \"./Utils\"\nimport { MultiDisposer, IDisposer, CounterDisposer } from \"../../core/util/Disposer\";\n\nimport * as $utils from \"./Utils\"\n\n\n/**\n * @ignore\n */\nlet rules: CounterDisposer | undefined;\n\n/**\n * @ignore\n */\nfunction modalCSS(element: ShadowRoot | null, root: Root, _prefix?: string): IDisposer {\n\tconst ic = root.interfaceColors;\n\tconst active = ic.get(\"secondaryButton\")!.toCSS();\n\tconst text = ic.get(\"text\")!.toCSS();\n\tconst shadow = ic.get(\"alternativeBackground\")!.toCSS(0.45);\n\t//const altbg = ic.get(\"alternativeBackground\")!.toCSS();\n\n\tif (!rules) {\n\t\tconst disposer = new MultiDisposer([\n\n\t\t\tnew StyleRule(element, \".am5-modal\", {\n\t\t\t\t\"width\": \"100%\",\n\t\t\t\t\"height\": \"100%\",\n\t\t\t\t\"position\": \"absolute\",\n\t\t\t\t\"z-index\": \"100000\",\n\t\t\t\t\"top\": \"0\",\n\t\t\t\t\"left\": \"0\"\n\t\t\t}, root.nonce),\n\n\t\t\tnew StyleRule(element, \".am5-modal-curtain\", {\n\t\t\t\t\"top\": \"0\",\n\t\t\t\t\"left\": \"0\",\n\t\t\t\t\"width\": \"100%\",\n\t\t\t\t\"height\": \"100%\",\n\t\t\t\t\"position\": \"absolute\",\n\t\t\t\t\"background\": ic.get(\"background\")!.toCSS(0.5),\n\t\t\t\t\"z-index\": \"100\"\n\t\t\t}, root.nonce),\n\n\t\t\tnew StyleRule(element, \".am5-modal-wrapper\", {\n\t\t\t\t\"top\": \"0\",\n\t\t\t\t\"left\": \"0\",\n\t\t\t\t\"width\": \"100%\",\n\t\t\t\t\"height\": \"100%\",\n\t\t\t\t\"position\": \"absolute\",\n\t\t\t\t\"text-align\": \"center\",\n\t\t\t\t\"white-space\": \"nowrap\",\n\t\t\t\t\"background\": ic.get(\"background\")!.toCSS(0.5),\n\t\t\t\t\"z-index\": \"101\"\n\t\t\t}, root.nonce),\n\n\t\t\tnew StyleRule(element, \".am5-modal-wrapper:before\", {\n\t\t\t\t\"content\": \"''\",\n\t\t\t\t\"display\": \"inline-block\",\n\t\t\t\t\"height\": \"100%\",\n\t\t\t\t\"vertical-align\": \"middle\",\n\t\t\t\t\"margin-right\": \"-0.25em\"\n\t\t\t}, root.nonce),\n\n\t\t\tnew StyleRule(element, \".am5-modal-content\", {\n\t\t\t\t\"display\": \"inline-block\",\n\t\t\t\t\"padding\": \"1.2em\",\n\t\t\t\t\"vertical-align\": \"middle\",\n\t\t\t\t\"text-align\": \"left\",\n\t\t\t\t\"white-space\": \"normal\",\n\t\t\t\t\"background\": ic.get(\"background\")!.toCSS(),\n\t\t\t\t//\"border\": \"1px solid \" + ic.get(\"alternativeBackground\")!.toCSS(),\n\t\t\t\t\"border-radius\": \"4px\",\n\t\t\t\t\"-webkit-box-shadow\": \"0px 0px 36px 0px \" + shadow,\n\t\t\t\t\"box-shadow\": \"0px 0px 36px 0px \" + shadow,\n\t\t\t\t\"color\": text\n\t\t\t}, root.nonce),\n\n\t\t\tnew StyleRule(element, \".am5-modal-content h1\", {\n\t\t\t\t\"font-size\": \"1em\",\n\t\t\t\t\"margin\": \"0 0 0.5em 0\"\n\t\t\t}, root.nonce),\n\n\t\t\tnew StyleRule(element, \".am5-modal-table\", {\n\t\t\t\t\"display\": \"table\",\n\t\t\t\t\"margin\": \"1em 0\"\n\t\t\t}, root.nonce),\n\n\t\t\tnew StyleRule(element, \".am5-modal-table-row\", {\n\t\t\t\t\"display\": \"table-row\"\n\t\t\t}, root.nonce),\n\n\t\t\tnew StyleRule(element, \".am5-modal-table-heading\", {\n\t\t\t\t\"display\": \"table-heading\",\n\t\t\t\t\"padding\": \"3px 10px 3px 0\",\n\t\t\t}, root.nonce),\n\n\t\t\tnew StyleRule(element, \".am5-modal-table-cell\", {\n\t\t\t\t\"display\": \"table-cell\",\n\t\t\t\t\"padding\": \"3px 0 3px 0\",\n\t\t\t}, root.nonce),\n\n\t\t\tnew StyleRule(element, \".am5-modal-table-cell > *\", {\n\t\t\t\t\"vertical-align\": \"middle\"\n\t\t\t}, root.nonce),\n\n\t\t\tnew StyleRule(element, \".am5-modal-content input[type=text], .am5-modal-content input[type=number], .am5-modal-content select\", {\n\t\t\t\t\"border\": \"1px solid \" + active,\n\t\t\t\t\"border-radius\": \"4px\",\n\t\t\t\t\"padding\": \"3px 5px\",\n\t\t\t\t\"margin\": \"2px\"\n\t\t\t}, root.nonce),\n\n\t\t\tnew StyleRule(element, \".am5-modal-input-narrow\", {\n\t\t\t\t\"width\": \"50px\"\n\t\t\t}, root.nonce),\n\n\t\t\tnew StyleRule(element, \".am5-modal-button\", {\n\t\t\t\t\"font-weight\": \"400\",\n\t\t\t\t\"color\": ic.get(\"secondaryButtonText\")!.toCSS(),\n\t\t\t\t\"line-height\": \"1.5\",\n\t\t\t\t\"text-align\": \"center\",\n\t\t\t\t\"text-decoration\": \"none\",\n\t\t\t\t\"vertical-align\": \"middle\",\n\t\t\t\t\"cursor\": \"pointer\",\n\t\t\t\t\"padding\": \"0.2em 0.8em\",\n\t\t\t\t\"font-size\": \"1em\",\n\t\t\t\t\"border-radius\": \"0.25em\",\n\t\t\t\t\"margin\": \"0 0.25em 0 0\",\n\t\t\t\t\"border\": \"1px solid \" + ic.get(\"secondaryButtonStroke\")!.toCSS(),\n\t\t\t\t\"background\": ic.get(\"secondaryButton\")!.toCSS()\n\t\t\t}, root.nonce),\n\n\t\t\tnew StyleRule(element, \".am5-modal-button:hover\", {\n\t\t\t\t\"background\": ic.get(\"secondaryButtonHover\")!.toCSS()\n\t\t\t}, root.nonce),\n\n\t\t\tnew StyleRule(element, \".am5-modal-button.am5-modal-primary\", {\n\t\t\t\t\"color\": ic.get(\"primaryButtonText\")!.toCSS(),\n\t\t\t\t\"border\": \"1px solid \" + ic.get(\"primaryButtonStroke\")!.toCSS(),\n\t\t\t\t\"background\": ic.get(\"primaryButton\")!.toCSS()\n\t\t\t}, root.nonce),\n\n\t\t\tnew StyleRule(element, \".am5-modal-button.am5-modal-primary:hover\", {\n\t\t\t\t\"background\": ic.get(\"primaryButtonHover\")!.toCSS()\n\t\t\t}, root.nonce),\n\n\t\t]);\n\n\t\trules = new CounterDisposer(() => {\n\t\t\trules = undefined;\n\t\t\tdisposer.dispose();\n\t\t});\n\t}\n\n\treturn rules.increment();\n}\n\n\nexport interface IModalSettings extends IEntitySettings {\n\n\t/**\n\t * HTML content of the modal.\n\t */\n\tcontent?: string;\n\n\t/**\n\t * When modal is open, all interactions for the underlying chart will be\n\t * disabled.\n\t *\n\t * @default true\n\t * @since 5.2.11\n\t */\n\tdeactivateRoot?: boolean;\n\n}\n\nexport interface IModalPrivate extends IEntityPrivate {\n\tcontainer: HTMLDivElement;\n\tcurtain: HTMLDivElement;\n\twrapper: HTMLDivElement;\n\tcontent: HTMLDivElement;\n}\n\nexport interface IModalEvents extends IEntityEvents {\n\t\"opened\": {}\n\t\"closed\": {}\n\t\"cancelled\": {}\n}\n\n/**\n * Used to display a modal dialog with HTML content.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/modal-popups/} for more info\n */\nexport class Modal extends Entity {\n\tpublic static className: string = \"Modal\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([Modal.className]);\n\n\tdeclare public _settings: IModalSettings;\n\tdeclare public _privateSettings: IModalPrivate;\n\tdeclare public _events: IModalEvents;\n\n\t//protected _currentPass: number = 0;\n\n\tprotected _afterNew() {\n\t\t// Applying themes because this will not have parents\n\t\tsuper._afterNewApplyThemes();\n\n\t\t// Defaults\n\t\tthis._setRawDefault(\"deactivateRoot\", true);\n\n\t\t// Load CSS\n\t\tmodalCSS($utils.getShadowRoot(this._root.dom), this._root);\n\n\t\t// Create elements\n\t\tconst container = document.createElement(\"div\");\n\t\tcontainer.className = \"am5-modal\";\n\t\tcontainer.style.display = \"none\";\n\t\tthis.root._inner.appendChild(container);\n\t\tthis.setPrivate(\"container\", container);\n\n\t\tconst curtain = document.createElement(\"div\");\n\t\tcurtain.className = \"am5-modal-curtain\";\n\t\tcontainer.appendChild(curtain);\n\t\tthis.setPrivate(\"curtain\", curtain);\n\n\t\tthis._disposers.push($utils.addEventListener(curtain, \"click\", () => {\n\t\t\tthis.cancel();\n\t\t}));\n\n\t\tconst wrapper = document.createElement(\"div\");\n\t\twrapper.className = \"am5-modal-wrapper\";\n\t\tcontainer.appendChild(wrapper);\n\t\tthis.setPrivate(\"wrapper\", wrapper);\n\n\t\tconst content = document.createElement(\"div\");\n\t\tcontent.className = \"am5-modal-content\";\n\t\twrapper.appendChild(content);\n\t\tthis.setPrivate(\"content\", content);\n\n\t\tconst html = this.get(\"content\");\n\t\tif (html) {\n\t\t\tcontent.innerHTML = html;\n\t\t}\n\n\t\t// Close on ESC\n\t\tif ($utils.supports(\"keyboardevents\")) {\n\t\t\tthis._disposers.push($utils.addEventListener(document, \"keydown\", (ev: KeyboardEvent) => {\n\t\t\t\tif (this.isOpen() && $utils.getEventKey(ev) == \"Escape\") {\n\t\t\t\t\tthis.cancel();\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"content\")) {\n\t\t\tthis.getPrivate(\"content\").innerHTML = this.get(\"content\", \"\");\n\t\t}\n\t}\n\n\t/**\n\t * Returns `true` if modal is currently open.\n\t * \n\t * @return Modal open?\n\t */\n\tpublic isOpen(): boolean {\n\t\treturn this.getPrivate(\"container\").style.display != \"none\";\n\t}\n\n\t/**\n\t * Opens modal.\n\t */\n\tpublic open(): void {\n\t\tthis.getPrivate(\"container\").style.display = \"block\";\n\t\tif (this.get(\"deactivateRoot\")) {\n\t\t\tthis.setTimeout(() => {\n\t\t\t\tthis._root._renderer.interactionsEnabled = false;\n\t\t\t}, 10);\n\t\t}\n\t\tthis.events.dispatch(\"opened\", {\n\t\t\ttype: \"opened\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\t/**\n\t * Closes modal.\n\t */\n\tpublic close(): void {\n\t\tthis.getPrivate(\"container\").style.display = \"none\";\n\t\tif (this.get(\"deactivateRoot\")) {\n\t\t\tthis._root._renderer.interactionsEnabled = true;\n\t\t}\n\t\tthis.events.dispatch(\"closed\", {\n\t\t\ttype: \"closed\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\t/**\n\t * Closes modal and invokes `cancelled` event.\n\t */\n\tpublic cancel(): void {\n\t\tthis.getPrivate(\"container\").style.display = \"none\";\n\t\tif (this.get(\"deactivateRoot\")) {\n\t\t\tthis._root._renderer.interactionsEnabled = true;\n\t\t}\n\t\tthis.events.dispatch(\"cancelled\", {\n\t\t\ttype: \"cancelled\",\n\t\t\ttarget: this\n\t\t});\n\t}\n\n\t/**\n\t * Disposes modal.\n\t */\n\tpublic dispose() {\n\t\tsuper.dispose();\n\t\tconst container = this.getPrivate(\"container\");\n\t\tif (container.parentElement) {\n\t\t\tcontainer.parentElement.removeChild(container);\n\t\t}\n\t}\n\n}"]}
|