@progress/kendo-charts 2.6.0-dev.202410171326 → 2.6.0-dev.202410171740

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.
Files changed (45) hide show
  1. package/dist/cdn/js/kendo-charts.js +1 -1
  2. package/dist/cdn/main.js +1 -1
  3. package/dist/es/chart/area-chart/area-segment.js +3 -2
  4. package/dist/es/chart/bar-chart/bar.js +3 -3
  5. package/dist/es/chart/bubble-chart/bubble.js +3 -2
  6. package/dist/es/chart/bullet-chart/bullet.js +3 -2
  7. package/dist/es/chart/candlestick-chart/candlestick.js +3 -2
  8. package/dist/es/chart/constants.js +2 -0
  9. package/dist/es/chart/donut-chart/donut-chart.js +2 -0
  10. package/dist/es/chart/funnel-chart/funnel-chart.js +2 -0
  11. package/dist/es/chart/funnel-chart/funnel-segment.js +3 -2
  12. package/dist/es/chart/heatmap-chart/heatmap-chart.js +1 -0
  13. package/dist/es/chart/heatmap-chart/heatmap-point.js +1 -0
  14. package/dist/es/chart/legend/legend-item.js +21 -1
  15. package/dist/es/chart/line-chart/line-point.js +1 -0
  16. package/dist/es/chart/mixins/pie-chart-mixin.js +1 -0
  17. package/dist/es/chart/pie-chart/pie-chart.js +2 -0
  18. package/dist/es/chart/pie-chart/pie-segment.js +3 -3
  19. package/dist/es/chart/register-charts.js +13 -13
  20. package/dist/es/core/box-element.js +3 -2
  21. package/dist/es/core/pattern.js +27 -0
  22. package/dist/es/core.js +1 -0
  23. package/dist/es2015/chart/area-chart/area-segment.js +3 -2
  24. package/dist/es2015/chart/bar-chart/bar.js +3 -3
  25. package/dist/es2015/chart/bubble-chart/bubble.js +3 -2
  26. package/dist/es2015/chart/bullet-chart/bullet.js +3 -2
  27. package/dist/es2015/chart/candlestick-chart/candlestick.js +3 -2
  28. package/dist/es2015/chart/constants.js +2 -0
  29. package/dist/es2015/chart/donut-chart/donut-chart.js +2 -0
  30. package/dist/es2015/chart/funnel-chart/funnel-chart.js +2 -0
  31. package/dist/es2015/chart/funnel-chart/funnel-segment.js +3 -2
  32. package/dist/es2015/chart/heatmap-chart/heatmap-chart.js +1 -0
  33. package/dist/es2015/chart/heatmap-chart/heatmap-point.js +1 -0
  34. package/dist/es2015/chart/legend/legend-item.js +19 -1
  35. package/dist/es2015/chart/line-chart/line-point.js +1 -0
  36. package/dist/es2015/chart/mixins/pie-chart-mixin.js +1 -0
  37. package/dist/es2015/chart/pie-chart/pie-chart.js +2 -0
  38. package/dist/es2015/chart/pie-chart/pie-segment.js +3 -3
  39. package/dist/es2015/chart/register-charts.js +13 -13
  40. package/dist/es2015/core/box-element.js +3 -2
  41. package/dist/es2015/core/pattern.js +23 -0
  42. package/dist/es2015/core.js +1 -0
  43. package/dist/npm/main.js +87 -30
  44. package/dist/systemjs/kendo-charts.js +1 -1
  45. package/package.json +3 -3
@@ -43,6 +43,7 @@ const PieChartMixin = {
43
43
  text: text,
44
44
  series: options.series,
45
45
  markerColor: markerColor,
46
+ pattern: point.pattern,
46
47
  labels: itemLabelOptions
47
48
  });
48
49
  }
@@ -73,6 +73,7 @@ class PieChart extends ChartElement {
73
73
  callback(value, new Ring(null, 0, 0, currentAngle, angle), {
74
74
  owner: this,
75
75
  category: defined(fields.category) ? fields.category : "",
76
+ pattern: defined(fields.pattern) ? fields.pattern : currentSeries.pattern,
76
77
  index: i,
77
78
  series: currentSeries,
78
79
  seriesIx: seriesIx,
@@ -109,6 +110,7 @@ class PieChart extends ChartElement {
109
110
 
110
111
  addValue(value, sector, fields) {
111
112
  const segmentOptions = deepExtend({}, fields.series, { index: fields.index });
113
+ segmentOptions.pattern = fields.pattern || segmentOptions.pattern;
112
114
  this.evalSegmentOptions(segmentOptions, value, fields);
113
115
 
114
116
  this.createLegendItem(value, segmentOptions, fields);
@@ -1,6 +1,6 @@
1
1
  import { drawing as draw, geometry as geom } from '@progress/kendo-drawing';
2
2
 
3
- import { ChartElement, ShapeBuilder, TextBox, Box } from '../../core';
3
+ import { ChartElement, ShapeBuilder, TextBox, Box, createPatternFill } from '../../core';
4
4
 
5
5
  import PointEventsMixin from '../mixins/point-events-mixin';
6
6
 
@@ -163,10 +163,10 @@ class PieSegment extends ChartElement {
163
163
  }
164
164
  } : {};
165
165
  const color = options.color;
166
- const fill = {
166
+ const fill = createPatternFill(options.pattern, {
167
167
  color: color,
168
168
  opacity: options.opacity
169
- };
169
+ });
170
170
  const visual = this.createSegment(sector, deepExtend({
171
171
  fill: fill,
172
172
  stroke: {
@@ -15,7 +15,7 @@ import { COLUMN, DONUT, PIE, FUNNEL, PYRAMID, BAR, LINE, VERTICAL_LINE, AREA, VE
15
15
  RANGE_BAR, WATERFALL, HORIZONTAL_WATERFALL, SCATTER, SCATTER_LINE, BUBBLE,
16
16
  POLAR_AREA, POLAR_LINE, POLAR_SCATTER, RADAR_AREA, RADAR_COLUMN, RADAR_LINE, CATEGORY,
17
17
  RANGE_AREA, VERTICAL_RANGE_AREA, X_ERROR_LOW_FIELD, X_ERROR_HIGH_FIELD, Y_ERROR_LOW_FIELD, Y_ERROR_HIGH_FIELD,
18
- ERROR_LOW_FIELD, ERROR_HIGH_FIELD, HEATMAP, DRILLDOWN_FIELD, TRENDLINE_SERIES } from './constants';
18
+ ERROR_LOW_FIELD, ERROR_HIGH_FIELD, HEATMAP, DRILLDOWN_FIELD, TRENDLINE_SERIES, PATTERN_FIELD } from './constants';
19
19
  import { X, Y, VALUE } from '../common/constants';
20
20
 
21
21
  const COLOR = "color";
@@ -57,25 +57,25 @@ PlotAreaFactory.current.register(HeatmapPlotArea, [ HEATMAP ]);
57
57
 
58
58
  SeriesBinder.current.register(
59
59
  [ BAR, COLUMN, LINE, VERTICAL_LINE, AREA, VERTICAL_AREA ],
60
- [ VALUE ], [ CATEGORY, COLOR, NOTE_TEXT, ERROR_LOW_FIELD, ERROR_HIGH_FIELD, DRILLDOWN_FIELD ]
60
+ [ VALUE ], [ CATEGORY, COLOR, NOTE_TEXT, ERROR_LOW_FIELD, ERROR_HIGH_FIELD, DRILLDOWN_FIELD, PATTERN_FIELD ]
61
61
  );
62
62
 
63
63
  SeriesBinder.current.register(
64
64
  [ RANGE_COLUMN, RANGE_BAR, RANGE_AREA, VERTICAL_RANGE_AREA ],
65
- [ FROM, TO ], [ CATEGORY, COLOR, NOTE_TEXT, DRILLDOWN_FIELD ]
65
+ [ FROM, TO ], [ CATEGORY, COLOR, NOTE_TEXT, DRILLDOWN_FIELD, PATTERN_FIELD ]
66
66
  );
67
67
 
68
68
  SeriesBinder.current.register(
69
69
  [ WATERFALL, HORIZONTAL_WATERFALL ],
70
- [ VALUE ], [ CATEGORY, COLOR, NOTE_TEXT, SUMMARY_FIELD, DRILLDOWN_FIELD ]
70
+ [ VALUE ], [ CATEGORY, COLOR, NOTE_TEXT, SUMMARY_FIELD, DRILLDOWN_FIELD, PATTERN_FIELD ]
71
71
  );
72
72
 
73
- SeriesBinder.current.register([ POLAR_AREA, POLAR_LINE, POLAR_SCATTER ], [ X, Y ], [ COLOR, DRILLDOWN_FIELD ]);
74
- SeriesBinder.current.register([ RADAR_AREA, RADAR_COLUMN, RADAR_LINE ], [ VALUE ], [ CATEGORY, COLOR, DRILLDOWN_FIELD ]);
73
+ SeriesBinder.current.register([ POLAR_AREA, POLAR_LINE, POLAR_SCATTER ], [ X, Y ], [ COLOR, DRILLDOWN_FIELD, PATTERN_FIELD ]);
74
+ SeriesBinder.current.register([ RADAR_AREA, RADAR_COLUMN, RADAR_LINE ], [ VALUE ], [ CATEGORY, COLOR, DRILLDOWN_FIELD, PATTERN_FIELD ]);
75
75
 
76
76
  SeriesBinder.current.register(
77
77
  [ FUNNEL, PYRAMID ],
78
- [ VALUE ], [ CATEGORY, COLOR, "visibleInLegend", "visible", DRILLDOWN_FIELD ]
78
+ [ VALUE ], [ CATEGORY, COLOR, "visibleInLegend", "visible", DRILLDOWN_FIELD, PATTERN_FIELD ]
79
79
  );
80
80
 
81
81
  DefaultAggregates.current.register(
@@ -99,17 +99,17 @@ SeriesBinder.current.register(
99
99
  );
100
100
 
101
101
  SeriesBinder.current.register(
102
- [ BUBBLE ], [ X, Y, "size" ], [ COLOR, CATEGORY, NOTE_TEXT ]
102
+ [ BUBBLE ], [ X, Y, "size" ], [ COLOR, CATEGORY, NOTE_TEXT, PATTERN_FIELD ]
103
103
  );
104
104
 
105
105
  SeriesBinder.current.register(
106
106
  [ HEATMAP ],
107
- [ X, Y, VALUE ], [ COLOR, NOTE_TEXT ]
107
+ [ X, Y, VALUE ], [ COLOR, NOTE_TEXT, PATTERN_FIELD ]
108
108
  );
109
109
 
110
110
  SeriesBinder.current.register(
111
111
  [ CANDLESTICK, OHLC ],
112
- [ "open", "high", "low", "close" ], [ CATEGORY, COLOR, "downColor", NOTE_TEXT ]
112
+ [ "open", "high", "low", "close" ], [ CATEGORY, COLOR, "downColor", NOTE_TEXT, PATTERN_FIELD ]
113
113
  );
114
114
 
115
115
  DefaultAggregates.current.register(
@@ -120,7 +120,7 @@ DefaultAggregates.current.register(
120
120
 
121
121
  SeriesBinder.current.register(
122
122
  [ BOX_PLOT, VERTICAL_BOX_PLOT ],
123
- [ "lower", "q1", "median", "q3", "upper", "mean", "outliers" ], [ CATEGORY, COLOR, NOTE_TEXT, DRILLDOWN_FIELD ]
123
+ [ "lower", "q1", "median", "q3", "upper", "mean", "outliers" ], [ CATEGORY, COLOR, NOTE_TEXT, DRILLDOWN_FIELD, PATTERN_FIELD ]
124
124
  );
125
125
 
126
126
  DefaultAggregates.current.register(
@@ -131,7 +131,7 @@ DefaultAggregates.current.register(
131
131
 
132
132
  SeriesBinder.current.register(
133
133
  [ BULLET, VERTICAL_BULLET ],
134
- [ "current", "target" ], [ CATEGORY, COLOR, "visibleInLegend", NOTE_TEXT, DRILLDOWN_FIELD ]
134
+ [ "current", "target" ], [ CATEGORY, COLOR, "visibleInLegend", NOTE_TEXT, DRILLDOWN_FIELD, PATTERN_FIELD ]
135
135
  );
136
136
 
137
137
  DefaultAggregates.current.register(
@@ -141,5 +141,5 @@ DefaultAggregates.current.register(
141
141
 
142
142
  SeriesBinder.current.register(
143
143
  [ PIE, DONUT ],
144
- [ VALUE ], [ CATEGORY, COLOR, "explode", "visibleInLegend", "visible", DRILLDOWN_FIELD ]
144
+ [ VALUE ], [ CATEGORY, COLOR, "explode", "visibleInLegend", "visible", DRILLDOWN_FIELD, PATTERN_FIELD ]
145
145
  );
@@ -5,6 +5,7 @@ import Box from './box';
5
5
 
6
6
  import { BLACK, LEFT, TOP, X, Y } from '../common/constants';
7
7
  import { getSpacing, setDefaultOptions, valueOrDefault } from '../common';
8
+ import { createPatternFill } from './pattern';
8
9
 
9
10
  class BoxElement extends ChartElement {
10
11
  constructor(options) {
@@ -100,10 +101,10 @@ class BoxElement extends ChartElement {
100
101
  opacity: valueOrDefault(border.opacity, options.opacity),
101
102
  dashType: border.dashType
102
103
  },
103
- fill: {
104
+ fill: createPatternFill(options.pattern, {
104
105
  color: options.background,
105
106
  opacity: options.opacity
106
- },
107
+ }, undefined),
107
108
  cursor: options.cursor
108
109
  };
109
110
  }
@@ -0,0 +1,23 @@
1
+ import { drawing } from '@progress/kendo-drawing';
2
+ import { isFunction } from './../common';
3
+
4
+ const { dotsPattern, verticalStripesPattern, crosshatchPattern, diagonalStripesPattern, gridPattern } = drawing;
5
+
6
+ const patternMap = {
7
+ dots: dotsPattern,
8
+ verticalStripes: verticalStripesPattern,
9
+ crosshatch: crosshatchPattern,
10
+ diagonalStripes: diagonalStripesPattern,
11
+ grid: gridPattern
12
+ };
13
+
14
+ export function evaluatePattern(options, point) {
15
+ return isFunction(options) ? options(point) : options;
16
+ }
17
+
18
+ export function createPatternFill(options, fill, point) {
19
+ const patternOptions = evaluatePattern(options, point);
20
+ const pattern = patternOptions && patternMap[patternOptions.type];
21
+
22
+ return pattern ? pattern(Object.assign({}, fill, patternOptions)) : fill;
23
+ }
@@ -27,3 +27,4 @@ export { default as RadarLogarithmicAxis } from './core/radar-logarithmic-axis';
27
27
  export { default as CurveProcessor } from './core/curve-processor';
28
28
  export { default as Gradients } from './core/gradients';
29
29
  export { default as rectToBox } from './core/utils/rect-to-box';
30
+ export { createPatternFill } from './core/pattern';