@amcharts/amcharts5 5.17.0 → 5.17.2
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/ArcDiagram.d.ts +2 -2
- package/.internal/charts/flow/ArcDiagram.js.map +1 -1
- package/.internal/charts/flow/ChordNonRibbon.d.ts +1 -1
- package/.internal/charts/flow/ChordNonRibbon.js +1 -1
- package/.internal/charts/flow/ChordNonRibbon.js.map +1 -1
- package/.internal/charts/flow/SankeyLink.d.ts +1 -1
- package/.internal/charts/flow/SankeyLink.js.map +1 -1
- package/.internal/charts/funnel/FunnelSlice.d.ts +1 -1
- package/.internal/charts/funnel/FunnelSlice.js.map +1 -1
- package/.internal/charts/funnel/SlicedChart.d.ts +1 -1
- package/.internal/charts/funnel/SlicedChart.js +1 -1
- package/.internal/charts/funnel/SlicedChart.js.map +1 -1
- package/.internal/charts/hierarchy/ForceDirected.d.ts +2 -2
- package/.internal/charts/hierarchy/ForceDirected.js.map +1 -1
- package/.internal/charts/hierarchy/Hierarchy.d.ts +1 -1
- package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
- package/.internal/charts/hierarchy/Partition.d.ts +1 -1
- package/.internal/charts/hierarchy/Partition.js.map +1 -1
- package/.internal/charts/hierarchy/Treemap.d.ts +1 -2
- package/.internal/charts/hierarchy/Treemap.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Treemap.js.map +1 -1
- package/.internal/charts/hierarchy/VoronoiTreemap.d.ts +3 -3
- package/.internal/charts/hierarchy/VoronoiTreemap.js.map +1 -1
- package/.internal/charts/map/ClusteredPointSeries.d.ts +2 -2
- package/.internal/charts/map/ClusteredPointSeries.js.map +1 -1
- package/.internal/charts/map/MapChart.d.ts +2 -2
- package/.internal/charts/map/MapChart.js.map +1 -1
- package/.internal/charts/map/MapPointSeries.d.ts +3 -1
- package/.internal/charts/map/MapPointSeries.d.ts.map +1 -1
- package/.internal/charts/map/MapPointSeries.js.map +1 -1
- package/.internal/charts/map/MapSankeySeries.d.ts +29 -0
- package/.internal/charts/map/MapSankeySeries.d.ts.map +1 -1
- package/.internal/charts/map/MapSankeySeries.js +126 -52
- package/.internal/charts/map/MapSankeySeries.js.map +1 -1
- package/.internal/charts/percent/PercentSeries.d.ts +2 -2
- package/.internal/charts/percent/PercentSeries.js.map +1 -1
- package/.internal/charts/radar/RadarChart.d.ts +2 -2
- package/.internal/charts/radar/RadarChart.js.map +1 -1
- package/.internal/charts/radar/RadarLineSeries.d.ts +1 -1
- package/.internal/charts/radar/RadarLineSeries.js.map +1 -1
- package/.internal/charts/stock/StockChart.d.ts +3 -3
- package/.internal/charts/stock/StockChart.js +3 -3
- package/.internal/charts/stock/StockChart.js.map +1 -1
- package/.internal/charts/stock/StockPanel.d.ts +1 -1
- package/.internal/charts/stock/StockPanel.js.map +1 -1
- package/.internal/charts/stock/drawing/DrawingSeries.d.ts +1 -1
- package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/LabelSeries.d.ts +1 -1
- package/.internal/charts/stock/drawing/LabelSeries.js.map +1 -1
- package/.internal/charts/stock/indicators/ChaikinMoneyFlow.d.ts +1 -1
- package/.internal/charts/stock/indicators/ChaikinMoneyFlow.js.map +1 -1
- package/.internal/charts/stock/indicators/Indicator.d.ts +2 -2
- package/.internal/charts/stock/indicators/Indicator.js.map +1 -1
- package/.internal/charts/stock/toolbar/DateRangeSelector.d.ts +1 -1
- package/.internal/charts/stock/toolbar/DateRangeSelector.js.map +1 -1
- package/.internal/charts/stock/toolbar/DropdownList.d.ts +1 -1
- package/.internal/charts/stock/toolbar/DropdownList.js.map +1 -1
- package/.internal/charts/stock/toolbar/DropdownListControl.d.ts +1 -1
- package/.internal/charts/stock/toolbar/DropdownListControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/PeriodSelector.d.ts +1 -1
- package/.internal/charts/stock/toolbar/PeriodSelector.js.map +1 -1
- package/.internal/charts/stock/toolbar/StockControl.d.ts +2 -2
- package/.internal/charts/stock/toolbar/StockControl.js.map +1 -1
- package/.internal/charts/timeline/SerpentineChart.d.ts +3 -3
- package/.internal/charts/timeline/SerpentineChart.js.map +1 -1
- package/.internal/charts/timeline/SpiralChart.d.ts +3 -3
- package/.internal/charts/timeline/SpiralChart.js.map +1 -1
- package/.internal/charts/venn/Venn.d.ts +1 -1
- package/.internal/charts/venn/Venn.js.map +1 -1
- package/.internal/charts/wordcloud/WordCloud.d.ts +1 -1
- package/.internal/charts/wordcloud/WordCloud.js +1 -1
- package/.internal/charts/wordcloud/WordCloud.js.map +1 -1
- package/.internal/charts/xy/XYChart.d.ts +1 -1
- package/.internal/charts/xy/XYChart.js.map +1 -1
- package/.internal/charts/xy/axes/Axis.d.ts +8 -8
- package/.internal/charts/xy/axes/Axis.js.map +1 -1
- package/.internal/charts/xy/axes/AxisLabel.d.ts +1 -1
- package/.internal/charts/xy/axes/AxisLabel.js.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.d.ts +1 -1
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.d.ts +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
- package/.internal/charts/xy/series/ColumnSeries.d.ts +1 -1
- package/.internal/charts/xy/series/ColumnSeries.js.map +1 -1
- package/.internal/charts/xy/series/XYSeries.d.ts +3 -3
- package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/XYSeries.js.map +1 -1
- package/.internal/core/Registry.js +1 -1
- package/.internal/core/Registry.js.map +1 -1
- package/.internal/core/render/Bullet.d.ts +2 -3
- package/.internal/core/render/Bullet.d.ts.map +1 -1
- package/.internal/core/render/Bullet.js.map +1 -1
- package/.internal/core/render/Container.d.ts +5 -1
- package/.internal/core/render/Container.d.ts.map +1 -1
- package/.internal/core/render/Container.js.map +1 -1
- package/.internal/core/render/Graphics.d.ts +3 -1
- package/.internal/core/render/Graphics.d.ts.map +1 -1
- package/.internal/core/render/Graphics.js.map +1 -1
- package/.internal/core/render/HeatLegend.d.ts +1 -1
- package/.internal/core/render/HeatLegend.js.map +1 -1
- package/.internal/core/render/Label.d.ts +5 -3
- package/.internal/core/render/Label.d.ts.map +1 -1
- package/.internal/core/render/Label.js.map +1 -1
- package/.internal/core/render/Legend.d.ts +3 -0
- package/.internal/core/render/Legend.d.ts.map +1 -1
- package/.internal/core/render/Legend.js.map +1 -1
- package/.internal/core/render/PointedRectangle.d.ts +2 -2
- package/.internal/core/render/PointedRectangle.js.map +1 -1
- package/.internal/core/render/Polygon.d.ts +1 -1
- package/.internal/core/render/Polygon.js.map +1 -1
- package/.internal/core/render/RadialLabel.d.ts +3 -3
- package/.internal/core/render/RadialLabel.js.map +1 -1
- package/.internal/core/render/RoundedRectangle.d.ts +1 -1
- package/.internal/core/render/RoundedRectangle.js.map +1 -1
- package/.internal/core/render/Sprite.d.ts +28 -8
- package/.internal/core/render/Sprite.d.ts.map +1 -1
- package/.internal/core/render/Sprite.js.map +1 -1
- package/.internal/core/render/Tooltip.d.ts +5 -4
- package/.internal/core/render/Tooltip.d.ts.map +1 -1
- package/.internal/core/render/Tooltip.js.map +1 -1
- package/.internal/core/render/ZoomableContainer.d.ts +1 -1
- package/.internal/core/render/ZoomableContainer.js.map +1 -1
- package/.internal/core/render/patterns/CirclePattern.d.ts +2 -2
- package/.internal/core/render/patterns/CirclePattern.js.map +1 -1
- package/.internal/core/render/patterns/GrainPattern.d.ts +1 -1
- package/.internal/core/render/patterns/GrainPattern.js.map +1 -1
- package/.internal/core/render/patterns/LinePattern.d.ts +2 -2
- package/.internal/core/render/patterns/LinePattern.js.map +1 -1
- package/.internal/core/render/patterns/Pattern.d.ts +6 -2
- package/.internal/core/render/patterns/Pattern.d.ts.map +1 -1
- package/.internal/core/render/patterns/Pattern.js.map +1 -1
- package/.internal/core/render/patterns/PicturePattern.d.ts +1 -1
- package/.internal/core/render/patterns/PicturePattern.js.map +1 -1
- package/.internal/core/util/ColorSet.d.ts +4 -3
- package/.internal/core/util/ColorSet.d.ts.map +1 -1
- package/.internal/core/util/ColorSet.js.map +1 -1
- package/.internal/core/util/DateFormatter.d.ts +1 -0
- package/.internal/core/util/DateFormatter.d.ts.map +1 -1
- package/.internal/core/util/DateFormatter.js.map +1 -1
- package/.internal/core/util/Entity.d.ts +4 -0
- package/.internal/core/util/Entity.d.ts.map +1 -1
- package/.internal/core/util/Entity.js.map +1 -1
- package/.internal/core/util/NumberFormatter.d.ts +2 -3
- package/.internal/core/util/NumberFormatter.d.ts.map +1 -1
- package/.internal/core/util/NumberFormatter.js.map +1 -1
- package/.internal/plugins/exporting/Annotator.d.ts +1 -1
- package/.internal/plugins/exporting/Annotator.js.map +1 -1
- package/.internal/plugins/exporting/Exporting.d.ts +2 -2
- package/.internal/plugins/exporting/Exporting.js.map +1 -1
- package/.internal/plugins/exporting/ExportingMenu.d.ts +1 -1
- package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
- package/.internal/plugins/sliceGrouper/SliceGrouper.d.ts +1 -1
- package/.internal/plugins/sliceGrouper/SliceGrouper.js.map +1 -1
- package/CHANGELOG.md +12 -0
- 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/gantt/package.json +1 -1
- package/examples/javascript/gantt-multilevel/package.json +1 -1
- package/examples/javascript/gantt-simple/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-sankey/index.js +48 -55
- package/examples/javascript/map-sankey/package.json +1 -1
- package/examples/javascript/map-sankey-waypoints/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/timeline-horizontal-serpentine-chart/package.json +1 -1
- package/examples/javascript/timeline-linear-process-diagram/package.json +1 -1
- package/examples/javascript/timeline-serpentine-chart/package.json +1 -1
- package/examples/javascript/timeline-spiral-chart/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/gantt/package.json +1 -1
- package/examples/typescript/gantt-multilevel/package.json +1 -1
- package/examples/typescript/gantt-simple/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-sankey/index.ts +48 -55
- package/examples/typescript/map-sankey/package.json +1 -1
- package/examples/typescript/map-sankey-waypoints/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/timeline-horizontal-serpentine-chart/package.json +1 -1
- package/examples/typescript/timeline-linear-process-diagram/package.json +1 -1
- package/examples/typescript/timeline-serpentine-chart/package.json +1 -1
- package/examples/typescript/timeline-spiral-chart/package.json +1 -1
- package/examples/typescript/venn-diagram/package.json +1 -1
- package/examples/typescript/wordcloud-with-data/package.json +1 -1
- package/examples/typescript/wordcloud-with-text/package.json +1 -1
- package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/typescript/xy-bubble/package.json +1 -1
- package/examples/typescript/xy-candlestick/package.json +1 -1
- package/examples/typescript/xy-clustered-column/package.json +1 -1
- package/examples/typescript/xy-column/package.json +1 -1
- package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/typescript/xy-data-grouping/package.json +1 -1
- package/examples/typescript/xy-draggable-range/package.json +1 -1
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/typescript/xy-dumbbell plot/package.json +1 -1
- package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/typescript/xy-line/package.json +1 -1
- package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/typescript/xy-live-data/package.json +1 -1
- package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/typescript/xy-ohlc/package.json +1 -1
- package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/typescript/xy-smoothed-line/package.json +1 -1
- package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/typescript/xy-stacked-column/package.json +1 -1
- package/examples/typescript/xy-stacked-step/package.json +1 -1
- package/examples/typescript/xy-stock/package.json +1 -1
- package/examples/typescript/xy-stock-comparing/package.json +1 -1
- package/package.json +1 -1
|
@@ -30,7 +30,7 @@ export interface ITooltipSettings extends IContainerSettings {
|
|
|
30
30
|
* when tooltip is shown or its data item changes.
|
|
31
31
|
*
|
|
32
32
|
* Otherwise, regular `labelText` (or `text` set directly on tooltip label) will
|
|
33
|
-
* be used for
|
|
33
|
+
* be used for screen reader announcement.
|
|
34
34
|
*
|
|
35
35
|
* @since 5.9.2
|
|
36
36
|
*/
|
|
@@ -38,7 +38,8 @@ export interface ITooltipSettings extends IContainerSettings {
|
|
|
38
38
|
/**
|
|
39
39
|
* A direction of the tooltip pointer.
|
|
40
40
|
*
|
|
41
|
-
* https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Orientation
|
|
41
|
+
* @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Orientation} for more info
|
|
42
|
+
* @default "vertical"
|
|
42
43
|
*/
|
|
43
44
|
pointerOrientation?: "left" | "right" | "up" | "down" | "vertical" | "horizontal";
|
|
44
45
|
/**
|
|
@@ -50,7 +51,7 @@ export interface ITooltipSettings extends IContainerSettings {
|
|
|
50
51
|
*/
|
|
51
52
|
getFillFromSprite?: boolean;
|
|
52
53
|
/**
|
|
53
|
-
* If set to `true` will use the same `
|
|
54
|
+
* If set to `true` will use the same `fillGradient` for its background as
|
|
54
55
|
* its `tooltipTarget`.
|
|
55
56
|
*
|
|
56
57
|
* @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Colors} for more info
|
|
@@ -98,7 +99,7 @@ export interface ITooltipSettings extends IContainerSettings {
|
|
|
98
99
|
*/
|
|
99
100
|
animationEasing?: (t: Time) => Time;
|
|
100
101
|
/**
|
|
101
|
-
* A target element tooltip is shown
|
|
102
|
+
* A target element tooltip is shown for.
|
|
102
103
|
*/
|
|
103
104
|
tooltipTarget?: Sprite;
|
|
104
105
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE/E,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAOtC,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAE3D;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Tooltip.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IBounds } from \"../util/IBounds\";\nimport type { IPoint } from \"../util/IPoint\";\nimport type { Pattern } from \"../render/patterns/Pattern\";\nimport type { Time } from \"../util/Animation\";\nimport type { Sprite } from \"../render/Sprite\";\nimport type { Graphics } from \"../render/Graphics\";\nimport type { IPointerEvent } from \"../render/backend/Renderer\";\nimport type { DataItem, IComponentDataItem } from \"./Component\";\nimport type { Root } from \"../Root\";\nimport type { Template } from \"../util/Template\";\nimport type { Entity } from \"../util/Entity\";\n\nimport { MultiDisposer, IDisposer } from \"../util/Disposer\";\nimport { Label } from \"../render/Label\";\nimport { PointedRectangle } from \"../render/PointedRectangle\";\nimport { Container, IContainerPrivate, IContainerSettings } from \"./Container\";\nimport { Percent } from \"../util/Percent\";\nimport { Color } from \"../util/Color\";\n\nimport * as $math from \"../util/Math\";\nimport * as $array from \"../util/Array\";\nimport * as $utils from \"../util/Utils\";\n\n\nexport interface ITooltipSettings extends IContainerSettings {\n\n\t/**\n\t * Text to use for tooltip's label.\n\t */\n\tlabelText?: string;\n\n\t/**\n\t * HTML content to use for tooltip's label.\n\t *\n\t * @since 5.2.11\n\t */\n\tlabelHTML?: string;\n\n\t/**\n\t * A screen reader content for the label.\n\t *\n\t * Used in conjuction with `readerAnnounce`. If it is set to `true`, and\n\t * `labelAriaLabel` is set, its contents will be read out by a screen reader\n\t * when tooltip is shown or its data item changes.\n\t *\n\t * Otherwise, regular `labelText` (or `text` set directly on tooltip label) will\n\t * be used for scree reader announcement.\n\t *\n\t * @since 5.9.2\n\t */\n\tlabelAriaLabel?: string;\n\n\t/**\n\t * A direction of the tooltip pointer.\n\t *\n\t * https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Orientation\n\t */\n\tpointerOrientation?: \"left\" | \"right\" | \"up\" | \"down\" | \"vertical\" | \"horizontal\";\n\n\t/**\n\t * If set to `true` will use the same `fill` color for its background as\n\t * its `tooltipTarget`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Colors} for more info\n\t * @default true\n\t */\n\tgetFillFromSprite?: boolean;\n\n\t/**\n\t * If set to `true` will use the same `filGradientl` for its background as\n\t * its `tooltipTarget`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Colors} for more info\n\t * @default false\n\t */\n\tgetFillGradientFromSprite?: boolean;\n\n\t/**\n\t * If set to `true` will use the same `fill` color as its `tooltipTarget`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Colors} for more info\n\t * @default false\n\t */\n\tgetLabelFillFromSprite?: boolean;\n\n\t/**\n\t * If set to `true` will use the same `stroke` color as its `tooltipTarget`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Colors} for more info\n\t * @default false\n\t */\n\tgetStrokeFromSprite?: boolean;\n\n\t/**\n\t * Screen bounds to constrain the tooltip within.\n\t */\n\tbounds?: IBounds;\n\n\t/**\n\t * If set to `true` tooltip will adjust its text color for better visibility\n\t * on its background.\n\t *\n\t * @default true\n\t */\n\tautoTextColor?: boolean;\n\n\t/**\n\t * Screen coordinates the tooltip show point to.\n\t */\n\tpointTo?: IPoint;\n\n\t/**\n\t * Duration in milliseconds for tooltip position change, e.g. when tooltip\n\t * is jumping from one target to another.\n\t */\n\tanimationDuration?: number;\n\n\t/**\n\t * Easing function for tooltip animation.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/animations/#Easing_functions} for more info\n\t */\n\tanimationEasing?: (t: Time) => Time;\n\n\t/**\n\t * A target element tooltip is shown fow.\n\t */\n\ttooltipTarget?: Sprite;\n\n\t/**\n\t * If set to `true`, tooltip's target element will considered to be hovered\n\t * when mouse pointer is over tooltip itself.\n\t *\n\t * @since 5.2.14\n\t */\n\tkeepTargetHover?: boolean;\n\n\t/**\n\t * If set to `true` the tooltip contents will be read out by a screen reader\n\t * when displayed or changed.\n\t *\n\t * @default false\n\t * @since 5.9.2\n\t */\n\treaderAnnounce?: boolean;\n\n}\n\nexport interface ITooltipPrivate extends IContainerPrivate {\n}\n\n/**\n * Creates a tooltip.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/} for more info\n * @important\n */\nexport class Tooltip extends Container {\n\n\tpublic _fx: number = 0;\n\tpublic _fy: number = 0;\n\n\tdeclare public _settings: ITooltipSettings;\n\tdeclare public _privateSettings: ITooltipPrivate;\n\n\tprotected _label!: Label;\n\tpublic static className: string = \"Tooltip\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([Tooltip.className]);\n\n\tprotected _fillDp: IDisposer | undefined;\n\tprotected _fillGrDp: IDisposer | undefined;\n\tprotected _strokeDp: IDisposer | undefined;\n\tprotected _labelDp: IDisposer | undefined;\n\n\tprotected _w: number = 0;\n\tprotected _h: number = 0;\n\n\tprotected _keepHoverDp: MultiDisposer | undefined;\n\tprotected _htmlContentHovered: boolean = false;\n\n\tconstructor(root: Root, settings: Entity[\"_settings\"], isReal: boolean, templates: Array<Template<Entity>> = []) {\n\t\tsuper(root, settings, isReal, templates);\n\t}\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"tooltip\"]);\n\n\t\tsuper._afterNew();\n\n\t\tconst background: Graphics = this._setDefaultFn(\"background\", () => {\n\t\t\treturn PointedRectangle.new(this._root, {});\n\t\t});\n\n\t\tbackground.set(\"themeTags\", [\"tooltip\", \"background\"]);\n\n\t\tthis._label = this.children.push(Label.new(this._root, {}));\n\n\t\tthis._disposers.push(this._label.events.on(\"boundschanged\", () => {\n\t\t\tthis._updateBackground();\n\t\t}))\n\n\t\tthis._disposers.push(this.on(\"bounds\", () => {\n\t\t\tthis._updateBackground();\n\t\t}))\n\n\t\tthis._updateTextColor();\n\n\t\tthis._root.tooltipContainer.children.push(this);\n\t\tthis.hide(0);\n\n\t\tthis._disposers.push(this.label.onPrivate(\"htmlElement\", (htmlElement) => {\n\t\t\tif (htmlElement) {\n\t\t\t\tthis._disposers.push($utils.addEventListener(htmlElement, \"pointerover\", (_ev) => {\n\t\t\t\t\tthis._htmlContentHovered = true;\n\t\t\t\t}));\n\t\t\t\tthis._disposers.push($utils.addEventListener(htmlElement, \"pointerout\", (_ev) => {\n\t\t\t\t\tthis._htmlContentHovered = false;\n\t\t\t\t}));\n\t\t\t}\n\t\t}))\n\n\t\tthis.on(\"visible\", (_ev) => {\n\t\t\tthis._handleReaderAnnouncement();\n\t\t});\n\n\t\tthis.label.events.on(\"dataitemchanged\", (_ev) => {\n\t\t\tthis._handleReaderAnnouncement();\n\t\t});\n\n\t\tthis._root._tooltips.push(this);\n\t}\n\n\tprotected _handleReaderAnnouncement() {\n\t\tif (this.get(\"readerAnnounce\") && this.isVisibleDeep()) {\n\t\t\tthis._root.readerAlert(this.label.getAccessibleText());\n\t\t}\n\t}\n\n\t/**\n\t * A [[Label]] element for the tooltip.\n\t *\n\t * @readonly\n\t * @return Label\n\t */\n\tpublic get label(): Label {\n\t\treturn this._label;\n\t}\n\n\t/**\n\t * Permanently disposes the tooltip.\n\t */\n\tprotected _dispose() {\n\t\tsuper._dispose();\n\t\t$array.remove(this._root._tooltips, this);\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tif (this.isDirty(\"pointerOrientation\") || this.isPrivateDirty(\"minWidth\") || this.isPrivateDirty(\"minHeight\")) {\n\t\t\tthis.get(\"background\")!._markDirtyKey(\"width\");\n\t\t}\n\n\t\tconst labelText = this.get(\"labelText\");\n\t\tif (labelText != null) {\n\t\t\tthis.label.set(\"text\", this.get(\"labelText\"));\n\t\t}\n\t\tconst labelHTML = this.get(\"labelHTML\");\n\t\tif (labelHTML != null) {\n\t\t\tthis.label.set(\"html\", this.get(\"labelHTML\"));\n\t\t}\n\t\tconst labelAriaLabel = this.get(\"labelAriaLabel\");\n\t\tif (labelAriaLabel != null) {\n\t\t\tthis.label.set(\"ariaLabel\", this.get(\"labelAriaLabel\"));\n\t\t}\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\n\t\tif (this.isDirty(\"pointTo\") || this.isDirty(\"pointerOrientation\")) {\n\t\t\t// can't compare to previous, as sometimes pointTo is set twice (when pointer moves, so the position won't be udpated)\n\t\t\tthis._updateBackground();\n\t\t}\n\n\t\tif (this.isDirty(\"tooltipTarget\")) {\n\t\t\tthis.updateBackgroundColor();\n\t\t}\n\n\t\tif (this.isDirty(\"keepTargetHover\")) {\n\t\t\tconst keephover = this.get(\"keepTargetHover\");\n\t\t\tif (keephover) {\n\t\t\t\tconst bg = this.get(\"background\")!;\n\t\t\t\tthis._keepHoverDp = new MultiDisposer([\n\t\t\t\t\tbg.events.on(\"pointerover\", (_ev) => {\n\t\t\t\t\t\tlet target = this.get(\"tooltipTarget\");\n\t\t\t\t\t\tif (target) {\n\t\t\t\t\t\t\tif (target.parent && target.parent.getPrivate(\"tooltipTarget\") == target) {\n\t\t\t\t\t\t\t\ttarget = target.parent;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttarget.hover();\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\tbg.events.on(\"pointerout\", (_ev) => {\n\t\t\t\t\t\tlet target = this.get(\"tooltipTarget\");\n\t\t\t\t\t\tif (target) {\n\t\t\t\t\t\t\tif (target.parent && target.parent.getPrivate(\"tooltipTarget\") == target) {\n\t\t\t\t\t\t\t\ttarget = target.parent;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!this._htmlContentHovered) {\n\t\t\t\t\t\t\t\ttarget.unhover();\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\n\t\t\t\tthis.label.onPrivate(\"htmlElement\", (htmlElement: any) => {\n\t\t\t\t\tif (this._keepHoverDp && htmlElement) {\n\t\t\t\t\t\tthis._keepHoverDp.disposers.push($utils.addEventListener<PointerEvent | MouseEvent>(htmlElement, \"pointerleave\", (ev: IPointerEvent) => {\n\t\t\t\t\t\t\tconst outEvent = this.root._renderer.getEvent(ev);\n\t\t\t\t\t\t\tbg.events.dispatch(\"pointerout\", {\n\t\t\t\t\t\t\t\ttype: \"pointerout\",\n\t\t\t\t\t\t\t\toriginalEvent: outEvent.event,\n\t\t\t\t\t\t\t\tpoint: outEvent.point,\n\t\t\t\t\t\t\t\tsimulated: false,\n\t\t\t\t\t\t\t\ttarget: bg\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (this._keepHoverDp) {\n\t\t\t\t\tthis._keepHoverDp.dispose();\n\t\t\t\t\tthis._keepHoverDp = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _onShow() {\n\t\tsuper._onShow();\n\t\tthis.updateBackgroundColor();\n\t}\n\n\n\tpublic updateBackgroundColor() {\n\t\tlet tooltipTarget = this.get(\"tooltipTarget\");\n\t\tconst background = this.get(\"background\");\n\t\tlet fill: Color | undefined;\n\t\tlet stroke: Color | undefined;\n\n\n\t\tif (tooltipTarget && background) {\n\n\t\t\tfill = tooltipTarget.get(\"fill\" as any);\n\t\t\tstroke = tooltipTarget.get(\"stroke\" as any);\n\n\t\t\tif (fill == null) {\n\t\t\t\tfill = stroke;\n\t\t\t}\n\n\t\t\tif (this.get(\"getFillFromSprite\")) {\n\n\t\t\t\tif (this._fillDp) {\n\t\t\t\t\tthis._fillDp.dispose();\n\t\t\t\t}\n\n\t\t\t\tif (fill != null) {\n\t\t\t\t\tbackground.set(\"fill\", fill);\n\t\t\t\t}\n\n\t\t\t\tthis._fillDp = tooltipTarget.on(\"fill\" as any, (fill) => {\n\t\t\t\t\tif (fill != null) {\n\t\t\t\t\t\tbackground.set(\"fill\", fill);\n\t\t\t\t\t\tthis._updateTextColor(fill);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tthis._disposers.push(this._fillDp);\n\t\t\t}\n\n\t\t\tif (this.get(\"getFillGradientFromSprite\")) {\n\n\t\t\t\tif (this._fillGrDp) {\n\t\t\t\t\tthis._fillGrDp.dispose();\n\t\t\t\t}\n\n\t\t\t\tlet fillGradient = tooltipTarget.get(\"fillGradient\" as any);\n\n\t\t\t\tif (fillGradient != null) {\n\t\t\t\t\tbackground.set(\"fillGradient\", fillGradient);\n\t\t\t\t}\n\n\t\t\t\tthis._fillGrDp = tooltipTarget.on(\"fillGradient\" as any, (fillGradient) => {\n\t\t\t\t\tif (fillGradient != null) {\n\t\t\t\t\t\tbackground.set(\"fillGradient\", fillGradient);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tthis._disposers.push(this._fillGrDp);\n\t\t\t}\n\n\t\t\tif (this.get(\"getStrokeFromSprite\")) {\n\n\t\t\t\tif (this._strokeDp) {\n\t\t\t\t\tthis._strokeDp.dispose();\n\t\t\t\t}\n\n\t\t\t\tif (fill != null) {\n\t\t\t\t\tbackground.set(\"stroke\", fill);\n\t\t\t\t}\n\n\t\t\t\tthis._strokeDp = tooltipTarget.on(\"fill\" as any, (fill) => {\n\t\t\t\t\tif (fill != null) {\n\t\t\t\t\t\tbackground.set(\"stroke\", fill);\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tthis._disposers.push(this._strokeDp);\n\t\t\t}\n\n\t\t\tif (this.get(\"getLabelFillFromSprite\")) {\n\n\t\t\t\tif (this._labelDp) {\n\t\t\t\t\tthis._labelDp.dispose();\n\t\t\t\t}\n\n\t\t\t\tif (fill != null) {\n\t\t\t\t\tthis.label.set(\"fill\", fill);\n\t\t\t\t}\n\n\t\t\t\tthis._labelDp = tooltipTarget.on(\"fill\" as any, (fill) => {\n\t\t\t\t\tif (fill != null) {\n\t\t\t\t\t\tthis.label.set(\"fill\", fill);\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tthis._disposers.push(this._labelDp);\n\t\t\t}\n\t\t}\n\n\t\tthis._updateTextColor(fill);\n\t}\n\n\n\tprotected _updateTextColor(fill?: Color | Pattern) {\n\t\tif (this.get(\"autoTextColor\")) {\n\t\t\tif (fill == null) {\n\t\t\t\tfill = this.get(\"background\")!.get(\"fill\") as Color;\n\t\t\t}\n\n\t\t\tif (fill == null) {\n\t\t\t\tfill = this._root.interfaceColors.get(\"background\");\n\t\t\t}\n\n\t\t\tif (fill instanceof Color) {\n\t\t\t\tthis.label.set(\"fill\", Color.alternative(fill, this._root.interfaceColors.get(\"alternativeText\"), this._root.interfaceColors.get(\"text\")));\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _setDataItem(dataItem?: DataItem<IComponentDataItem>): void {\n\t\tsuper._setDataItem(dataItem);\n\t\tthis.label._setDataItem(dataItem);\n\t}\n\n\n\tprotected _updateBackground() {\n\t\tsuper.updateBackground();\n\t\tconst parent = this._root.container;\n\n\t\tif (parent) {\n\n\t\t\tlet cw = 0.5;\n\t\t\tlet ch = 0.5;\n\n\t\t\tlet centerX = this.get(\"centerX\");\n\t\t\tif (centerX instanceof Percent) {\n\t\t\t\tcw = centerX.value;\n\t\t\t}\n\n\t\t\tlet centerY = this.get(\"centerY\");\n\t\t\tif (centerY instanceof Percent) {\n\t\t\t\tch = centerY.value;\n\t\t\t}\n\n\t\t\tlet parentW = parent.width();\n\t\t\tlet parentH = parent.height();\n\n\t\t\tlet tooltipContainer = this.parent;\n\t\t\tlet xx = 0;\n\t\t\tlet yy = 0;\n\t\t\tif (tooltipContainer) {\n\t\t\t\txx = tooltipContainer.x();\n\t\t\t\tyy = tooltipContainer.y();\n\n\t\t\t\tconst layerMargin = tooltipContainer.get(\"layerMargin\");\n\t\t\t\tif (layerMargin) {\n\t\t\t\t\txx += layerMargin.left || 0;\n\t\t\t\t\tyy += layerMargin.top || 0;\n\t\t\t\t\tparentW += (layerMargin.left || 0) + (layerMargin.right || 0);\n\t\t\t\t\tparentH += (layerMargin.top || 0) + (layerMargin.bottom || 0);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst bounds = this.get(\"bounds\", { left: -xx, top: -yy, right: parentW - xx, bottom: parentH - yy });\n\n\t\t\tthis._updateBounds();\n\n\t\t\tlet w = this.width();\n\t\t\tlet h = this.height();\n\n\t\t\t// use old w and h,as when tooltip is hidden, these are 0 and unneeded animation happens\n\t\t\tif (w === 0) {\n\t\t\t\tw = this._w;\n\t\t\t}\n\n\t\t\tif (h === 0) {\n\t\t\t\th = this._h;\n\t\t\t}\n\n\t\t\tlet pointTo = this.get(\"pointTo\", { x: parentW / 2, y: parentH / 2 });\n\t\t\tlet x = pointTo.x;\n\t\t\tlet y = pointTo.y;\n\n\t\t\tlet pointerOrientation = this.get(\"pointerOrientation\");\n\n\t\t\tlet background = this.get(\"background\");\n\t\t\tlet pointerLength = 0;\n\t\t\tlet bgStrokeSizeY = 0;\n\t\t\tlet bgStrokeSizeX = 0;\n\n\t\t\tif (background instanceof PointedRectangle) {\n\t\t\t\tpointerLength = background.get(\"pointerLength\", 0);\n\t\t\t\tbgStrokeSizeY = background.get(\"strokeWidth\", 0) / 2;\n\t\t\t\tbgStrokeSizeX = bgStrokeSizeY;\n\t\t\t\tbackground.set(\"width\", w);\n\t\t\t\tbackground.set(\"height\", h);\n\t\t\t}\n\n\t\t\tlet pointerX = 0;\n\t\t\tlet pointerY = 0;\n\n\t\t\tlet boundsW = bounds.right - bounds.left;\n\t\t\tlet boundsH = bounds.bottom - bounds.top;\n\n\n\t\t\t// horizontal\n\t\t\tif (pointerOrientation == \"horizontal\" || pointerOrientation == \"left\" || pointerOrientation == \"right\") {\n\t\t\t\tbgStrokeSizeY = 0;\n\t\t\t\tif (pointerOrientation == \"horizontal\") {\n\t\t\t\t\tif (x > bounds.left + boundsW / 2) {\n\t\t\t\t\t\tx -= (w * (1 - cw) + pointerLength);\n\t\t\t\t\t\tbgStrokeSizeX *= -1;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tx += (w * cw + pointerLength);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (pointerOrientation == \"left\") {\n\t\t\t\t\tx += (w * (1 - cw) + pointerLength);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tx -= (w * cw + pointerLength);\n\t\t\t\t\tbgStrokeSizeX *= -1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// vertical pointer\n\t\t\telse {\n\t\t\t\tbgStrokeSizeX = 0;\n\t\t\t\tif (pointerOrientation == \"vertical\") {\n\t\t\t\t\tif (y > bounds.top + h / 2 + pointerLength) {\n\t\t\t\t\t\ty -= (h * (1 - ch) + pointerLength);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\ty += (h * ch + pointerLength);\n\t\t\t\t\t\tbgStrokeSizeY *= -1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (pointerOrientation == \"down\") {\n\t\t\t\t\ty -= (h * (1 - ch) + pointerLength);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\ty += (h * ch + pointerLength);\n\t\t\t\t\tbgStrokeSizeY *= -1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tx = $math.fitToRange(x, bounds.left + w * cw, bounds.left + boundsW - w * (1 - cw)) + bgStrokeSizeX;\n\t\t\ty = $math.fitToRange(y, bounds.top + h * ch, bounds.top + boundsH - h * (1 - ch)) - bgStrokeSizeY;\n\n\t\t\tpointerX = pointTo.x - x + w * cw + bgStrokeSizeX;\n\t\t\tpointerY = pointTo.y - y + h * ch - bgStrokeSizeY;\n\n\t\t\tthis._fx = x;\n\t\t\tthis._fy = y;\n\n\t\t\tconst animationDuration = this.get(\"animationDuration\", 0);\n\n\t\t\tif (animationDuration > 0 && this.get(\"visible\") && this.get(\"opacity\") > 0.1) {\n\t\t\t\tconst animationEasing = this.get(\"animationEasing\");\n\t\t\t\tthis.animate({ key: \"x\", to: x, duration: animationDuration, easing: animationEasing });\n\t\t\t\tthis.animate({ key: \"y\", to: y, duration: animationDuration, easing: animationEasing });\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.set(\"x\", x);\n\t\t\t\tthis.set(\"y\", y);\n\t\t\t}\n\n\t\t\tif (background instanceof PointedRectangle) {\n\t\t\t\tbackground.set(\"pointerX\", pointerX);\n\t\t\t\tbackground.set(\"pointerY\", pointerY);\n\t\t\t}\n\n\t\t\tif (w > 0) {\n\t\t\t\tthis._w = w;\n\t\t\t}\n\t\t\tif (h > 0) {\n\t\t\t\tthis._h = h;\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IBounds } from \"../util/IBounds\";\nimport type { IPoint } from \"../util/IPoint\";\nimport type { Pattern } from \"../render/patterns/Pattern\";\nimport type { Time } from \"../util/Animation\";\nimport type { Sprite } from \"../render/Sprite\";\nimport type { Graphics } from \"../render/Graphics\";\nimport type { IPointerEvent } from \"../render/backend/Renderer\";\nimport type { DataItem, IComponentDataItem } from \"./Component\";\nimport type { Root } from \"../Root\";\nimport type { Template } from \"../util/Template\";\nimport type { Entity } from \"../util/Entity\";\n\nimport { MultiDisposer, IDisposer } from \"../util/Disposer\";\nimport { Label } from \"../render/Label\";\nimport { PointedRectangle } from \"../render/PointedRectangle\";\nimport { Container, IContainerPrivate, IContainerSettings } from \"./Container\";\nimport { Percent } from \"../util/Percent\";\nimport { Color } from \"../util/Color\";\n\nimport * as $math from \"../util/Math\";\nimport * as $array from \"../util/Array\";\nimport * as $utils from \"../util/Utils\";\n\n\nexport interface ITooltipSettings extends IContainerSettings {\n\n\t/**\n\t * Text to use for tooltip's label.\n\t */\n\tlabelText?: string;\n\n\t/**\n\t * HTML content to use for tooltip's label.\n\t *\n\t * @since 5.2.11\n\t */\n\tlabelHTML?: string;\n\n\t/**\n\t * A screen reader content for the label.\n\t *\n\t * Used in conjuction with `readerAnnounce`. If it is set to `true`, and\n\t * `labelAriaLabel` is set, its contents will be read out by a screen reader\n\t * when tooltip is shown or its data item changes.\n\t *\n\t * Otherwise, regular `labelText` (or `text` set directly on tooltip label) will\n\t * be used for screen reader announcement.\n\t *\n\t * @since 5.9.2\n\t */\n\tlabelAriaLabel?: string;\n\n\t/**\n\t * A direction of the tooltip pointer.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Orientation} for more info\n\t * @default \"vertical\"\n\t */\n\tpointerOrientation?: \"left\" | \"right\" | \"up\" | \"down\" | \"vertical\" | \"horizontal\";\n\n\t/**\n\t * If set to `true` will use the same `fill` color for its background as\n\t * its `tooltipTarget`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Colors} for more info\n\t * @default true\n\t */\n\tgetFillFromSprite?: boolean;\n\n\t/**\n\t * If set to `true` will use the same `fillGradient` for its background as\n\t * its `tooltipTarget`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Colors} for more info\n\t * @default false\n\t */\n\tgetFillGradientFromSprite?: boolean;\n\n\t/**\n\t * If set to `true` will use the same `fill` color as its `tooltipTarget`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Colors} for more info\n\t * @default false\n\t */\n\tgetLabelFillFromSprite?: boolean;\n\n\t/**\n\t * If set to `true` will use the same `stroke` color as its `tooltipTarget`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Colors} for more info\n\t * @default false\n\t */\n\tgetStrokeFromSprite?: boolean;\n\n\t/**\n\t * Screen bounds to constrain the tooltip within.\n\t */\n\tbounds?: IBounds;\n\n\t/**\n\t * If set to `true` tooltip will adjust its text color for better visibility\n\t * on its background.\n\t *\n\t * @default true\n\t */\n\tautoTextColor?: boolean;\n\n\t/**\n\t * Screen coordinates the tooltip show point to.\n\t */\n\tpointTo?: IPoint;\n\n\t/**\n\t * Duration in milliseconds for tooltip position change, e.g. when tooltip\n\t * is jumping from one target to another.\n\t */\n\tanimationDuration?: number;\n\n\t/**\n\t * Easing function for tooltip animation.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/animations/#Easing_functions} for more info\n\t */\n\tanimationEasing?: (t: Time) => Time;\n\n\t/**\n\t * A target element tooltip is shown for.\n\t */\n\ttooltipTarget?: Sprite;\n\n\t/**\n\t * If set to `true`, tooltip's target element will considered to be hovered\n\t * when mouse pointer is over tooltip itself.\n\t *\n\t * @since 5.2.14\n\t */\n\tkeepTargetHover?: boolean;\n\n\t/**\n\t * If set to `true` the tooltip contents will be read out by a screen reader\n\t * when displayed or changed.\n\t *\n\t * @default false\n\t * @since 5.9.2\n\t */\n\treaderAnnounce?: boolean;\n\n}\n\nexport interface ITooltipPrivate extends IContainerPrivate {\n}\n\n/**\n * Creates a tooltip.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/} for more info\n * @important\n */\nexport class Tooltip extends Container {\n\n\tpublic _fx: number = 0;\n\tpublic _fy: number = 0;\n\n\tdeclare public _settings: ITooltipSettings;\n\tdeclare public _privateSettings: ITooltipPrivate;\n\n\tprotected _label!: Label;\n\tpublic static className: string = \"Tooltip\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([Tooltip.className]);\n\n\tprotected _fillDp: IDisposer | undefined;\n\tprotected _fillGrDp: IDisposer | undefined;\n\tprotected _strokeDp: IDisposer | undefined;\n\tprotected _labelDp: IDisposer | undefined;\n\n\tprotected _w: number = 0;\n\tprotected _h: number = 0;\n\n\tprotected _keepHoverDp: MultiDisposer | undefined;\n\tprotected _htmlContentHovered: boolean = false;\n\n\tconstructor(root: Root, settings: Entity[\"_settings\"], isReal: boolean, templates: Array<Template<Entity>> = []) {\n\t\tsuper(root, settings, isReal, templates);\n\t}\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"tooltip\"]);\n\n\t\tsuper._afterNew();\n\n\t\tconst background: Graphics = this._setDefaultFn(\"background\", () => {\n\t\t\treturn PointedRectangle.new(this._root, {});\n\t\t});\n\n\t\tbackground.set(\"themeTags\", [\"tooltip\", \"background\"]);\n\n\t\tthis._label = this.children.push(Label.new(this._root, {}));\n\n\t\tthis._disposers.push(this._label.events.on(\"boundschanged\", () => {\n\t\t\tthis._updateBackground();\n\t\t}))\n\n\t\tthis._disposers.push(this.on(\"bounds\", () => {\n\t\t\tthis._updateBackground();\n\t\t}))\n\n\t\tthis._updateTextColor();\n\n\t\tthis._root.tooltipContainer.children.push(this);\n\t\tthis.hide(0);\n\n\t\tthis._disposers.push(this.label.onPrivate(\"htmlElement\", (htmlElement) => {\n\t\t\tif (htmlElement) {\n\t\t\t\tthis._disposers.push($utils.addEventListener(htmlElement, \"pointerover\", (_ev) => {\n\t\t\t\t\tthis._htmlContentHovered = true;\n\t\t\t\t}));\n\t\t\t\tthis._disposers.push($utils.addEventListener(htmlElement, \"pointerout\", (_ev) => {\n\t\t\t\t\tthis._htmlContentHovered = false;\n\t\t\t\t}));\n\t\t\t}\n\t\t}))\n\n\t\tthis.on(\"visible\", (_ev) => {\n\t\t\tthis._handleReaderAnnouncement();\n\t\t});\n\n\t\tthis.label.events.on(\"dataitemchanged\", (_ev) => {\n\t\t\tthis._handleReaderAnnouncement();\n\t\t});\n\n\t\tthis._root._tooltips.push(this);\n\t}\n\n\tprotected _handleReaderAnnouncement() {\n\t\tif (this.get(\"readerAnnounce\") && this.isVisibleDeep()) {\n\t\t\tthis._root.readerAlert(this.label.getAccessibleText());\n\t\t}\n\t}\n\n\t/**\n\t * A [[Label]] element for the tooltip.\n\t *\n\t * @readonly\n\t * @return Label\n\t */\n\tpublic get label(): Label {\n\t\treturn this._label;\n\t}\n\n\t/**\n\t * Permanently disposes the tooltip.\n\t */\n\tprotected _dispose() {\n\t\tsuper._dispose();\n\t\t$array.remove(this._root._tooltips, this);\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tif (this.isDirty(\"pointerOrientation\") || this.isPrivateDirty(\"minWidth\") || this.isPrivateDirty(\"minHeight\")) {\n\t\t\tthis.get(\"background\")!._markDirtyKey(\"width\");\n\t\t}\n\n\t\tconst labelText = this.get(\"labelText\");\n\t\tif (labelText != null) {\n\t\t\tthis.label.set(\"text\", this.get(\"labelText\"));\n\t\t}\n\t\tconst labelHTML = this.get(\"labelHTML\");\n\t\tif (labelHTML != null) {\n\t\t\tthis.label.set(\"html\", this.get(\"labelHTML\"));\n\t\t}\n\t\tconst labelAriaLabel = this.get(\"labelAriaLabel\");\n\t\tif (labelAriaLabel != null) {\n\t\t\tthis.label.set(\"ariaLabel\", this.get(\"labelAriaLabel\"));\n\t\t}\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\n\t\tif (this.isDirty(\"pointTo\") || this.isDirty(\"pointerOrientation\")) {\n\t\t\t// can't compare to previous, as sometimes pointTo is set twice (when pointer moves, so the position won't be udpated)\n\t\t\tthis._updateBackground();\n\t\t}\n\n\t\tif (this.isDirty(\"tooltipTarget\")) {\n\t\t\tthis.updateBackgroundColor();\n\t\t}\n\n\t\tif (this.isDirty(\"keepTargetHover\")) {\n\t\t\tconst keephover = this.get(\"keepTargetHover\");\n\t\t\tif (keephover) {\n\t\t\t\tconst bg = this.get(\"background\")!;\n\t\t\t\tthis._keepHoverDp = new MultiDisposer([\n\t\t\t\t\tbg.events.on(\"pointerover\", (_ev) => {\n\t\t\t\t\t\tlet target = this.get(\"tooltipTarget\");\n\t\t\t\t\t\tif (target) {\n\t\t\t\t\t\t\tif (target.parent && target.parent.getPrivate(\"tooltipTarget\") == target) {\n\t\t\t\t\t\t\t\ttarget = target.parent;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttarget.hover();\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\tbg.events.on(\"pointerout\", (_ev) => {\n\t\t\t\t\t\tlet target = this.get(\"tooltipTarget\");\n\t\t\t\t\t\tif (target) {\n\t\t\t\t\t\t\tif (target.parent && target.parent.getPrivate(\"tooltipTarget\") == target) {\n\t\t\t\t\t\t\t\ttarget = target.parent;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!this._htmlContentHovered) {\n\t\t\t\t\t\t\t\ttarget.unhover();\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\n\t\t\t\tthis.label.onPrivate(\"htmlElement\", (htmlElement: any) => {\n\t\t\t\t\tif (this._keepHoverDp && htmlElement) {\n\t\t\t\t\t\tthis._keepHoverDp.disposers.push($utils.addEventListener<PointerEvent | MouseEvent>(htmlElement, \"pointerleave\", (ev: IPointerEvent) => {\n\t\t\t\t\t\t\tconst outEvent = this.root._renderer.getEvent(ev);\n\t\t\t\t\t\t\tbg.events.dispatch(\"pointerout\", {\n\t\t\t\t\t\t\t\ttype: \"pointerout\",\n\t\t\t\t\t\t\t\toriginalEvent: outEvent.event,\n\t\t\t\t\t\t\t\tpoint: outEvent.point,\n\t\t\t\t\t\t\t\tsimulated: false,\n\t\t\t\t\t\t\t\ttarget: bg\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (this._keepHoverDp) {\n\t\t\t\t\tthis._keepHoverDp.dispose();\n\t\t\t\t\tthis._keepHoverDp = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _onShow() {\n\t\tsuper._onShow();\n\t\tthis.updateBackgroundColor();\n\t}\n\n\n\tpublic updateBackgroundColor() {\n\t\tlet tooltipTarget = this.get(\"tooltipTarget\");\n\t\tconst background = this.get(\"background\");\n\t\tlet fill: Color | undefined;\n\t\tlet stroke: Color | undefined;\n\n\n\t\tif (tooltipTarget && background) {\n\n\t\t\tfill = tooltipTarget.get(\"fill\" as any);\n\t\t\tstroke = tooltipTarget.get(\"stroke\" as any);\n\n\t\t\tif (fill == null) {\n\t\t\t\tfill = stroke;\n\t\t\t}\n\n\t\t\tif (this.get(\"getFillFromSprite\")) {\n\n\t\t\t\tif (this._fillDp) {\n\t\t\t\t\tthis._fillDp.dispose();\n\t\t\t\t}\n\n\t\t\t\tif (fill != null) {\n\t\t\t\t\tbackground.set(\"fill\", fill);\n\t\t\t\t}\n\n\t\t\t\tthis._fillDp = tooltipTarget.on(\"fill\" as any, (fill) => {\n\t\t\t\t\tif (fill != null) {\n\t\t\t\t\t\tbackground.set(\"fill\", fill);\n\t\t\t\t\t\tthis._updateTextColor(fill);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tthis._disposers.push(this._fillDp);\n\t\t\t}\n\n\t\t\tif (this.get(\"getFillGradientFromSprite\")) {\n\n\t\t\t\tif (this._fillGrDp) {\n\t\t\t\t\tthis._fillGrDp.dispose();\n\t\t\t\t}\n\n\t\t\t\tlet fillGradient = tooltipTarget.get(\"fillGradient\" as any);\n\n\t\t\t\tif (fillGradient != null) {\n\t\t\t\t\tbackground.set(\"fillGradient\", fillGradient);\n\t\t\t\t}\n\n\t\t\t\tthis._fillGrDp = tooltipTarget.on(\"fillGradient\" as any, (fillGradient) => {\n\t\t\t\t\tif (fillGradient != null) {\n\t\t\t\t\t\tbackground.set(\"fillGradient\", fillGradient);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tthis._disposers.push(this._fillGrDp);\n\t\t\t}\n\n\t\t\tif (this.get(\"getStrokeFromSprite\")) {\n\n\t\t\t\tif (this._strokeDp) {\n\t\t\t\t\tthis._strokeDp.dispose();\n\t\t\t\t}\n\n\t\t\t\tif (fill != null) {\n\t\t\t\t\tbackground.set(\"stroke\", fill);\n\t\t\t\t}\n\n\t\t\t\tthis._strokeDp = tooltipTarget.on(\"fill\" as any, (fill) => {\n\t\t\t\t\tif (fill != null) {\n\t\t\t\t\t\tbackground.set(\"stroke\", fill);\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tthis._disposers.push(this._strokeDp);\n\t\t\t}\n\n\t\t\tif (this.get(\"getLabelFillFromSprite\")) {\n\n\t\t\t\tif (this._labelDp) {\n\t\t\t\t\tthis._labelDp.dispose();\n\t\t\t\t}\n\n\t\t\t\tif (fill != null) {\n\t\t\t\t\tthis.label.set(\"fill\", fill);\n\t\t\t\t}\n\n\t\t\t\tthis._labelDp = tooltipTarget.on(\"fill\" as any, (fill) => {\n\t\t\t\t\tif (fill != null) {\n\t\t\t\t\t\tthis.label.set(\"fill\", fill);\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tthis._disposers.push(this._labelDp);\n\t\t\t}\n\t\t}\n\n\t\tthis._updateTextColor(fill);\n\t}\n\n\n\tprotected _updateTextColor(fill?: Color | Pattern) {\n\t\tif (this.get(\"autoTextColor\")) {\n\t\t\tif (fill == null) {\n\t\t\t\tfill = this.get(\"background\")!.get(\"fill\") as Color;\n\t\t\t}\n\n\t\t\tif (fill == null) {\n\t\t\t\tfill = this._root.interfaceColors.get(\"background\");\n\t\t\t}\n\n\t\t\tif (fill instanceof Color) {\n\t\t\t\tthis.label.set(\"fill\", Color.alternative(fill, this._root.interfaceColors.get(\"alternativeText\"), this._root.interfaceColors.get(\"text\")));\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _setDataItem(dataItem?: DataItem<IComponentDataItem>): void {\n\t\tsuper._setDataItem(dataItem);\n\t\tthis.label._setDataItem(dataItem);\n\t}\n\n\n\tprotected _updateBackground() {\n\t\tsuper.updateBackground();\n\t\tconst parent = this._root.container;\n\n\t\tif (parent) {\n\n\t\t\tlet cw = 0.5;\n\t\t\tlet ch = 0.5;\n\n\t\t\tlet centerX = this.get(\"centerX\");\n\t\t\tif (centerX instanceof Percent) {\n\t\t\t\tcw = centerX.value;\n\t\t\t}\n\n\t\t\tlet centerY = this.get(\"centerY\");\n\t\t\tif (centerY instanceof Percent) {\n\t\t\t\tch = centerY.value;\n\t\t\t}\n\n\t\t\tlet parentW = parent.width();\n\t\t\tlet parentH = parent.height();\n\n\t\t\tlet tooltipContainer = this.parent;\n\t\t\tlet xx = 0;\n\t\t\tlet yy = 0;\n\t\t\tif (tooltipContainer) {\n\t\t\t\txx = tooltipContainer.x();\n\t\t\t\tyy = tooltipContainer.y();\n\n\t\t\t\tconst layerMargin = tooltipContainer.get(\"layerMargin\");\n\t\t\t\tif (layerMargin) {\n\t\t\t\t\txx += layerMargin.left || 0;\n\t\t\t\t\tyy += layerMargin.top || 0;\n\t\t\t\t\tparentW += (layerMargin.left || 0) + (layerMargin.right || 0);\n\t\t\t\t\tparentH += (layerMargin.top || 0) + (layerMargin.bottom || 0);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst bounds = this.get(\"bounds\", { left: -xx, top: -yy, right: parentW - xx, bottom: parentH - yy });\n\n\t\t\tthis._updateBounds();\n\n\t\t\tlet w = this.width();\n\t\t\tlet h = this.height();\n\n\t\t\t// use old w and h,as when tooltip is hidden, these are 0 and unneeded animation happens\n\t\t\tif (w === 0) {\n\t\t\t\tw = this._w;\n\t\t\t}\n\n\t\t\tif (h === 0) {\n\t\t\t\th = this._h;\n\t\t\t}\n\n\t\t\tlet pointTo = this.get(\"pointTo\", { x: parentW / 2, y: parentH / 2 });\n\t\t\tlet x = pointTo.x;\n\t\t\tlet y = pointTo.y;\n\n\t\t\tlet pointerOrientation = this.get(\"pointerOrientation\");\n\n\t\t\tlet background = this.get(\"background\");\n\t\t\tlet pointerLength = 0;\n\t\t\tlet bgStrokeSizeY = 0;\n\t\t\tlet bgStrokeSizeX = 0;\n\n\t\t\tif (background instanceof PointedRectangle) {\n\t\t\t\tpointerLength = background.get(\"pointerLength\", 0);\n\t\t\t\tbgStrokeSizeY = background.get(\"strokeWidth\", 0) / 2;\n\t\t\t\tbgStrokeSizeX = bgStrokeSizeY;\n\t\t\t\tbackground.set(\"width\", w);\n\t\t\t\tbackground.set(\"height\", h);\n\t\t\t}\n\n\t\t\tlet pointerX = 0;\n\t\t\tlet pointerY = 0;\n\n\t\t\tlet boundsW = bounds.right - bounds.left;\n\t\t\tlet boundsH = bounds.bottom - bounds.top;\n\n\n\t\t\t// horizontal\n\t\t\tif (pointerOrientation == \"horizontal\" || pointerOrientation == \"left\" || pointerOrientation == \"right\") {\n\t\t\t\tbgStrokeSizeY = 0;\n\t\t\t\tif (pointerOrientation == \"horizontal\") {\n\t\t\t\t\tif (x > bounds.left + boundsW / 2) {\n\t\t\t\t\t\tx -= (w * (1 - cw) + pointerLength);\n\t\t\t\t\t\tbgStrokeSizeX *= -1;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tx += (w * cw + pointerLength);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (pointerOrientation == \"left\") {\n\t\t\t\t\tx += (w * (1 - cw) + pointerLength);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tx -= (w * cw + pointerLength);\n\t\t\t\t\tbgStrokeSizeX *= -1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// vertical pointer\n\t\t\telse {\n\t\t\t\tbgStrokeSizeX = 0;\n\t\t\t\tif (pointerOrientation == \"vertical\") {\n\t\t\t\t\tif (y > bounds.top + h / 2 + pointerLength) {\n\t\t\t\t\t\ty -= (h * (1 - ch) + pointerLength);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\ty += (h * ch + pointerLength);\n\t\t\t\t\t\tbgStrokeSizeY *= -1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (pointerOrientation == \"down\") {\n\t\t\t\t\ty -= (h * (1 - ch) + pointerLength);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\ty += (h * ch + pointerLength);\n\t\t\t\t\tbgStrokeSizeY *= -1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tx = $math.fitToRange(x, bounds.left + w * cw, bounds.left + boundsW - w * (1 - cw)) + bgStrokeSizeX;\n\t\t\ty = $math.fitToRange(y, bounds.top + h * ch, bounds.top + boundsH - h * (1 - ch)) - bgStrokeSizeY;\n\n\t\t\tpointerX = pointTo.x - x + w * cw + bgStrokeSizeX;\n\t\t\tpointerY = pointTo.y - y + h * ch - bgStrokeSizeY;\n\n\t\t\tthis._fx = x;\n\t\t\tthis._fy = y;\n\n\t\t\tconst animationDuration = this.get(\"animationDuration\", 0);\n\n\t\t\tif (animationDuration > 0 && this.get(\"visible\") && this.get(\"opacity\") > 0.1) {\n\t\t\t\tconst animationEasing = this.get(\"animationEasing\");\n\t\t\t\tthis.animate({ key: \"x\", to: x, duration: animationDuration, easing: animationEasing });\n\t\t\t\tthis.animate({ key: \"y\", to: y, duration: animationDuration, easing: animationEasing });\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.set(\"x\", x);\n\t\t\t\tthis.set(\"y\", y);\n\t\t\t}\n\n\t\t\tif (background instanceof PointedRectangle) {\n\t\t\t\tbackground.set(\"pointerX\", pointerX);\n\t\t\t\tbackground.set(\"pointerY\", pointerY);\n\t\t\t}\n\n\t\t\tif (w > 0) {\n\t\t\t\tthis._w = w;\n\t\t\t}\n\t\t\tif (h > 0) {\n\t\t\t\tthis._h = h;\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZoomableContainer.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/ZoomableContainer.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Time } from \"../../core/util/Animation\";\r\nimport type { Animation } from \"../../core/util/Entity\";\r\nimport type { IDisposer } from \"../../core/util/Disposer\";\r\nimport type { IPoint } from \"../../core/util/IPoint\";\r\nimport type { ISpritePointerEvent } from \"../../core/render/Sprite\";\r\n\r\nimport { Container, IContainerSettings, IContainerPrivate, IContainerEvents } from \"../../core/render/Container\";\r\nimport { p100 } from \"../../core/util/Percent\";\r\nimport { Rectangle } from \"../../core/render/Rectangle\";\r\nimport { color } from \"../../core/util/Color\";\r\n\r\nimport * as $utils from \"../../core/util/Utils\";\r\nimport * as $math from \"../../core/util/Math\";\r\nimport * as $object from \"../../core/util/Object\";\r\nimport * as $type from \"../../core/util/Type\";\r\n\r\nexport interface IZoomableContainerSettings extends IContainerSettings {\r\n\r\n\t/**\r\n\t * Maximum zoom-in level.\r\n\t * \r\n\t * @default 32\r\n\t */\r\n\tmaxZoomLevel?: number;\r\n\r\n\t/**\r\n\t * Maximum zoom-out level.\r\n\t * \r\n\t * @default 1\r\n\t */\r\n\tminZoomLevel?: number;\r\n\r\n\t/**\r\n\t * Zoom level increase/decrease factor with each zoom action.\r\n\t * \r\n\t * @defult 2\r\n\t */\r\n\tzoomStep?: number;\r\n\r\n\t/**\r\n\t * Pinch-zooming is enabled on touch devices.\r\n\t *\r\n\t * @default true\r\n\t */\r\n\tpinchZoom?: boolean;\r\n\r\n\t/**\r\n\t * Animation duration (ms) for zoom animations.\r\n\t *\r\n\t * @default 600\r\n\t */\r\n\tanimationDuration?: number;\r\n\r\n\t/**\r\n\t * Easing function to use for zoom animations.\r\n\t * \r\n\t * @default am5.ease.out(am5.ease.cubic)\r\n\t */\r\n\tanimationEasing?: (t: Time) => Time;\r\n\r\n\t/**\r\n\t * How much of a content can go outside the viewport.\r\n\t *\r\n\t * @default 0.4\r\n\t */\r\n\tmaxPanOut?: number;\r\n\r\n}\r\n\r\nexport interface IZoomableContainerPrivate extends IContainerPrivate {\r\n}\r\n\r\nexport interface IZoomableContainerEvents extends IContainerEvents {\r\n}\r\n\r\n/**\r\n * A version of [[Container]] which adds zooming capabilities.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/containers/#Zoomable_container} for more info\r\n * @since 5.8.0\r\n * @important\r\n */\r\nexport class ZoomableContainer extends Container {\r\n\tpublic static className: string = \"ZoomableContainer\";\r\n\tpublic static classNames: Array<string> = Container.classNames.concat([ZoomableContainer.className]);\r\n\r\n\tdeclare public _settings: IZoomableContainerSettings;\r\n\tdeclare public _privateSettings: IZoomableContainerPrivate;\r\n\tdeclare public _events: IZoomableContainerEvents;\r\n\r\n\tprotected _za?: Animation<this[\"_settings\"][\"scale\"]>;\r\n\tprotected _txa?: Animation<this[\"_settings\"][\"x\"]>;\r\n\tprotected _tya?: Animation<this[\"_settings\"][\"y\"]>;\r\n\r\n\r\n\tprotected _movePoints: { [index: number]: IPoint } = {};\r\n\tprotected _downScale: number = 1;\r\n\tprotected _downX: number = 0;\r\n\tprotected _downY: number = 0;\r\n\r\n\tprotected _pinchDP?: IDisposer;\r\n\r\n\t/**\r\n\t * All elements must be added to `contents.children` instead of `children` of\r\n\t * [[ZoomableContainer]].\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/containers/#Zoomable_container} for more info\r\n\t */\r\n\tpublic contents = this.children.push(Container.new(this._root, {\r\n\t\twidth: p100,\r\n\t\theight: p100,\r\n\t\tx: 0,\r\n\t\ty: 0,\r\n\t\tdraggable: true,\r\n\t\tbackground: Rectangle.new(this._root, {\r\n\t\t\tfill: color(0xffffff),\r\n\t\t\tfillOpacity: 0\r\n\t\t})\r\n\t}))\r\n\r\n\tprotected _wheelDp: IDisposer | undefined;\r\n\r\n\tprotected _afterNew(): void {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tconst events = this.contents.events;\r\n\r\n\t\tthis._disposers.push(events.on(\"pointerdown\", (event) => {\r\n\t\t\tthis._handleThisDown(event);\r\n\t\t}));\r\n\r\n\t\tthis._disposers.push(events.on(\"globalpointerup\", (event) => {\r\n\t\t\tthis._handleThisUp(event);\r\n\t\t}));\r\n\r\n\t\tthis._disposers.push(events.on(\"globalpointermove\", (event) => {\r\n\t\t\tthis._handleThisMove(event);\r\n\t\t}));\r\n\r\n\t\tconst bg = this.contents.get(\"background\");\r\n\t\tif (bg) {\r\n\t\t\tbg.adapters.add(\"width\", (width) => {\r\n\t\t\t\treturn Number(width) * 20;\r\n\t\t\t})\r\n\t\t\tbg.adapters.add(\"height\", (height) => {\r\n\t\t\t\treturn Number(height) * 20;\r\n\t\t\t})\r\n\t\t\tbg.adapters.add(\"x\", (x) => {\r\n\t\t\t\treturn Number(x) - bg.width() / 2;\r\n\t\t\t})\r\n\t\t\tbg.adapters.add(\"y\", (y) => {\r\n\t\t\t\treturn Number(y) - bg.height() / 2;\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tconst contents = this.contents;\r\n\r\n\t\tcontents.adapters.add(\"x\", (x) => {\r\n\t\t\tconst scale = contents.get(\"scale\", 1);\r\n\t\t\tif($type.isNumber(x) && scale >= 1){\r\n\t\t\t\tlet maxPanOut = this.get(\"maxPanOut\", 0.4);\r\n\t\t\t\tlet w = contents.width();\r\n\r\n\t\t\t\tx = Math.min(w * maxPanOut, x);\r\n\t\t\t\tx = Math.max(this.width() - w * scale * (1 + maxPanOut), x);\r\n\t\t\t}\r\n\t\t\treturn x;\r\n\t\t})\r\n\r\n\t\tcontents.adapters.add(\"y\", (y) => {\r\n\t\t\tconst scale = contents.get(\"scale\", 1);\r\n\t\t\tif($type.isNumber(y) && scale >= 1){\r\n\t\t\t\tlet maxPanOut = this.get(\"maxPanOut\", 0.4);\r\n\t\t\t\tlet h = contents.height();\r\n\r\n\t\t\t\ty = Math.min(h * maxPanOut, y);\r\n\t\t\t\ty = Math.max(this.height() - h * scale * (1 + maxPanOut), y);\r\n\t\t\t}\r\n\t\t\treturn y;\r\n\t\t})\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tsuper._prepareChildren();\r\n\t\tif (this.isDirty(\"wheelable\")) {\r\n\t\t\tthis._handleSetWheel();\r\n\t\t}\r\n\r\n\t\tthis.contents._display.cancelTouch = this.get(\"pinchZoom\", false);\r\n\t}\r\n\r\n\r\n\tprotected _handleSetWheel() {\r\n\t\tif (this.get(\"wheelable\")) {\r\n\t\t\tif (this._wheelDp) {\r\n\t\t\t\tthis._wheelDp.dispose();\r\n\t\t\t}\r\n\r\n\t\t\tthis._wheelDp = this.events.on(\"wheel\", (event) => {\r\n\t\t\t\tconst wheelEvent = event.originalEvent;\r\n\r\n\t\t\t\t// Ignore wheel event if it is happening on a non-ZoomableContainer element, e.g. if\r\n\t\t\t\t// some page element is over the ZoomableContainer.\r\n\t\t\t\tif ($utils.isLocalEvent(wheelEvent, this)) {\r\n\t\t\t\t\twheelEvent.preventDefault();\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst point = this.toLocal(event.point);\r\n\r\n\t\t\t\tthis._handleWheelZoom(wheelEvent.deltaY, point);\r\n\t\t\t});\r\n\r\n\t\t\tthis._disposers.push(this._wheelDp);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (this._wheelDp) {\r\n\t\t\t\tthis._wheelDp.dispose();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handleWheelZoom(delta: number, point: IPoint) {\r\n\t\tlet step = this.get(\"zoomStep\", 2);\r\n\t\tlet zoomLevel = this.contents.get(\"scale\", 1);\r\n\r\n\t\tlet newZoomLevel = zoomLevel;\r\n\t\tif (delta > 0) {\r\n\t\t\tnewZoomLevel = zoomLevel / step;\r\n\t\t}\r\n\t\telse if (delta < 0) {\r\n\t\t\tnewZoomLevel = zoomLevel * step;\r\n\t\t}\r\n\r\n\t\tif (newZoomLevel != zoomLevel) {\r\n\t\t\tthis.zoomToPoint(point, newZoomLevel)\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Zooms to specific X/Y point.\r\n\t * \r\n\t * @param point Center point\r\n\t * @param level Zoom level\r\n\t * @return Zoom Animation object\r\n\t */\r\n\tpublic zoomToPoint(point: IPoint, level: number): Animation<this[\"_settings\"][\"scale\"]> | undefined {\r\n\t\tif (level) {\r\n\t\t\tlevel = $math.fitToRange(level, this.get(\"minZoomLevel\", 1), this.get(\"maxZoomLevel\", 32));\r\n\t\t}\r\n\r\n\t\tconst zoomLevel = this.contents.get(\"scale\", 1);\r\n\r\n\t\tlet x = point.x;\r\n\t\tlet y = point.y;\r\n\r\n\t\tlet cx = x;\r\n\t\tlet cy = y;\r\n\r\n\t\tconst contents = this.contents;\r\n\r\n\t\tlet tx = contents.x();\r\n\t\tlet ty = contents.y();\r\n\r\n\t\tlet xx = cx - ((x - tx) / zoomLevel * level);\r\n\t\tlet yy = cy - ((y - ty) / zoomLevel * level);\r\n\r\n\t\tthis._animateTo(xx, yy, level);\r\n\r\n\t\treturn this._za;\r\n\t}\r\n\r\n\t/**\r\n\t * Zooms the container contents in by `zoomStep`.\r\n\t * \r\n\t * @return Zoom Animation object\r\n\t */\r\n\tpublic zoomIn(): Animation<this[\"_settings\"][\"scale\"]> | undefined {\r\n\t\treturn this.zoomToPoint({ x: this.width() / 2, y: this.height() / 2 }, this.contents.get(\"scale\", 1) * this.get(\"zoomStep\", 2));\r\n\t}\r\n\r\n\t/**\r\n\t * Zooms the container contents out by `zoomStep`.\r\n\t * \r\n\t * @return Zoom Animation object\r\n\t */\r\n\tpublic zoomOut(): Animation<this[\"_settings\"][\"scale\"]> | undefined {\r\n\t\treturn this.zoomToPoint({ x: this.width() / 2, y: this.height() / 2 }, this.contents.get(\"scale\", 1) / this.get(\"zoomStep\", 2));\r\n\t}\r\n\r\n\t/**\r\n\t * Fully zooms out the container contents.\r\n\t * \r\n\t * @return Zoom Animation object\r\n\t */\r\n\tpublic goHome() {\r\n\t\treturn this._animateTo(0, 0, 1);\r\n\t}\r\n\r\n\tprotected _animateTo(x: number, y: number, scale: number) {\r\n\t\tconst duration = this.get(\"animationDuration\", 0);\r\n\t\tconst easing = this.get(\"animationEasing\");\r\n\r\n\t\tconst contents = this.contents;\r\n\t\tthis._txa = contents.animate({ key: \"x\", to: x, duration: duration, easing: easing });\r\n\t\tthis._tya = contents.animate({ key: \"y\", to: y, duration: duration, easing: easing });\r\n\t\tthis._za = contents.animate({ key: \"scale\", to: scale, duration: duration, easing: easing });\r\n\t}\r\n\r\n\r\n\tprotected _handleThisUp(_event: ISpritePointerEvent) {\r\n\t\tthis._downPoints = {}\r\n\t}\r\n\r\n\tprotected _handleThisDown(event: ISpritePointerEvent) {\r\n\r\n\t\tconst contents = this.contents;\r\n\r\n\t\tthis._downScale = contents.get(\"scale\", 1);\r\n\t\tconst downPoints = contents._downPoints;\r\n\r\n\t\tlet count = $object.keys(downPoints).length;\r\n\r\n\t\tif (count == 1) {\r\n\t\t\t// workaround to solve a problem when events are added to some children of chart container (rotation stops working)\r\n\t\t\tlet downPoint = downPoints[1];\r\n\t\t\tif (!downPoint) {\r\n\t\t\t\tdownPoint = downPoints[0];\r\n\t\t\t}\r\n\r\n\t\t\tif (downPoint && (downPoint.x == event.point.x && downPoint.y == event.point.y)) {\r\n\t\t\t\tcount = 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (count > 0) {\r\n\t\t\tthis._downX = contents.x();\r\n\t\t\tthis._downY = contents.y();\r\n\r\n\t\t\tconst downId = contents._getDownPointId();\r\n\t\t\tif (downId) {\r\n\t\t\t\tlet movePoint = this._movePoints[downId];\r\n\t\t\t\tif (movePoint) {\r\n\t\t\t\t\tcontents._downPoints[downId] = movePoint;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tprotected _handleThisMove(event: ISpritePointerEvent) {\r\n\t\tconst originalEvent = event.originalEvent as any;\r\n\r\n\t\tconst pointerId = originalEvent.pointerId;\r\n\r\n\t\tif (this.get(\"pinchZoom\")) {\r\n\t\t\tif (pointerId) {\r\n\t\t\t\tthis._movePoints[pointerId] = event.point;\r\n\r\n\t\t\t\tif ($object.keys(this.contents._downPoints).length > 1) {\r\n\t\t\t\t\tthis._handlePinch();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handlePinch() {\r\n\t\tlet i = 0;\r\n\t\tlet downPoints: Array<IPoint> = [];\r\n\t\tlet movePoints: Array<IPoint> = [];\r\n\r\n\t\t$object.each(this.contents._downPoints, (k, point) => {\r\n\t\t\tdownPoints[i] = point;\r\n\t\t\tlet movePoint = this._movePoints[k];\r\n\t\t\tif (movePoint) {\r\n\t\t\t\tmovePoints[i] = movePoint;\r\n\t\t\t}\r\n\t\t\ti++;\r\n\t\t});\r\n\r\n\t\tif (downPoints.length > 1 && movePoints.length > 1) {\r\n\r\n\t\t\tthis.contents._isDragging = false;\r\n\r\n\t\t\tlet downPoint0 = downPoints[0];\r\n\t\t\tlet downPoint1 = downPoints[1];\r\n\r\n\t\t\tlet movePoint0 = movePoints[0];\r\n\t\t\tlet movePoint1 = movePoints[1];\r\n\r\n\t\t\tif (downPoint0 && downPoint1 && movePoint0 && movePoint1) {\r\n\t\t\t\tdownPoint0 = this.toLocal(downPoint0);\r\n\t\t\t\tdownPoint1 = this.toLocal(downPoint1);\r\n\r\n\t\t\t\tmovePoint0 = this.toLocal(movePoint0);\r\n\t\t\t\tmovePoint1 = this.toLocal(movePoint1);\r\n\r\n\t\t\t\tlet initialDistance = Math.hypot(downPoint1.x - downPoint0.x, downPoint1.y - downPoint0.y);\r\n\t\t\t\tlet currentDistance = Math.hypot(movePoint1.x - movePoint0.x, movePoint1.y - movePoint0.y);\r\n\r\n\t\t\t\tlet level = currentDistance / initialDistance * this._downScale;\r\n\t\t\t\tlet moveCenter = { x: movePoint0.x + (movePoint1.x - movePoint0.x) / 2, y: movePoint0.y + (movePoint1.y - movePoint0.y) / 2 };\r\n\t\t\t\tlet downCenter = { x: downPoint0.x + (downPoint1.x - downPoint0.x) / 2, y: downPoint0.y + (downPoint1.y - downPoint0.y) / 2 };\r\n\r\n\t\t\t\tlet tx = this._downX || 0;\r\n\t\t\t\tlet ty = this._downY || 0;\r\n\r\n\t\t\t\tlet zoomLevel = this._downScale;\r\n\r\n\t\t\t\tlet xx = moveCenter.x - (- tx + downCenter.x) / zoomLevel * level;\r\n\t\t\t\tlet yy = moveCenter.y - (- ty + downCenter.y) / zoomLevel * level;\r\n\r\n\t\t\t\tthis.contents.setAll({\r\n\t\t\t\t\tx: xx,\r\n\t\t\t\t\ty: yy,\r\n\t\t\t\t\tscale: level\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}"]}
|
|
1
|
+
{"version":3,"file":"ZoomableContainer.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/ZoomableContainer.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Time } from \"../../core/util/Animation\";\r\nimport type { Animation } from \"../../core/util/Entity\";\r\nimport type { IDisposer } from \"../../core/util/Disposer\";\r\nimport type { IPoint } from \"../../core/util/IPoint\";\r\nimport type { ISpritePointerEvent } from \"../../core/render/Sprite\";\r\n\r\nimport { Container, IContainerSettings, IContainerPrivate, IContainerEvents } from \"../../core/render/Container\";\r\nimport { p100 } from \"../../core/util/Percent\";\r\nimport { Rectangle } from \"../../core/render/Rectangle\";\r\nimport { color } from \"../../core/util/Color\";\r\n\r\nimport * as $utils from \"../../core/util/Utils\";\r\nimport * as $math from \"../../core/util/Math\";\r\nimport * as $object from \"../../core/util/Object\";\r\nimport * as $type from \"../../core/util/Type\";\r\n\r\nexport interface IZoomableContainerSettings extends IContainerSettings {\r\n\r\n\t/**\r\n\t * Maximum zoom-in level.\r\n\t * \r\n\t * @default 32\r\n\t */\r\n\tmaxZoomLevel?: number;\r\n\r\n\t/**\r\n\t * Maximum zoom-out level.\r\n\t * \r\n\t * @default 1\r\n\t */\r\n\tminZoomLevel?: number;\r\n\r\n\t/**\r\n\t * Zoom level increase/decrease factor with each zoom action.\r\n\t * \r\n\t * @default 2\r\n\t */\r\n\tzoomStep?: number;\r\n\r\n\t/**\r\n\t * Pinch-zooming is enabled on touch devices.\r\n\t *\r\n\t * @default true\r\n\t */\r\n\tpinchZoom?: boolean;\r\n\r\n\t/**\r\n\t * Animation duration (ms) for zoom animations.\r\n\t *\r\n\t * @default 600\r\n\t */\r\n\tanimationDuration?: number;\r\n\r\n\t/**\r\n\t * Easing function to use for zoom animations.\r\n\t * \r\n\t * @default am5.ease.out(am5.ease.cubic)\r\n\t */\r\n\tanimationEasing?: (t: Time) => Time;\r\n\r\n\t/**\r\n\t * How much of a content can go outside the viewport.\r\n\t *\r\n\t * @default 0.4\r\n\t */\r\n\tmaxPanOut?: number;\r\n\r\n}\r\n\r\nexport interface IZoomableContainerPrivate extends IContainerPrivate {\r\n}\r\n\r\nexport interface IZoomableContainerEvents extends IContainerEvents {\r\n}\r\n\r\n/**\r\n * A version of [[Container]] which adds zooming capabilities.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/containers/#Zoomable_container} for more info\r\n * @since 5.8.0\r\n * @important\r\n */\r\nexport class ZoomableContainer extends Container {\r\n\tpublic static className: string = \"ZoomableContainer\";\r\n\tpublic static classNames: Array<string> = Container.classNames.concat([ZoomableContainer.className]);\r\n\r\n\tdeclare public _settings: IZoomableContainerSettings;\r\n\tdeclare public _privateSettings: IZoomableContainerPrivate;\r\n\tdeclare public _events: IZoomableContainerEvents;\r\n\r\n\tprotected _za?: Animation<this[\"_settings\"][\"scale\"]>;\r\n\tprotected _txa?: Animation<this[\"_settings\"][\"x\"]>;\r\n\tprotected _tya?: Animation<this[\"_settings\"][\"y\"]>;\r\n\r\n\r\n\tprotected _movePoints: { [index: number]: IPoint } = {};\r\n\tprotected _downScale: number = 1;\r\n\tprotected _downX: number = 0;\r\n\tprotected _downY: number = 0;\r\n\r\n\tprotected _pinchDP?: IDisposer;\r\n\r\n\t/**\r\n\t * All elements must be added to `contents.children` instead of `children` of\r\n\t * [[ZoomableContainer]].\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/containers/#Zoomable_container} for more info\r\n\t */\r\n\tpublic contents = this.children.push(Container.new(this._root, {\r\n\t\twidth: p100,\r\n\t\theight: p100,\r\n\t\tx: 0,\r\n\t\ty: 0,\r\n\t\tdraggable: true,\r\n\t\tbackground: Rectangle.new(this._root, {\r\n\t\t\tfill: color(0xffffff),\r\n\t\t\tfillOpacity: 0\r\n\t\t})\r\n\t}))\r\n\r\n\tprotected _wheelDp: IDisposer | undefined;\r\n\r\n\tprotected _afterNew(): void {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tconst events = this.contents.events;\r\n\r\n\t\tthis._disposers.push(events.on(\"pointerdown\", (event) => {\r\n\t\t\tthis._handleThisDown(event);\r\n\t\t}));\r\n\r\n\t\tthis._disposers.push(events.on(\"globalpointerup\", (event) => {\r\n\t\t\tthis._handleThisUp(event);\r\n\t\t}));\r\n\r\n\t\tthis._disposers.push(events.on(\"globalpointermove\", (event) => {\r\n\t\t\tthis._handleThisMove(event);\r\n\t\t}));\r\n\r\n\t\tconst bg = this.contents.get(\"background\");\r\n\t\tif (bg) {\r\n\t\t\tbg.adapters.add(\"width\", (width) => {\r\n\t\t\t\treturn Number(width) * 20;\r\n\t\t\t})\r\n\t\t\tbg.adapters.add(\"height\", (height) => {\r\n\t\t\t\treturn Number(height) * 20;\r\n\t\t\t})\r\n\t\t\tbg.adapters.add(\"x\", (x) => {\r\n\t\t\t\treturn Number(x) - bg.width() / 2;\r\n\t\t\t})\r\n\t\t\tbg.adapters.add(\"y\", (y) => {\r\n\t\t\t\treturn Number(y) - bg.height() / 2;\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tconst contents = this.contents;\r\n\r\n\t\tcontents.adapters.add(\"x\", (x) => {\r\n\t\t\tconst scale = contents.get(\"scale\", 1);\r\n\t\t\tif($type.isNumber(x) && scale >= 1){\r\n\t\t\t\tlet maxPanOut = this.get(\"maxPanOut\", 0.4);\r\n\t\t\t\tlet w = contents.width();\r\n\r\n\t\t\t\tx = Math.min(w * maxPanOut, x);\r\n\t\t\t\tx = Math.max(this.width() - w * scale * (1 + maxPanOut), x);\r\n\t\t\t}\r\n\t\t\treturn x;\r\n\t\t})\r\n\r\n\t\tcontents.adapters.add(\"y\", (y) => {\r\n\t\t\tconst scale = contents.get(\"scale\", 1);\r\n\t\t\tif($type.isNumber(y) && scale >= 1){\r\n\t\t\t\tlet maxPanOut = this.get(\"maxPanOut\", 0.4);\r\n\t\t\t\tlet h = contents.height();\r\n\r\n\t\t\t\ty = Math.min(h * maxPanOut, y);\r\n\t\t\t\ty = Math.max(this.height() - h * scale * (1 + maxPanOut), y);\r\n\t\t\t}\r\n\t\t\treturn y;\r\n\t\t})\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tsuper._prepareChildren();\r\n\t\tif (this.isDirty(\"wheelable\")) {\r\n\t\t\tthis._handleSetWheel();\r\n\t\t}\r\n\r\n\t\tthis.contents._display.cancelTouch = this.get(\"pinchZoom\", false);\r\n\t}\r\n\r\n\r\n\tprotected _handleSetWheel() {\r\n\t\tif (this.get(\"wheelable\")) {\r\n\t\t\tif (this._wheelDp) {\r\n\t\t\t\tthis._wheelDp.dispose();\r\n\t\t\t}\r\n\r\n\t\t\tthis._wheelDp = this.events.on(\"wheel\", (event) => {\r\n\t\t\t\tconst wheelEvent = event.originalEvent;\r\n\r\n\t\t\t\t// Ignore wheel event if it is happening on a non-ZoomableContainer element, e.g. if\r\n\t\t\t\t// some page element is over the ZoomableContainer.\r\n\t\t\t\tif ($utils.isLocalEvent(wheelEvent, this)) {\r\n\t\t\t\t\twheelEvent.preventDefault();\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst point = this.toLocal(event.point);\r\n\r\n\t\t\t\tthis._handleWheelZoom(wheelEvent.deltaY, point);\r\n\t\t\t});\r\n\r\n\t\t\tthis._disposers.push(this._wheelDp);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (this._wheelDp) {\r\n\t\t\t\tthis._wheelDp.dispose();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handleWheelZoom(delta: number, point: IPoint) {\r\n\t\tlet step = this.get(\"zoomStep\", 2);\r\n\t\tlet zoomLevel = this.contents.get(\"scale\", 1);\r\n\r\n\t\tlet newZoomLevel = zoomLevel;\r\n\t\tif (delta > 0) {\r\n\t\t\tnewZoomLevel = zoomLevel / step;\r\n\t\t}\r\n\t\telse if (delta < 0) {\r\n\t\t\tnewZoomLevel = zoomLevel * step;\r\n\t\t}\r\n\r\n\t\tif (newZoomLevel != zoomLevel) {\r\n\t\t\tthis.zoomToPoint(point, newZoomLevel)\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Zooms to specific X/Y point.\r\n\t * \r\n\t * @param point Center point\r\n\t * @param level Zoom level\r\n\t * @return Zoom Animation object\r\n\t */\r\n\tpublic zoomToPoint(point: IPoint, level: number): Animation<this[\"_settings\"][\"scale\"]> | undefined {\r\n\t\tif (level) {\r\n\t\t\tlevel = $math.fitToRange(level, this.get(\"minZoomLevel\", 1), this.get(\"maxZoomLevel\", 32));\r\n\t\t}\r\n\r\n\t\tconst zoomLevel = this.contents.get(\"scale\", 1);\r\n\r\n\t\tlet x = point.x;\r\n\t\tlet y = point.y;\r\n\r\n\t\tlet cx = x;\r\n\t\tlet cy = y;\r\n\r\n\t\tconst contents = this.contents;\r\n\r\n\t\tlet tx = contents.x();\r\n\t\tlet ty = contents.y();\r\n\r\n\t\tlet xx = cx - ((x - tx) / zoomLevel * level);\r\n\t\tlet yy = cy - ((y - ty) / zoomLevel * level);\r\n\r\n\t\tthis._animateTo(xx, yy, level);\r\n\r\n\t\treturn this._za;\r\n\t}\r\n\r\n\t/**\r\n\t * Zooms the container contents in by `zoomStep`.\r\n\t * \r\n\t * @return Zoom Animation object\r\n\t */\r\n\tpublic zoomIn(): Animation<this[\"_settings\"][\"scale\"]> | undefined {\r\n\t\treturn this.zoomToPoint({ x: this.width() / 2, y: this.height() / 2 }, this.contents.get(\"scale\", 1) * this.get(\"zoomStep\", 2));\r\n\t}\r\n\r\n\t/**\r\n\t * Zooms the container contents out by `zoomStep`.\r\n\t * \r\n\t * @return Zoom Animation object\r\n\t */\r\n\tpublic zoomOut(): Animation<this[\"_settings\"][\"scale\"]> | undefined {\r\n\t\treturn this.zoomToPoint({ x: this.width() / 2, y: this.height() / 2 }, this.contents.get(\"scale\", 1) / this.get(\"zoomStep\", 2));\r\n\t}\r\n\r\n\t/**\r\n\t * Fully zooms out the container contents.\r\n\t * \r\n\t * @return Zoom Animation object\r\n\t */\r\n\tpublic goHome() {\r\n\t\treturn this._animateTo(0, 0, 1);\r\n\t}\r\n\r\n\tprotected _animateTo(x: number, y: number, scale: number) {\r\n\t\tconst duration = this.get(\"animationDuration\", 0);\r\n\t\tconst easing = this.get(\"animationEasing\");\r\n\r\n\t\tconst contents = this.contents;\r\n\t\tthis._txa = contents.animate({ key: \"x\", to: x, duration: duration, easing: easing });\r\n\t\tthis._tya = contents.animate({ key: \"y\", to: y, duration: duration, easing: easing });\r\n\t\tthis._za = contents.animate({ key: \"scale\", to: scale, duration: duration, easing: easing });\r\n\t}\r\n\r\n\r\n\tprotected _handleThisUp(_event: ISpritePointerEvent) {\r\n\t\tthis._downPoints = {}\r\n\t}\r\n\r\n\tprotected _handleThisDown(event: ISpritePointerEvent) {\r\n\r\n\t\tconst contents = this.contents;\r\n\r\n\t\tthis._downScale = contents.get(\"scale\", 1);\r\n\t\tconst downPoints = contents._downPoints;\r\n\r\n\t\tlet count = $object.keys(downPoints).length;\r\n\r\n\t\tif (count == 1) {\r\n\t\t\t// workaround to solve a problem when events are added to some children of chart container (rotation stops working)\r\n\t\t\tlet downPoint = downPoints[1];\r\n\t\t\tif (!downPoint) {\r\n\t\t\t\tdownPoint = downPoints[0];\r\n\t\t\t}\r\n\r\n\t\t\tif (downPoint && (downPoint.x == event.point.x && downPoint.y == event.point.y)) {\r\n\t\t\t\tcount = 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (count > 0) {\r\n\t\t\tthis._downX = contents.x();\r\n\t\t\tthis._downY = contents.y();\r\n\r\n\t\t\tconst downId = contents._getDownPointId();\r\n\t\t\tif (downId) {\r\n\t\t\t\tlet movePoint = this._movePoints[downId];\r\n\t\t\t\tif (movePoint) {\r\n\t\t\t\t\tcontents._downPoints[downId] = movePoint;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tprotected _handleThisMove(event: ISpritePointerEvent) {\r\n\t\tconst originalEvent = event.originalEvent as any;\r\n\r\n\t\tconst pointerId = originalEvent.pointerId;\r\n\r\n\t\tif (this.get(\"pinchZoom\")) {\r\n\t\t\tif (pointerId) {\r\n\t\t\t\tthis._movePoints[pointerId] = event.point;\r\n\r\n\t\t\t\tif ($object.keys(this.contents._downPoints).length > 1) {\r\n\t\t\t\t\tthis._handlePinch();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handlePinch() {\r\n\t\tlet i = 0;\r\n\t\tlet downPoints: Array<IPoint> = [];\r\n\t\tlet movePoints: Array<IPoint> = [];\r\n\r\n\t\t$object.each(this.contents._downPoints, (k, point) => {\r\n\t\t\tdownPoints[i] = point;\r\n\t\t\tlet movePoint = this._movePoints[k];\r\n\t\t\tif (movePoint) {\r\n\t\t\t\tmovePoints[i] = movePoint;\r\n\t\t\t}\r\n\t\t\ti++;\r\n\t\t});\r\n\r\n\t\tif (downPoints.length > 1 && movePoints.length > 1) {\r\n\r\n\t\t\tthis.contents._isDragging = false;\r\n\r\n\t\t\tlet downPoint0 = downPoints[0];\r\n\t\t\tlet downPoint1 = downPoints[1];\r\n\r\n\t\t\tlet movePoint0 = movePoints[0];\r\n\t\t\tlet movePoint1 = movePoints[1];\r\n\r\n\t\t\tif (downPoint0 && downPoint1 && movePoint0 && movePoint1) {\r\n\t\t\t\tdownPoint0 = this.toLocal(downPoint0);\r\n\t\t\t\tdownPoint1 = this.toLocal(downPoint1);\r\n\r\n\t\t\t\tmovePoint0 = this.toLocal(movePoint0);\r\n\t\t\t\tmovePoint1 = this.toLocal(movePoint1);\r\n\r\n\t\t\t\tlet initialDistance = Math.hypot(downPoint1.x - downPoint0.x, downPoint1.y - downPoint0.y);\r\n\t\t\t\tlet currentDistance = Math.hypot(movePoint1.x - movePoint0.x, movePoint1.y - movePoint0.y);\r\n\r\n\t\t\t\tlet level = currentDistance / initialDistance * this._downScale;\r\n\t\t\t\tlet moveCenter = { x: movePoint0.x + (movePoint1.x - movePoint0.x) / 2, y: movePoint0.y + (movePoint1.y - movePoint0.y) / 2 };\r\n\t\t\t\tlet downCenter = { x: downPoint0.x + (downPoint1.x - downPoint0.x) / 2, y: downPoint0.y + (downPoint1.y - downPoint0.y) / 2 };\r\n\r\n\t\t\t\tlet tx = this._downX || 0;\r\n\t\t\t\tlet ty = this._downY || 0;\r\n\r\n\t\t\t\tlet zoomLevel = this._downScale;\r\n\r\n\t\t\t\tlet xx = moveCenter.x - (- tx + downCenter.x) / zoomLevel * level;\r\n\t\t\t\tlet yy = moveCenter.y - (- ty + downCenter.y) / zoomLevel * level;\r\n\r\n\t\t\t\tthis.contents.setAll({\r\n\t\t\t\t\tx: xx,\r\n\t\t\t\t\ty: yy,\r\n\t\t\t\t\tscale: level\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}"]}
|
|
@@ -3,7 +3,7 @@ export interface ICirclePatternSettings extends IPatternSettings {
|
|
|
3
3
|
/**
|
|
4
4
|
* Gap between circles, in pixels.
|
|
5
5
|
*
|
|
6
|
-
* @default
|
|
6
|
+
* @default 5
|
|
7
7
|
*/
|
|
8
8
|
gap?: number;
|
|
9
9
|
/**
|
|
@@ -22,7 +22,7 @@ export interface ICirclePatternSettings extends IPatternSettings {
|
|
|
22
22
|
/**
|
|
23
23
|
* Center circles.
|
|
24
24
|
*
|
|
25
|
-
* @default
|
|
25
|
+
* @default false
|
|
26
26
|
*/
|
|
27
27
|
centered?: boolean;
|
|
28
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CirclePattern.js","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/CirclePattern.ts"],"names":[],"mappings":"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","sourcesContent":["import { Pattern, IPatternSettings, IPatternPrivate } from \"./Pattern\";\n\nimport * as $math from \"../../util/Math\";\n\nexport interface ICirclePatternSettings extends IPatternSettings {\n\n\t/**\n\t * Gap between circles, in pixels.\n\t *\n\t * @default
|
|
1
|
+
{"version":3,"file":"CirclePattern.js","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/CirclePattern.ts"],"names":[],"mappings":"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","sourcesContent":["import { Pattern, IPatternSettings, IPatternPrivate } from \"./Pattern\";\n\nimport * as $math from \"../../util/Math\";\n\nexport interface ICirclePatternSettings extends IPatternSettings {\n\n\t/**\n\t * Gap between circles, in pixels.\n\t *\n\t * @default 5\n\t */\n\tgap?: number;\n\n\t/**\n\t * Radius of the circles, in pixels.\n\t *\n\t * @default 3\n\t */\n\tradius?: number;\n\n\t/**\n\t * If set to `true`, will place every second circle, creating checkered\n\t * pattern.\n\t *\n\t * @default false\n\t */\n\tcheckered?: boolean;\n\n\t/**\n\t * Center circles.\n\t *\n\t * @default false\n\t */\n\tcentered?: boolean;\n\n}\n\nexport interface ICirclePatternPrivate extends IPatternPrivate {\n}\n\n/**\n * Circle pattern.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more info\n */\nexport class CirclePattern extends Pattern {\n\n\tdeclare public _settings: ICirclePatternSettings;\n\tdeclare public _privateSettings: ICirclePatternPrivate;\n\n\tpublic static className: string = \"CirclePattern\";\n\tpublic static classNames: Array<string> = Pattern.classNames.concat([CirclePattern.className]);\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"gap\")) {\n\t\t\tthis._clear = true;\n\t\t}\n\t}\n\n\tprotected _draw() {\n\t\tsuper._draw();\n\n\t\tconst checkered = this.get(\"checkered\", false);\n\t\tconst centered = this.get(\"centered\", true);\n\t\tconst gap = this.get(\"gap\", 0);\n\t\tconst rotation = this.get(\"rotation\", 0);\n\t\tlet w = this.get(\"width\", 100);\n\t\tlet h = this.get(\"height\", 100);\n\t\tlet radius = this.get(\"radius\", 3);\n\n\t\tlet cellW = radius * 2 + gap;\n\t\tlet cellH = radius * 2 + gap;\n\n\t\tlet cols = Math.round(w / cellW);\n\t\tlet rows = Math.round(h / cellH);\n\n\t\tcellW = w / cols;\n\t\tcellH = h / rows;\n\n\t\tif (rotation != 0) {\n\t\t\t// @todo this is probably not right\n\t\t\tthis._display.x = cellW * $math.cos(rotation);\n\t\t\tthis._display.y = cellH * $math.sin(rotation);\n\t\t}\n\n\t\tconst color = this.get(\"color\");\n\t\tconst colorOpacity = this.get(\"colorOpacity\");\n\t\tif (color || colorOpacity) {\n\t\t\tthis._display.beginFill(color, colorOpacity);\n\t\t}\n\n\t\tfor (let r = rotation == 0 ? 0 : -rows * 2; r < rows * 2; r++) {\n\t\t\tfor (let c = rotation == 0 ? 0 : -cols * 2; c < cols * 2; c++) {\n\t\t\t\tif (!checkered || ((r & 1) != 1 && (c & 1) != 1) || ((r & 1) == 1 && (c & 1) == 1)) {\n\t\t\t\t\tlet x = c * cellW;\n\t\t\t\t\tlet y = r * cellH;\n\t\t\t\t\tif (centered) {\n\t\t\t\t\t\tx += cellW + gap / 2;\n\t\t\t\t\t\ty += cellH + gap / 2;\n\t\t\t\t\t}\n\t\t\t\t\tthis._display.drawCircle(x - radius, y - radius, radius);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (checkered) {\n\t\t\tw = w / 2 - gap * 2;\n\t\t\th = h / 2 - gap * 2;\n\t\t}\n\t\telse {\n\t\t\tw -= gap;\n\t\t\th -= gap;\n\t\t}\n\n\t\tif (color || colorOpacity) {\n\t\t\tthis._display.endFill();\n\t\t}\n\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GrainPattern.js","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/GrainPattern.ts"],"names":[],"mappings":"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","sourcesContent":["import { Pattern, IPatternSettings, IPatternPrivate } from \"./Pattern\";\r\nimport { Color } from \"../../util/Color\";\r\n\r\nexport interface IGrainPatternSettings extends IPatternSettings {\r\n\r\n\t/**\r\n\t * Size of a grain in pixels.\r\n\t *\r\n\t * @default 1\r\n\t */\r\n\tsize?: number;\r\n\r\n\t/**\r\n\t * Density of noise.\r\n\t *\r\n\t * Value range: `0` (no noise applied) to `1` (noise is applied to every\r\n\t * pixel).\r\n\t *\r\n\t * The bigger the value, the higher chance that pixel will have another pixel\r\n\t * painted over with random opacity from `minOpacity` to `maxOpacity`.\r\n\t *\r\n\t * @default 1\r\n\t */\r\n\tdensity?: number;\r\n\r\n\t/**\r\n\t * Minimum opacity of a noise pixel.\r\n\t *\r\n\t * @default 0\r\n\t */\r\n\tminOpacity?: number;\r\n\r\n\t/**\r\n\t * Maximum opacity of a noise pixel.\r\n\t *\r\n\t * @default 0.
|
|
1
|
+
{"version":3,"file":"GrainPattern.js","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/GrainPattern.ts"],"names":[],"mappings":"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","sourcesContent":["import { Pattern, IPatternSettings, IPatternPrivate } from \"./Pattern\";\r\nimport { Color } from \"../../util/Color\";\r\n\r\nexport interface IGrainPatternSettings extends IPatternSettings {\r\n\r\n\t/**\r\n\t * Size of a grain in pixels.\r\n\t *\r\n\t * @default 1\r\n\t */\r\n\tsize?: number;\r\n\r\n\t/**\r\n\t * Density of noise.\r\n\t *\r\n\t * Value range: `0` (no noise applied) to `1` (noise is applied to every\r\n\t * pixel).\r\n\t *\r\n\t * The bigger the value, the higher chance that pixel will have another pixel\r\n\t * painted over with random opacity from `minOpacity` to `maxOpacity`.\r\n\t *\r\n\t * @default 1\r\n\t */\r\n\tdensity?: number;\r\n\r\n\t/**\r\n\t * Minimum opacity of a noise pixel.\r\n\t *\r\n\t * @default 0\r\n\t */\r\n\tminOpacity?: number;\r\n\r\n\t/**\r\n\t * Maximum opacity of a noise pixel.\r\n\t *\r\n\t * @default 0.2\r\n\t */\r\n\tmaxOpacity?: number;\r\n\r\n\t/**\r\n\t * An array of colors to randomly use for pixels.\r\n\t *\r\n\t * @default [color(0x000000)]\r\n\t */\r\n\tcolors?: Array<Color>;\r\n\r\n\t/**\r\n\t * Horizontal gap between noise pixels measured in `size`.\r\n\t *\r\n\t * @default 0\r\n\t */\r\n\thorizontalGap?: number;\r\n\r\n\t/**\r\n\t * Vertical gap between noise pixels measured in `size`.\r\n\t *\r\n\t * @default 0\r\n\t */\r\n\tverticalGap?: number;\r\n\r\n}\r\n\r\nexport interface IGrainPatternPrivate extends IPatternPrivate {\r\n}\r\n\r\n/**\r\n * Grain pattern.\r\n * \r\n * Allows to add grain (noise) effect to your [[Graphics]] objects.\r\n * \r\n * Note, grain pattern does not support `fill` and `color` setting.\r\n * Use `colors` setting to define colors of a grain pixels.\r\n * \r\n * Note, rotation setting is not supported by this pattern.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Grain_patterns} for more info\r\n * @since 5.5.0\r\n */\r\nexport class GrainPattern extends Pattern {\r\n\tdeclare public _settings: IGrainPatternSettings;\r\n\tdeclare public _privateSettings: IGrainPatternPrivate;\r\n\r\n\tpublic static className: string = \"GrainPattern\";\r\n\tpublic static classNames: Array<string> = Pattern.classNames.concat([GrainPattern.className]);\r\n\r\n\tpublic canvas: HTMLCanvasElement = document.createElement(\"canvas\");\r\n\tpublic context: CanvasRenderingContext2D = this.canvas.getContext(\"2d\")!;\r\n\r\n\tprotected _clearGrain: boolean = false;\r\n\r\n\tpublic _beforeChanged() {\r\n\t\t//document.body.appendChild(this.canvas); // temp\r\n\t\tthis.canvas.width = this.get(\"width\", 200);\r\n\t\tthis.canvas.height = this.get(\"height\", 200);\r\n\r\n\t\tif (this.isDirty(\"size\") || this.isDirty(\"density\") || this.isDirty(\"minOpacity\") || this.isDirty(\"maxOpacity\") || this.isDirty(\"colors\") || this.isDirty(\"horizontalGap\") || this.isDirty(\"verticalGap\")) {\r\n\t\t\tthis._clearGrain = true;\r\n\t\t}\r\n\t\tsuper._beforeChanged();\r\n\t}\r\n\r\n\r\n\tpublic _changed() {\r\n\t\tsuper._changed();\r\n\r\n\t\tif (this._clearGrain) {\r\n\t\t\tconst width = this.get(\"width\", 200);\r\n\t\t\tconst height = this.get(\"height\", 200);\r\n\r\n\t\t\tconst patternData = this.context.getImageData(0, 0, width, height);\r\n\r\n\t\t\tconst size = Math.max(1, this.get(\"size\", 1));\r\n\t\t\tconst minOpacity = this.get(\"minOpacity\", 0);\r\n\t\t\tconst maxOpacity = this.get(\"maxOpacity\", 0.3);\r\n\r\n\t\t\tconst colors = this.get(\"colors\", [this.get(\"color\", Color.fromHex(0x000000))])\r\n\r\n\t\t\tconst cols = width / size;\r\n\t\t\tconst rows = height / size;\r\n\t\t\tconst density = this.get(\"density\", 1);\r\n\t\t\tconst horizontalGap = this.get(\"horizontalGap\", 0) + 1;\r\n\t\t\tconst verticalGap = this.get(\"verticalGap\", 0) + 1;\r\n\r\n\t\t\tfor (let r = 0; r < rows; r++) {\r\n\r\n\t\t\t\tif (verticalGap > 0) {\r\n\t\t\t\t\tif (r / verticalGap != Math.round(r / verticalGap)) {\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor (let c = 0; c < cols; c++) {\r\n\t\t\t\t\tconst color = colors[Math.floor(Math.random() * colors.length)];\r\n\t\t\t\t\tconst alpha = (minOpacity + Math.random() * (maxOpacity - minOpacity)) * 255;\r\n\t\t\t\t\tconst rnd = Math.random();\r\n\r\n\t\t\t\t\tif (horizontalGap > 0) {\r\n\t\t\t\t\t\tif (c / horizontalGap != Math.round(c / horizontalGap)) {\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (rnd < density) {\r\n\t\t\t\t\t\tthis._setRectData(c, r, size, width, patternData.data, color.r, color.g, color.b, alpha);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.context.putImageData(patternData, 0, 0);\r\n\t\t\tthis._pattern = this.context.createPattern(this.canvas, \"repeat\");\r\n\t\t}\r\n\r\n\t\tthis._clearGrain = false;\r\n\t}\r\n\r\n\tprotected _checkDirtyFill() {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tprotected _setRectData(col: number, row: number, size: number, width: number, data: Uint8ClampedArray, rc: number, gc: number, bc: number, ac: number) {\r\n\t\tfor (var c = col * size; c < col * size + size; c++) {\r\n\t\t\tfor (var r = row * size; r < row * size + size; r++) {\r\n\t\t\t\tvar i = (r * width + c) * 4;\r\n\r\n\t\t\t\tdata[i] = rc;\r\n\t\t\t\tdata[i + 1] = gc;\r\n\t\t\t\tdata[i + 2] = bc;\r\n\t\t\t\tdata[i + 3] = ac;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n"]}
|
|
@@ -8,10 +8,10 @@ export interface ILinePatternSettings extends IPatternSettings {
|
|
|
8
8
|
gap?: number;
|
|
9
9
|
/**
|
|
10
10
|
* Line drawing angle in degrees. For line patterns it's better than using
|
|
11
|
-
* rotation of the whole pattern, allowing smaller pattern
|
|
11
|
+
* rotation of the whole pattern, allowing smaller pattern sizes.
|
|
12
12
|
*
|
|
13
13
|
* @default 0
|
|
14
|
-
* @since 5.14
|
|
14
|
+
* @since 5.14
|
|
15
15
|
*/
|
|
16
16
|
angle?: number;
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinePattern.js","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/LinePattern.ts"],"names":[],"mappings":"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","sourcesContent":["import { Pattern, IPatternSettings, IPatternPrivate } from \"./Pattern\";\nimport * as $type from \"../../util//Type\";\n\nexport interface ILinePatternSettings extends IPatternSettings {\n\n\t/**\n\t * Gap between lines, in pixels.\n\t *\n\t * @default 6\n\t */\n\tgap?: number;\n\n\t/**\n\t * Line drawing angle in degrees. For line patterns it's better than using\n\t * rotation of the whole pattern, allowing smaller pattern
|
|
1
|
+
{"version":3,"file":"LinePattern.js","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/LinePattern.ts"],"names":[],"mappings":"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","sourcesContent":["import { Pattern, IPatternSettings, IPatternPrivate } from \"./Pattern\";\nimport * as $type from \"../../util//Type\";\n\nexport interface ILinePatternSettings extends IPatternSettings {\n\n\t/**\n\t * Gap between lines, in pixels.\n\t *\n\t * @default 6\n\t */\n\tgap?: number;\n\n\t/**\n\t * Line drawing angle in degrees. For line patterns it's better than using\n\t * rotation of the whole pattern, allowing smaller pattern sizes.\n\t *\n\t * @default 0\n\t * @since 5.14\n\t */\n\tangle?: number;\n\n}\n\nexport interface ILinePatternPrivate extends IPatternPrivate {\n}\n\n/**\n * Line pattern.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more info\n */\nexport class LinePattern extends Pattern {\n\n\tdeclare public _settings: ILinePatternSettings;\n\tdeclare public _privateSettings: ILinePatternPrivate;\n\n\tpublic static className: string = \"LinePattern\";\n\tpublic static classNames: Array<string> = Pattern.classNames.concat([LinePattern.className]);\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"gap\")) {\n\t\t\tthis._clear = true;\n\t\t}\n\t}\n\n\tprotected _draw() {\n\t\tsuper._draw();\n\n\t\tconst w = this.get(\"width\", 100);\n\t\tconst h = this.get(\"height\", 100);\n\t\tconst gap = this.get(\"gap\", 0);\n\t\tconst strokeWidth = this.get(\"strokeWidth\", 1);\n\n\t\tif (!gap) {\n\t\t\tthis._display.moveTo(0, 0);\n\t\t\tthis._display.lineTo(w, 0);\n\t\t}\n\t\telse {\n\t\t\tlet step = gap + strokeWidth;\n\t\t\tlet count = h / step;\n\t\t\tlet angle = this.get(\"angle\", 0) * Math.PI / 180;\n\n\t\t\tif (angle === 0) {\n\t\t\t\t// Horizontal lines (original behavior)\n\t\t\t\tfor (let i = -count; i < count * 2; i++) {\n\t\t\t\t\tconst y = Math.round(i * step - step / 2) + 0.5;\n\t\t\t\t\tthis._display.moveTo(-w, y);\n\t\t\t\t\tthis._display.lineTo(w * 2, y);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Angled lines\n\t\t\t\tconst cosA = Math.cos(angle);\n\t\t\t\tconst sinA = Math.sin(angle);\n\t\t\t\tconst diagonal = Math.sqrt(w * w + h * h) * 2; // Ensure lines cover the entire area even when rotated\n\t\t\t\t\n\t\t\t\t// Calculate how many lines we need based on the gap\n\t\t\t\tconst effectiveStep = step / Math.max(Math.abs(cosA), Math.abs(sinA));\n\t\t\t\tconst lineCount = Math.ceil(diagonal / effectiveStep) * 2;\n\t\t\t\t\n\t\t\t\t// Draw lines through the rectangle at the specified angle\n\t\t\t\tfor (let i = -lineCount; i < lineCount; i++) {\n\t\t\t\t\tconst offset = i * step;\n\t\t\t\t\t\n\t\t\t\t\t// Calculate endpoints of the line\n\t\t\t\t\t// Start far outside the rectangle and clip automatically\n\t\t\t\t\tconst x1 = offset * sinA - diagonal * cosA;\n\t\t\t\t\tconst y1 = offset * cosA + diagonal * sinA;\n\t\t\t\t\tconst x2 = offset * sinA + diagonal * cosA;\n\t\t\t\t\tconst y2 = offset * cosA - diagonal * sinA;\n\t\t\t\t\t\n\t\t\t\t\tthis._display.moveTo(x1, y1);\n\t\t\t\t\tthis._display.lineTo(x2, y2);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\tfor (let i = -count; i < count * 2; i++) {\n\t\t\t\tconst y = Math.round(i * step - step / 2) + 0.5;\n\t\t\t\tthis._display.moveTo(-w, y);\n\t\t\t\tthis._display.lineTo(w * 2, y);\t\t\t\t\n\t\t\t}*/\n\t\t}\n\n\t\tthis._display.lineStyle(strokeWidth, this.get(\"color\"), this.get(\"colorOpacity\"));\n\n\t\tlet strokeDasharray = this.get(\"strokeDasharray\");\n\t\tif ($type.isNumber(strokeDasharray)) {\n\t\t\tif (strokeDasharray < 0.5) {\n\t\t\t\tstrokeDasharray = [0];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tstrokeDasharray = [strokeDasharray]\n\t\t\t}\n\t\t}\n\t\tthis._display.setLineDash(strokeDasharray as number[]);\n\n\t\tconst strokeDashoffset = this.get(\"strokeDashoffset\");\n\t\tif (strokeDashoffset) {\n\t\t\tthis._display.setLineDashOffset(strokeDashoffset);\n\t\t}\n\n\t\tthis._display.endStroke();\n\t}\n}\n"]}
|
|
@@ -3,7 +3,7 @@ import type { Color } from "../../util/Color";
|
|
|
3
3
|
import { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from "../../util/Entity";
|
|
4
4
|
export interface IPatternSettings extends IEntitySettings {
|
|
5
5
|
/**
|
|
6
|
-
* Rotation of
|
|
6
|
+
* Rotation of pattern in degrees. Supported values: -90 to 90.
|
|
7
7
|
*
|
|
8
8
|
* @default 0
|
|
9
9
|
* @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Rotation} for more info
|
|
@@ -12,18 +12,21 @@ export interface IPatternSettings extends IEntitySettings {
|
|
|
12
12
|
/**
|
|
13
13
|
* How pattern tiles are repeated when filling the area.
|
|
14
14
|
*
|
|
15
|
+
* @default "repeat"
|
|
15
16
|
* @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Repetition} for more info
|
|
16
17
|
*/
|
|
17
18
|
repetition?: "repeat" | "repeat-x" | "repeat-y" | "no-repeat";
|
|
18
19
|
/**
|
|
19
20
|
* Width of the pattern tile, in pixels.
|
|
20
21
|
*
|
|
22
|
+
* @default 50
|
|
21
23
|
* @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Sizing_patterns} for more info
|
|
22
24
|
*/
|
|
23
25
|
width?: number;
|
|
24
26
|
/**
|
|
25
|
-
*
|
|
27
|
+
* Height of the pattern tile, in pixels.
|
|
26
28
|
*
|
|
29
|
+
* @default 50
|
|
27
30
|
* @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Sizing_patterns} for more info
|
|
28
31
|
*/
|
|
29
32
|
height?: number;
|
|
@@ -66,6 +69,7 @@ export interface IPatternSettings extends IEntitySettings {
|
|
|
66
69
|
/**
|
|
67
70
|
* Opacity of the fill for gaps between pattern shapes.
|
|
68
71
|
*
|
|
72
|
+
* @default 1
|
|
69
73
|
* @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Colors} for more info
|
|
70
74
|
*/
|
|
71
75
|
fillOpacity?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pattern.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/Pattern.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE3F,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IAExD;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB
|
|
1
|
+
{"version":3,"file":"Pattern.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/Pattern.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE3F,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IAExD;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;IAE9D;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAEpC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;IAEb;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;CACtD;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;CACpD;AAED;;;;GAIG;AACH,qBAAa,OAAQ,SAAQ,MAAM;IAClC,SAAS,CAAC,SAAS;IAKJ,SAAS,EAAE,gBAAgB,CAAC;IAC5B,gBAAgB,EAAE,eAAe,CAAC;IAEjD,OAAc,SAAS,EAAE,MAAM,CAAa;IAC5C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAiD;IAEjF,QAAQ,EAAE,SAAS,CAAuC;IAC1D,kBAAkB,EAAE,SAAS,CAAuC;IAE3E,SAAS,CAAC,MAAM,UAAS;IAEzB,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC;IAEhD,IAAW,OAAO,IAAI,QAAQ,GAAG,SAAS,GAAG,IAAI,CAEhD;IAED,SAAS,CAAC,KAAK,IAAI,IAAI;IAEhB,cAAc;IAUrB,SAAS,CAAC,eAAe;IAMlB,QAAQ;CA+Bf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pattern.js","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/Pattern.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAkD,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Pattern.js","sourceRoot":"","sources":["../../../../../../src/.internal/core/render/patterns/Pattern.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IGraphics, IPattern } from \"../backend/Renderer\";\nimport type { Color } from \"../../util/Color\";\n\nimport { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from \"../../util/Entity\";\n\nexport interface IPatternSettings extends IEntitySettings {\n\n\t/**\n\t * Rotation of pattern in degrees. Supported values: -90 to 90.\n\t *\n\t * @default 0\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Rotation} for more info\n\t */\n\trotation?: number;\n\n\t/**\n\t * How pattern tiles are repeated when filling the area.\n\t *\n\t * @default \"repeat\"\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Repetition} for more info\n\t */\n\trepetition?: \"repeat\" | \"repeat-x\" | \"repeat-y\" | \"no-repeat\";\n\n\t/**\n\t * Width of the pattern tile, in pixels.\n\t *\n\t * @default 50\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Sizing_patterns} for more info\n\t */\n\twidth?: number;\n\n\t/**\n\t * Height of the pattern tile, in pixels.\n\t *\n\t * @default 50\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Sizing_patterns} for more info\n\t */\n\theight?: number;\n\n\t/**\n\t * Color of the pattern shape.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Colors} for more info\n\t */\n\tcolor?: Color;\n\n\t/**\n\t * Opacity of the pattern shape.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Colors} for more info\n\t */\n\tcolorOpacity?: number;\n\n\t/**\n\t * Width of the pattern's line elements.\n\t *\n\t * @default 1\n\t */\n\tstrokeWidth?: number;\n\n\t/**\n\t * Stroke (border or line) dash settings.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/#Dashed_lines} for more information\n\t */\n\tstrokeDasharray?: number[] | number;\n\n\t/**\n\t * Stroke (border or line) dash offset.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/#Dashed_lines} for more information\n\t */\n\tstrokeDashoffset?: number;\n\n\t/**\n\t * Color to fill gaps between pattern shapes.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Colors} for more info\n\t */\n\tfill?: Color;\n\n\t/**\n\t * Opacity of the fill for gaps between pattern shapes.\n\t *\n\t * @default 1\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Colors} for more info\n\t */\n\tfillOpacity?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tcolorInherited?: boolean;\n\n\t/**\n\t * @ignore\n\t */\n\tfillInherited?: boolean;\n}\n\nexport interface IPatternPrivate extends IEntityPrivate {\n}\n\nexport interface IPatternEvents extends IEntityEvents {\n}\n\n/**\n * Base class for patterns.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more info\n */\nexport class Pattern extends Entity {\n\tprotected _afterNew() {\n\t\t// Applying themes because pattern will not have parent\n\t\tsuper._afterNewApplyThemes();\n\t}\n\n\tdeclare public _settings: IPatternSettings;\n\tdeclare public _privateSettings: IPatternPrivate;\n\n\tpublic static className: string = \"Pattern\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([Pattern.className]);\n\n\tpublic _display: IGraphics = this._root._renderer.makeGraphics();\n\tpublic _backgroundDisplay: IGraphics = this._root._renderer.makeGraphics();\n\n\tprotected _clear = false;\n\n\tprotected _pattern: IPattern | undefined | null;\n\n\tpublic get pattern(): IPattern | undefined | null {\n\t\treturn this._pattern;\n\t}\n\n\tprotected _draw(): void { }\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"repetition\") || this.isDirty(\"width\") || this.isDirty(\"height\") || this.isDirty(\"rotation\") || this.isDirty(\"strokeWidth\") || this.isDirty(\"strokeDasharray\") || this.isDirty(\"strokeDashoffset\") || this.isDirty(\"colorOpacity\") || this.isDirty(\"fillOpacity\")) {\n\t\t\tthis._clear = true;\n\t\t}\n\n\t\tthis._checkDirtyFill();\n\t}\n\n\tprotected _checkDirtyFill() {\n\t\tif (this.isDirty(\"color\") || this.isDirty(\"fill\")) {\n\t\t\tthis._clear = true;\n\t\t}\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\n\t\tif (this._clear) {\n\t\t\tconst repetition = this.get(\"repetition\", \"\");\n\t\t\tconst width = this.get(\"width\", 100);\n\t\t\tconst height = this.get(\"height\", 100);\n\t\t\tconst fill = this.get(\"fill\");\n\t\t\tconst fillOpacity = this.get(\"fillOpacity\", 1);\n\n\t\t\tconst backgroundDisplay = this._backgroundDisplay;\n\t\t\tconst display = this._display;\n\n\t\t\tdisplay.clear();\n\t\t\tbackgroundDisplay.clear();\n\n\t\t\tif (fill && (fillOpacity > 0)) {\n\t\t\t\tbackgroundDisplay.beginFill(fill, fillOpacity);\n\t\t\t\tbackgroundDisplay.drawRect(0, 0, width, height);\n\t\t\t\tbackgroundDisplay.endFill();\n\t\t\t}\n\n\t\t\tdisplay.angle = this.get(\"rotation\", 0);\n\t\t\t//display.pivot = { x: width / 2, y: height / 2 };\n\t\t\tthis._draw();\n\n\t\t\tthis._pattern = this._root._renderer.createPattern(display, backgroundDisplay, repetition, width, height);\n\t\t}\n\n\t\tthis._clear = false;\n\t}\n}\n"]}
|