@amcharts/amcharts5 5.17.1 → 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/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 +6 -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/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/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
|
@@ -19,7 +19,7 @@ export interface ILabelSettings extends IContainerSettings {
|
|
|
19
19
|
* Text opacity.
|
|
20
20
|
*
|
|
21
21
|
* @default 1
|
|
22
|
-
* @
|
|
22
|
+
* @since 5.2.39
|
|
23
23
|
*/
|
|
24
24
|
fillOpacity?: number;
|
|
25
25
|
/**
|
|
@@ -68,7 +68,7 @@ export interface ILabelSettings extends IContainerSettings {
|
|
|
68
68
|
*/
|
|
69
69
|
lineHeight?: Percent | number;
|
|
70
70
|
/**
|
|
71
|
-
* How
|
|
71
|
+
* How much of the height should be considered to go below baseline.
|
|
72
72
|
*
|
|
73
73
|
* @default 0.19
|
|
74
74
|
*/
|
|
@@ -135,6 +135,8 @@ export interface ILabelSettings extends IContainerSettings {
|
|
|
135
135
|
* will try to populate them with actual data.
|
|
136
136
|
*
|
|
137
137
|
* @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/#Data_placeholders} for more info
|
|
138
|
+
*
|
|
139
|
+
* @default false
|
|
138
140
|
*/
|
|
139
141
|
populateText?: boolean;
|
|
140
142
|
/**
|
|
@@ -154,7 +156,7 @@ export interface ILabelSettings extends IContainerSettings {
|
|
|
154
156
|
*/
|
|
155
157
|
shadowColor?: Color | null;
|
|
156
158
|
/**
|
|
157
|
-
* Blurriness of the
|
|
159
|
+
* Blurriness of the shadow.
|
|
158
160
|
*
|
|
159
161
|
* The bigger the number, the more blurry shadow will be.
|
|
160
162
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Label.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Label.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAMjG,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IAEzD;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;IAEb;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAE1D;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE3B;;OAEG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAE9H;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAE5C;;OAEG;IACH,WAAW,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;IAEtC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC;IAE9C;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE9B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAE1B;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,aAAa,GAAG,QAAQ,CAAC;IAEtF;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,eAAe,GAAG,UAAU,CAAC;IAEpF;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB
|
|
1
|
+
{"version":3,"file":"Label.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Label.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Label.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Color } from \"../util/Color\";\nimport type { Percent } from \"../util/Percent\";\nimport type { DataItem, IComponentDataItem } from \"./Component\";\nimport type { Gradient } from \"../render/gradients/Gradient\";\n\nimport { Text } from \"../render/Text\";\nimport { p50, p100 } from \"../util/Percent\";\nimport { Container, IContainerPrivate, IContainerSettings, IContainerEvents } from \"./Container\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\n\n\nexport interface ILabelSettings extends IContainerSettings {\n\n\t/**\n\t * Labels' text.\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/text-styling/} for text styling info\n\t * \n\t */\n\ttext?: string;\n\n\t/**\n\t * Text color.\n\t */\n\tfill?: Color;\n\n\t/**\n\t * Text opacity.\n\t *\n\t * @default 1\n\t * @ince 5.2.39\n\t */\n\tfillOpacity?: number;\n\n\t/**\n\t * Fill gradient.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/gradients/} for more information\n\t * @since 5.10.1\n\t */\n\tfillGradient?: Gradient;\n\n\t/**\n\t * Alignment.\n\t */\n\ttextAlign?: \"start\" | \"end\" | \"left\" | \"right\" | \"center\";\n\n\t/**\n\t * Font family to use for the label.\n\t *\n\t * Multiple fonts can be separated by commas.\n\t */\n\tfontFamily?: string;\n\n\t/**\n\t * Font size in misc any supported CSS format (pixel, point, em, etc.).\n\t */\n\tfontSize?: string | number;\n\n\t/**\n\t * Font weight.\n\t */\n\tfontWeight?: \"normal\" | \"bold\" | \"bolder\" | \"lighter\" | \"100\" | \"200\" | \"300\" | \"400\" | \"500\" | \"600\" | \"700\" | \"800\" | \"900\";\n\n\t/**\n\t * Font style.\n\t */\n\tfontStyle?: \"normal\" | \"italic\" | \"oblique\";\n\n\t/**\n\t * Font variant.\n\t */\n\tfontVariant?: \"normal\" | \"small-caps\";\n\n\t/**\n\t * Text decoration.\n\t *\n\t * Supported options `\"underline\"`, `\"line-through\"`.\n\t *\n\t * @since 5.0.15\n\t */\n\ttextDecoration?: \"underline\" | \"line-through\";\n\n\t/**\n\t * Line height in percent or absolute pixels.\n\t */\n\tlineHeight?: Percent | number;\n\n\t/**\n\t * How mouch of the height should be considered to go below baseline.\n\t *\n\t * @default 0.19\n\t */\n\tbaselineRatio?: number;\n\n\t/**\n\t * Opacity of the label.\n\t *\n\t * 0 - fully transparent; 1 - fully opaque.\n\t */\n\topacity?: number;\n\n\t/**\n\t * Text direction.\n\t *\n\t * @default \"ltr\"\n\t */\n\tdirection?: \"ltr\" | \"rtl\";\n\n\t/**\n\t * A base line to use when aligning text chunks vertically.\n\t */\n\ttextBaseline?: \"top\" | \"hanging\" | \"middle\" | \"alphabetic\" | \"ideographic\" | \"bottom\";\n\n\t/**\n\t * How to handle labels that do not fit into its designated space.\n\t *\n\t * LIMITATIONS: on circular labels, the only values supported are `\"hide\"` and\n\t * `\"truncate\"`. The latter will ignore `breakWords` setting.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/#Oversized_text} for more info\n\t */\n\toversizedBehavior?: \"none\" | \"hide\" | \"fit\" | \"wrap\" | \"wrap-no-break\" | \"truncate\";\n\n\t/**\n\t * Whether words can be broken when truncating or wrapping text.\n\t *\n\t * @default false\n\t */\n\tbreakWords?: boolean;\n\n\t/**\n\t * Ellipsis characters to use when truncating text.\n\t *\n\t * Will use Unicode ellipsis symbol (`\"…\"`) by default, which might not be\n\t * available in all fonts. If ellipsis looks broken, use different\n\t * characters. E.g.:\n\t *\n\t * ```TypeScript\n\t * label.set(\"ellipsis\", \"...\");\n\t * ```\n\t * ```JavaScript\n\t * label.set(\"ellipsis\", \"...\");\n\t * ```\n\t *\n\t *\n\t * @default \"…\"\n\t */\n\tellipsis?: string;\n\n\t/**\n\t * Minimum relative scale allowed for label when scaling down\n\t * when `oversizedBehavior` is set to `\"fit\"`.\n\t *\n\t * If fitting the label would require it to scale beyond `minScale` it would\n\t * be hidden instead.\n\t */\n\tminScale?: number;\n\n\t/**\n\t * If set to `true` the label will parse `text` for data placeholders and\n\t * will try to populate them with actual data.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/#Data_placeholders} for more info\n\t */\n\tpopulateText?: boolean;\n\n\t/**\n\t * If set to `true`, will ignore in-line formatting blocks and will display\n\t * text exactly as it is.\n\t *\n\t * @default false\n\t */\n\tignoreFormatting?: boolean;\n\n\t/**\n\t * Color of the element's shadow.\n\t *\n\t * For this to work at least one of the following needs to be set as well:\n\t * `shadowBlur`, `shadowOffsetX`, `shadowOffsetY`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowColor?: Color | null;\n\n\t/**\n\t * Blurriness of the the shadow.\n\t *\n\t * The bigger the number, the more blurry shadow will be.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowBlur?: number;\n\n\t/**\n\t * Horizontal shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetX?: number;\n\n\t/**\n\t * Vertical shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetY?: number;\n\n\t/**\n\t * Opacity of the shadow (0-1).\n\t *\n\t * If not set, will use the same as `fillOpacity` of the element.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOpacity?: number;\n\n\t/**\n\t * Maximum number of characters to allow in label.\n\t *\n\t * If the `text` is longer than `maxChars`, the text will be truncated\n\t * using the `breakWords` and `ellipsis` settings.\n\t * \n\t * @since 5.7.2\n\t */\n\tmaxChars?: number;\n\n\t// The following migh be supported some day:\n\t// padding?: number;\n\t// stroke?: number;\n\t// strokeThickness?: number;\n\t// trim?: number;\n\t// wordWrap?: boolean;\n\t// leading?: number;\n\t// letterSpacing?: number;\n}\n\nexport interface ILabelPrivate extends IContainerPrivate {\n}\n\nexport interface ILabelEvents extends IContainerEvents {\n}\n\n/**\n * Creates a label with support for in-line styling and data bindings.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/} for more info\n */\nexport class Label extends Container {\n\n\tdeclare public _settings: ILabelSettings;\n\tdeclare public _privateSettings: ILabelPrivate;\n\tdeclare public _events: ILabelEvents;\n\n\tprotected _text!: Text;\n\n\tprotected _textKeys: Array<string> = [\n\t\t\"text\",\n\t\t\"fill\",\n\t\t\"fillGradient\",\n\t\t\"fillOpacity\",\n\t\t\"textAlign\",\n\t\t\"fontFamily\",\n\t\t\"fontSize\",\n\t\t\"fontStyle\",\n\t\t\"fontWeight\",\n\t\t\"fontStyle\",\n\t\t\"fontVariant\",\n\t\t\"textDecoration\",\n\t\t\"shadowColor\",\n\t\t\"shadowBlur\",\n\t\t\"shadowOffsetX\",\n\t\t\"shadowOffsetY\",\n\t\t\"shadowOpacity\",\n\t\t// \"leading\",\n\t\t// \"letterSpacing\",\n\t\t\"lineHeight\",\n\t\t\"baselineRatio\",\n\t\t//\"padding\",\n\t\t// \"stroke\",\n\t\t// \"strokeThickness\",\n\t\t// \"trim\",\n\t\t// \"wordWrap\",\n\t\t\"direction\",\n\t\t\"textBaseline\",\n\t\t\"oversizedBehavior\",\n\t\t\"breakWords\",\n\t\t\"ellipsis\",\n\t\t\"minScale\",\n\t\t\"populateText\",\n\t\t\"role\",\n\t\t\"ignoreFormatting\",\n\t\t\"maxChars\",\n\t\t\"ariaLabel\"\n\t];\n\n\tpublic static className: string = \"Label\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([Label.className]);\n\n\t/**\n\t * @ignore Text is not to be used directly\n\t */\n\tpublic get text(): Text {\n\t\treturn this._text;\n\t}\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis._makeText();\n\n\t\t$array.each(this._textKeys, (property) => {\n\t\t\tconst propValue = this.get(property as any);\n\t\t\tif (propValue != undefined) {\n\t\t\t\tthis._text.set(property as any, propValue);\n\t\t\t}\n\t\t});\n\n\t\tif (this.get(\"html\", \"\") !== \"\") {\n\t\t\tthis._text.set(\"text\", \"\");\n\t\t}\n\n\t\tthis.onPrivate(\"maxWidth\", () => {\n\t\t\tthis._setMaxDimentions();\n\t\t});\n\n\t\tthis.onPrivate(\"maxHeight\", () => {\n\t\t\tthis._setMaxDimentions();\n\t\t});\n\t}\n\n\tpublic _makeText() {\n\t\tthis._text = this.children.push(Text.new(this._root, {}));\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tconst text = this._text;\n\n\t\t$array.each(this._textKeys, (property) => {\n\t\t\tthis._text.set(property as any, this.get(property as any));\n\t\t})\n\n\t\tif (this.isDirty(\"maxWidth\") || this.isDirty(\"maxHeight\") || this.isDirty(\"rotation\")) {\n\t\t\tthis._setMaxDimentions();\n\t\t}\n\n\t\t// Do not show regular text if HTML is used\n\t\tif (this.get(\"html\", \"\") !== \"\") {\n\t\t\ttext.set(\"text\", \"\");\n\t\t}\n\t\telse {\n\t\t\ttext.set(\"text\", this.get(\"text\"));\n\t\t\tthis._maybeUpdateHTMLColor();\n\t\t}\n\n\t\tif (this.isDirty(\"fill\") || this.isDirty(\"fillGradient\")) {\n\t\t\tthis._maybeUpdateHTMLColor();\n\t\t}\n\n\t\tif (this.isDirty(\"textAlign\") || this.isDirty(\"width\")) {\n\t\t\tconst textAlign = this.get(\"textAlign\");\n\t\t\tlet x: number | Percent | undefined;\n\t\t\tif (this.get(\"width\") != null) {\n\t\t\t\tif (textAlign == \"right\") {\n\t\t\t\t\tx = p100;\n\t\t\t\t}\n\t\t\t\telse if (textAlign == \"center\") {\n\t\t\t\t\tx = p50;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tx = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (textAlign == \"left\" || textAlign == \"start\") {\n\t\t\t\t\tx = this.get(\"paddingLeft\", 0);\n\t\t\t\t}\n\t\t\t\telse if (textAlign == \"right\" || textAlign == \"end\") {\n\t\t\t\t\tx = -this.get(\"paddingRight\", 0);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttext.set(\"x\", x);\n\t\t}\n\n\t\tconst background = this.get(\"background\");\n\t\tif (background) {\n\t\t\tbackground.setPrivate(\"visible\", text._display.textVisible);\n\t\t}\n\t}\n\n\tprotected _maybeUpdateHTMLColor() {\n\t\tconst htmlElement = this.getPrivate(\"htmlElement\");\n\t\tif (htmlElement && this.get(\"fill\")) {\n\t\t\thtmlElement.style.color = this.get(\"fill\")!.toCSSHex();\n\t\t\t//@todo support gradient\n\t\t}\n\t}\n\n\tprotected _setMaxDimentions() {\n\t\tconst rotation = this.get(\"rotation\");\n\t\tconst vertical = rotation == 90 || rotation == 270 || rotation == -90;\n\t\tconst text = this._text;\n\n\t\tconst maxWidth = this.get(\"maxWidth\", this.getPrivate(\"maxWidth\", Infinity));\n\t\tif ($type.isNumber(maxWidth)) {\n\t\t\ttext.set(vertical ? \"maxHeight\" : \"maxWidth\", maxWidth - this.get(\"paddingTop\", 0) - this.get(\"paddingBottom\", 0));\n\t\t}\n\t\telse {\n\t\t\ttext.set(vertical ? \"maxHeight\" : \"maxWidth\", undefined);\n\t\t}\n\n\t\tconst maxHeight = this.get(\"maxHeight\", this.getPrivate(\"maxHeight\", Infinity));\n\t\tif ($type.isNumber(maxHeight)) {\n\t\t\ttext.set(vertical ? \"maxWidth\" : \"maxHeight\", maxHeight - this.get(\"paddingLeft\", 0) - this.get(\"paddingRight\", 0));\n\t\t}\n\t\telse {\n\t\t\ttext.set(vertical ? \"maxWidth\" : \"maxHeight\", undefined);\n\t\t}\n\n\t\tthis.root.events.once(\"frameended\", () => {\n\t\t\ttext.markDirtyBounds();\n\t\t});\n\t}\n\n\tpublic _setDataItem(dataItem?: DataItem<IComponentDataItem>): void {\n\t\tsuper._setDataItem(dataItem);\n\t\tthis._markDirtyKey(\"text\");\n\t\tthis._markDirtyKey(\"html\");\n\t\tconst text = this._text;\n\t\tif (text.get(\"populateText\")) {\n\t\t\ttext.markDirtyText();\n\t\t}\n\t\tconst html = this.get(\"html\");\n\t\tif (html && html !== \"\") {\n\t\t\tthis._updateHTMLContent();\n\t\t}\n\t}\n\n\t/**\n\t * Returns text with populated placeholders and formatting if `populateText` is\n\t * set to `true`.\n\t *\n\t * @return Populated text\n\t */\n\tpublic getText(): string {\n\t\treturn this._text._getText();\n\t}\n\n\t/**\n\t * Returns \"aria-label\" text with populated placeholders and formatting\n\t * if `populateText` is set to `true`.\n\t *\n\t * @return Populated text\n\t */\n\tpublic getAccessibleText(): string {\n\t\treturn this._text._getAccessibleText();\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Label.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAA2D,MAAM,aAAa,CAAC;AAEjG,OAAO,KAAM,MAAM,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAM,KAAK,MAAM,sBAAsB,CAAC;AA4O/C;;;;GAIG;AACH,MAAM,OAAO,KAAM,SAAQ,SAAS;IAApC;;QAQW,cAAS,GAAkB;YACpC,MAAM;YACN,MAAM;YACN,cAAc;YACd,aAAa;YACb,WAAW;YACX,YAAY;YACZ,UAAU;YACV,WAAW;YACX,YAAY;YACZ,WAAW;YACX,aAAa;YACb,gBAAgB;YAChB,aAAa;YACb,YAAY;YACZ,eAAe;YACf,eAAe;YACf,eAAe;YACf,aAAa;YACb,mBAAmB;YACnB,YAAY;YACZ,eAAe;YACf,YAAY;YACZ,YAAY;YACZ,qBAAqB;YACrB,UAAU;YACV,cAAc;YACd,WAAW;YACX,cAAc;YACd,mBAAmB;YACnB,YAAY;YACZ,UAAU;YACV,UAAU;YACV,cAAc;YACd,MAAM;YACN,kBAAkB;YAClB,UAAU;YACV,WAAW;SACX,CAAC;IAsKH,CAAC;IAjKA;;OAEG;IACH,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAES,SAAS;QAClB,KAAK,CAAC,SAAS,EAAE,CAAC;QAElB,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;YACxC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAe,CAAC,CAAC;YAC5C,IAAI,SAAS,IAAI,SAAS,EAAE;gBAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAe,EAAE,SAAS,CAAC,CAAC;aAC3C;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAC3B;QAED,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE;YAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE;YAChC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACJ,CAAC;IAEM,SAAS;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEM,eAAe;QACrB,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QAExB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;YACxC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAe,EAAE,IAAI,CAAC,GAAG,CAAC,QAAe,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAA;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACtF,IAAI,CAAC,iBAAiB,EAAE,CAAC;SACzB;QAED,2CAA2C;QAC3C,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACrB;aACI;YACJ,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC7B;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YACzD,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC7B;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACxC,IAAI,CAA+B,CAAC;YACpC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE;gBAC9B,IAAI,SAAS,IAAI,OAAO,EAAE;oBACzB,CAAC,GAAG,IAAI,CAAC;iBACT;qBACI,IAAI,SAAS,IAAI,QAAQ,EAAE;oBAC/B,CAAC,GAAG,GAAG,CAAC;iBACR;qBACI;oBACJ,CAAC,GAAG,CAAC,CAAC;iBACN;aACD;iBACI;gBACJ,IAAI,SAAS,IAAI,MAAM,IAAI,SAAS,IAAI,OAAO,EAAE;oBAChD,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;iBAC/B;qBACI,IAAI,SAAS,IAAI,OAAO,IAAI,SAAS,IAAI,KAAK,EAAE;oBACpD,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;iBACjC;aACD;YAED,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;SACjB;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAI,UAAU,EAAE;YACf,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;SAC5D;IACF,CAAC;IAES,qBAAqB;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACpC,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,QAAQ,EAAE,CAAC;YACvD,wBAAwB;SACxB;IACF,CAAC;IAES,iBAAiB;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,QAAQ,IAAI,EAAE,IAAI,QAAQ,IAAI,GAAG,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7E,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC7B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;SACnH;aACI;YACJ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;SACzD;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChF,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC9B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;SACpH;aACI;YACJ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;SACzD;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;YACxC,IAAI,CAAC,eAAe,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACJ,CAAC;IAEM,YAAY,CAAC,QAAuC;QAC1D,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;YAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;SACrB;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;YACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC1B;IACF,CAAC;IAED;;;;;OAKG;IACI,OAAO;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACI,iBAAiB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;IACxC,CAAC;;AAnKa,eAAS,GAAW,OAAO,CAAC;AAC5B,gBAAU,GAAkB,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC","sourcesContent":["import type { Color } from \"../util/Color\";\nimport type { Percent } from \"../util/Percent\";\nimport type { DataItem, IComponentDataItem } from \"./Component\";\nimport type { Gradient } from \"../render/gradients/Gradient\";\n\nimport { Text } from \"../render/Text\";\nimport { p50, p100 } from \"../util/Percent\";\nimport { Container, IContainerPrivate, IContainerSettings, IContainerEvents } from \"./Container\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\n\n\nexport interface ILabelSettings extends IContainerSettings {\n\n\t/**\n\t * Labels' text.\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/text-styling/} for text styling info\n\t * \n\t */\n\ttext?: string;\n\n\t/**\n\t * Text color.\n\t */\n\tfill?: Color;\n\n\t/**\n\t * Text opacity.\n\t *\n\t * @default 1\n\t * @since 5.2.39\n\t */\n\tfillOpacity?: number;\n\n\t/**\n\t * Fill gradient.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/gradients/} for more information\n\t * @since 5.10.1\n\t */\n\tfillGradient?: Gradient;\n\n\t/**\n\t * Alignment.\n\t */\n\ttextAlign?: \"start\" | \"end\" | \"left\" | \"right\" | \"center\";\n\n\t/**\n\t * Font family to use for the label.\n\t *\n\t * Multiple fonts can be separated by commas.\n\t */\n\tfontFamily?: string;\n\n\t/**\n\t * Font size in misc any supported CSS format (pixel, point, em, etc.).\n\t */\n\tfontSize?: string | number;\n\n\t/**\n\t * Font weight.\n\t */\n\tfontWeight?: \"normal\" | \"bold\" | \"bolder\" | \"lighter\" | \"100\" | \"200\" | \"300\" | \"400\" | \"500\" | \"600\" | \"700\" | \"800\" | \"900\";\n\n\t/**\n\t * Font style.\n\t */\n\tfontStyle?: \"normal\" | \"italic\" | \"oblique\";\n\n\t/**\n\t * Font variant.\n\t */\n\tfontVariant?: \"normal\" | \"small-caps\";\n\n\t/**\n\t * Text decoration.\n\t *\n\t * Supported options `\"underline\"`, `\"line-through\"`.\n\t *\n\t * @since 5.0.15\n\t */\n\ttextDecoration?: \"underline\" | \"line-through\";\n\n\t/**\n\t * Line height in percent or absolute pixels.\n\t */\n\tlineHeight?: Percent | number;\n\n\t/**\n\t * How much of the height should be considered to go below baseline.\n\t *\n\t * @default 0.19\n\t */\n\tbaselineRatio?: number;\n\n\t/**\n\t * Opacity of the label.\n\t *\n\t * 0 - fully transparent; 1 - fully opaque.\n\t */\n\topacity?: number;\n\n\t/**\n\t * Text direction.\n\t *\n\t * @default \"ltr\"\n\t */\n\tdirection?: \"ltr\" | \"rtl\";\n\n\t/**\n\t * A base line to use when aligning text chunks vertically.\n\t */\n\ttextBaseline?: \"top\" | \"hanging\" | \"middle\" | \"alphabetic\" | \"ideographic\" | \"bottom\";\n\n\t/**\n\t * How to handle labels that do not fit into its designated space.\n\t *\n\t * LIMITATIONS: on circular labels, the only values supported are `\"hide\"` and\n\t * `\"truncate\"`. The latter will ignore `breakWords` setting.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/#Oversized_text} for more info\n\t */\n\toversizedBehavior?: \"none\" | \"hide\" | \"fit\" | \"wrap\" | \"wrap-no-break\" | \"truncate\";\n\n\t/**\n\t * Whether words can be broken when truncating or wrapping text.\n\t *\n\t * @default false\n\t */\n\tbreakWords?: boolean;\n\n\t/**\n\t * Ellipsis characters to use when truncating text.\n\t *\n\t * Will use Unicode ellipsis symbol (`\"…\"`) by default, which might not be\n\t * available in all fonts. If ellipsis looks broken, use different\n\t * characters. E.g.:\n\t *\n\t * ```TypeScript\n\t * label.set(\"ellipsis\", \"...\");\n\t * ```\n\t * ```JavaScript\n\t * label.set(\"ellipsis\", \"...\");\n\t * ```\n\t *\n\t *\n\t * @default \"…\"\n\t */\n\tellipsis?: string;\n\n\t/**\n\t * Minimum relative scale allowed for label when scaling down\n\t * when `oversizedBehavior` is set to `\"fit\"`.\n\t *\n\t * If fitting the label would require it to scale beyond `minScale` it would\n\t * be hidden instead.\n\t */\n\tminScale?: number;\n\n\t/**\n\t * If set to `true` the label will parse `text` for data placeholders and\n\t * will try to populate them with actual data.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/#Data_placeholders} for more info\n\t *\n\t * @default false\n\t */\n\tpopulateText?: boolean;\n\n\t/**\n\t * If set to `true`, will ignore in-line formatting blocks and will display\n\t * text exactly as it is.\n\t *\n\t * @default false\n\t */\n\tignoreFormatting?: boolean;\n\n\t/**\n\t * Color of the element's shadow.\n\t *\n\t * For this to work at least one of the following needs to be set as well:\n\t * `shadowBlur`, `shadowOffsetX`, `shadowOffsetY`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowColor?: Color | null;\n\n\t/**\n\t * Blurriness of the shadow.\n\t *\n\t * The bigger the number, the more blurry shadow will be.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowBlur?: number;\n\n\t/**\n\t * Horizontal shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetX?: number;\n\n\t/**\n\t * Vertical shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetY?: number;\n\n\t/**\n\t * Opacity of the shadow (0-1).\n\t *\n\t * If not set, will use the same as `fillOpacity` of the element.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOpacity?: number;\n\n\t/**\n\t * Maximum number of characters to allow in label.\n\t *\n\t * If the `text` is longer than `maxChars`, the text will be truncated\n\t * using the `breakWords` and `ellipsis` settings.\n\t * \n\t * @since 5.7.2\n\t */\n\tmaxChars?: number;\n\n\t// The following migh be supported some day:\n\t// padding?: number;\n\t// stroke?: number;\n\t// strokeThickness?: number;\n\t// trim?: number;\n\t// wordWrap?: boolean;\n\t// leading?: number;\n\t// letterSpacing?: number;\n}\n\nexport interface ILabelPrivate extends IContainerPrivate {\n}\n\nexport interface ILabelEvents extends IContainerEvents {\n}\n\n/**\n * Creates a label with support for in-line styling and data bindings.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/} for more info\n */\nexport class Label extends Container {\n\n\tdeclare public _settings: ILabelSettings;\n\tdeclare public _privateSettings: ILabelPrivate;\n\tdeclare public _events: ILabelEvents;\n\n\tprotected _text!: Text;\n\n\tprotected _textKeys: Array<string> = [\n\t\t\"text\",\n\t\t\"fill\",\n\t\t\"fillGradient\",\n\t\t\"fillOpacity\",\n\t\t\"textAlign\",\n\t\t\"fontFamily\",\n\t\t\"fontSize\",\n\t\t\"fontStyle\",\n\t\t\"fontWeight\",\n\t\t\"fontStyle\",\n\t\t\"fontVariant\",\n\t\t\"textDecoration\",\n\t\t\"shadowColor\",\n\t\t\"shadowBlur\",\n\t\t\"shadowOffsetX\",\n\t\t\"shadowOffsetY\",\n\t\t\"shadowOpacity\",\n\t\t// \"leading\",\n\t\t// \"letterSpacing\",\n\t\t\"lineHeight\",\n\t\t\"baselineRatio\",\n\t\t//\"padding\",\n\t\t// \"stroke\",\n\t\t// \"strokeThickness\",\n\t\t// \"trim\",\n\t\t// \"wordWrap\",\n\t\t\"direction\",\n\t\t\"textBaseline\",\n\t\t\"oversizedBehavior\",\n\t\t\"breakWords\",\n\t\t\"ellipsis\",\n\t\t\"minScale\",\n\t\t\"populateText\",\n\t\t\"role\",\n\t\t\"ignoreFormatting\",\n\t\t\"maxChars\",\n\t\t\"ariaLabel\"\n\t];\n\n\tpublic static className: string = \"Label\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([Label.className]);\n\n\t/**\n\t * @ignore Text is not to be used directly\n\t */\n\tpublic get text(): Text {\n\t\treturn this._text;\n\t}\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis._makeText();\n\n\t\t$array.each(this._textKeys, (property) => {\n\t\t\tconst propValue = this.get(property as any);\n\t\t\tif (propValue != undefined) {\n\t\t\t\tthis._text.set(property as any, propValue);\n\t\t\t}\n\t\t});\n\n\t\tif (this.get(\"html\", \"\") !== \"\") {\n\t\t\tthis._text.set(\"text\", \"\");\n\t\t}\n\n\t\tthis.onPrivate(\"maxWidth\", () => {\n\t\t\tthis._setMaxDimentions();\n\t\t});\n\n\t\tthis.onPrivate(\"maxHeight\", () => {\n\t\t\tthis._setMaxDimentions();\n\t\t});\n\t}\n\n\tpublic _makeText() {\n\t\tthis._text = this.children.push(Text.new(this._root, {}));\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tconst text = this._text;\n\n\t\t$array.each(this._textKeys, (property) => {\n\t\t\tthis._text.set(property as any, this.get(property as any));\n\t\t})\n\n\t\tif (this.isDirty(\"maxWidth\") || this.isDirty(\"maxHeight\") || this.isDirty(\"rotation\")) {\n\t\t\tthis._setMaxDimentions();\n\t\t}\n\n\t\t// Do not show regular text if HTML is used\n\t\tif (this.get(\"html\", \"\") !== \"\") {\n\t\t\ttext.set(\"text\", \"\");\n\t\t}\n\t\telse {\n\t\t\ttext.set(\"text\", this.get(\"text\"));\n\t\t\tthis._maybeUpdateHTMLColor();\n\t\t}\n\n\t\tif (this.isDirty(\"fill\") || this.isDirty(\"fillGradient\")) {\n\t\t\tthis._maybeUpdateHTMLColor();\n\t\t}\n\n\t\tif (this.isDirty(\"textAlign\") || this.isDirty(\"width\")) {\n\t\t\tconst textAlign = this.get(\"textAlign\");\n\t\t\tlet x: number | Percent | undefined;\n\t\t\tif (this.get(\"width\") != null) {\n\t\t\t\tif (textAlign == \"right\") {\n\t\t\t\t\tx = p100;\n\t\t\t\t}\n\t\t\t\telse if (textAlign == \"center\") {\n\t\t\t\t\tx = p50;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tx = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (textAlign == \"left\" || textAlign == \"start\") {\n\t\t\t\t\tx = this.get(\"paddingLeft\", 0);\n\t\t\t\t}\n\t\t\t\telse if (textAlign == \"right\" || textAlign == \"end\") {\n\t\t\t\t\tx = -this.get(\"paddingRight\", 0);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttext.set(\"x\", x);\n\t\t}\n\n\t\tconst background = this.get(\"background\");\n\t\tif (background) {\n\t\t\tbackground.setPrivate(\"visible\", text._display.textVisible);\n\t\t}\n\t}\n\n\tprotected _maybeUpdateHTMLColor() {\n\t\tconst htmlElement = this.getPrivate(\"htmlElement\");\n\t\tif (htmlElement && this.get(\"fill\")) {\n\t\t\thtmlElement.style.color = this.get(\"fill\")!.toCSSHex();\n\t\t\t//@todo support gradient\n\t\t}\n\t}\n\n\tprotected _setMaxDimentions() {\n\t\tconst rotation = this.get(\"rotation\");\n\t\tconst vertical = rotation == 90 || rotation == 270 || rotation == -90;\n\t\tconst text = this._text;\n\n\t\tconst maxWidth = this.get(\"maxWidth\", this.getPrivate(\"maxWidth\", Infinity));\n\t\tif ($type.isNumber(maxWidth)) {\n\t\t\ttext.set(vertical ? \"maxHeight\" : \"maxWidth\", maxWidth - this.get(\"paddingTop\", 0) - this.get(\"paddingBottom\", 0));\n\t\t}\n\t\telse {\n\t\t\ttext.set(vertical ? \"maxHeight\" : \"maxWidth\", undefined);\n\t\t}\n\n\t\tconst maxHeight = this.get(\"maxHeight\", this.getPrivate(\"maxHeight\", Infinity));\n\t\tif ($type.isNumber(maxHeight)) {\n\t\t\ttext.set(vertical ? \"maxWidth\" : \"maxHeight\", maxHeight - this.get(\"paddingLeft\", 0) - this.get(\"paddingRight\", 0));\n\t\t}\n\t\telse {\n\t\t\ttext.set(vertical ? \"maxWidth\" : \"maxHeight\", undefined);\n\t\t}\n\n\t\tthis.root.events.once(\"frameended\", () => {\n\t\t\ttext.markDirtyBounds();\n\t\t});\n\t}\n\n\tpublic _setDataItem(dataItem?: DataItem<IComponentDataItem>): void {\n\t\tsuper._setDataItem(dataItem);\n\t\tthis._markDirtyKey(\"text\");\n\t\tthis._markDirtyKey(\"html\");\n\t\tconst text = this._text;\n\t\tif (text.get(\"populateText\")) {\n\t\t\ttext.markDirtyText();\n\t\t}\n\t\tconst html = this.get(\"html\");\n\t\tif (html && html !== \"\") {\n\t\t\tthis._updateHTMLContent();\n\t\t}\n\t}\n\n\t/**\n\t * Returns text with populated placeholders and formatting if `populateText` is\n\t * set to `true`.\n\t *\n\t * @return Populated text\n\t */\n\tpublic getText(): string {\n\t\treturn this._text._getText();\n\t}\n\n\t/**\n\t * Returns \"aria-label\" text with populated placeholders and formatting\n\t * if `populateText` is set to `true`.\n\t *\n\t * @return Populated text\n\t */\n\tpublic getAccessibleText(): string {\n\t\treturn this._text._getAccessibleText();\n\t}\n}\n"]}
|
|
@@ -67,16 +67,19 @@ export interface ILegendSettings extends ISeriesSettings {
|
|
|
67
67
|
/**
|
|
68
68
|
* A key to look up in data for a name of the data item.
|
|
69
69
|
*
|
|
70
|
+
* @default "name"
|
|
70
71
|
*/
|
|
71
72
|
nameField?: string;
|
|
72
73
|
/**
|
|
73
74
|
* A key to look up in data for a fill of the data item.
|
|
74
75
|
*
|
|
76
|
+
* @default "fill"
|
|
75
77
|
*/
|
|
76
78
|
fillField?: string;
|
|
77
79
|
/**
|
|
78
80
|
* A key to look up in data for a stroke of the data item.
|
|
79
81
|
*
|
|
82
|
+
* @default "stroke"
|
|
80
83
|
*/
|
|
81
84
|
strokeField?: string;
|
|
82
85
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Legend.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Legend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,MAAM,WAAW,eAAgB,SAAQ,eAAe;IAEvD;;;OAGG;IACH,aAAa,EAAE,SAAS,CAAC;IAEzB;;OAEG;IACH,MAAM,EAAE,SAAS,CAAC;IAElB;;OAEG;IACH,eAAe,EAAE,gBAAgB,CAAC;IAElC;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,UAAU,EAAE,KAAK,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;IAEf;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CAEd;AAED,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC3D,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,MAAM;IAC1C,SAAS,EAAE,mBAAmB,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;CAE5B;AAID,MAAM,WAAW,eAAgB,SAAQ,eAAe;IAEvD;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B
|
|
1
|
+
{"version":3,"file":"Legend.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Legend.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Legend.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Legend.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate, ISeriesEvents } from \"./Series\";\nimport { Container } from \"../../core/render/Container\";\nimport { Label } from \"../../core/render/Label\";\nimport { RoundedRectangle } from \"../../core/render/RoundedRectangle\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport type { Entity, IEntitySettings } from \"../../core/util/Entity\";\nimport type { Color } from \"../../core/util/Color\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface ILegendDataItem extends ISeriesDataItem {\n\n\t/**\n\t * [[Container]] element holding all other legend item elements, labels,\n\t * markers, etc.\n\t */\n\titemContainer: Container;\n\n\t/**\n\t * Marker element.\n\t */\n\tmarker: Container;\n\n\t/**\n\t * Marker rectangle element.\n\t */\n\tmarkerRectangle: RoundedRectangle;\n\n\t/**\n\t * Label element.\n\t */\n\tlabel: Label;\n\n\t/**\n\t * Value label element.\n\t */\n\tvalueLabel: Label;\n\n\t/**\n\t * Marker fill color.\n\t */\n\tfill?: Color;\n\n\t/**\n\t * Marker stroke (outline) color.\n\t */\n\tstroke?: Color;\n\n\t/**\n\t * Name of the legend item.\n\t */\n\tname?: string;\n\n}\n\nexport interface ILegendItemSettings extends IEntitySettings {\n\tvisible?: boolean;\n}\n\n/**\n * @ignore\n */\nexport interface ILegendItem extends Entity {\n\t_settings: ILegendItemSettings;\n\tisHidden?: () => boolean;\n\tshow?: () => void;\n\thide?: () => void;\n\tcreateLegendMarker?: () => {}\n\tcomponent?: Series;\n\tupdateLegendValue?: () => {}\n\t// how to define that properties of dataItem should have legendDataItem?\n}\n\n//type ILegendDataItemSettings = { [K in keyof ILegendDataItem]?: string; };\n\nexport interface ILegendSettings extends ISeriesSettings {\n\n\t/**\n\t * If set to `true` the legend will not try to mimic appearance of the actual\n\t * item but rather show default square marker.\n\t *\n\t * @default false\n\t */\n\tuseDefaultMarker?: boolean;\n\n\t/**\n\t * A key to look up in data for a name of the data item.\n\t *\n\t */\n\tnameField?: string;\n\n\t/**\n\t * A key to look up in data for a fill of the data item.\n\t *\n\t */\n\tfillField?: string;\n\n\t/**\n\t * A key to look up in data for a stroke of the data item.\n\t *\n\t */\n\tstrokeField?: string;\n\n\t/**\n\t * Which legend item element will be clickable to toggle related chart item:\n\t * * `\"itemContainer\"` - the whole legend item (default).\n\t * * `\"marker\"` - legend item marker.\n\t * * `\"none\"` - disables toggling of legend item.\n\t *\n\t * @default \"itemContainer\"\n\t * @since 5.0.13\n\t */\n\tclickTarget?: \"itemContainer\" | \"marker\" | \"none\"\n\n}\n\nexport interface ILegendPrivate extends ISeriesPrivate {\n}\n\nexport interface ILegendEvents extends ISeriesEvents {\n\n}\n\n/**\n * A universal legend control.\n *\n * @important\n * @see {@link https://www.amcharts.com/docs/v5/concepts/legend/} for more info\n */\nexport class Legend extends Series {\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"legend\"]);\n\t\tthis.fields.push(\"name\", \"stroke\", \"fill\");\n\t\tsuper._afterNew();\n\t}\n\n\tpublic static className: string = \"Legend\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([Legend.className]);\n\n\tdeclare public _settings: ILegendSettings;\n\tdeclare public _privateSettings: ILegendPrivate;\n\tdeclare public _dataItemSettings: ILegendDataItem;\n\tdeclare public _events: ILegendEvents;\n\n\t/**\n\t * List of all [[Container]] elements for legend items.\n\t *\n\t * @default new ListTemplate<Container>\n\t */\n\tpublic readonly itemContainers: ListTemplate<Container> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Container._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.itemContainers.template.get(\"themeTags\", []), [\"legend\", \"item\"]),\n\t\t\tthemeTagsSelf: $utils.mergeTags(this.itemContainers.template.get(\"themeTagsSelf\", []), [\"itemcontainer\"]),\n\t\t\tbackground: RoundedRectangle.new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.itemContainers.template.get(\"themeTags\", []), [\"legend\", \"item\", \"background\"]),\n\t\t\t\tthemeTagsSelf: $utils.mergeTags(this.itemContainers.template.get(\"themeTagsSelf\", []), [\"itemcontainer\"])\n\t\t\t})\n\t\t}, [this.itemContainers.template])\n\t));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeItemContainer(dataItem: DataItem<this[\"_dataItemSettings\"]>): Container {\n\t\tconst itemContainer = this.children.push(this.itemContainers.make());\n\t\titemContainer._setDataItem(dataItem);\n\t\tthis.itemContainers.push(itemContainer);\n\t\titemContainer.states.create(\"disabled\", {});\n\t\treturn itemContainer;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeMarker(): Container {\n\t\tconst marker = this.markers.make();\n\t\tthis.markers.push(marker);\n\t\tmarker.states.create(\"disabled\", {});\n\t\treturn marker;\n\t}\n\n\t/**\n\t * List of legend marker elements.\n\t *\n\t * @default new ListTemplate<Container>\n\t */\n\tpublic readonly markers: ListTemplate<Container> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Container._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.markers.template.get(\"themeTags\", []), [\"legend\", \"marker\"])\n\t\t}, [this.markers.template])\n\t));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeLabel(): Label {\n\t\tconst label = this.labels.make();\n\t\tlabel.states.create(\"disabled\", {});\n\t\treturn label;\n\t}\n\n\t/**\n\t * List of legend label elements.\n\t *\n\t * @default new ListTemplate<Label>\n\t */\n\tpublic readonly labels: ListTemplate<Label> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Label._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [\"legend\", \"label\"])\n\t\t}, [this.labels.template])\n\t));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeValueLabel(): Label {\n\t\tconst valueLabel = this.valueLabels.make();\n\t\tvalueLabel.states.create(\"disabled\", {});\n\t\treturn valueLabel;\n\t}\n\n\t/**\n\t * List of legend value label elements.\n\t *\n\t * @default new ListTemplate<label>\n\t */\n\tpublic readonly valueLabels: ListTemplate<Label> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Label._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.valueLabels.template.get(\"themeTags\", []), [\"legend\", \"label\", \"value\"])\n\t\t}, [this.valueLabels.template])\n\t));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeMarkerRectangle(): RoundedRectangle {\n\t\tconst markerRectangle = this.markerRectangles.make();\n\t\tmarkerRectangle.states.create(\"disabled\", {});\n\t\treturn markerRectangle;\n\t}\n\n\t/**\n\t * List of rectangle elements used for default legend markers.\n\t *\n\t * @default new ListTemplate<RoundedRectangle>\n\t */\n\tpublic readonly markerRectangles: ListTemplate<RoundedRectangle> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => RoundedRectangle._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.markerRectangles.template.get(\"themeTags\", []), [\"legend\", \"marker\", \"rectangle\"])\n\t\t}, [this.markerRectangles.template])\n\t));\n\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst itemContainer = this.makeItemContainer(dataItem);\n\n\t\tconst nameField = this.get(\"nameField\");\n\t\tconst fillField = this.get(\"fillField\");\n\t\tconst strokeField = this.get(\"strokeField\");\n\n\t\tif (itemContainer) {\n\t\t\tconst clickTarget = this.get(\"clickTarget\", \"itemContainer\");\n\n\t\t\tconst item = dataItem.dataContext as ILegendItem;\n\n\t\t\tif (item && item.set) {\n\t\t\t\titem.set(<any>\"legendDataItem\", dataItem);\n\t\t\t}\n\n\t\t\titemContainer._setDataItem(dataItem);\n\t\t\tdataItem.set(\"itemContainer\", itemContainer);\n\n\t\t\tconst marker = this.makeMarker();\n\t\t\tif (marker) {\n\t\t\t\titemContainer.children.push(marker);\n\t\t\t\tmarker._setDataItem(dataItem);\n\t\t\t\tdataItem.set(\"marker\", marker);\n\n\t\t\t\tconst useDefaultMarker = this.get(\"useDefaultMarker\");\n\n\t\t\t\tconst markerRectangle = marker.children.push(this.makeMarkerRectangle());\n\n\t\t\t\tlet fill = dataItem.get(\"fill\");\n\t\t\t\tlet stroke = dataItem.get(\"stroke\");\n\n\t\t\t\tdataItem.set(\"markerRectangle\", markerRectangle);\n\n\t\t\t\tif (item && item.get) {\n\t\t\t\t\tfill = item.get(fillField as any, fill);\n\t\t\t\t\tstroke = item.get(strokeField as any, stroke);\n\t\t\t\t}\n\n\t\t\t\tif (!stroke) {\n\t\t\t\t\tstroke = fill;\n\t\t\t\t}\n\n\t\t\t\tif (!useDefaultMarker) {\n\t\t\t\t\tif (item && item.createLegendMarker) {\n\t\t\t\t\t\titem.createLegendMarker();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (item.on) {\n\t\t\t\t\t\titem.on(fillField as any, () => {\n\t\t\t\t\t\t\tmarkerRectangle.set(\"fill\", item.get(fillField as any));\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\titem.on(strokeField as any, () => {\n\t\t\t\t\t\t\tmarkerRectangle.set(\"stroke\", item.get(strokeField as any));\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tmarkerRectangle.setAll({ fill, stroke });\n\n\t\t\t\t// this solves if template field is set on slice\n\t\t\t\tconst component = item.component;\n\t\t\t\tif (component && component.updateLegendMarker) {\n\t\t\t\t\tcomponent.updateLegendMarker(item as any);\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst label = this.makeLabel();\n\n\t\t\tif (label) {\n\t\t\t\titemContainer.children.push(label);\n\t\t\t\tlabel._setDataItem(dataItem);\n\t\t\t\tdataItem.set(\"label\", label);\n\n\t\t\t\tlabel.text.on(\"text\", () => {\n\t\t\t\t\titemContainer.setRaw(\"ariaLabel\", label.text._getText() + (this.get(\"clickTarget\") !== \"none\" ? \"; \" + this._t(\"Press ENTER to toggle\") : \"\"));\n\t\t\t\t\titemContainer.markDirtyAccessibility();\n\t\t\t\t});\n\n\t\t\t\tif (item && item.get) {\n\t\t\t\t\tdataItem.set(\"name\", item.get(nameField as any) as string);\n\t\t\t\t}\n\n\t\t\t\tlet name = dataItem.get(\"name\");\n\n\t\t\t\tif (name) {\n\t\t\t\t\tlabel.set(\"text\", name);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst valueLabel = this.makeValueLabel();\n\t\t\tif (valueLabel) {\n\t\t\t\titemContainer.children.push(valueLabel);\n\t\t\t\tvalueLabel._setDataItem(dataItem);\n\t\t\t\tdataItem.set(\"valueLabel\", valueLabel);\n\t\t\t}\n\n\t\t\tif (item && item.show) {\n\n\t\t\t\titem.on(\"visible\", (visible) => {\n\t\t\t\t\titemContainer.set(\"disabled\", !visible);\n\t\t\t\t})\n\n\t\t\t\tif (!item.get(\"visible\")) {\n\t\t\t\t\titemContainer.set(\"disabled\", true);\n\t\t\t\t}\n\n\t\t\t\tif (clickTarget != \"none\") {\n\t\t\t\t\tlet clickContainer = itemContainer;\n\t\t\t\t\tif (clickTarget == \"marker\") {\n\t\t\t\t\t\tclickContainer = marker;\n\t\t\t\t\t}\n\t\t\t\t\tthis._addClickEvents(clickContainer, item, dataItem)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Sort children\n\t\t\tthis.children.values.sort((a, b) => {\n\t\t\t\tconst targetA = a.dataItem!.dataContext;\n\t\t\t\tconst targetB = b.dataItem!.dataContext;\n\t\t\t\tif (targetA && targetB) {\n\t\t\t\t\tconst indexA = this.data.indexOf(targetA);\n\t\t\t\t\tconst indexB = this.data.indexOf(targetB);\n\t\t\t\t\tif (indexA > indexB) {\n\t\t\t\t\t\treturn 1;\n\t\t\t\t\t}\n\t\t\t\t\telse if (indexA < indexB) {\n\t\t\t\t\t\treturn -1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t});\n\n\t\t\tif (item && item.updateLegendValue) {\n\t\t\t\titem.updateLegendValue();\n\t\t\t}\n\t\t}\n\n\t}\n\n\n\tprotected _addClickEvents(container: Container, item: ILegendItem, dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tcontainer.set(\"cursorOverStyle\", \"pointer\");\n\t\tcontainer.events.on(\"pointerover\", () => {\n\t\t\tconst component = item.component;\n\t\t\tif (component && component.hoverDataItem) {\n\t\t\t\tcomponent.hoverDataItem(item as any)\n\t\t\t}\n\t\t})\n\n\t\tcontainer.events.on(\"pointerout\", () => {\n\t\t\tconst component = item.component;\n\t\t\tif (component && component.hoverDataItem) {\n\t\t\t\tcomponent.unhoverDataItem(item as any)\n\t\t\t}\n\t\t})\n\n\t\tcontainer.events.on(\"click\", () => {\n\t\t\tconst labelText = dataItem.get(\"label\").text._getText();\n\n\t\t\tif (item.show && item.isHidden && (item.isHidden() || item.get(\"visible\") === false)) {\n\t\t\t\titem.show();\n\t\t\t\tcontainer.set(\"disabled\", false);\n\t\t\t\tthis._root.readerAlert(this._t(\"%1 shown\", this._root.locale, labelText));\n\t\t\t}\n\t\t\telse if (item.hide) {\n\t\t\t\titem.hide();\n\t\t\t\tcontainer.set(\"disabled\", true);\n\t\t\t\tthis._root.readerAlert(this._t(\"%1 hidden\", this._root.locale, labelText));\n\t\t\t}\n\t\t})\n\t}\n\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t\tsuper.disposeDataItem(dataItem);\n\n\t\tconst dataContext = dataItem.dataContext as any;\n\t\tif (dataContext && dataContext.get) {\n\t\t\tconst di = dataContext.get(\"legendDataItem\");\n\t\t\tif (di == dataItem) {\n\t\t\t\tdataContext.set(\"legendDataItem\", undefined);\n\t\t\t}\n\t\t}\n\n\t\tlet itemContainer = dataItem.get(\"itemContainer\");\n\t\tif (itemContainer) {\n\t\t\tthis.itemContainers.removeValue(itemContainer);\n\t\t\titemContainer.dispose();\n\t\t}\n\n\t\tlet marker = dataItem.get(\"marker\");\n\t\tif (marker) {\n\t\t\tthis.markers.removeValue(marker);\n\t\t\tmarker.dispose();\n\t\t}\n\n\t\tlet markerRectangle = dataItem.get(\"markerRectangle\");\n\t\tif (markerRectangle) {\n\t\t\tthis.markerRectangles.removeValue(markerRectangle);\n\t\t\tmarkerRectangle.dispose();\n\t\t}\n\n\t\tlet label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tthis.labels.removeValue(label);\n\t\t\tlabel.dispose();\n\t\t}\n\n\t\tlet valueLabel = dataItem.get(\"valueLabel\");\n\t\tif (valueLabel) {\n\t\t\tthis.valueLabels.removeValue(valueLabel);\n\t\t\tvalueLabel.dispose();\n\t\t}\n\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Legend.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Legend.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate, ISeriesEvents } from \"./Series\";\nimport { Container } from \"../../core/render/Container\";\nimport { Label } from \"../../core/render/Label\";\nimport { RoundedRectangle } from \"../../core/render/RoundedRectangle\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport type { Entity, IEntitySettings } from \"../../core/util/Entity\";\nimport type { Color } from \"../../core/util/Color\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface ILegendDataItem extends ISeriesDataItem {\n\n\t/**\n\t * [[Container]] element holding all other legend item elements, labels,\n\t * markers, etc.\n\t */\n\titemContainer: Container;\n\n\t/**\n\t * Marker element.\n\t */\n\tmarker: Container;\n\n\t/**\n\t * Marker rectangle element.\n\t */\n\tmarkerRectangle: RoundedRectangle;\n\n\t/**\n\t * Label element.\n\t */\n\tlabel: Label;\n\n\t/**\n\t * Value label element.\n\t */\n\tvalueLabel: Label;\n\n\t/**\n\t * Marker fill color.\n\t */\n\tfill?: Color;\n\n\t/**\n\t * Marker stroke (outline) color.\n\t */\n\tstroke?: Color;\n\n\t/**\n\t * Name of the legend item.\n\t */\n\tname?: string;\n\n}\n\nexport interface ILegendItemSettings extends IEntitySettings {\n\tvisible?: boolean;\n}\n\n/**\n * @ignore\n */\nexport interface ILegendItem extends Entity {\n\t_settings: ILegendItemSettings;\n\tisHidden?: () => boolean;\n\tshow?: () => void;\n\thide?: () => void;\n\tcreateLegendMarker?: () => {}\n\tcomponent?: Series;\n\tupdateLegendValue?: () => {}\n\t// how to define that properties of dataItem should have legendDataItem?\n}\n\n//type ILegendDataItemSettings = { [K in keyof ILegendDataItem]?: string; };\n\nexport interface ILegendSettings extends ISeriesSettings {\n\n\t/**\n\t * If set to `true` the legend will not try to mimic appearance of the actual\n\t * item but rather show default square marker.\n\t *\n\t * @default false\n\t */\n\tuseDefaultMarker?: boolean;\n\n\t/**\n\t * A key to look up in data for a name of the data item.\n\t *\n\t * @default \"name\"\n\t */\n\tnameField?: string;\n\n\t/**\n\t * A key to look up in data for a fill of the data item.\n\t *\n\t * @default \"fill\"\n\t */\n\tfillField?: string;\n\n\t/**\n\t * A key to look up in data for a stroke of the data item.\n\t *\n\t * @default \"stroke\"\n\t */\n\tstrokeField?: string;\n\n\t/**\n\t * Which legend item element will be clickable to toggle related chart item:\n\t * * `\"itemContainer\"` - the whole legend item (default).\n\t * * `\"marker\"` - legend item marker.\n\t * * `\"none\"` - disables toggling of legend item.\n\t *\n\t * @default \"itemContainer\"\n\t * @since 5.0.13\n\t */\n\tclickTarget?: \"itemContainer\" | \"marker\" | \"none\"\n\n}\n\nexport interface ILegendPrivate extends ISeriesPrivate {\n}\n\nexport interface ILegendEvents extends ISeriesEvents {\n\n}\n\n/**\n * A universal legend control.\n *\n * @important\n * @see {@link https://www.amcharts.com/docs/v5/concepts/legend/} for more info\n */\nexport class Legend extends Series {\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"legend\"]);\n\t\tthis.fields.push(\"name\", \"stroke\", \"fill\");\n\t\tsuper._afterNew();\n\t}\n\n\tpublic static className: string = \"Legend\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([Legend.className]);\n\n\tdeclare public _settings: ILegendSettings;\n\tdeclare public _privateSettings: ILegendPrivate;\n\tdeclare public _dataItemSettings: ILegendDataItem;\n\tdeclare public _events: ILegendEvents;\n\n\t/**\n\t * List of all [[Container]] elements for legend items.\n\t *\n\t * @default new ListTemplate<Container>\n\t */\n\tpublic readonly itemContainers: ListTemplate<Container> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Container._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.itemContainers.template.get(\"themeTags\", []), [\"legend\", \"item\"]),\n\t\t\tthemeTagsSelf: $utils.mergeTags(this.itemContainers.template.get(\"themeTagsSelf\", []), [\"itemcontainer\"]),\n\t\t\tbackground: RoundedRectangle.new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.itemContainers.template.get(\"themeTags\", []), [\"legend\", \"item\", \"background\"]),\n\t\t\t\tthemeTagsSelf: $utils.mergeTags(this.itemContainers.template.get(\"themeTagsSelf\", []), [\"itemcontainer\"])\n\t\t\t})\n\t\t}, [this.itemContainers.template])\n\t));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeItemContainer(dataItem: DataItem<this[\"_dataItemSettings\"]>): Container {\n\t\tconst itemContainer = this.children.push(this.itemContainers.make());\n\t\titemContainer._setDataItem(dataItem);\n\t\tthis.itemContainers.push(itemContainer);\n\t\titemContainer.states.create(\"disabled\", {});\n\t\treturn itemContainer;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeMarker(): Container {\n\t\tconst marker = this.markers.make();\n\t\tthis.markers.push(marker);\n\t\tmarker.states.create(\"disabled\", {});\n\t\treturn marker;\n\t}\n\n\t/**\n\t * List of legend marker elements.\n\t *\n\t * @default new ListTemplate<Container>\n\t */\n\tpublic readonly markers: ListTemplate<Container> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Container._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.markers.template.get(\"themeTags\", []), [\"legend\", \"marker\"])\n\t\t}, [this.markers.template])\n\t));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeLabel(): Label {\n\t\tconst label = this.labels.make();\n\t\tlabel.states.create(\"disabled\", {});\n\t\treturn label;\n\t}\n\n\t/**\n\t * List of legend label elements.\n\t *\n\t * @default new ListTemplate<Label>\n\t */\n\tpublic readonly labels: ListTemplate<Label> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Label._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [\"legend\", \"label\"])\n\t\t}, [this.labels.template])\n\t));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeValueLabel(): Label {\n\t\tconst valueLabel = this.valueLabels.make();\n\t\tvalueLabel.states.create(\"disabled\", {});\n\t\treturn valueLabel;\n\t}\n\n\t/**\n\t * List of legend value label elements.\n\t *\n\t * @default new ListTemplate<label>\n\t */\n\tpublic readonly valueLabels: ListTemplate<Label> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Label._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.valueLabels.template.get(\"themeTags\", []), [\"legend\", \"label\", \"value\"])\n\t\t}, [this.valueLabels.template])\n\t));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeMarkerRectangle(): RoundedRectangle {\n\t\tconst markerRectangle = this.markerRectangles.make();\n\t\tmarkerRectangle.states.create(\"disabled\", {});\n\t\treturn markerRectangle;\n\t}\n\n\t/**\n\t * List of rectangle elements used for default legend markers.\n\t *\n\t * @default new ListTemplate<RoundedRectangle>\n\t */\n\tpublic readonly markerRectangles: ListTemplate<RoundedRectangle> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => RoundedRectangle._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.markerRectangles.template.get(\"themeTags\", []), [\"legend\", \"marker\", \"rectangle\"])\n\t\t}, [this.markerRectangles.template])\n\t));\n\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst itemContainer = this.makeItemContainer(dataItem);\n\n\t\tconst nameField = this.get(\"nameField\");\n\t\tconst fillField = this.get(\"fillField\");\n\t\tconst strokeField = this.get(\"strokeField\");\n\n\t\tif (itemContainer) {\n\t\t\tconst clickTarget = this.get(\"clickTarget\", \"itemContainer\");\n\n\t\t\tconst item = dataItem.dataContext as ILegendItem;\n\n\t\t\tif (item && item.set) {\n\t\t\t\titem.set(<any>\"legendDataItem\", dataItem);\n\t\t\t}\n\n\t\t\titemContainer._setDataItem(dataItem);\n\t\t\tdataItem.set(\"itemContainer\", itemContainer);\n\n\t\t\tconst marker = this.makeMarker();\n\t\t\tif (marker) {\n\t\t\t\titemContainer.children.push(marker);\n\t\t\t\tmarker._setDataItem(dataItem);\n\t\t\t\tdataItem.set(\"marker\", marker);\n\n\t\t\t\tconst useDefaultMarker = this.get(\"useDefaultMarker\");\n\n\t\t\t\tconst markerRectangle = marker.children.push(this.makeMarkerRectangle());\n\n\t\t\t\tlet fill = dataItem.get(\"fill\");\n\t\t\t\tlet stroke = dataItem.get(\"stroke\");\n\n\t\t\t\tdataItem.set(\"markerRectangle\", markerRectangle);\n\n\t\t\t\tif (item && item.get) {\n\t\t\t\t\tfill = item.get(fillField as any, fill);\n\t\t\t\t\tstroke = item.get(strokeField as any, stroke);\n\t\t\t\t}\n\n\t\t\t\tif (!stroke) {\n\t\t\t\t\tstroke = fill;\n\t\t\t\t}\n\n\t\t\t\tif (!useDefaultMarker) {\n\t\t\t\t\tif (item && item.createLegendMarker) {\n\t\t\t\t\t\titem.createLegendMarker();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (item.on) {\n\t\t\t\t\t\titem.on(fillField as any, () => {\n\t\t\t\t\t\t\tmarkerRectangle.set(\"fill\", item.get(fillField as any));\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\titem.on(strokeField as any, () => {\n\t\t\t\t\t\t\tmarkerRectangle.set(\"stroke\", item.get(strokeField as any));\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tmarkerRectangle.setAll({ fill, stroke });\n\n\t\t\t\t// this solves if template field is set on slice\n\t\t\t\tconst component = item.component;\n\t\t\t\tif (component && component.updateLegendMarker) {\n\t\t\t\t\tcomponent.updateLegendMarker(item as any);\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst label = this.makeLabel();\n\n\t\t\tif (label) {\n\t\t\t\titemContainer.children.push(label);\n\t\t\t\tlabel._setDataItem(dataItem);\n\t\t\t\tdataItem.set(\"label\", label);\n\n\t\t\t\tlabel.text.on(\"text\", () => {\n\t\t\t\t\titemContainer.setRaw(\"ariaLabel\", label.text._getText() + (this.get(\"clickTarget\") !== \"none\" ? \"; \" + this._t(\"Press ENTER to toggle\") : \"\"));\n\t\t\t\t\titemContainer.markDirtyAccessibility();\n\t\t\t\t});\n\n\t\t\t\tif (item && item.get) {\n\t\t\t\t\tdataItem.set(\"name\", item.get(nameField as any) as string);\n\t\t\t\t}\n\n\t\t\t\tlet name = dataItem.get(\"name\");\n\n\t\t\t\tif (name) {\n\t\t\t\t\tlabel.set(\"text\", name);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst valueLabel = this.makeValueLabel();\n\t\t\tif (valueLabel) {\n\t\t\t\titemContainer.children.push(valueLabel);\n\t\t\t\tvalueLabel._setDataItem(dataItem);\n\t\t\t\tdataItem.set(\"valueLabel\", valueLabel);\n\t\t\t}\n\n\t\t\tif (item && item.show) {\n\n\t\t\t\titem.on(\"visible\", (visible) => {\n\t\t\t\t\titemContainer.set(\"disabled\", !visible);\n\t\t\t\t})\n\n\t\t\t\tif (!item.get(\"visible\")) {\n\t\t\t\t\titemContainer.set(\"disabled\", true);\n\t\t\t\t}\n\n\t\t\t\tif (clickTarget != \"none\") {\n\t\t\t\t\tlet clickContainer = itemContainer;\n\t\t\t\t\tif (clickTarget == \"marker\") {\n\t\t\t\t\t\tclickContainer = marker;\n\t\t\t\t\t}\n\t\t\t\t\tthis._addClickEvents(clickContainer, item, dataItem)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Sort children\n\t\t\tthis.children.values.sort((a, b) => {\n\t\t\t\tconst targetA = a.dataItem!.dataContext;\n\t\t\t\tconst targetB = b.dataItem!.dataContext;\n\t\t\t\tif (targetA && targetB) {\n\t\t\t\t\tconst indexA = this.data.indexOf(targetA);\n\t\t\t\t\tconst indexB = this.data.indexOf(targetB);\n\t\t\t\t\tif (indexA > indexB) {\n\t\t\t\t\t\treturn 1;\n\t\t\t\t\t}\n\t\t\t\t\telse if (indexA < indexB) {\n\t\t\t\t\t\treturn -1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t});\n\n\t\t\tif (item && item.updateLegendValue) {\n\t\t\t\titem.updateLegendValue();\n\t\t\t}\n\t\t}\n\n\t}\n\n\n\tprotected _addClickEvents(container: Container, item: ILegendItem, dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tcontainer.set(\"cursorOverStyle\", \"pointer\");\n\t\tcontainer.events.on(\"pointerover\", () => {\n\t\t\tconst component = item.component;\n\t\t\tif (component && component.hoverDataItem) {\n\t\t\t\tcomponent.hoverDataItem(item as any)\n\t\t\t}\n\t\t})\n\n\t\tcontainer.events.on(\"pointerout\", () => {\n\t\t\tconst component = item.component;\n\t\t\tif (component && component.hoverDataItem) {\n\t\t\t\tcomponent.unhoverDataItem(item as any)\n\t\t\t}\n\t\t})\n\n\t\tcontainer.events.on(\"click\", () => {\n\t\t\tconst labelText = dataItem.get(\"label\").text._getText();\n\n\t\t\tif (item.show && item.isHidden && (item.isHidden() || item.get(\"visible\") === false)) {\n\t\t\t\titem.show();\n\t\t\t\tcontainer.set(\"disabled\", false);\n\t\t\t\tthis._root.readerAlert(this._t(\"%1 shown\", this._root.locale, labelText));\n\t\t\t}\n\t\t\telse if (item.hide) {\n\t\t\t\titem.hide();\n\t\t\t\tcontainer.set(\"disabled\", true);\n\t\t\t\tthis._root.readerAlert(this._t(\"%1 hidden\", this._root.locale, labelText));\n\t\t\t}\n\t\t})\n\t}\n\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t\tsuper.disposeDataItem(dataItem);\n\n\t\tconst dataContext = dataItem.dataContext as any;\n\t\tif (dataContext && dataContext.get) {\n\t\t\tconst di = dataContext.get(\"legendDataItem\");\n\t\t\tif (di == dataItem) {\n\t\t\t\tdataContext.set(\"legendDataItem\", undefined);\n\t\t\t}\n\t\t}\n\n\t\tlet itemContainer = dataItem.get(\"itemContainer\");\n\t\tif (itemContainer) {\n\t\t\tthis.itemContainers.removeValue(itemContainer);\n\t\t\titemContainer.dispose();\n\t\t}\n\n\t\tlet marker = dataItem.get(\"marker\");\n\t\tif (marker) {\n\t\t\tthis.markers.removeValue(marker);\n\t\t\tmarker.dispose();\n\t\t}\n\n\t\tlet markerRectangle = dataItem.get(\"markerRectangle\");\n\t\tif (markerRectangle) {\n\t\t\tthis.markerRectangles.removeValue(markerRectangle);\n\t\t\tmarkerRectangle.dispose();\n\t\t}\n\n\t\tlet label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tthis.labels.removeValue(label);\n\t\t\tlabel.dispose();\n\t\t}\n\n\t\tlet valueLabel = dataItem.get(\"valueLabel\");\n\t\tif (valueLabel) {\n\t\t\tthis.valueLabels.removeValue(valueLabel);\n\t\t\tvalueLabel.dispose();\n\t\t}\n\n\t}\n}\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Graphics, IGraphicsSettings, IGraphicsPrivate } from "./Graphics";
|
|
2
2
|
export interface IPointedRectangleSettings extends IGraphicsSettings {
|
|
3
3
|
/**
|
|
4
|
-
* A width of the
|
|
4
|
+
* A width of the pointer's (stem's) thick end (base) in pixels.
|
|
5
5
|
*/
|
|
6
6
|
pointerBaseWidth?: number;
|
|
7
7
|
/**
|
|
8
|
-
* A length of the
|
|
8
|
+
* A length of the pointer (stem) in pixels.
|
|
9
9
|
*/
|
|
10
10
|
pointerLength?: number;
|
|
11
11
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointedRectangle.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/PointedRectangle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuC,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAiCtC;;;;;GAKG;AACH,MAAM,OAAO,gBAAiB,SAAQ,QAAQ;IAQtC,cAAc;QACpB,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACjN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACnB;IACF,CAAC;IAEM,QAAQ;QACd,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IAAI,IAAI,CAAC,MAAM,EAAE;YAEhB,IAAI,CAAC,eAAe,EAAE,CAAC;YAEvB,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAEtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACnB,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBACrC,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAErD,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAChC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;gBAE/C,qBAAqB;gBACrB,WAAW;gBACX,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,YAAY;gBACZ,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,eAAe;gBACf,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,cAAc;gBACd,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,IAAI,GAAG,GAAG,CAAC,CAAC;gBAEZ,8HAA8H;gBAC9H,gCAAgC;gBAChC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC3D,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBAE3D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC9B,MAAM;gBACN,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAEtB,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;oBACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;oBACpE,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAEtC,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC/B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrB,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;iBAC/B;gBAED,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAE/B,QAAQ;gBACR,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;oBACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;oBACpE,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;oBACrC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACtB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;oBAC7C,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC;iBAC/B;gBACD,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAEnC,SAAS;gBACT,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;oBACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;oBACpE,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;oBAErC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;oBAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC/B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrB,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;iBAC/B;gBACD,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;gBACrB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;gBAGnC,OAAO;gBACP,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;oBACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;oBACpE,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACtC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC1B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC;oBAC/B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;iBAC7C;gBACD,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,OAAO,CAAC,SAAS,EAAE,CAAC;aACpB;SACD;IACF,CAAC;;AAxGa,0BAAS,GAAW,kBAAkB,CAAC;AACvC,2BAAU,GAAkB,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC","sourcesContent":["import { Graphics, IGraphicsSettings, IGraphicsPrivate } from \"./Graphics\";\nimport * as $math from \"../util/Math\";\n\nexport interface IPointedRectangleSettings extends IGraphicsSettings {\n\n\t/**\n\t * A width of the
|
|
1
|
+
{"version":3,"file":"PointedRectangle.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/PointedRectangle.ts"],"names":[],"mappings":"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","sourcesContent":["import { Graphics, IGraphicsSettings, IGraphicsPrivate } from \"./Graphics\";\nimport * as $math from \"../util/Math\";\n\nexport interface IPointedRectangleSettings extends IGraphicsSettings {\n\n\t/**\n\t * A width of the pointer's (stem's) thick end (base) in pixels.\n\t */\n\tpointerBaseWidth?: number;\n\n\t/**\n\t * A length of the pointer (stem) in pixels.\n\t */\n\tpointerLength?: number;\n\n\t/**\n\t * X coordinate the shape is pointing to.\n\t */\n\tpointerX?: number;\n\n\t/**\n\t * Y coordinate the shape is pointing to.\n\t */\n\tpointerY?: number;\n\n\t/**\n\t * Corner radius in pixels.\n\t */\n\tcornerRadius?: number;\n}\n\nexport interface IPointedRectanglePrivate extends IGraphicsPrivate {\n}\n\n/**\n * Draws a rectangle with a pointer.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/graphics/} for more info\n * @important\n */\nexport class PointedRectangle extends Graphics {\n\n\tdeclare public _settings: IPointedRectangleSettings;\n\tdeclare public _privateSettings: IPointedRectanglePrivate;\n\n\tpublic static className: string = \"PointedRectangle\";\n\tpublic static classNames: Array<string> = Graphics.classNames.concat([PointedRectangle.className]);\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"pointerBaseWidth\") || this.isDirty(\"cornerRadius\") || this.isDirty(\"pointerLength\") || this.isDirty(\"pointerX\") || this.isDirty(\"pointerY\") || this.isDirty(\"width\") || this.isDirty(\"height\")) {\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\n\t\t\tthis.markDirtyBounds();\n\n\t\t\tlet w = this.width();\n\t\t\tlet h = this.height();\n\n\t\t\tif (w > 0 && h > 0) {\n\t\t\t\tlet cr = this.get(\"cornerRadius\", 8);\n\t\t\t\tcr = $math.fitToRange(cr, 0, Math.min(w / 2, h / 2));\n\n\t\t\t\tlet x = this.get(\"pointerX\", 0);\n\t\t\t\tlet y = this.get(\"pointerY\", 0);\n\t\t\t\tlet bwh = this.get(\"pointerBaseWidth\", 15) / 2;\n\n\t\t\t\t// corner coordinates\n\t\t\t\t// top left\n\t\t\t\tlet xtl = 0;\n\t\t\t\tlet ytl = 0;\n\t\t\t\t// top right\n\t\t\t\tlet xtr = w;\n\t\t\t\tlet ytr = 0;\n\t\t\t\t// bottom right\n\t\t\t\tlet xbr = w;\n\t\t\t\tlet ybr = h;\n\t\t\t\t// bottom left\n\t\t\t\tlet xbl = 0;\n\t\t\t\tlet ybl = h;\n\n\t\t\t\t// find stem base side: http://$math.stackexchange.com/questions/274712/calculate-on-which-side-of-straign-line-is-dot-located\n\t\t\t\t// d=(x−x1)(y2−y1)−(y−y1)(x2−x1)\n\t\t\t\tlet d1 = (x - xtl) * (ybr - ytl) - (y - ytl) * (xbr - xtl);\n\t\t\t\tlet d2 = (x - xbl) * (ytr - ybl) - (y - ybl) * (xtr - xbl);\n\n\t\t\t\tconst display = this._display;\n\t\t\t\t// top\n\t\t\t\tdisplay.moveTo(cr, 0);\n\n\t\t\t\tif (d1 > 0 && d2 > 0) {\n\t\t\t\t\tlet stemX = Math.round($math.fitToRange(x, cr + bwh, w - bwh - cr));\n\t\t\t\t\ty = $math.fitToRange(y, -Infinity, 0);\n\n\t\t\t\t\tdisplay.lineTo(stemX - bwh, 0);\n\t\t\t\t\tdisplay.lineTo(x, y);\n\t\t\t\t\tdisplay.lineTo(stemX + bwh, 0);\n\t\t\t\t}\n\n\t\t\t\tdisplay.lineTo(w - cr, 0);\n\t\t\t\tdisplay.arcTo(w, 0, w, cr, cr);\n\n\t\t\t\t// right\n\t\t\t\tif (d1 > 0 && d2 < 0) {\n\t\t\t\t\tlet stemY = Math.round($math.fitToRange(y, cr + bwh, h - bwh - cr));\n\t\t\t\t\tx = $math.fitToRange(x, w, Infinity);\n\t\t\t\t\tdisplay.lineTo(w, cr);\n\t\t\t\t\tdisplay.lineTo(w, Math.max(stemY - bwh, cr));\n\t\t\t\t\tdisplay.lineTo(x, y);\n\t\t\t\t\tdisplay.lineTo(w, stemY + bwh);\n\t\t\t\t}\n\t\t\t\tdisplay.lineTo(w, h - cr);\n\t\t\t\tdisplay.arcTo(w, h, w - cr, h, cr);\n\n\t\t\t\t// bottom\n\t\t\t\tif (d1 < 0 && d2 < 0) {\n\t\t\t\t\tlet stemX = Math.round($math.fitToRange(x, cr + bwh, w - bwh - cr));\n\t\t\t\t\ty = $math.fitToRange(y, h, Infinity);\n\n\t\t\t\t\tdisplay.lineTo(w - cr, h);\n\t\t\t\t\tdisplay.lineTo(stemX + bwh, h);\n\t\t\t\t\tdisplay.lineTo(x, y);\n\t\t\t\t\tdisplay.lineTo(stemX - bwh, h);\n\t\t\t\t}\n\t\t\t\tdisplay.lineTo(cr, h)\n\t\t\t\tdisplay.arcTo(0, h, 0, h - cr, cr);\n\n\n\t\t\t\t// left\n\t\t\t\tif (d1 < 0 && d2 > 0) {\n\t\t\t\t\tlet stemY = Math.round($math.fitToRange(y, cr + bwh, h - cr - bwh));\n\t\t\t\t\tx = $math.fitToRange(x, -Infinity, 0);\n\t\t\t\t\tdisplay.lineTo(0, h - cr);\n\t\t\t\t\tdisplay.lineTo(0, stemY + bwh);\n\t\t\t\t\tdisplay.lineTo(x, y);\n\t\t\t\t\tdisplay.lineTo(0, Math.max(stemY - bwh, cr));\n\t\t\t\t}\n\t\t\t\tdisplay.lineTo(0, cr);\n\t\t\t\tdisplay.arcTo(0, 0, cr, 0, cr);\n\t\t\t\tdisplay.closePath();\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Polygon.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Polygon.ts"],"names":[],"mappings":"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","sourcesContent":["import { Graphics, IGraphicsSettings, IGraphicsPrivate } from \"./Graphics\";\r\nimport type { IPoint } from \"../util/IPoint\";\r\nimport * as $array from \"../util/Array\";\r\n\r\nimport type { Time } from \"../util/Animation\";\r\nimport type { Animation } from \"../util/Entity\";\r\n\r\nexport interface IPolygonSettings extends IGraphicsSettings {\r\n\r\n\t/**\r\n\t * An array of polygon corner coordinates.\r\n\t */\r\n\tpoints?: Array<IPoint>;\r\n\r\n\t/**\r\n\t * Corodinates.\r\n\t */\r\n\tcoordinates?: Array<Array<number>>;\r\n\r\n\t/**\r\n\t * Number of milliseconds to play morph animation.\r\n\t */\r\n\tanimationDuration?: number;\r\n\r\n\t/**\r\n\t * Easing function to use for animations.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/animations/#Easing_functions} for more info\r\n\t */\r\n\tanimationEasing?: (t: Time) => Time;\r\n\r\n}\r\n\r\nexport interface IPolygonPrivate extends IGraphicsPrivate {\r\n\tpoints?: Array<IPoint>;\r\n\r\n\tpreviousPoints?: Array<IPoint>;\r\n\r\n\tmorphProgress?: number;\r\n\r\n\tminX?: number;\r\n\r\n\tmaxX?: number;\r\n\r\n\tminY?: number;\r\n\r\n\tmaxY?: number;\r\n}\r\n\r\n/**\r\n * Draws a polygon.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/polygon/} for more info\r\n * @important\r\n * @since 5.4.0\r\n */\r\nexport class Polygon extends Graphics {\r\n\r\n\tdeclare public _settings: IPolygonSettings;\r\n\tdeclare public _privateSettings: IPolygonPrivate;\r\n\r\n\tpublic static className: string = \"Polygon\";\r\n\tpublic static classNames: Array<string> = Graphics.classNames.concat([Polygon.className]);\r\n\r\n\tpublic morphAnimation?: Animation<this[\"_privateSettings\"][\"morphProgress\"]>;\r\n\r\n\tpublic _beforeChanged() {\r\n\t\tsuper._beforeChanged();\r\n\t\tif (this.isDirty(\"coordinates\")) {\r\n\t\t\tconst points: Array<IPoint> = [];\r\n\t\t\tconst coordinates = this.get(\"coordinates\");\r\n\t\t\tif (coordinates) {\r\n\t\t\t\t$array.each(coordinates, (coord) => {\r\n\t\t\t\t\tpoints.push({ x: coord[0], y: coord[1] });\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tthis.set(\"points\", points);\r\n\t\t}\r\n\t\tif (this.isPrivateDirty(\"points\")) {\r\n\t\t\tthis._clear = true;\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"points\")) {\r\n\t\t\tthis._clear = true;\r\n\r\n\t\t\tconst points = this.get(\"points\");\r\n\t\t\tconst prevPoints = this._prevSettings.points;\r\n\t\t\tif (prevPoints) {\r\n\t\t\t\tif (points) {\r\n\t\t\t\t\tlet copy = $array.copy(points);\r\n\t\t\t\t\tlet prevCopy = $array.copy(prevPoints);\r\n\t\t\t\t\tlet cl = copy.length;\r\n\t\t\t\t\tlet pl = prevCopy.length;\r\n\r\n\t\t\t\t\tif (cl > pl) {\r\n\t\t\t\t\t\tlet newCopy = $array.copy(copy);\r\n\t\t\t\t\t\tfor (let i = 0; i < cl; i++) {\r\n\t\t\t\t\t\t\tlet index = Math.floor(i / cl * pl);\r\n\t\t\t\t\t\t\tnewCopy[i] = { x: prevCopy[index].x, y: prevCopy[index].y };\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tprevCopy = newCopy;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (pl > cl) {\r\n\t\t\t\t\t\tlet newCopy = $array.copy(prevCopy);\r\n\t\t\t\t\t\tfor (let i = 0; i < pl; i++) {\r\n\t\t\t\t\t\t\tlet index = Math.floor(i / pl * cl);\r\n\t\t\t\t\t\t\tnewCopy[i] = { x: copy[index].x, y: copy[index].y };\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcopy = newCopy;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.setPrivateRaw(\"previousPoints\", prevCopy);\r\n\t\t\t\t\tthis.setPrivateRaw(\"points\", copy);\r\n\t\t\t\t\tthis.morphAnimation = this.animatePrivate({ key: \"morphProgress\", from: 0, to: 1, duration: this.get(\"animationDuration\", 0), easing: this.get(\"animationEasing\") });\r\n\t\t\t\t\t// solves no animated theme\r\n\t\t\t\t\tthis._root.events.once(\"frameended\", ()=>{\r\n\t\t\t\t\t\tthis._markDirtyPrivateKey(\"morphProgress\");\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.setPrivateRaw(\"previousPoints\", points);\r\n\t\t\t\tthis.setPrivateRaw(\"points\", points);\r\n\t\t\t}\r\n\t\t\tlet minX = Infinity;\r\n\t\t\tlet maxX = -Infinity;\r\n\t\t\tlet minY = Infinity;\r\n\t\t\tlet maxY = -Infinity;\r\n\r\n\t\t\tif (points) {\r\n\t\t\t\tfor (let i = 1, len = points.length; i < len; i++) {\r\n\t\t\t\t\tconst point = points[i];\r\n\t\t\t\t\tminX = Math.min(minX, point.x);\r\n\t\t\t\t\tmaxX = Math.max(maxX, point.x);\r\n\r\n\t\t\t\t\tminY = Math.min(minY, point.y);\r\n\t\t\t\t\tmaxY = Math.max(maxY, point.y);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.setPrivate(\"minX\", minX);\r\n\t\t\tthis.setPrivate(\"maxX\", maxX);\r\n\t\t\tthis.setPrivate(\"minY\", minY);\r\n\t\t\tthis.setPrivate(\"maxY\", minY);\r\n\t\t}\r\n\r\n\r\n\r\n\t\tif (this.isPrivateDirty(\"morphProgress\")) {\r\n\t\t\tthis._clear = true;\r\n\t\t}\r\n\t}\r\n\r\n\tpublic _changed() {\r\n\t\tsuper._changed();\r\n\r\n\t\tif (this._clear) {\r\n\t\t\tthis._draw();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _draw() {\r\n\t\tconst previousPoints = this.getPrivate(\"previousPoints\");\r\n\t\tconst points = this.getPrivate(\"points\");\r\n\t\tconst morphProgress = this.getPrivate(\"morphProgress\", 1);\r\n\r\n\t\tif (points && previousPoints) {\r\n\t\t\tconst first = points[0];\r\n\t\t\tconst prevFirst = previousPoints[0];\r\n\t\t\tif (first) {\r\n\t\t\t\tthis._display.moveTo(prevFirst.x + (first.x - prevFirst.x) * morphProgress, prevFirst.y + (first.y - prevFirst.y) * morphProgress);\r\n\t\t\t}\r\n\t\t\tfor (let i = 1, len = points.length; i < len; i++) {\r\n\t\t\t\tconst point = points[i];\r\n\t\t\t\tconst prevPoint = previousPoints[i];\r\n\t\t\t\tthis._display.lineTo(prevPoint.x + (point.x - prevPoint.x) * morphProgress, prevPoint.y + (point.y - prevPoint.y) * morphProgress);\r\n\t\t\t}\r\n\t\t\tthis._display.closePath();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic _updateSize() {\r\n\t\tthis.markDirty()\r\n\t\tthis._clear = true;\r\n\t}\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"Polygon.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Polygon.ts"],"names":[],"mappings":"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","sourcesContent":["import { Graphics, IGraphicsSettings, IGraphicsPrivate } from \"./Graphics\";\r\nimport type { IPoint } from \"../util/IPoint\";\r\nimport * as $array from \"../util/Array\";\r\n\r\nimport type { Time } from \"../util/Animation\";\r\nimport type { Animation } from \"../util/Entity\";\r\n\r\nexport interface IPolygonSettings extends IGraphicsSettings {\r\n\r\n\t/**\r\n\t * An array of polygon corner coordinates.\r\n\t */\r\n\tpoints?: Array<IPoint>;\r\n\r\n\t/**\r\n\t * Coordinates.\r\n\t */\r\n\tcoordinates?: Array<Array<number>>;\r\n\r\n\t/**\r\n\t * Number of milliseconds to play morph animation.\r\n\t */\r\n\tanimationDuration?: number;\r\n\r\n\t/**\r\n\t * Easing function to use for animations.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/animations/#Easing_functions} for more info\r\n\t */\r\n\tanimationEasing?: (t: Time) => Time;\r\n\r\n}\r\n\r\nexport interface IPolygonPrivate extends IGraphicsPrivate {\r\n\tpoints?: Array<IPoint>;\r\n\r\n\tpreviousPoints?: Array<IPoint>;\r\n\r\n\tmorphProgress?: number;\r\n\r\n\tminX?: number;\r\n\r\n\tmaxX?: number;\r\n\r\n\tminY?: number;\r\n\r\n\tmaxY?: number;\r\n}\r\n\r\n/**\r\n * Draws a polygon.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/polygon/} for more info\r\n * @important\r\n * @since 5.4.0\r\n */\r\nexport class Polygon extends Graphics {\r\n\r\n\tdeclare public _settings: IPolygonSettings;\r\n\tdeclare public _privateSettings: IPolygonPrivate;\r\n\r\n\tpublic static className: string = \"Polygon\";\r\n\tpublic static classNames: Array<string> = Graphics.classNames.concat([Polygon.className]);\r\n\r\n\tpublic morphAnimation?: Animation<this[\"_privateSettings\"][\"morphProgress\"]>;\r\n\r\n\tpublic _beforeChanged() {\r\n\t\tsuper._beforeChanged();\r\n\t\tif (this.isDirty(\"coordinates\")) {\r\n\t\t\tconst points: Array<IPoint> = [];\r\n\t\t\tconst coordinates = this.get(\"coordinates\");\r\n\t\t\tif (coordinates) {\r\n\t\t\t\t$array.each(coordinates, (coord) => {\r\n\t\t\t\t\tpoints.push({ x: coord[0], y: coord[1] });\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tthis.set(\"points\", points);\r\n\t\t}\r\n\t\tif (this.isPrivateDirty(\"points\")) {\r\n\t\t\tthis._clear = true;\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"points\")) {\r\n\t\t\tthis._clear = true;\r\n\r\n\t\t\tconst points = this.get(\"points\");\r\n\t\t\tconst prevPoints = this._prevSettings.points;\r\n\t\t\tif (prevPoints) {\r\n\t\t\t\tif (points) {\r\n\t\t\t\t\tlet copy = $array.copy(points);\r\n\t\t\t\t\tlet prevCopy = $array.copy(prevPoints);\r\n\t\t\t\t\tlet cl = copy.length;\r\n\t\t\t\t\tlet pl = prevCopy.length;\r\n\r\n\t\t\t\t\tif (cl > pl) {\r\n\t\t\t\t\t\tlet newCopy = $array.copy(copy);\r\n\t\t\t\t\t\tfor (let i = 0; i < cl; i++) {\r\n\t\t\t\t\t\t\tlet index = Math.floor(i / cl * pl);\r\n\t\t\t\t\t\t\tnewCopy[i] = { x: prevCopy[index].x, y: prevCopy[index].y };\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tprevCopy = newCopy;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (pl > cl) {\r\n\t\t\t\t\t\tlet newCopy = $array.copy(prevCopy);\r\n\t\t\t\t\t\tfor (let i = 0; i < pl; i++) {\r\n\t\t\t\t\t\t\tlet index = Math.floor(i / pl * cl);\r\n\t\t\t\t\t\t\tnewCopy[i] = { x: copy[index].x, y: copy[index].y };\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcopy = newCopy;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.setPrivateRaw(\"previousPoints\", prevCopy);\r\n\t\t\t\t\tthis.setPrivateRaw(\"points\", copy);\r\n\t\t\t\t\tthis.morphAnimation = this.animatePrivate({ key: \"morphProgress\", from: 0, to: 1, duration: this.get(\"animationDuration\", 0), easing: this.get(\"animationEasing\") });\r\n\t\t\t\t\t// solves no animated theme\r\n\t\t\t\t\tthis._root.events.once(\"frameended\", ()=>{\r\n\t\t\t\t\t\tthis._markDirtyPrivateKey(\"morphProgress\");\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.setPrivateRaw(\"previousPoints\", points);\r\n\t\t\t\tthis.setPrivateRaw(\"points\", points);\r\n\t\t\t}\r\n\t\t\tlet minX = Infinity;\r\n\t\t\tlet maxX = -Infinity;\r\n\t\t\tlet minY = Infinity;\r\n\t\t\tlet maxY = -Infinity;\r\n\r\n\t\t\tif (points) {\r\n\t\t\t\tfor (let i = 1, len = points.length; i < len; i++) {\r\n\t\t\t\t\tconst point = points[i];\r\n\t\t\t\t\tminX = Math.min(minX, point.x);\r\n\t\t\t\t\tmaxX = Math.max(maxX, point.x);\r\n\r\n\t\t\t\t\tminY = Math.min(minY, point.y);\r\n\t\t\t\t\tmaxY = Math.max(maxY, point.y);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.setPrivate(\"minX\", minX);\r\n\t\t\tthis.setPrivate(\"maxX\", maxX);\r\n\t\t\tthis.setPrivate(\"minY\", minY);\r\n\t\t\tthis.setPrivate(\"maxY\", minY);\r\n\t\t}\r\n\r\n\r\n\r\n\t\tif (this.isPrivateDirty(\"morphProgress\")) {\r\n\t\t\tthis._clear = true;\r\n\t\t}\r\n\t}\r\n\r\n\tpublic _changed() {\r\n\t\tsuper._changed();\r\n\r\n\t\tif (this._clear) {\r\n\t\t\tthis._draw();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _draw() {\r\n\t\tconst previousPoints = this.getPrivate(\"previousPoints\");\r\n\t\tconst points = this.getPrivate(\"points\");\r\n\t\tconst morphProgress = this.getPrivate(\"morphProgress\", 1);\r\n\r\n\t\tif (points && previousPoints) {\r\n\t\t\tconst first = points[0];\r\n\t\t\tconst prevFirst = previousPoints[0];\r\n\t\t\tif (first) {\r\n\t\t\t\tthis._display.moveTo(prevFirst.x + (first.x - prevFirst.x) * morphProgress, prevFirst.y + (first.y - prevFirst.y) * morphProgress);\r\n\t\t\t}\r\n\t\t\tfor (let i = 1, len = points.length; i < len; i++) {\r\n\t\t\t\tconst point = points[i];\r\n\t\t\t\tconst prevPoint = previousPoints[i];\r\n\t\t\t\tthis._display.lineTo(prevPoint.x + (point.x - prevPoint.x) * morphProgress, prevPoint.y + (point.y - prevPoint.y) * morphProgress);\r\n\t\t\t}\r\n\t\t\tthis._display.closePath();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic _updateSize() {\r\n\t\tthis.markDirty()\r\n\t\tthis._clear = true;\r\n\t}\r\n}\r\n"]}
|
|
@@ -22,7 +22,7 @@ export interface IRadialLabelSettings extends ILabelSettings {
|
|
|
22
22
|
*/
|
|
23
23
|
baseRadius?: number | Percent;
|
|
24
24
|
/**
|
|
25
|
-
* Label
|
|
25
|
+
* Label angle in degrees.
|
|
26
26
|
*
|
|
27
27
|
* In most cases it will be set by the chart/series and does not need to
|
|
28
28
|
* be set manually.
|
|
@@ -33,7 +33,7 @@ export interface IRadialLabelSettings extends ILabelSettings {
|
|
|
33
33
|
* following.
|
|
34
34
|
*
|
|
35
35
|
* `"auto"` means that facing will be chosen automatically based on the angle
|
|
36
|
-
* to enhance
|
|
36
|
+
* to enhance readability.
|
|
37
37
|
*
|
|
38
38
|
* Only applies if `type = "circluar"`.
|
|
39
39
|
*
|
|
@@ -57,7 +57,7 @@ export interface IRadialLabelSettings extends ILabelSettings {
|
|
|
57
57
|
*
|
|
58
58
|
* **IMPORTANT!** If the label is used in a [[PieSeries]], its `alignLabels` setting
|
|
59
59
|
* (default: `true`) takes precedence over `textType`. If you need to set this
|
|
60
|
-
* to anything else than `regular`, make sure you also set `alignLabels:
|
|
60
|
+
* to anything else than `regular`, make sure you also set `alignLabels: false` on
|
|
61
61
|
* `PieSeries`.
|
|
62
62
|
*
|
|
63
63
|
* @default "regular"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadialLabel.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/RadialLabel.ts"],"names":[],"mappings":"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","sourcesContent":["// import * as $object from \"../util/Object\";\nimport { p50, Percent } from \"../util/Percent\";\nimport { Label, ILabelPrivate, ILabelSettings } from \"./Label\";\nimport { RadialText } from \"./RadialText\";\n\nimport * as $math from \"../util/Math\";\nimport * as $utils from \"../util/Utils\";\n\n\nexport interface IRadialLabelSettings extends ILabelSettings {\n\n\t/**\n\t * Pixel value to adjust radius with.\n\t *\n\t * Will add to (or subtract from if negative) whatever value `baseRadius` evaluates\n\t * to.\n\t */\n\tradius?: number;\n\n\t/**\n\t * Radius of the label's position.\n\t *\n\t * Can be either set in absolute pixel value, or percent.\n\t *\n\t * Relative value, depending on the situation, will most often mean its\n\t * position within certain circular object, like a slice: 0% meaning inner\n\t * edge, and 100% - the outer edge.\n\t *\n\t * @default 100%\n\t */\n\tbaseRadius?: number | Percent;\n\n\t/**\n\t * Label anngle in degrees.\n\t *\n\t * In most cases it will be set by the chart/series and does not need to\n\t * be set manually.\n\t */\n\tlabelAngle?: number;\n\n\t/**\n\t * Should the text \"face\" inward or outward from the arc the text is\n\t * following.\n\t *\n\t * `\"auto\"` means that facing will be chosen automatically based on the angle\n\t * to enhance readbility.\n\t *\n\t * Only applies if `type = \"circluar\"`.\n\t * \n\t * @default \"auto\"\n\t */\n\torientation?: \"inward\" | \"outward\" | \"auto\";\n\n\t/**\n\t * Should label be drawn inside (`true`) or outside (`false`) the arc.\n\t *\n\t * @default false\n\t */\n\tinside?: boolean;\n\n\t/**\n\t * Label type.\n\t *\n\t * * `\"regular\"` (default) - normal horizontal label.\n\t * * `\"circular\"` - arched label.\n\t * * `\"radial\"` - label radiating from the center of the arc.\n\t * * `\"aligned\"` - horizontal label aligned with other labels horizontally.\n\t * * `\"adjusted\"` - horizontal label adjusted in postion.\n\t *\n\t * **IMPORTANT!** If the label is used in a [[PieSeries]], its `alignLabels` setting\n\t * (default: `true`) takes precedence over `textType`. If you need to set this\n\t * to anything else than `regular`, make sure you also set `alignLabels: falese` on\n\t * `PieSeries`.\n\t *\n\t * @default \"regular\"\n\t */\n\ttextType?: \"regular\" | \"circular\" | \"radial\" | \"aligned\" | \"adjusted\";\n\n\t/**\n\t * Extra spacing between characters, in pixels.\n\t *\n\t * @default 0\n\t */\n\tkerning?: number;\n\n}\n\nexport interface IRadialLabelPrivate extends ILabelPrivate {\n\n\t/**\n\t * @ignore\n\t */\n\tleft?: boolean;\n\n\t/**\n\t * @ignore\n\t */\n\tradius?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tinnerRadius?: number;\n\n}\n\nexport class RadialLabel extends Label {\n\n\tdeclare public _settings: IRadialLabelSettings;\n\tdeclare public _privateSettings: IRadialLabelPrivate;\n\n\tdeclare protected _text: RadialText;\n\n\tpublic static className: string = \"RadialLabel\";\n\tpublic static classNames: Array<string> = Label.classNames.concat([RadialLabel.className]);\n\n\tprotected _flipped: boolean = false;\n\n\tprotected _afterNew() {\n\t\tthis._textKeys.push(\"textType\", \"kerning\");\n\t\tsuper._afterNew();\n\t}\n\n\n\tpublic _makeText() {\n\t\tthis._text = this.children.push(RadialText.new(this._root, {}));\n\t}\n\n\t/**\n\t * Returns base radius in pixels.\n\t * \n\t * @return Base radius\n\t */\n\tpublic baseRadius(): number {\n\t\tconst radiusPrivate = this.getPrivate(\"radius\", 0);\n\t\tconst innerRadiusPrivate = this.getPrivate(\"innerRadius\", 0);\n\t\tconst baseRadius = this.get(\"baseRadius\", 0);\n\t\treturn innerRadiusPrivate + $utils.relativeToValue(baseRadius, radiusPrivate - innerRadiusPrivate);\n\t}\n\n\t/**\n\t * Returns radius adjustment in pixels.\n\t * \n\t * @return Radius\n\t */\n\tpublic radius(): number {\n\t\tconst inside = this.get(\"inside\", false);\n\t\treturn this.baseRadius() + this.get(\"radius\", 0) * (inside ? -1 : 1);\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tif (this.isDirty(\"baseRadius\") || this.isPrivateDirty(\"radius\") || this.isPrivateDirty(\"innerRadius\") || this.isDirty(\"labelAngle\") || this.isDirty(\"radius\") || this.isDirty(\"inside\") || this.isDirty(\"orientation\") || this.isDirty(\"textType\")) {\n\n\t\t\tconst textType = this.get(\"textType\", \"adjusted\");\n\n\t\t\tconst inside = this.get(\"inside\", false);\n\n\t\t\tconst orientation = this.get(\"orientation\");\n\t\t\tlet labelAngle = $math.normalizeAngle(this.get(\"labelAngle\", 0));\n\n\t\t\tthis._text.set(\"startAngle\", this.get(\"labelAngle\", 0));\n\t\t\tthis._text.set(\"inside\", inside);\n\n\t\t\tconst sin = $math.sin(labelAngle);\n\t\t\tconst cos = $math.cos(labelAngle);\n\n\t\t\tlet baseRadius = this.baseRadius();\n\t\t\tlet radius = this.radius();\n\n\t\t\tthis._display.angle = 0;\n\n\t\t\tif (textType == \"circular\") {\n\n\t\t\t\tthis.setAll({\n\t\t\t\t\tpaddingTop: 0,\n\t\t\t\t\tpaddingBottom: 0,\n\t\t\t\t\tpaddingLeft: 0,\n\t\t\t\t\tpaddingRight: 0\n\t\t\t\t});\n\n\t\t\t\tthis.setRaw(\"x\", undefined);\n\t\t\t\tthis.setRaw(\"y\", undefined);\t\t\t\t\n\n\t\t\t\t// Circular labels are handled and positioned differently\n\n\t\t\t\tthis._text.set(\"orientation\", orientation);\n\t\t\t\tthis._text.set(\"radius\", radius);\n\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (baseRadius == 0) {\n\t\t\t\t\tlabelAngle = 0;\n\t\t\t\t\tradius = 0;\n\t\t\t\t}\n\n\t\t\t\t// Positioning of radial/regular labels are teh same\n\t\t\t\tlet x = radius * cos;\n\t\t\t\tlet y = radius * sin;\n\n\t\t\t\tif (textType == \"radial\") {\n\n\t\t\t\t\tthis.setRaw(\"x\", x);\n\t\t\t\t\tthis.setRaw(\"y\", y);\n\n\t\t\t\t\tif ((labelAngle < 90) || (labelAngle > 270) || orientation != \"auto\") {\n\t\t\t\t\t\tthis._display.angle = labelAngle;// + 90;\n\t\t\t\t\t\tthis._flipped = false;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis._display.angle = labelAngle + 180;\n\t\t\t\t\t\tthis._flipped = true;\n\t\t\t\t\t}\n\t\t\t\t\tthis._dirty.rotation = false;\n\t\t\t\t}\n\t\t\t\telse if (textType == \"adjusted\") {\n\t\t\t\t\tthis.setRaw(\"centerX\", p50);\n\t\t\t\t\tthis.setRaw(\"centerY\", p50);\n\t\t\t\t\tthis.setRaw(\"x\", x);\n\t\t\t\t\tthis.setRaw(\"y\", y);\n\t\t\t\t}\n\t\t\t\telse if (textType == \"regular\") {\n\t\t\t\t\tthis.setRaw(\"x\", x);\n\t\t\t\t\tthis.setRaw(\"y\", y);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.markDirtyPosition();\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\t}\n\n\n\tpublic _updatePosition() {\n\n\t\tconst textType = this.get(\"textType\", \"regular\");\n\t\tconst inside = this.get(\"inside\", false);\n\n\t\tlet dx = 0;\n\t\tlet dy = 0;\n\t\tlet labelAngle = this.get(\"labelAngle\", 0);\n\t\tlet bounds = this.localBounds();\n\t\tlet w = bounds.right - bounds.left;\n\t\tlet h = bounds.bottom - bounds.top;\n\n\t\tif (textType == \"radial\") {\n\t\t\tif (this._flipped) {\n\t\t\t\tlet centerX = this.get(\"centerX\");\n\t\t\t\tif (centerX instanceof Percent) {\n\t\t\t\t\tw = w * (1 - centerX.value * 2);\n\t\t\t\t}\n\n\t\t\t\tdx = w * $math.cos(labelAngle);\n\t\t\t\tdy = w * $math.sin(labelAngle);\n\t\t\t}\n\t\t}\n\t\telse if (!inside && textType == \"adjusted\") {\n\t\t\tdx = w / 2 * $math.cos(labelAngle);\n\t\t\tdy = h / 2 * $math.sin(labelAngle);\n\t\t}\n\n\n\t\tthis.setRaw(\"dx\", dx);\n\t\tthis.setRaw(\"dy\", dy);\n\n\t\tsuper._updatePosition();\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic get text(): RadialText {\n\t\treturn this._text;\n\t}\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"RadialLabel.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/RadialLabel.ts"],"names":[],"mappings":"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","sourcesContent":["// import * as $object from \"../util/Object\";\nimport { p50, Percent } from \"../util/Percent\";\nimport { Label, ILabelPrivate, ILabelSettings } from \"./Label\";\nimport { RadialText } from \"./RadialText\";\n\nimport * as $math from \"../util/Math\";\nimport * as $utils from \"../util/Utils\";\n\n\nexport interface IRadialLabelSettings extends ILabelSettings {\n\n\t/**\n\t * Pixel value to adjust radius with.\n\t *\n\t * Will add to (or subtract from if negative) whatever value `baseRadius` evaluates\n\t * to.\n\t */\n\tradius?: number;\n\n\t/**\n\t * Radius of the label's position.\n\t *\n\t * Can be either set in absolute pixel value, or percent.\n\t *\n\t * Relative value, depending on the situation, will most often mean its\n\t * position within certain circular object, like a slice: 0% meaning inner\n\t * edge, and 100% - the outer edge.\n\t *\n\t * @default 100%\n\t */\n\tbaseRadius?: number | Percent;\n\n\t/**\n\t * Label angle in degrees.\n\t *\n\t * In most cases it will be set by the chart/series and does not need to\n\t * be set manually.\n\t */\n\tlabelAngle?: number;\n\n\t/**\n\t * Should the text \"face\" inward or outward from the arc the text is\n\t * following.\n\t *\n\t * `\"auto\"` means that facing will be chosen automatically based on the angle\n\t * to enhance readability.\n\t *\n\t * Only applies if `type = \"circluar\"`.\n\t * \n\t * @default \"auto\"\n\t */\n\torientation?: \"inward\" | \"outward\" | \"auto\";\n\n\t/**\n\t * Should label be drawn inside (`true`) or outside (`false`) the arc.\n\t *\n\t * @default false\n\t */\n\tinside?: boolean;\n\n\t/**\n\t * Label type.\n\t *\n\t * * `\"regular\"` (default) - normal horizontal label.\n\t * * `\"circular\"` - arched label.\n\t * * `\"radial\"` - label radiating from the center of the arc.\n\t * * `\"aligned\"` - horizontal label aligned with other labels horizontally.\n\t * * `\"adjusted\"` - horizontal label adjusted in postion.\n\t *\n\t * **IMPORTANT!** If the label is used in a [[PieSeries]], its `alignLabels` setting\n\t * (default: `true`) takes precedence over `textType`. If you need to set this\n\t * to anything else than `regular`, make sure you also set `alignLabels: false` on\n\t * `PieSeries`.\n\t *\n\t * @default \"regular\"\n\t */\n\ttextType?: \"regular\" | \"circular\" | \"radial\" | \"aligned\" | \"adjusted\";\n\n\t/**\n\t * Extra spacing between characters, in pixels.\n\t *\n\t * @default 0\n\t */\n\tkerning?: number;\n\n}\n\nexport interface IRadialLabelPrivate extends ILabelPrivate {\n\n\t/**\n\t * @ignore\n\t */\n\tleft?: boolean;\n\n\t/**\n\t * @ignore\n\t */\n\tradius?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tinnerRadius?: number;\n\n}\n\nexport class RadialLabel extends Label {\n\n\tdeclare public _settings: IRadialLabelSettings;\n\tdeclare public _privateSettings: IRadialLabelPrivate;\n\n\tdeclare protected _text: RadialText;\n\n\tpublic static className: string = \"RadialLabel\";\n\tpublic static classNames: Array<string> = Label.classNames.concat([RadialLabel.className]);\n\n\tprotected _flipped: boolean = false;\n\n\tprotected _afterNew() {\n\t\tthis._textKeys.push(\"textType\", \"kerning\");\n\t\tsuper._afterNew();\n\t}\n\n\n\tpublic _makeText() {\n\t\tthis._text = this.children.push(RadialText.new(this._root, {}));\n\t}\n\n\t/**\n\t * Returns base radius in pixels.\n\t * \n\t * @return Base radius\n\t */\n\tpublic baseRadius(): number {\n\t\tconst radiusPrivate = this.getPrivate(\"radius\", 0);\n\t\tconst innerRadiusPrivate = this.getPrivate(\"innerRadius\", 0);\n\t\tconst baseRadius = this.get(\"baseRadius\", 0);\n\t\treturn innerRadiusPrivate + $utils.relativeToValue(baseRadius, radiusPrivate - innerRadiusPrivate);\n\t}\n\n\t/**\n\t * Returns radius adjustment in pixels.\n\t * \n\t * @return Radius\n\t */\n\tpublic radius(): number {\n\t\tconst inside = this.get(\"inside\", false);\n\t\treturn this.baseRadius() + this.get(\"radius\", 0) * (inside ? -1 : 1);\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tif (this.isDirty(\"baseRadius\") || this.isPrivateDirty(\"radius\") || this.isPrivateDirty(\"innerRadius\") || this.isDirty(\"labelAngle\") || this.isDirty(\"radius\") || this.isDirty(\"inside\") || this.isDirty(\"orientation\") || this.isDirty(\"textType\")) {\n\n\t\t\tconst textType = this.get(\"textType\", \"adjusted\");\n\n\t\t\tconst inside = this.get(\"inside\", false);\n\n\t\t\tconst orientation = this.get(\"orientation\");\n\t\t\tlet labelAngle = $math.normalizeAngle(this.get(\"labelAngle\", 0));\n\n\t\t\tthis._text.set(\"startAngle\", this.get(\"labelAngle\", 0));\n\t\t\tthis._text.set(\"inside\", inside);\n\n\t\t\tconst sin = $math.sin(labelAngle);\n\t\t\tconst cos = $math.cos(labelAngle);\n\n\t\t\tlet baseRadius = this.baseRadius();\n\t\t\tlet radius = this.radius();\n\n\t\t\tthis._display.angle = 0;\n\n\t\t\tif (textType == \"circular\") {\n\n\t\t\t\tthis.setAll({\n\t\t\t\t\tpaddingTop: 0,\n\t\t\t\t\tpaddingBottom: 0,\n\t\t\t\t\tpaddingLeft: 0,\n\t\t\t\t\tpaddingRight: 0\n\t\t\t\t});\n\n\t\t\t\tthis.setRaw(\"x\", undefined);\n\t\t\t\tthis.setRaw(\"y\", undefined);\t\t\t\t\n\n\t\t\t\t// Circular labels are handled and positioned differently\n\n\t\t\t\tthis._text.set(\"orientation\", orientation);\n\t\t\t\tthis._text.set(\"radius\", radius);\n\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (baseRadius == 0) {\n\t\t\t\t\tlabelAngle = 0;\n\t\t\t\t\tradius = 0;\n\t\t\t\t}\n\n\t\t\t\t// Positioning of radial/regular labels are teh same\n\t\t\t\tlet x = radius * cos;\n\t\t\t\tlet y = radius * sin;\n\n\t\t\t\tif (textType == \"radial\") {\n\n\t\t\t\t\tthis.setRaw(\"x\", x);\n\t\t\t\t\tthis.setRaw(\"y\", y);\n\n\t\t\t\t\tif ((labelAngle < 90) || (labelAngle > 270) || orientation != \"auto\") {\n\t\t\t\t\t\tthis._display.angle = labelAngle;// + 90;\n\t\t\t\t\t\tthis._flipped = false;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis._display.angle = labelAngle + 180;\n\t\t\t\t\t\tthis._flipped = true;\n\t\t\t\t\t}\n\t\t\t\t\tthis._dirty.rotation = false;\n\t\t\t\t}\n\t\t\t\telse if (textType == \"adjusted\") {\n\t\t\t\t\tthis.setRaw(\"centerX\", p50);\n\t\t\t\t\tthis.setRaw(\"centerY\", p50);\n\t\t\t\t\tthis.setRaw(\"x\", x);\n\t\t\t\t\tthis.setRaw(\"y\", y);\n\t\t\t\t}\n\t\t\t\telse if (textType == \"regular\") {\n\t\t\t\t\tthis.setRaw(\"x\", x);\n\t\t\t\t\tthis.setRaw(\"y\", y);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.markDirtyPosition();\n\t\t\tthis.markDirtyBounds();\n\t\t}\n\t}\n\n\n\tpublic _updatePosition() {\n\n\t\tconst textType = this.get(\"textType\", \"regular\");\n\t\tconst inside = this.get(\"inside\", false);\n\n\t\tlet dx = 0;\n\t\tlet dy = 0;\n\t\tlet labelAngle = this.get(\"labelAngle\", 0);\n\t\tlet bounds = this.localBounds();\n\t\tlet w = bounds.right - bounds.left;\n\t\tlet h = bounds.bottom - bounds.top;\n\n\t\tif (textType == \"radial\") {\n\t\t\tif (this._flipped) {\n\t\t\t\tlet centerX = this.get(\"centerX\");\n\t\t\t\tif (centerX instanceof Percent) {\n\t\t\t\t\tw = w * (1 - centerX.value * 2);\n\t\t\t\t}\n\n\t\t\t\tdx = w * $math.cos(labelAngle);\n\t\t\t\tdy = w * $math.sin(labelAngle);\n\t\t\t}\n\t\t}\n\t\telse if (!inside && textType == \"adjusted\") {\n\t\t\tdx = w / 2 * $math.cos(labelAngle);\n\t\t\tdy = h / 2 * $math.sin(labelAngle);\n\t\t}\n\n\n\t\tthis.setRaw(\"dx\", dx);\n\t\tthis.setRaw(\"dy\", dy);\n\n\t\tsuper._updatePosition();\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic get text(): RadialText {\n\t\treturn this._text;\n\t}\n\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoundedRectangle.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/RoundedRectangle.ts"],"names":[],"mappings":"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","sourcesContent":["import * as $type from \"../util/Type\";\nimport * as $math from \"../util/Math\";\nimport * as $utils from \"../util/Utils\";\nimport { Rectangle, IRectangleSettings, IRectanglePrivate } from \"./Rectangle\";\n\n\nexport interface IRoundedRectangleSettings extends IRectangleSettings {\n\n\t/**\n\t * Radius of the top-left corner in pixels.\n\t */\n\tcornerRadiusTL?: number;\n\n\t/**\n\t * Radius of the top-right corner in pixels.\n\t */\n\tcornerRadiusTR?: number;\n\n\t/**\n\t * Radius of the
|
|
1
|
+
{"version":3,"file":"RoundedRectangle.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/RoundedRectangle.ts"],"names":[],"mappings":"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","sourcesContent":["import * as $type from \"../util/Type\";\nimport * as $math from \"../util/Math\";\nimport * as $utils from \"../util/Utils\";\nimport { Rectangle, IRectangleSettings, IRectanglePrivate } from \"./Rectangle\";\n\n\nexport interface IRoundedRectangleSettings extends IRectangleSettings {\n\n\t/**\n\t * Radius of the top-left corner in pixels.\n\t */\n\tcornerRadiusTL?: number;\n\n\t/**\n\t * Radius of the top-right corner in pixels.\n\t */\n\tcornerRadiusTR?: number;\n\n\t/**\n\t * Radius of the bottom-right corner in pixels.\n\t */\n\tcornerRadiusBR?: number;\n\n\t/**\n\t * Radius of the bottom-left corner in pixels.\n\t */\n\tcornerRadiusBL?: number;\n\n}\n\nexport interface IRoundedRectanglePrivate extends IRectanglePrivate {\n}\n\n/**\n * Draws a rectangle with rounded corners.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/graphics/} for more info\n * @important\n */\nexport class RoundedRectangle extends Rectangle {\n\n\tdeclare public _settings: IRoundedRectangleSettings;\n\tdeclare public _privateSettings: IRoundedRectanglePrivate;\n\n\tpublic static className: string = \"RoundedRectangle\";\n\tpublic static classNames: Array<string> = Rectangle.classNames.concat([RoundedRectangle.className]);\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"cornerRadiusTL\") || this.isDirty(\"cornerRadiusTR\") || this.isDirty(\"cornerRadiusBR\") || this.isDirty(\"cornerRadiusBL\")) {\n\t\t\tthis._clear = true;\n\t\t}\n\t}\n\n\tpublic _draw() {\n\t\tlet width = this.width();\n\t\tlet height = this.height();\n\n\t\tlet wSign = width / Math.abs(width);\n\t\tlet hSign = height / Math.abs(height);\n\n\t\tlet x = 0;\n\t\tlet y = 0;\n\n\t\tconst strokeWidth = this.get(\"strokeWidth\", 0);\n\n\t\tif (this.get(\"containStroke\", false)) {\n\t\t\twidth -= wSign * strokeWidth;\n\t\t\theight -= hSign * strokeWidth;\n\t\t\tx += wSign * strokeWidth / 2;\n\t\t\ty += hSign * strokeWidth / 2;\n\t\t}\n\n\t\tlet w = width;\n\t\tlet h = height;\n\n\t\tif ($type.isNumber(w) && $type.isNumber(h)) {\n\n\t\t\tlet minSide = Math.min(w, h) / 2;\n\n\t\t\tlet crtl = $utils.relativeToValue(this.get(\"cornerRadiusTL\", 8), minSide);\n\t\t\tlet crtr = $utils.relativeToValue(this.get(\"cornerRadiusTR\", 8), minSide);\n\t\t\tlet crbr = $utils.relativeToValue(this.get(\"cornerRadiusBR\", 8), minSide);\n\t\t\tlet crbl = $utils.relativeToValue(this.get(\"cornerRadiusBL\", 8), minSide);\n\n\t\t\tlet maxcr = Math.min(Math.abs(w / 2), Math.abs(h / 2));\n\n\t\t\tcrtl = $math.fitToRange(crtl, 0, maxcr);\n\t\t\tcrtr = $math.fitToRange(crtr, 0, maxcr);\n\t\t\tcrbr = $math.fitToRange(crbr, 0, maxcr);\n\t\t\tcrbl = $math.fitToRange(crbl, 0, maxcr);\n\n\t\t\tconst display = this._display;\n\t\t\tdisplay.moveTo(x + crtl * wSign, y);\n\t\t\tdisplay.lineTo(x + w - crtr * wSign, y);\n\t\t\tif (crtr > 0) {\n\t\t\t\tdisplay.arcTo(x + w, y, x + w, y + crtr * hSign, crtr);\n\t\t\t}\n\t\t\tdisplay.lineTo(x + w, y + h - crbr * hSign);\n\t\t\tif (crbr > 0) {\n\t\t\t\tdisplay.arcTo(x + w, y + h, x + w - crbr * wSign, y + h, crbr);\n\t\t\t}\n\t\t\tdisplay.lineTo(x + crbl * wSign, y + h);\n\t\t\tif (crbl > 0) {\n\t\t\t\tdisplay.arcTo(x, y + h, x, y + h - crbl * hSign, crbl);\n\t\t\t}\n\t\t\tdisplay.lineTo(x, y + crtl * hSign);\n\t\t\tif (crtl > 0) {\n\t\t\t\tdisplay.arcTo(x, y, x + crtl * wSign, y, crtl);\n\t\t\t}\n\t\t\tdisplay.closePath();\n\t\t}\n\t}\n}\n"]}
|