@progress/kendo-react-charts 5.15.0-dev.202307061400 → 5.15.0-dev.202307112015
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/dist/cdn/js/kendo-react-charts.js +1 -1
- package/dist/es/BaseChart.d.ts +9 -1
- package/dist/es/BaseChart.js +58 -4
- package/dist/es/BaseChartProps.d.ts +13 -1
- package/dist/es/ChartBreadcrumb.d.ts +42 -0
- package/dist/es/ChartBreadcrumb.js +92 -0
- package/dist/es/ChartContext.d.ts +2 -0
- package/dist/es/DonutCenter.d.ts +1 -1
- package/dist/es/DonutCenter.js +4 -3
- package/dist/es/SparklineProps.d.ts +1 -1
- package/dist/es/StockChartProps.d.ts +1 -1
- package/dist/es/api-types/chart-drilldown-state.interface.d.ts +24 -0
- package/dist/es/api-types/chart-drilldown-state.interface.js +1 -0
- package/dist/es/argument-types/drilldown-series-factory-props.interface.d.ts +17 -0
- package/dist/es/argument-types/drilldown-series-factory-props.interface.js +2 -0
- package/dist/es/common/api-types.d.ts +1 -0
- package/dist/es/common/events.d.ts +2 -0
- package/dist/es/common/events.js +2 -0
- package/dist/es/common/property-types.d.ts +1 -0
- package/dist/es/components/SeriesItem.d.ts +8 -0
- package/dist/es/components/SeriesItem.js +12 -1
- package/dist/es/events/chart-event-builder.js +2 -0
- package/dist/es/events/drilldown-event.d.ts +38 -0
- package/dist/es/events/drilldown-event.js +38 -0
- package/dist/es/events/drilldown-state-change-event.d.ts +22 -0
- package/dist/es/events/drilldown-state-change-event.js +16 -0
- package/dist/es/main.d.ts +2 -1
- package/dist/es/main.js +2 -1
- package/dist/es/option-types/series-item.interface.d.ts +4 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/npm/BaseChart.d.ts +9 -1
- package/dist/npm/BaseChart.js +58 -4
- package/dist/npm/BaseChartProps.d.ts +13 -1
- package/dist/npm/ChartBreadcrumb.d.ts +42 -0
- package/dist/npm/ChartBreadcrumb.js +95 -0
- package/dist/npm/ChartContext.d.ts +2 -0
- package/dist/npm/DonutCenter.d.ts +1 -1
- package/dist/npm/DonutCenter.js +4 -3
- package/dist/npm/SparklineProps.d.ts +1 -1
- package/dist/npm/StockChartProps.d.ts +1 -1
- package/dist/npm/api-types/chart-drilldown-state.interface.d.ts +24 -0
- package/dist/npm/api-types/chart-drilldown-state.interface.js +2 -0
- package/dist/npm/argument-types/drilldown-series-factory-props.interface.d.ts +17 -0
- package/dist/npm/argument-types/drilldown-series-factory-props.interface.js +3 -0
- package/dist/npm/common/api-types.d.ts +1 -0
- package/dist/npm/common/events.d.ts +2 -0
- package/dist/npm/common/events.js +5 -1
- package/dist/npm/common/property-types.d.ts +1 -0
- package/dist/npm/components/SeriesItem.d.ts +8 -0
- package/dist/npm/components/SeriesItem.js +12 -1
- package/dist/npm/events/chart-event-builder.js +2 -0
- package/dist/npm/events/drilldown-event.d.ts +38 -0
- package/dist/npm/events/drilldown-event.js +41 -0
- package/dist/npm/events/drilldown-state-change-event.d.ts +22 -0
- package/dist/npm/events/drilldown-state-change-event.js +19 -0
- package/dist/npm/main.d.ts +2 -1
- package/dist/npm/main.js +3 -1
- package/dist/npm/option-types/series-item.interface.d.ts +4 -0
- package/dist/npm/package-metadata.js +1 -1
- package/dist/systemjs/kendo-react-charts.js +1 -1
- package/package.json +13 -7
package/dist/es/main.js
CHANGED
|
@@ -10,6 +10,7 @@ import { CrosshairTooltip } from './tooltip/Crosshair';
|
|
|
10
10
|
import { TooltipPopup } from './tooltip/Popup';
|
|
11
11
|
import { SharedTooltipContent } from './tooltip/SharedTooltipContent';
|
|
12
12
|
import { CrosshairTooltipContainer } from './tooltip/CrosshairContainer';
|
|
13
|
+
import { ChartBreadcrumb } from './ChartBreadcrumb';
|
|
13
14
|
export * from './tooltip/main';
|
|
14
15
|
export * from './components/main';
|
|
15
16
|
export * from './common/api-types';
|
|
@@ -17,4 +18,4 @@ export * from './common/property-types';
|
|
|
17
18
|
export * from './common/events';
|
|
18
19
|
export * from './common/charts';
|
|
19
20
|
export * from './methods/';
|
|
20
|
-
export { Chart, Sparkline, StockChart, CollectionConfigurationComponent, ConfigurationComponent, DonutCenter, TooltipPoint, SeriesTooltip, CrosshairTooltip, TooltipPopup, SharedTooltipContent, CrosshairTooltipContainer };
|
|
21
|
+
export { Chart, Sparkline, StockChart, CollectionConfigurationComponent, ConfigurationComponent, DonutCenter, TooltipPoint, SeriesTooltip, CrosshairTooltip, TooltipPopup, SharedTooltipContent, CrosshairTooltipContainer, ChartBreadcrumb };
|
|
@@ -105,6 +105,10 @@ export interface Series {
|
|
|
105
105
|
* The data field which contains the color that is applied when the `open` value is greater than the `close` value. The `downColorField` option is supported when [`series.type`]({% slug api_charts_chartseriesitemprops %}#toc-type) is set to `"candlestick"`.
|
|
106
106
|
*/
|
|
107
107
|
downColorField?: string;
|
|
108
|
+
/**
|
|
109
|
+
* The data field which contains the value to use to [drill down]({% slug drilldown_charts %}) into detailed data for the point.
|
|
110
|
+
*/
|
|
111
|
+
drilldownField?: string;
|
|
108
112
|
/**
|
|
109
113
|
* The `dynamicHeight` option is supported when [`series.type`]({% slug api_charts_chartseriesitemprops %}#toc-type) is set to `"funnel"`. When set to `false`, all segments become with the same height. Otherwise, the height of each segment is based on its value.
|
|
110
114
|
*/
|
|
@@ -5,7 +5,7 @@ export var packageMetadata = {
|
|
|
5
5
|
name: '@progress/kendo-react-charts',
|
|
6
6
|
productName: 'KendoReact',
|
|
7
7
|
productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],
|
|
8
|
-
publishDate:
|
|
8
|
+
publishDate: 1689103689,
|
|
9
9
|
version: '',
|
|
10
10
|
licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'
|
|
11
11
|
};
|
package/dist/npm/BaseChart.d.ts
CHANGED
|
@@ -43,9 +43,13 @@ export declare class BaseChart extends React.Component<BaseChartPrivateProps, {}
|
|
|
43
43
|
protected observersStore: any;
|
|
44
44
|
protected chartObserver: InstanceObserver;
|
|
45
45
|
protected childrenObserver: InstanceObserver;
|
|
46
|
-
protected contextValue: ChartContextType;
|
|
47
46
|
protected suppressTransitions: boolean;
|
|
47
|
+
readonly state: ChartContextType;
|
|
48
48
|
constructor(props: BaseChartPrivateProps);
|
|
49
|
+
/**
|
|
50
|
+
* @hidden
|
|
51
|
+
*/
|
|
52
|
+
static getDerivedStateFromProps(props: any, state: any): any;
|
|
49
53
|
/**
|
|
50
54
|
* @hidden
|
|
51
55
|
*/
|
|
@@ -94,6 +98,10 @@ export declare class BaseChart extends React.Component<BaseChartPrivateProps, {}
|
|
|
94
98
|
* @hidden
|
|
95
99
|
*/
|
|
96
100
|
onRender: (e: any) => void;
|
|
101
|
+
/**
|
|
102
|
+
* @hidden
|
|
103
|
+
*/
|
|
104
|
+
onDrilldown: (e: any) => boolean;
|
|
97
105
|
/**
|
|
98
106
|
* @hidden
|
|
99
107
|
*/
|
package/dist/npm/BaseChart.js
CHANGED
|
@@ -14,6 +14,17 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
14
14
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
15
|
};
|
|
16
16
|
})();
|
|
17
|
+
var __assign = (this && this.__assign) || function () {
|
|
18
|
+
__assign = Object.assign || function(t) {
|
|
19
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
+
s = arguments[i];
|
|
21
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
+
t[p] = s[p];
|
|
23
|
+
}
|
|
24
|
+
return t;
|
|
25
|
+
};
|
|
26
|
+
return __assign.apply(this, arguments);
|
|
27
|
+
};
|
|
17
28
|
var __rest = (this && this.__rest) || function (s, e) {
|
|
18
29
|
var t = {};
|
|
19
30
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
@@ -25,6 +36,15 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
25
36
|
}
|
|
26
37
|
return t;
|
|
27
38
|
};
|
|
39
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
40
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
41
|
+
if (ar || !(i in from)) {
|
|
42
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
43
|
+
ar[i] = from[i];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
47
|
+
};
|
|
28
48
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
49
|
exports.BaseChart = void 0;
|
|
30
50
|
var React = require("react");
|
|
@@ -46,6 +66,7 @@ var CrosshairContainer_1 = require("./tooltip/CrosshairContainer");
|
|
|
46
66
|
var ChartContext_1 = require("./ChartContext");
|
|
47
67
|
var kendo_react_common_2 = require("@progress/kendo-react-common");
|
|
48
68
|
var package_metadata_1 = require("./package-metadata");
|
|
69
|
+
var main_3 = require("./main");
|
|
49
70
|
/**
|
|
50
71
|
* @hidden
|
|
51
72
|
*/
|
|
@@ -78,6 +99,28 @@ var BaseChart = /** @class */ (function (_super) {
|
|
|
78
99
|
_this.trigger('render', e);
|
|
79
100
|
}
|
|
80
101
|
};
|
|
102
|
+
/**
|
|
103
|
+
* @hidden
|
|
104
|
+
*/
|
|
105
|
+
_this.onDrilldown = function (e) {
|
|
106
|
+
var _a;
|
|
107
|
+
var allSeries = _this.optionsStore.getState().series;
|
|
108
|
+
var series = allSeries.find(function (s) { return s.name === e.series.name; });
|
|
109
|
+
if (!series.drilldownSeriesFactory) {
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
var handler = 'onDrilldown';
|
|
113
|
+
if (_this.props.hasOwnProperty(handler)) {
|
|
114
|
+
var step = { seriesName: series.name, drilldownValue: e.value };
|
|
115
|
+
var nextSteps = __spreadArray(__spreadArray([], (((_a = _this.props.drilldownState) === null || _a === void 0 ? void 0 : _a.steps) || []), true), [step], false);
|
|
116
|
+
var target = _this.props.getTarget();
|
|
117
|
+
var args = __assign(__assign({}, e), { currentState: _this.props.drilldownState, nextState: { steps: nextSteps } });
|
|
118
|
+
var eventObject = new main_3.DrilldownEvent(args, target);
|
|
119
|
+
_this.props[handler].call(undefined, eventObject);
|
|
120
|
+
}
|
|
121
|
+
// Prevent triggering onDrilldown again, it's already triggered above
|
|
122
|
+
return true;
|
|
123
|
+
};
|
|
81
124
|
/**
|
|
82
125
|
* @hidden
|
|
83
126
|
*/
|
|
@@ -149,13 +192,18 @@ var BaseChart = /** @class */ (function (_super) {
|
|
|
149
192
|
_this.optionsStore = (0, store_1.default)(reducer_1.optionsReducer);
|
|
150
193
|
_this.observersStore = (0, store_1.default)(reducer_1.observersReducer);
|
|
151
194
|
_this.childrenObserver = new kendo_charts_1.InstanceObserver(_this, { onMouseLeave: 'onChildMouseLeave' });
|
|
152
|
-
_this.
|
|
195
|
+
_this.state = {
|
|
153
196
|
optionsStore: _this.optionsStore,
|
|
154
197
|
observersStore: _this.observersStore,
|
|
155
|
-
childrenObserver: _this.childrenObserver
|
|
198
|
+
childrenObserver: _this.childrenObserver,
|
|
199
|
+
drilldownState: { steps: [] }
|
|
156
200
|
};
|
|
157
201
|
_this.themeStore = (0, store_1.default)(reducer_1.themeReducer);
|
|
158
|
-
_this.chartObserver = new kendo_charts_1.InstanceObserver(_this, {
|
|
202
|
+
_this.chartObserver = new kendo_charts_1.InstanceObserver(_this, {
|
|
203
|
+
render: 'onRender',
|
|
204
|
+
legendItemClick: 'onLegendItemClick',
|
|
205
|
+
drilldown: 'onDrilldown'
|
|
206
|
+
});
|
|
159
207
|
return _this;
|
|
160
208
|
}
|
|
161
209
|
Object.defineProperty(BaseChart.prototype, "element", {
|
|
@@ -168,6 +216,12 @@ var BaseChart = /** @class */ (function (_super) {
|
|
|
168
216
|
enumerable: false,
|
|
169
217
|
configurable: true
|
|
170
218
|
});
|
|
219
|
+
/**
|
|
220
|
+
* @hidden
|
|
221
|
+
*/
|
|
222
|
+
BaseChart.getDerivedStateFromProps = function (props, state) {
|
|
223
|
+
return __assign(__assign({}, state), { drilldownState: props.drilldownState || [] });
|
|
224
|
+
};
|
|
171
225
|
/**
|
|
172
226
|
* @hidden
|
|
173
227
|
*/
|
|
@@ -233,7 +287,7 @@ var BaseChart = /** @class */ (function (_super) {
|
|
|
233
287
|
style: chartStyles,
|
|
234
288
|
key: 'chartElement'
|
|
235
289
|
}, (React.createElement("div", { onMouseLeave: this.onChartMouseLeave, ref: function (el) { return _this._element = el; }, className: "k-chart-surface" }, children)));
|
|
236
|
-
return (React.createElement(ChartContext_1.ChartContext.Provider, { value: this.
|
|
290
|
+
return (React.createElement(ChartContext_1.ChartContext.Provider, { value: this.state },
|
|
237
291
|
React.createElement(Series_1.SeriesTooltip, { key: "seriesTooltip" }),
|
|
238
292
|
React.createElement(CrosshairContainer_1.CrosshairTooltipContainer, { key: "crosshairTooltips" }),
|
|
239
293
|
content));
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { AxisLabelClickEvent, DragEvent, DragStartEvent, DragEndEvent, LegendItemClickEvent, LegendItemHoverEvent, NoteClickEvent, NoteHoverEvent, PlotAreaClickEvent, PlotAreaHoverEvent, RenderEvent, SeriesClickEvent, SeriesHoverEvent, ZoomEvent, ZoomStartEvent, ZoomEndEvent, SelectEvent, SelectStartEvent, SelectEndEvent } from './common/events';
|
|
2
|
+
import { AxisLabelClickEvent, DragEvent, DragStartEvent, DragEndEvent, DrilldownEvent, LegendItemClickEvent, LegendItemHoverEvent, NoteClickEvent, NoteHoverEvent, PlotAreaClickEvent, PlotAreaHoverEvent, RenderEvent, SeriesClickEvent, SeriesHoverEvent, ZoomEvent, ZoomStartEvent, ZoomEndEvent, SelectEvent, SelectStartEvent, SelectEndEvent } from './common/events';
|
|
3
3
|
import { AxisDefaults, DragAction, Pane, PaneDefaults, SeriesDefaults, Zoomable } from './common/property-types';
|
|
4
4
|
import { Charts } from './common/charts';
|
|
5
|
+
import { ChartDrilldownState } from './common/api-types';
|
|
5
6
|
/**
|
|
6
7
|
* @hidden
|
|
7
8
|
*/
|
|
@@ -47,6 +48,13 @@ export interface BaseChartProps {
|
|
|
47
48
|
* @hidden
|
|
48
49
|
*/
|
|
49
50
|
children?: any;
|
|
51
|
+
/**
|
|
52
|
+
* Gets or sets the current drill-down state for [Drilldown Charts](slug:drilldown_charts).
|
|
53
|
+
*
|
|
54
|
+
* To return to a previous level, remove the items from the `steps` array following the desired level.
|
|
55
|
+
* To return to the root chart, set the `steps` array to `[]`.
|
|
56
|
+
*/
|
|
57
|
+
drilldownState?: ChartDrilldownState;
|
|
50
58
|
/**
|
|
51
59
|
* Sets the preferred rendering engine ([see example]({% slug rendering_chart_charts %})). If not supported by the browser, the Chart switches to the first available mode.
|
|
52
60
|
*
|
|
@@ -103,6 +111,10 @@ export interface BaseChartProps {
|
|
|
103
111
|
* Fires when the user starts dragging the Chart.
|
|
104
112
|
*/
|
|
105
113
|
onDragStart?: (event: DragStartEvent) => void;
|
|
114
|
+
/**
|
|
115
|
+
* Fires when the user when the user wants to drill down on a specific point.
|
|
116
|
+
*/
|
|
117
|
+
onDrilldown?: (event: DrilldownEvent) => void;
|
|
106
118
|
/**
|
|
107
119
|
* Fires when the user hovers over a legend item.
|
|
108
120
|
*/
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { BreadcrumbProps, DataModel } from '@progress/kendo-react-layout';
|
|
3
|
+
import { ChartDrilldownState } from './api-types/chart-drilldown-state.interface';
|
|
4
|
+
import { DrilldownStateChangeEvent } from './events/drilldown-state-change-event';
|
|
5
|
+
/**
|
|
6
|
+
* Represents the properties of [Chart Breadcrumb](% slug api_charts_chartbreadcrumb %) component.
|
|
7
|
+
*/
|
|
8
|
+
export interface ChartBreadcrumbProps extends Omit<BreadcrumbProps, 'data'> {
|
|
9
|
+
/**
|
|
10
|
+
* The definition of the breadcrumb root item.
|
|
11
|
+
*
|
|
12
|
+
* The default value is `{ text: 'Home', icon: <SvgIcon icon={homeIcon} /> }`.
|
|
13
|
+
* Where `homeIcon` is imported from `@progress/kendo-svg-icons`.
|
|
14
|
+
*/
|
|
15
|
+
rootItem?: DataModel;
|
|
16
|
+
/**
|
|
17
|
+
* Fires when the user when the user has selected a different drilldown level.
|
|
18
|
+
*/
|
|
19
|
+
onDrilldownStateChange?: (event: DrilldownStateChangeEvent) => void;
|
|
20
|
+
/**
|
|
21
|
+
* The current drilldown state of the Chart.
|
|
22
|
+
*/
|
|
23
|
+
drilldownState?: ChartDrilldownState;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Represents the Object which is passed to the
|
|
27
|
+
* [`ref`](https://reactjs.org/docs/refs-and-the-dom.html) callback of the ChartBreadcrumb component.
|
|
28
|
+
*/
|
|
29
|
+
export interface ChartBreadcrumbHandle {
|
|
30
|
+
/**
|
|
31
|
+
* The current element or `null` if there is none.
|
|
32
|
+
*/
|
|
33
|
+
element: HTMLDivElement | null;
|
|
34
|
+
/**
|
|
35
|
+
* The props values of the ChartBreadcrumb.
|
|
36
|
+
*/
|
|
37
|
+
props: ChartBreadcrumbProps;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Represents the Chart Breadcrumb component.
|
|
41
|
+
*/
|
|
42
|
+
export declare const ChartBreadcrumb: React.ForwardRefExoticComponent<ChartBreadcrumbProps & React.RefAttributes<ChartBreadcrumbHandle | null>>;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
14
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
15
|
+
if (ar || !(i in from)) {
|
|
16
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
17
|
+
ar[i] = from[i];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.ChartBreadcrumb = void 0;
|
|
24
|
+
var React = require("react");
|
|
25
|
+
var PropTypes = require("prop-types");
|
|
26
|
+
var kendo_react_layout_1 = require("@progress/kendo-react-layout");
|
|
27
|
+
var kendo_react_common_1 = require("@progress/kendo-react-common");
|
|
28
|
+
var kendo_svg_icons_1 = require("@progress/kendo-svg-icons");
|
|
29
|
+
var drilldown_state_change_event_1 = require("./events/drilldown-state-change-event");
|
|
30
|
+
/**
|
|
31
|
+
* Represents the Chart Breadcrumb component.
|
|
32
|
+
*/
|
|
33
|
+
exports.ChartBreadcrumb = React.forwardRef(function (props, ref) {
|
|
34
|
+
var target = React.useRef(null);
|
|
35
|
+
var breadcrumbRef = React.useRef(null);
|
|
36
|
+
React.useImperativeHandle(target, function () { return ({
|
|
37
|
+
element: breadcrumbRef.current,
|
|
38
|
+
props: props
|
|
39
|
+
}); });
|
|
40
|
+
React.useImperativeHandle(ref, function () { return target.current; });
|
|
41
|
+
var rootItem = __assign({ id: '0' }, (props.rootItem || {
|
|
42
|
+
text: 'Home',
|
|
43
|
+
icon: React.createElement(kendo_react_common_1.SvgIcon, { icon: kendo_svg_icons_1.homeIcon, style: { marginInlineEnd: '4px' } })
|
|
44
|
+
}));
|
|
45
|
+
var data = [rootItem];
|
|
46
|
+
if (props.drilldownState) {
|
|
47
|
+
data = __spreadArray(__spreadArray([], data, true), props.drilldownState.steps.map(function (step, index) { return ({ id: (index + 1).toString(), text: step.drilldownValue }); }), true);
|
|
48
|
+
}
|
|
49
|
+
var breadcrumbProps = __assign(__assign({}, props), { data: data });
|
|
50
|
+
var handleItemSelect = function (e) {
|
|
51
|
+
var _a;
|
|
52
|
+
var handler = 'onDrilldownStateChange';
|
|
53
|
+
if (props.hasOwnProperty(handler)) {
|
|
54
|
+
var level = data.findIndex(function (item) { return item.id === e.id; });
|
|
55
|
+
var nextState = { steps: (((_a = props.drilldownState) === null || _a === void 0 ? void 0 : _a.steps) || []).slice(0, level) };
|
|
56
|
+
var eventObject = new drilldown_state_change_event_1.DrilldownStateChangeEvent({ currentState: props.drilldownState, nextState: nextState });
|
|
57
|
+
props[handler].call(undefined, eventObject);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
return (React.createElement("div", null,
|
|
61
|
+
React.createElement(kendo_react_layout_1.Breadcrumb, __assign({}, breadcrumbProps, { onItemSelect: handleItemSelect }))));
|
|
62
|
+
});
|
|
63
|
+
var propTypes = {
|
|
64
|
+
id: PropTypes.string,
|
|
65
|
+
style: PropTypes.object,
|
|
66
|
+
className: PropTypes.string,
|
|
67
|
+
breadcrumbOrderedList: PropTypes.elementType,
|
|
68
|
+
breadcrumbListItem: PropTypes.elementType,
|
|
69
|
+
breadcrumbDelimiter: PropTypes.elementType,
|
|
70
|
+
breadcrumbLink: PropTypes.elementType,
|
|
71
|
+
dir: PropTypes.oneOf(['ltr', 'rtl']),
|
|
72
|
+
disabled: PropTypes.bool,
|
|
73
|
+
valueField: PropTypes.string,
|
|
74
|
+
textField: PropTypes.string,
|
|
75
|
+
iconField: PropTypes.string,
|
|
76
|
+
iconClassField: PropTypes.string,
|
|
77
|
+
onItemSelect: PropTypes.func,
|
|
78
|
+
ariaLabel: PropTypes.string,
|
|
79
|
+
onDrilldownStateChange: PropTypes.func,
|
|
80
|
+
drilldownState: PropTypes.shape({
|
|
81
|
+
steps: PropTypes.array
|
|
82
|
+
}),
|
|
83
|
+
rootItem: PropTypes.object
|
|
84
|
+
};
|
|
85
|
+
var defaultProps = {
|
|
86
|
+
valueField: 'id',
|
|
87
|
+
textField: 'text',
|
|
88
|
+
iconField: 'icon',
|
|
89
|
+
iconClassField: 'iconClass',
|
|
90
|
+
data: []
|
|
91
|
+
};
|
|
92
|
+
exports.ChartBreadcrumb.displayName = 'KendoReactChartBreadcrumb';
|
|
93
|
+
// TODO: delete casting when @types/react is updated!
|
|
94
|
+
exports.ChartBreadcrumb.propTypes = propTypes;
|
|
95
|
+
exports.ChartBreadcrumb.defaultProps = defaultProps;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Store } from './store/store';
|
|
3
3
|
import { InstanceObserver } from '@progress/kendo-charts';
|
|
4
|
+
import { ChartDrilldownState } from './api-types/chart-drilldown-state.interface';
|
|
4
5
|
/**
|
|
5
6
|
* @hidden
|
|
6
7
|
*/
|
|
@@ -8,6 +9,7 @@ export interface ChartContextType {
|
|
|
8
9
|
optionsStore: Store;
|
|
9
10
|
observersStore: Store;
|
|
10
11
|
childrenObserver: InstanceObserver;
|
|
12
|
+
drilldownState: ChartDrilldownState;
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
15
|
* @hidden
|
package/dist/npm/DonutCenter.js
CHANGED
|
@@ -40,11 +40,12 @@ var DonutCenter = /** @class */ (function (_super) {
|
|
|
40
40
|
return _this;
|
|
41
41
|
}
|
|
42
42
|
DonutCenter.prototype.render = function () {
|
|
43
|
-
var
|
|
43
|
+
var RenderComp = this.props.render;
|
|
44
44
|
var donutCenterStyles = this.state.donutCenterStyles;
|
|
45
45
|
var renderer = null;
|
|
46
|
-
if (
|
|
47
|
-
renderer = (React.createElement("div", { className: "k-chart-donut-center", style: donutCenterStyles },
|
|
46
|
+
if (RenderComp && donutCenterStyles) {
|
|
47
|
+
renderer = (React.createElement("div", { className: "k-chart-donut-center", style: donutCenterStyles },
|
|
48
|
+
React.createElement(RenderComp, null)));
|
|
48
49
|
}
|
|
49
50
|
return renderer;
|
|
50
51
|
};
|
|
@@ -2,7 +2,7 @@ import { BaseChartProps } from './BaseChartProps';
|
|
|
2
2
|
/**
|
|
3
3
|
* Represents the props of the KendoReact Sparkline component.
|
|
4
4
|
*/
|
|
5
|
-
export interface SparklineProps extends BaseChartProps {
|
|
5
|
+
export interface SparklineProps extends Omit<BaseChartProps, 'drilldownState' | 'onDrilldown'> {
|
|
6
6
|
/**
|
|
7
7
|
* The data for the default Sparkline series. Discarded if series are supplied.
|
|
8
8
|
*/
|
|
@@ -3,7 +3,7 @@ import { NavigatorFilterEvent } from './common/events';
|
|
|
3
3
|
/**
|
|
4
4
|
* Represents the props of the KendoReact StockChart component.
|
|
5
5
|
*/
|
|
6
|
-
export interface StockChartProps extends BaseChartProps {
|
|
6
|
+
export interface StockChartProps extends Omit<BaseChartProps, 'drilldownState' | 'onDrilldown'> {
|
|
7
7
|
/**
|
|
8
8
|
* Specifies whether the StockChart will perform full or partial redraw upon re-render. The partial redraw is required when the `onNavigatorFilter` event is handled and the data for the main panes is limited to a specific set. The default value is `false`.
|
|
9
9
|
*/
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Describes a single drilldown step.
|
|
3
|
+
*/
|
|
4
|
+
export interface ChartDrilldownStep {
|
|
5
|
+
/**
|
|
6
|
+
* The parent series name.
|
|
7
|
+
*/
|
|
8
|
+
seriesName: string;
|
|
9
|
+
/**
|
|
10
|
+
* The drilldown value of the selected series point.
|
|
11
|
+
*/
|
|
12
|
+
drilldownValue: any;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The Chart drilldown state.
|
|
16
|
+
*/
|
|
17
|
+
export interface ChartDrilldownState {
|
|
18
|
+
/**
|
|
19
|
+
* A stack of all drilldown steps performed in the Chart.
|
|
20
|
+
*
|
|
21
|
+
* If the `steps` are empty the Chart is the root level.
|
|
22
|
+
*/
|
|
23
|
+
steps: ChartDrilldownStep[];
|
|
24
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents the props of a [Drilldown Series Factory](slug:api_charts_chartseriesitemprops#toc-drilldownseriesfactory) component.
|
|
3
|
+
*/
|
|
4
|
+
export interface DrilldownSeriesFactoryProps {
|
|
5
|
+
/**
|
|
6
|
+
* The drilldown field value.
|
|
7
|
+
*/
|
|
8
|
+
drilldownValue: any;
|
|
9
|
+
/**
|
|
10
|
+
* The series point to drill down to.
|
|
11
|
+
*/
|
|
12
|
+
point: any;
|
|
13
|
+
/**
|
|
14
|
+
* The series to drill down to.
|
|
15
|
+
*/
|
|
16
|
+
series: any;
|
|
17
|
+
}
|
|
@@ -5,3 +5,4 @@ export { SeriesPointType } from '../api-types/series-point.interface';
|
|
|
5
5
|
export { ChartAxisType } from '../api-types/chart-axis.interface';
|
|
6
6
|
export { ChartPaneType } from '../api-types/chart-pane.interface';
|
|
7
7
|
export { ChartPlotAreaType } from '../api-types/chart-plotarea.interface';
|
|
8
|
+
export { ChartDrilldownStep, ChartDrilldownState } from '../api-types/chart-drilldown-state.interface';
|
|
@@ -2,6 +2,8 @@ export { AxisLabelClickEvent } from '../events/axis-label-click-event';
|
|
|
2
2
|
export { DragEndEvent } from '../events/drag-end-event';
|
|
3
3
|
export { DragEvent } from '../events/drag-event';
|
|
4
4
|
export { DragStartEvent } from '../events/drag-start-event';
|
|
5
|
+
export { DrilldownEvent } from '../events/drilldown-event';
|
|
6
|
+
export { DrilldownStateChangeEvent } from '../events/drilldown-state-change-event';
|
|
5
7
|
export { LegendItemClickEvent } from '../events/legend-item-click-event';
|
|
6
8
|
export { LegendItemHoverEvent } from '../events/legend-item-hover-event';
|
|
7
9
|
export { NavigatorFilterEvent } from '../events/navigator-filter-event';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ZoomStartEvent = exports.ZoomEvent = exports.ZoomEndEvent = exports.SeriesHoverEvent = exports.SeriesClickEvent = exports.SelectStartEvent = exports.SelectEvent = exports.SelectEndEvent = exports.RenderEvent = exports.PlotAreaHoverEvent = exports.PlotAreaClickEvent = exports.NoteHoverEvent = exports.NoteClickEvent = exports.NavigatorFilterEvent = exports.LegendItemHoverEvent = exports.LegendItemClickEvent = exports.DragStartEvent = exports.DragEvent = exports.DragEndEvent = exports.AxisLabelClickEvent = void 0;
|
|
3
|
+
exports.ZoomStartEvent = exports.ZoomEvent = exports.ZoomEndEvent = exports.SeriesHoverEvent = exports.SeriesClickEvent = exports.SelectStartEvent = exports.SelectEvent = exports.SelectEndEvent = exports.RenderEvent = exports.PlotAreaHoverEvent = exports.PlotAreaClickEvent = exports.NoteHoverEvent = exports.NoteClickEvent = exports.NavigatorFilterEvent = exports.LegendItemHoverEvent = exports.LegendItemClickEvent = exports.DrilldownStateChangeEvent = exports.DrilldownEvent = exports.DragStartEvent = exports.DragEvent = exports.DragEndEvent = exports.AxisLabelClickEvent = void 0;
|
|
4
4
|
// Re-export event types
|
|
5
5
|
var axis_label_click_event_1 = require("../events/axis-label-click-event");
|
|
6
6
|
Object.defineProperty(exports, "AxisLabelClickEvent", { enumerable: true, get: function () { return axis_label_click_event_1.AxisLabelClickEvent; } });
|
|
@@ -10,6 +10,10 @@ var drag_event_1 = require("../events/drag-event");
|
|
|
10
10
|
Object.defineProperty(exports, "DragEvent", { enumerable: true, get: function () { return drag_event_1.DragEvent; } });
|
|
11
11
|
var drag_start_event_1 = require("../events/drag-start-event");
|
|
12
12
|
Object.defineProperty(exports, "DragStartEvent", { enumerable: true, get: function () { return drag_start_event_1.DragStartEvent; } });
|
|
13
|
+
var drilldown_event_1 = require("../events/drilldown-event");
|
|
14
|
+
Object.defineProperty(exports, "DrilldownEvent", { enumerable: true, get: function () { return drilldown_event_1.DrilldownEvent; } });
|
|
15
|
+
var drilldown_state_change_event_1 = require("../events/drilldown-state-change-event");
|
|
16
|
+
Object.defineProperty(exports, "DrilldownStateChangeEvent", { enumerable: true, get: function () { return drilldown_state_change_event_1.DrilldownStateChangeEvent; } });
|
|
13
17
|
var legend_item_click_event_1 = require("../events/legend-item-click-event");
|
|
14
18
|
Object.defineProperty(exports, "LegendItemClickEvent", { enumerable: true, get: function () { return legend_item_click_event_1.LegendItemClickEvent; } });
|
|
15
19
|
var legend_item_hover_event_1 = require("../events/legend-item-hover-event");
|
|
@@ -50,6 +50,7 @@ export { SeriesNoteVisualArgs } from '../argument-types/series-note-visual-args.
|
|
|
50
50
|
export { SeriesVisualArgs } from '../argument-types/series-visual-args.interface';
|
|
51
51
|
export { TitleVisualArgs } from '../argument-types/title-visual-args.interface';
|
|
52
52
|
export { PlotBandLabelVisualArgs } from '../argument-types/plot-band-label-visual-args.interface';
|
|
53
|
+
export { DrilldownSeriesFactoryProps } from '../argument-types/drilldown-series-factory-props.interface';
|
|
53
54
|
export { AxisDefaultsCrosshair } from '../option-types/axis-defaults/crosshair.interface';
|
|
54
55
|
export { AxisDefaultsCrosshairTooltip } from '../option-types/axis-defaults/crosshair.tooltip.interface';
|
|
55
56
|
export { AxisDefaultsLabels } from '../option-types/axis-defaults/labels.interface';
|
|
@@ -8,6 +8,14 @@ export interface ChartSeriesItemProps extends Series {
|
|
|
8
8
|
* @hidden
|
|
9
9
|
*/
|
|
10
10
|
children?: React.ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* @hidden
|
|
13
|
+
*/
|
|
14
|
+
_chartCollectionIdxKey?: string;
|
|
15
|
+
/**
|
|
16
|
+
* When set, the prop is used to render the Drilldown Series.
|
|
17
|
+
*/
|
|
18
|
+
drilldownSeriesFactory?: (props: any) => React.ReactElement<any, any>;
|
|
11
19
|
}
|
|
12
20
|
declare const ChartSeriesItem: React.FunctionComponent<ChartSeriesItemProps>;
|
|
13
21
|
export { ChartSeriesItem };
|
|
@@ -14,8 +14,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
14
14
|
exports.ChartSeriesItem = void 0;
|
|
15
15
|
var React = require("react");
|
|
16
16
|
var ConfigurationComponent_1 = require("./base/ConfigurationComponent");
|
|
17
|
+
var ChartContext_1 = require("../ChartContext");
|
|
17
18
|
var ChartSeriesItem = function (props) {
|
|
18
|
-
return
|
|
19
|
+
var DrilldownFactory = function (_) { return React.createElement(React.Fragment, null); };
|
|
20
|
+
if (props.drilldownSeriesFactory) {
|
|
21
|
+
DrilldownFactory = props.drilldownSeriesFactory;
|
|
22
|
+
}
|
|
23
|
+
var drilldownFrame = function (context) { var _a, _b; return context && ((_b = (_a = context.drilldownState) === null || _a === void 0 ? void 0 : _a.steps) === null || _b === void 0 ? void 0 : _b.find(function (_a) {
|
|
24
|
+
var seriesName = _a.seriesName;
|
|
25
|
+
return seriesName === props.name;
|
|
26
|
+
})); };
|
|
27
|
+
return (React.createElement(ChartContext_1.ChartContext.Consumer, null, function (context) { return drilldownFrame(context) ?
|
|
28
|
+
React.createElement(DrilldownFactory, { _chartCollectionIdxKey: props._chartCollectionIdxKey, drilldownValue: drilldownFrame(context).drilldownValue }) :
|
|
29
|
+
React.createElement(ConfigurationComponent_1.ConfigurationComponent, __assign({}, props)); }));
|
|
19
30
|
};
|
|
20
31
|
exports.ChartSeriesItem = ChartSeriesItem;
|
|
21
32
|
ChartSeriesItem.displayName = 'ChartSeriesItem';
|
|
@@ -5,6 +5,7 @@ var axis_label_click_event_1 = require("./axis-label-click-event");
|
|
|
5
5
|
var drag_event_1 = require("./drag-event");
|
|
6
6
|
var drag_end_event_1 = require("./drag-end-event");
|
|
7
7
|
var drag_start_event_1 = require("./drag-start-event");
|
|
8
|
+
var drilldown_event_1 = require("./drilldown-event");
|
|
8
9
|
var legend_item_hover_event_1 = require("./legend-item-hover-event");
|
|
9
10
|
var legend_item_click_event_1 = require("./legend-item-click-event");
|
|
10
11
|
var legend_item_leave_event_1 = require("./legend-item-leave-event");
|
|
@@ -27,6 +28,7 @@ var EVENT_MAP = {
|
|
|
27
28
|
drag: drag_event_1.DragEvent,
|
|
28
29
|
dragEnd: drag_end_event_1.DragEndEvent,
|
|
29
30
|
dragStart: drag_start_event_1.DragStartEvent,
|
|
31
|
+
drilldownEvent: drilldown_event_1.DrilldownEvent,
|
|
30
32
|
legendItemHover: legend_item_hover_event_1.LegendItemHoverEvent,
|
|
31
33
|
legendItemClick: legend_item_click_event_1.LegendItemClickEvent,
|
|
32
34
|
legendItemLeave: legend_item_leave_event_1.LegendItemLeaveEvent,
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Charts } from '../common/charts';
|
|
2
|
+
import { BaseEvent } from './base-event';
|
|
3
|
+
import { EventSeriesOptions } from '../api-types/event-series-options.interface';
|
|
4
|
+
import { SeriesPointType } from '../api-types/series-point.interface';
|
|
5
|
+
import { ChartDrilldownState } from '../api-types/chart-drilldown-state.interface';
|
|
6
|
+
/**
|
|
7
|
+
* Arguments for the `drilldown` event.
|
|
8
|
+
*
|
|
9
|
+
* See [Drilldown Charts](slug:drilldown_charts).
|
|
10
|
+
*/
|
|
11
|
+
export declare class DrilldownEvent extends BaseEvent {
|
|
12
|
+
/**
|
|
13
|
+
* The clicked series point.
|
|
14
|
+
*/
|
|
15
|
+
point: SeriesPointType;
|
|
16
|
+
/**
|
|
17
|
+
* The clicked point series options.
|
|
18
|
+
*/
|
|
19
|
+
series: EventSeriesOptions;
|
|
20
|
+
/**
|
|
21
|
+
* The data point value.
|
|
22
|
+
*/
|
|
23
|
+
value: any;
|
|
24
|
+
/**
|
|
25
|
+
* The current Chart [drilldown state](slug:api_charts_chartprops#toc-drilldownstate).
|
|
26
|
+
*/
|
|
27
|
+
currentState: ChartDrilldownState;
|
|
28
|
+
/**
|
|
29
|
+
* The Chart [drilldown state](slug:api_charts_chartprops#toc-drilldownstate) that will apply the current drilldown operation.
|
|
30
|
+
*
|
|
31
|
+
* See [Drilldown](slug:drilldown_charts) for an application example.
|
|
32
|
+
*/
|
|
33
|
+
nextState: ChartDrilldownState;
|
|
34
|
+
/**
|
|
35
|
+
* @hidden
|
|
36
|
+
*/
|
|
37
|
+
constructor(e: any, target: Charts);
|
|
38
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.DrilldownEvent = void 0;
|
|
19
|
+
var base_event_1 = require("./base-event");
|
|
20
|
+
/**
|
|
21
|
+
* Arguments for the `drilldown` event.
|
|
22
|
+
*
|
|
23
|
+
* See [Drilldown Charts](slug:drilldown_charts).
|
|
24
|
+
*/
|
|
25
|
+
var DrilldownEvent = /** @class */ (function (_super) {
|
|
26
|
+
__extends(DrilldownEvent, _super);
|
|
27
|
+
/**
|
|
28
|
+
* @hidden
|
|
29
|
+
*/
|
|
30
|
+
function DrilldownEvent(e, target) {
|
|
31
|
+
var _this = _super.call(this, target) || this;
|
|
32
|
+
_this.value = e.value;
|
|
33
|
+
_this.point = e.point;
|
|
34
|
+
_this.series = e.series;
|
|
35
|
+
_this.currentState = e.currentState;
|
|
36
|
+
_this.nextState = e.nextState;
|
|
37
|
+
return _this;
|
|
38
|
+
}
|
|
39
|
+
return DrilldownEvent;
|
|
40
|
+
}(base_event_1.BaseEvent));
|
|
41
|
+
exports.DrilldownEvent = DrilldownEvent;
|