@progress/kendo-react-pivotgrid 6.1.1 → 7.0.0-develop.10

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 (132) hide show
  1. package/LICENSE.md +1 -1
  2. package/{dist/npm/PivotGrid.d.ts → PivotGrid.d.ts} +4 -0
  3. package/{dist/es/components → components}/AxesEditor.d.ts +4 -6
  4. package/{dist/npm/components → components}/AxisEditor.d.ts +4 -0
  5. package/{dist/es/components → components}/AxisFilterFieldsEditor.d.ts +4 -0
  6. package/{dist/npm/components → components}/Cell.d.ts +4 -0
  7. package/{dist/es/components → components}/Column.d.ts +4 -0
  8. package/{dist/npm/components → components}/Configurator.d.ts +4 -0
  9. package/{dist/npm/components → components}/ConfiguratorButton.d.ts +4 -0
  10. package/{dist/es/components → components}/ConfiguratorEditor.d.ts +4 -0
  11. package/{dist/es/components → components}/Container.d.ts +4 -0
  12. package/components/EditorContext.d.ts +11 -0
  13. package/{dist/npm/components → components}/FieldsEditor.d.ts +4 -0
  14. package/{dist/es/components → components}/HeaderCell.d.ts +4 -0
  15. package/{dist/es/components → components}/Row.d.ts +4 -0
  16. package/dist/cdn/js/kendo-react-pivotgrid.js +5 -2
  17. package/hooks/index.d.ts +6 -0
  18. package/{dist/es/hooks → hooks}/useExpansion.d.ts +5 -1
  19. package/{dist/es/hooks → hooks}/useHeaders.d.ts +5 -1
  20. package/hooks/useHorizontalScrollSync.d.ts +9 -0
  21. package/{dist/es/hooks → hooks}/usePivotConfiguratorEditor.d.ts +5 -1
  22. package/{dist/npm/hooks → hooks}/usePivotLocalDataService.d.ts +4 -0
  23. package/{dist/npm/hooks → hooks}/usePivotOLAPService.d.ts +4 -0
  24. package/hooks/useVerticalScrollSync.d.ts +9 -0
  25. package/index.d.ts +22 -0
  26. package/index.js +5 -0
  27. package/index.mjs +1585 -0
  28. package/{dist/es/messages → messages}/index.d.ts +4 -0
  29. package/{dist/es/models → models}/index.d.ts +4 -1
  30. package/package-metadata.d.ts +9 -0
  31. package/package.json +36 -54
  32. package/{dist/es/shared → shared}/PivotGridConfiguratorEditorEventsContext.d.ts +4 -0
  33. package/{dist/npm/shared → shared}/PivotGridConfiguratorEditorStateContext.d.ts +4 -0
  34. package/shared/index.d.ts +6 -0
  35. package/{dist/es/utils → utils}/index.d.ts +4 -0
  36. package/about.md +0 -3
  37. package/dist/cdn/js/kendo-react-pivotgrid.js.LICENSE.txt +0 -14
  38. package/dist/es/PivotGrid.d.ts +0 -177
  39. package/dist/es/PivotGrid.js +0 -245
  40. package/dist/es/components/AxesEditor.js +0 -43
  41. package/dist/es/components/AxisEditor.d.ts +0 -52
  42. package/dist/es/components/AxisEditor.js +0 -138
  43. package/dist/es/components/AxisFilterFieldsEditor.js +0 -150
  44. package/dist/es/components/Cell.d.ts +0 -65
  45. package/dist/es/components/Cell.js +0 -31
  46. package/dist/es/components/Column.js +0 -33
  47. package/dist/es/components/Configurator.d.ts +0 -125
  48. package/dist/es/components/Configurator.js +0 -118
  49. package/dist/es/components/ConfiguratorButton.d.ts +0 -40
  50. package/dist/es/components/ConfiguratorButton.js +0 -39
  51. package/dist/es/components/ConfiguratorEditor.js +0 -191
  52. package/dist/es/components/Container.js +0 -22
  53. package/dist/es/components/FieldsEditor.d.ts +0 -74
  54. package/dist/es/components/FieldsEditor.js +0 -90
  55. package/dist/es/components/HeaderCell.js +0 -50
  56. package/dist/es/components/Row.js +0 -28
  57. package/dist/es/hooks/index.d.ts +0 -2
  58. package/dist/es/hooks/index.js +0 -2
  59. package/dist/es/hooks/useExpansion.js +0 -89
  60. package/dist/es/hooks/useHeaders.js +0 -25
  61. package/dist/es/hooks/useHorizontalScrollSync.d.ts +0 -5
  62. package/dist/es/hooks/useHorizontalScrollSync.js +0 -27
  63. package/dist/es/hooks/usePivotConfiguratorEditor.js +0 -103
  64. package/dist/es/hooks/usePivotLocalDataService.d.ts +0 -79
  65. package/dist/es/hooks/usePivotLocalDataService.js +0 -105
  66. package/dist/es/hooks/usePivotOLAPService.d.ts +0 -41
  67. package/dist/es/hooks/usePivotOLAPService.js +0 -371
  68. package/dist/es/hooks/useVerticalScrollSync.d.ts +0 -5
  69. package/dist/es/hooks/useVerticalScrollSync.js +0 -27
  70. package/dist/es/main.d.ts +0 -18
  71. package/dist/es/main.js +0 -17
  72. package/dist/es/messages/index.js +0 -71
  73. package/dist/es/models/index.js +0 -1
  74. package/dist/es/package-metadata.d.ts +0 -5
  75. package/dist/es/package-metadata.js +0 -11
  76. package/dist/es/shared/PivotGridConfiguratorEditorEventsContext.js +0 -5
  77. package/dist/es/shared/PivotGridConfiguratorEditorStateContext.d.ts +0 -6
  78. package/dist/es/shared/PivotGridConfiguratorEditorStateContext.js +0 -18
  79. package/dist/es/shared/index.d.ts +0 -2
  80. package/dist/es/shared/index.js +0 -2
  81. package/dist/es/utils/index.js +0 -118
  82. package/dist/npm/PivotGrid.js +0 -248
  83. package/dist/npm/components/AxesEditor.d.ts +0 -46
  84. package/dist/npm/components/AxesEditor.js +0 -46
  85. package/dist/npm/components/AxisEditor.js +0 -141
  86. package/dist/npm/components/AxisFilterFieldsEditor.d.ts +0 -114
  87. package/dist/npm/components/AxisFilterFieldsEditor.js +0 -153
  88. package/dist/npm/components/Cell.js +0 -34
  89. package/dist/npm/components/Column.d.ts +0 -42
  90. package/dist/npm/components/Column.js +0 -36
  91. package/dist/npm/components/Configurator.js +0 -121
  92. package/dist/npm/components/ConfiguratorButton.js +0 -42
  93. package/dist/npm/components/ConfiguratorEditor.d.ts +0 -126
  94. package/dist/npm/components/ConfiguratorEditor.js +0 -194
  95. package/dist/npm/components/Container.d.ts +0 -46
  96. package/dist/npm/components/Container.js +0 -25
  97. package/dist/npm/components/FieldsEditor.js +0 -93
  98. package/dist/npm/components/HeaderCell.d.ts +0 -96
  99. package/dist/npm/components/HeaderCell.js +0 -53
  100. package/dist/npm/components/Row.d.ts +0 -50
  101. package/dist/npm/components/Row.js +0 -31
  102. package/dist/npm/hooks/index.d.ts +0 -2
  103. package/dist/npm/hooks/index.js +0 -18
  104. package/dist/npm/hooks/useExpansion.d.ts +0 -19
  105. package/dist/npm/hooks/useExpansion.js +0 -93
  106. package/dist/npm/hooks/useHeaders.d.ts +0 -12
  107. package/dist/npm/hooks/useHeaders.js +0 -30
  108. package/dist/npm/hooks/useHorizontalScrollSync.d.ts +0 -5
  109. package/dist/npm/hooks/useHorizontalScrollSync.js +0 -31
  110. package/dist/npm/hooks/usePivotConfiguratorEditor.d.ts +0 -83
  111. package/dist/npm/hooks/usePivotConfiguratorEditor.js +0 -107
  112. package/dist/npm/hooks/usePivotLocalDataService.js +0 -110
  113. package/dist/npm/hooks/usePivotOLAPService.js +0 -376
  114. package/dist/npm/hooks/useVerticalScrollSync.d.ts +0 -5
  115. package/dist/npm/hooks/useVerticalScrollSync.js +0 -31
  116. package/dist/npm/main.d.ts +0 -18
  117. package/dist/npm/main.js +0 -43
  118. package/dist/npm/messages/index.d.ts +0 -70
  119. package/dist/npm/messages/index.js +0 -74
  120. package/dist/npm/models/index.d.ts +0 -45
  121. package/dist/npm/models/index.js +0 -2
  122. package/dist/npm/package-metadata.d.ts +0 -5
  123. package/dist/npm/package-metadata.js +0 -14
  124. package/dist/npm/shared/PivotGridConfiguratorEditorEventsContext.d.ts +0 -13
  125. package/dist/npm/shared/PivotGridConfiguratorEditorEventsContext.js +0 -8
  126. package/dist/npm/shared/PivotGridConfiguratorEditorStateContext.js +0 -21
  127. package/dist/npm/shared/index.d.ts +0 -2
  128. package/dist/npm/shared/index.js +0 -18
  129. package/dist/npm/utils/index.d.ts +0 -47
  130. package/dist/npm/utils/index.js +0 -130
  131. package/dist/systemjs/kendo-react-pivotgrid.js +0 -1
  132. package/e2e-next/basic.tests.ts +0 -24
@@ -1,118 +0,0 @@
1
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
2
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
3
- if (ar || !(i in from)) {
4
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
5
- ar[i] = from[i];
6
- }
7
- }
8
- return to.concat(ar || Array.prototype.slice.call(from));
9
- };
10
- import { toColumns, toData, toRows, toTree } from '@progress/kendo-pivotgrid-common';
11
- /**
12
- * Generates suitable data for Charting visualization.
13
- *
14
- * @param rows - The PivotGrid's rows prop.
15
- * @param columns - The PivotGrid's columns prop.
16
- * @param data - The PivotGrid's data prop.
17
- * @returns - Suitable data for Charting visualization.
18
- */
19
- export var dataCells = function (rows, columns, data) {
20
- var pRows = JSON.parse(JSON.stringify(rows || []));
21
- var pColumns = JSON.parse(JSON.stringify(columns || []));
22
- var pData = JSON.parse(JSON.stringify(data || []));
23
- var rowsTree = toTree(pRows);
24
- var _a = toRows(rowsTree), rowHeaderLeafs = _a[1], rowHeaderDepth = _a[2];
25
- var columnsTree = toTree(pColumns);
26
- var _b = toColumns(columnsTree), columnHeaderLeafs = _b[1], columnHeaderBreadth = _b[3];
27
- return toData(pData, columnHeaderLeafs, rowHeaderLeafs, columnHeaderBreadth, rowHeaderDepth);
28
- };
29
- /**
30
- * @hidden
31
- */
32
- export var recursiveMap = function (nodes, map, parent) {
33
- if (nodes === void 0) { nodes = []; }
34
- if (map === void 0) { map = {}; }
35
- if (parent === void 0) { parent = null; }
36
- return nodes.map(function (node) {
37
- var result = { dataItem: node };
38
- Object.keys(map).forEach(function (key) {
39
- result[key] = map[key](result, parent);
40
- });
41
- return result;
42
- });
43
- };
44
- /**
45
- * @hidden
46
- */
47
- export var flatMap = function (nodes) {
48
- if (nodes === void 0) { nodes = []; }
49
- var result = __spreadArray([], nodes, true);
50
- (nodes || []).forEach(function (child) {
51
- result = result.concat(flatMap(child.children));
52
- });
53
- return result;
54
- };
55
- /**
56
- * @hidden
57
- */
58
- export var extractDefaultFields = function (columns) {
59
- if (columns === void 0) { columns = []; }
60
- var result = new Set();
61
- columns.forEach(function (column) {
62
- result.add(String(column.name));
63
- });
64
- return Array.from(result);
65
- };
66
- /**
67
- * @hidden
68
- */
69
- export var generateKey = function (args) {
70
- if (args === void 0) { args = []; }
71
- return "".concat(args.join(','));
72
- };
73
- /**
74
- * @hidden
75
- */
76
- export var generateDataKey = function (rows, columns) { return "".concat(generateKey(rows.map(function (m) { return m.name; })), "|").concat(generateKey(columns.map(function (m) { return m.name; }))); };
77
- /**
78
- * @hidden
79
- */
80
- export var findFilter = function (filter, member, operator) {
81
- if (!filter) {
82
- return;
83
- }
84
- var idx = 0;
85
- var result;
86
- var length = filter.length;
87
- var filterOperator;
88
- for (; idx < length; idx++) {
89
- filterOperator = filter[idx].operator;
90
- if (((!operator && filterOperator !== 'in') || (filterOperator === operator)) && filter[idx].field === member) {
91
- result = (filter[idx]);
92
- }
93
- }
94
- return result;
95
- };
96
- /**
97
- * @hidden
98
- */
99
- export var findFilters = function (filter, member, operator) {
100
- if (!filter) {
101
- return [];
102
- }
103
- var idx = 0;
104
- var result = [];
105
- var length = filter.length;
106
- var filterOperator;
107
- for (; idx < length; idx++) {
108
- filterOperator = filter[idx].operator;
109
- if (((!operator && filterOperator !== 'in') || (filterOperator === operator)) && filter[idx].field === member) {
110
- result.push(filter[idx]);
111
- }
112
- }
113
- return result;
114
- };
115
- /**
116
- * @hidden
117
- */
118
- export var compareFields = function (a, b) { return a.uniqueName === b.uniqueName; };
@@ -1,248 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.PivotGrid = void 0;
15
- var React = require("react");
16
- var kendo_react_common_1 = require("@progress/kendo-react-common");
17
- var package_metadata_1 = require("./package-metadata");
18
- var kendo_react_intl_1 = require("@progress/kendo-react-intl");
19
- var messages_1 = require("./messages");
20
- var Row_1 = require("./components/Row");
21
- var Cell_1 = require("./components/Cell");
22
- var useHeaders_1 = require("./hooks/useHeaders");
23
- var HeaderCell_1 = require("./components/HeaderCell");
24
- var useHorizontalScrollSync_1 = require("./hooks/useHorizontalScrollSync");
25
- var useVerticalScrollSync_1 = require("./hooks/useVerticalScrollSync");
26
- var Column_1 = require("./components/Column");
27
- var utils_1 = require("./utils");
28
- var kendo_react_common_2 = require("@progress/kendo-react-common");
29
- var kendo_pivotgrid_common_1 = require("@progress/kendo-pivotgrid-common");
30
- /**
31
- * Represents the [KendoReact PivotGrid component]({% slug api_pivotgrid_pivotgridprops %}).
32
- */
33
- exports.PivotGrid = React.forwardRef(function (props, ref) {
34
- (0, kendo_react_common_1.validatePackage)(package_metadata_1.packageMetadata);
35
- var _a = __assign(__assign({}, defaultProps), props), rows = _a.rows, rowAxes = _a.rowAxes, columns = _a.columns, columnAxes = _a.columnAxes, data = _a.data;
36
- var element = React.useRef(null);
37
- var target = React.useRef(null);
38
- var rowHeadersTable = React.useRef(null);
39
- var columnHeadersTable = React.useRef(null);
40
- var rowHeadersContainer = React.useRef(null);
41
- var columnHeadersContainer = React.useRef(null);
42
- var valuesHeadersContainer = React.useRef(null);
43
- var localization = (0, kendo_react_intl_1.useLocalization)();
44
- var handleRowAxesChange = function (newRowAxes, syntheticEvent) {
45
- if (props.onRowAxesChange) {
46
- props.onRowAxesChange({
47
- value: newRowAxes,
48
- target: target.current,
49
- syntheticEvent: syntheticEvent
50
- });
51
- }
52
- };
53
- var handleColumnAxesChange = function (newRowAxes, syntheticEvent) {
54
- if (props.onColumnAxesChange) {
55
- props.onColumnAxesChange({
56
- value: newRowAxes,
57
- target: target.current,
58
- syntheticEvent: syntheticEvent
59
- });
60
- }
61
- };
62
- var rowsTree = (0, kendo_pivotgrid_common_1.toTree)((rows || []).slice());
63
- var _b = (0, useHeaders_1.useHeaders)((rowAxes || []).slice(), rowsTree, handleRowAxesChange), dispatchRows = _b[1];
64
- var _c = (0, kendo_pivotgrid_common_1.toRows)(rowsTree), rowHeaderRows = _c[0], rowHeaderLeafs = _c[1], rowHeaderDepth = _c[2], rowHeaderBreadth = _c[3];
65
- var columnsTree = (0, kendo_pivotgrid_common_1.toTree)((columns || []).slice());
66
- var _d = (0, useHeaders_1.useHeaders)((columnAxes || []).slice(), columnsTree, handleColumnAxesChange), dispatchColumns = _d[1];
67
- var _e = (0, kendo_pivotgrid_common_1.toColumns)(columnsTree), columnHeaderRows = _e[0], columnHeaderLeafs = _e[1], columnHeaderBreadth = _e[3];
68
- var measures = (0, kendo_pivotgrid_common_1.toData)((data || []).slice(), columnHeaderLeafs, rowHeaderLeafs, columnHeaderBreadth, rowHeaderDepth);
69
- React.useImperativeHandle(target, function () { return ({
70
- props: props,
71
- element: element.current,
72
- columnHeaderRows: columnHeaderRows,
73
- rowHeaderRows: rowHeaderRows,
74
- dataCells: measures,
75
- rowHeaderBreadth: rowHeaderBreadth,
76
- columnHeaderBreadth: columnHeaderBreadth
77
- }); });
78
- React.useImperativeHandle(ref, function () { return target.current; });
79
- var dataColumns = [];
80
- var rowHeaderColumns = [];
81
- var columnHeadersColumns = [];
82
- /* Defaults */
83
- var _f = (0, kendo_react_common_2.useCustomComponent)(props.row || defaultProps.row), RowComponent = _f[0], RowProps = _f[1];
84
- var _g = (0, kendo_react_common_2.useCustomComponent)(props.column || defaultProps.column), ColumnComponent = _g[0], ColumnProps = _g[1];
85
- var _h = (0, kendo_react_common_2.useCustomComponent)(props.cell || defaultProps.cell), CellComponent = _h[0], CellProps = _h[1];
86
- var _j = (0, kendo_react_common_2.useCustomComponent)(props.headerCell || defaultProps.headerCell), HeaderCellComponent = _j[0], HeaderCellProps = _j[1];
87
- /* Advanced */
88
- var ColumnHeadersRowComponent = props.columnHeadersRow || RowComponent;
89
- var ColumnHeadersColumnComponent = props.columnHeadersColumn || ColumnComponent;
90
- var ColumnHeadersColumnCellComponent = props.columnHeadersCell || HeaderCellComponent;
91
- var RowHeadersRowComponent = props.rowHeadersRow || RowComponent;
92
- var RowHeadersColumnComponent = props.rowHeadersColumn || ColumnComponent;
93
- var RowHeadersCellComponent = props.rowHeadersCell || HeaderCellComponent;
94
- var DataRowComponent = props.dataRow || RowComponent;
95
- var DataColumnComponent = props.dataColumn || ColumnComponent;
96
- for (var i = 0; i < columnHeaderLeafs.length; i++) {
97
- dataColumns.push(React.createElement(DataColumnComponent, __assign({ key: String(columnHeaderLeafs[i].path) }, ColumnProps, { path: columnHeaderLeafs[i].path })));
98
- columnHeadersColumns.push(React.createElement(ColumnHeadersColumnComponent, __assign({ key: String(columnHeaderLeafs[i].path) }, ColumnProps, { path: columnHeaderLeafs[i].path })));
99
- }
100
- for (var i = 0; i < rowHeaderBreadth; i++) {
101
- rowHeaderColumns.push(React.createElement(RowHeadersColumnComponent, __assign({ key: i }, ColumnProps)));
102
- }
103
- var handleColumnCellClick = function (event) {
104
- if (event.target.props.expandable) {
105
- dispatchColumns({
106
- type: useHeaders_1.HEADERS_ACTION.toggle,
107
- payload: event.target.props.dataItem.path
108
- }, event.syntheticEvent);
109
- }
110
- };
111
- var handleRowCellClick = function (event) {
112
- if (event.target.props.expandable) {
113
- dispatchRows({
114
- type: useHeaders_1.HEADERS_ACTION.toggle,
115
- payload: event.target.props.dataItem.path
116
- }, event.syntheticEvent);
117
- }
118
- };
119
- var handleHorizontalScroll = (0, useHorizontalScrollSync_1.useHorizontalScrollSync)(valuesHeadersContainer, columnHeadersContainer);
120
- var handleVerticalScroll = (0, useVerticalScrollSync_1.useVerticalScrollSync)(valuesHeadersContainer, rowHeadersContainer);
121
- var handleValuesContainerScroll = function (event) {
122
- handleHorizontalScroll(event);
123
- handleVerticalScroll(event);
124
- };
125
- var setRowsTemplate = React.useCallback(function () {
126
- if (element.current && columnHeadersTable.current) {
127
- // Reset gridTemplateRows before getting the new size
128
- element.current.style.gridTemplateRows = '';
129
- element.current.style.gridTemplateRows = "".concat(columnHeadersTable.current.offsetHeight, "px 1fr");
130
- }
131
- }, []);
132
- var setColumnsTemplate = React.useCallback(function () {
133
- if (element.current && rowHeadersTable.current) {
134
- // Reset gridTemplateColumns before getting the new size
135
- element.current.style.gridTemplateColumns = '';
136
- element.current.style.gridTemplateColumns = "".concat(rowHeadersTable.current.offsetWidth, "px 1fr");
137
- }
138
- }, []);
139
- var navigation = React.useRef(new kendo_pivotgrid_common_1.PivotGridNavigation({ tabIndex: props.tabIndex || 0 }));
140
- React.useEffect(function () {
141
- if (element.current) {
142
- var tabIndex = props.tabIndex || 0;
143
- navigation.current.stop();
144
- navigation.current.tabIndex = tabIndex;
145
- if (props.navigatable) {
146
- navigation.current.start(element.current);
147
- var firstCell = navigation.current.first;
148
- if (firstCell) {
149
- firstCell.setAttribute('tabindex', String(tabIndex));
150
- }
151
- }
152
- }
153
- return function () {
154
- navigation.current.stop();
155
- };
156
- }, [props.tabIndex, props.navigatable]);
157
- React.useEffect(function () {
158
- navigation.current.update();
159
- });
160
- React.useEffect(function () {
161
- if (columnHeadersTable.current) {
162
- var observer_1 = new window.ResizeObserver(setRowsTemplate);
163
- observer_1.observe(columnHeadersTable.current);
164
- return function () { observer_1.disconnect(); };
165
- }
166
- }, [setRowsTemplate]);
167
- React.useEffect(function () {
168
- if (rowHeadersTable.current) {
169
- var observer_2 = new window.ResizeObserver(setColumnsTemplate);
170
- observer_2.observe(rowHeadersTable.current);
171
- return function () { observer_2.disconnect(); };
172
- }
173
- }, [setColumnsTemplate]);
174
- React.useLayoutEffect(function () {
175
- (0, kendo_react_common_2.setScrollbarWidth)();
176
- if (rowHeadersTable.current) {
177
- var observer_3 = new window.ResizeObserver(kendo_react_common_2.setScrollbarWidth);
178
- observer_3.observe(rowHeadersTable.current);
179
- return function () { observer_3.disconnect(); };
180
- }
181
- }, []);
182
- var columnHeaderCellsIds = new Array(columnHeaderRows.length).fill([]).map(function () { return new Array(columnHeaderLeafs.length); });
183
- columnHeaderRows.forEach(function (row, r) {
184
- var curColSpan = 0;
185
- Array.from(row.cells).forEach(function (cell) {
186
- var expanded = Boolean(cell && cell.children && cell.children.length);
187
- var id = (cell ? (0, utils_1.generateKey)(cell.normalizedPath)
188
- + (cell.total ? '|[TOTAL]' : '')
189
- + (expanded ? '|[EXPANDED]' : '') : '').replace(/\s/g, '-');
190
- if (cell) {
191
- for (var colSp = 0; colSp < (cell.colSpan || 1); colSp++) {
192
- for (var rowSp = 0; rowSp < (cell.rowSpan || 1); rowSp++) {
193
- var ind = columnHeaderCellsIds[r + rowSp].findIndex(function (val, curInd) { return curInd >= curColSpan && !val; });
194
- columnHeaderCellsIds[r + rowSp][ind] = id;
195
- }
196
- curColSpan++;
197
- }
198
- }
199
- });
200
- });
201
- var dataCellsIds = measures.map(function (row) {
202
- return row.cells.map(function (cell) { return (0, utils_1.generateDataKey)(cell.rowTuple.members, cell.columnTuple.members).replace(/\s/g, '-'); });
203
- });
204
- return (React.createElement("div", { ref: element, id: props.id, style: props.style, tabIndex: !props.navigatable ? props.tabIndex : undefined, className: (0, kendo_react_common_2.classNames)('k-pivotgrid', props.className), role: "grid" },
205
- React.createElement("span", { className: "k-pivotgrid-empty-cell" },
206
- React.createElement("span", { className: "k-sr-only" }, localization.toLanguageString(messages_1.emptyCellAriaLabel, messages_1.messages[messages_1.emptyCellAriaLabel]))),
207
- React.createElement("div", { ref: columnHeadersContainer, className: "k-pivotgrid-column-headers", onScroll: handleHorizontalScroll },
208
- React.createElement("table", { ref: columnHeadersTable, className: "k-pivotgrid-table", role: "none" },
209
- React.createElement("colgroup", null, columnHeadersColumns),
210
- React.createElement("tbody", { className: "k-pivotgrid-tbody", role: 'rowgroup' }, columnHeaderRows.map(function (row, r) {
211
- var foundCell = false;
212
- return (React.createElement(ColumnHeadersRowComponent, __assign({ key: row.name, role: "row" }, RowProps), row.cells.map(function (cell, cellIdx) {
213
- var first = cellIdx !== 0 && !foundCell;
214
- if (cell) {
215
- foundCell = true;
216
- }
217
- var expanded = cell && Boolean(cell.children && cell.children.length);
218
- var expandable = cell && (cell.hasChildren && (!cell.total || (cell.total && cell.parent.total)));
219
- return cell
220
- ? (React.createElement(ColumnHeadersColumnCellComponent, __assign({}, HeaderCellProps, { key: columnHeaderCellsIds[r][cellIdx], "data-key": columnHeaderCellsIds[r][cellIdx], id: columnHeaderCellsIds[r][cellIdx], columnPath: cell.normalizedPath, rowSpan: cell.rowSpan || undefined, colSpan: cell.colSpan || undefined, onIconClick: handleColumnCellClick, dataItem: cell, expanded: expanded, expandable: expandable, total: cell.total, first: first, root: cell.levelNum === 0, role: "columnheader" }), cell.caption))
221
- : null;
222
- })));
223
- })))),
224
- React.createElement("div", { ref: rowHeadersContainer, className: "k-pivotgrid-row-headers" },
225
- React.createElement("table", { ref: rowHeadersTable, className: "k-pivotgrid-table", role: "none" },
226
- React.createElement("colgroup", null, rowHeaderColumns),
227
- React.createElement("tbody", { className: "k-pivotgrid-tbody", role: "rowgroup" }, rowHeaderRows.map(function (row, rowId) { return (React.createElement(RowHeadersRowComponent, __assign({ key: (0, utils_1.generateKey)(rowHeaderLeafs[rowId].path) }, RowProps, { path: rowHeaderLeafs[rowId].path, role: "row", ariaOwns: dataCellsIds[rowId].join(' ') }), row.cells.filter(Boolean).map(function (cell) { return cell
228
- ? (React.createElement(RowHeadersCellComponent, __assign({}, HeaderCellProps, { key: (0, utils_1.generateKey)(cell.normalizedPath)
229
- + (cell.total ? '|[TOTAL]' : '')
230
- + (Boolean(cell.children && cell.children.length) ? '|[EXPANDED]' : ''), "data-key": (0, utils_1.generateKey)(cell.normalizedPath)
231
- + (cell.total ? '|[TOTAL]' : '')
232
- + (Boolean(cell.children && cell.children.length) ? '|[EXPANDED]' : ''), rowPath: cell.normalizedPath, rowSpan: cell.rowSpan || undefined, colSpan: cell.colSpan || undefined, dataItem: cell, expanded: Boolean(cell.children && cell.children.length), expandable: cell.hasChildren && !cell.total, total: cell.total, onIconClick: handleRowCellClick, root: cell.levelNum === 0, role: "rowheader" }), cell.caption))
233
- : null; }))); })))),
234
- React.createElement("div", { ref: valuesHeadersContainer, className: "k-pivotgrid-values", onScroll: handleValuesContainerScroll },
235
- React.createElement("table", { className: "k-pivotgrid-table", role: "none" },
236
- React.createElement("colgroup", null, dataColumns),
237
- React.createElement("tbody", { className: "k-pivotgrid-tbody", role: "none" }, measures.map(function (row, rowId) { return (React.createElement(DataRowComponent, __assign({ key: (0, utils_1.generateKey)(rowHeaderLeafs[rowId].path) }, RowProps, { path: rowHeaderLeafs[rowId].path, role: "none" }), row.cells.map(function (cell, cellId) { return (React.createElement(CellComponent, __assign({ key: dataCellsIds[rowId][cellId], "data-key": dataCellsIds[rowId][cellId], id: dataCellsIds[rowId][cellId] }, CellProps, { rowPath: cell.rowTuple.members.map(function (m) { return m.name; }), columnPath: cell.columnTuple.members.map(function (m) { return m.name; }), dataItem: cell, total: rowHeaderLeafs[rowId].total || columnHeaderLeafs[cellId].total, role: "gridcell", ariaDescribedby: columnHeaderCellsIds.map(function (r) { return r[cellId]; }).join(' ') }), (cell && cell.data && cell.data.fmtValue) ? cell.data.fmtValue : '\u00A0')); }))); }))))));
238
- });
239
- var defaultProps = {
240
- rowAxes: [],
241
- columnAxes: [],
242
- data: [],
243
- row: Row_1.PivotGridRow,
244
- column: Column_1.PivotGridColumn,
245
- cell: Cell_1.PivotGridCell,
246
- headerCell: HeaderCell_1.PivotGridHeaderCell
247
- };
248
- exports.PivotGrid.displayName = 'KendoReactPivotGrid';
@@ -1,46 +0,0 @@
1
- import * as React from 'react';
2
- import { ChipListProps as KendoReactChipListProps } from '@progress/kendo-react-buttons';
3
- import { FieldProps } from '@progress/kendo-react-form';
4
- import { PivotGridAxis } from '@progress/kendo-pivotgrid-common';
5
- import { CustomComponent } from '@progress/kendo-react-common';
6
- /**
7
- * Represents the props of the [KendoReact PivotGridAxesEditor component]({% slug api_pivotgrid_pivotgridaxeseditor %}).
8
- */
9
- export interface PivotGridAxesEditorProps extends FieldProps {
10
- /**
11
- * Represents the `value` of the AxesEditor.
12
- *
13
- * The `value` is an array of [PivotGridAxis]({% slug api_pivotgrid_pivotgridaxis %})
14
- */
15
- value: PivotGridAxis[];
16
- /**
17
- * Indicates which of the three available axes are represented by the editor:
18
- * - columnAxes
19
- * - rowAxes
20
- * - measureAxes
21
- */
22
- field: string;
23
- /**
24
- * Overrides the default `chipList` component.
25
- *
26
- * The default component is: [KendoReactChipList]({% slug api_buttons_chiplist %}).
27
- */
28
- chipList?: CustomComponent<KendoReactChipListProps>;
29
- }
30
- /**
31
- * @hidden
32
- */
33
- export declare const PivotGridConfiguratorEditorAxesContext: React.Context<{
34
- axes: string | null;
35
- }>;
36
- /**
37
- * Represents the object which is passed to the [`ref`](https://reactjs.org/docs/refs-and-the-dom.html) callback of the PivotGridAxesEditor component.
38
- */
39
- export interface PivotGridAxesEditorHandle {
40
- props: PivotGridAxesEditorProps;
41
- element: HTMLDivElement | null;
42
- }
43
- /**
44
- * Represents the [KendoReact PivotGridAxesEditor component]({% slug api_pivotgrid_pivotgridaxeseditorprops %}).
45
- */
46
- export declare const PivotGridAxesEditor: React.ForwardRefExoticComponent<Omit<PivotGridAxesEditorProps, "ref"> & React.RefAttributes<PivotGridAxesEditorHandle | null>>;
@@ -1,46 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.PivotGridAxesEditor = exports.PivotGridConfiguratorEditorAxesContext = void 0;
15
- var React = require("react");
16
- var kendo_react_buttons_1 = require("@progress/kendo-react-buttons");
17
- var kendo_react_common_1 = require("@progress/kendo-react-common");
18
- var AxisEditor_1 = require("./AxisEditor");
19
- /**
20
- * @hidden
21
- */
22
- exports.PivotGridConfiguratorEditorAxesContext = React.createContext({ axes: null });
23
- /**
24
- * Represents the [KendoReact PivotGridAxesEditor component]({% slug api_pivotgrid_pivotgridaxeseditorprops %}).
25
- */
26
- exports.PivotGridAxesEditor = React.forwardRef(function (props, ref) {
27
- var _a = __assign(__assign({}, defaultProps), props), value = _a.value, field = _a.field;
28
- var chipList = React.useRef(null);
29
- var element = React.useRef(null);
30
- var target = React.useRef(null);
31
- var _b = (0, kendo_react_common_1.useCustomComponent)(props.chipList || defaultProps.chipList), ChipListComponent = _b[0], ChipListProps = _b[1];
32
- React.useImperativeHandle(element, function () { return chipList.current && chipList.current.element; });
33
- React.useImperativeHandle(target, function () { return ({ props: props, element: element.current }); });
34
- React.useImperativeHandle(ref, function () { return target.current; });
35
- var data = value
36
- .filter(function (v) { return v.name.length === 1 && v.name.every(function (n) { return n.indexOf('&') === -1; }); })
37
- .map(function (i) { return (__assign(__assign({}, i), { text: String(i.name) })); });
38
- return (React.createElement(exports.PivotGridConfiguratorEditorAxesContext.Provider, { value: { axes: field } },
39
- React.createElement(ChipListComponent, __assign({ ref: (0, kendo_react_common_1.canUseRef)(ChipListComponent) ? chipList : undefined, textField: "text", valueField: "name", data: data, chip: AxisEditor_1.PivotGridAxisEditor, style: { position: 'relative' }, className: props.className, selection: "none" }, ChipListProps))));
40
- });
41
- var defaultProps = {
42
- value: [],
43
- chipList: kendo_react_buttons_1.ChipList
44
- };
45
- exports.PivotGridAxesEditor.defaultProps = defaultProps;
46
- exports.PivotGridAxesEditor.displayName = 'KendoReactPivotGridAxesEditor';
@@ -1,141 +0,0 @@
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.PivotGridAxisEditor = void 0;
24
- var React = require("react");
25
- var kendo_pivotgrid_common_1 = require("@progress/kendo-pivotgrid-common");
26
- var kendo_react_common_1 = require("@progress/kendo-react-common");
27
- var kendo_react_data_tools_1 = require("@progress/kendo-react-data-tools");
28
- var kendo_react_buttons_1 = require("@progress/kendo-react-buttons");
29
- var utils_1 = require("../utils");
30
- var hooks_1 = require("../hooks/");
31
- var shared_1 = require("../shared");
32
- var AxesEditor_1 = require("./AxesEditor");
33
- var AxisFilterFieldsEditor_1 = require("./AxisFilterFieldsEditor");
34
- /**
35
- * Represents the [KendoReact PivotGridAxisEditor component]({% slug api_pivotgrid_pivotgridaxiseditorprops %}).
36
- */
37
- exports.PivotGridAxisEditor = React.forwardRef(function (props, ref) {
38
- var initialX = React.useRef(0);
39
- var initialY = React.useRef(0);
40
- var chip = React.useRef(null);
41
- var element = React.useRef(null);
42
- var target = React.useRef(null);
43
- var axes = React.useContext(AxesEditor_1.PivotGridConfiguratorEditorAxesContext).axes;
44
- var _a = React.useState(false), drag = _a[0], setDrag = _a[1];
45
- var _b = React.useContext(shared_1.PivotGridConfiguratorEditorStateContext), state = _b[0], dispatchState = _b[1];
46
- React.useImperativeHandle(element, function () { return chip.current && chip.current.element; });
47
- React.useImperativeHandle(target, function () { return ({ props: props, element: element.current }); });
48
- React.useImperativeHandle(ref, function () { return target.current; });
49
- var _c = (0, kendo_react_common_1.useCustomComponent)(props.chip || defaultProps.chip), ChipComponent = _c[0], ChipProps = _c[1];
50
- var _d = (0, kendo_react_common_1.useCustomComponent)(props.dropClue || defaultProps.dropClue), DropClueComponent = _d[0], DropClueProps = _d[1];
51
- var _e = (0, kendo_react_common_1.useCustomComponent)(props.columnMenuTextColumn || defaultProps.columnMenuTextColumn), ColumnMenuTextColumnComponent = _e[0], ColumnMenuTextColumnProps = _e[1];
52
- var _f = (0, kendo_react_common_1.useCustomComponent)(props.filterFieldsEditor || defaultProps.filterFieldsEditor), FilterFieldsEditorComponent = _f[0], FilterFieldsEditorProps = _f[1];
53
- var inFilter = (0, utils_1.findFilters)(state.filter, String(props.value), 'in');
54
- var textFilter = (0, utils_1.findFilters)(state.filter, String(props.value));
55
- var handleSortChange = function (syntheticEvent, sort) {
56
- dispatchState({ type: hooks_1.PIVOT_CONFIGURATOR_ACTION.setSort, payload: sort }, syntheticEvent);
57
- };
58
- var handleFilterChange = function (syntheticEvent, filter) {
59
- if (filter.length) {
60
- dispatchState({
61
- type: hooks_1.PIVOT_CONFIGURATOR_ACTION.setFilter,
62
- payload: __spreadArray(__spreadArray([], (inFilter || []), true), filter.reduce(function (acc, current) { return __spreadArray(__spreadArray([], acc, true), current.filters.filter(function (f) { return f.value; }), true); }, []), true)
63
- }, syntheticEvent);
64
- }
65
- else {
66
- dispatchState({ type: hooks_1.PIVOT_CONFIGURATOR_ACTION.setFilter, payload: inFilter }, syntheticEvent);
67
- }
68
- };
69
- var handleRemove = function (event) {
70
- dispatchState({ type: hooks_1.PIVOT_CONFIGURATOR_ACTION.remove, payload: props.dataItem }, event.syntheticEvent);
71
- };
72
- var customRender = function (children) {
73
- var customizedChildren = children.slice();
74
- var filter = (0, utils_1.findFilter)(state.filter, String(props.dataItem.name), 'in');
75
- customizedChildren.splice(1, 0, (React.createElement(FilterFieldsEditorComponent, __assign({ key: 'axis-filter-fields-editor', defaultFilter: filter, dataItem: props.dataItem, data: props.dataItem.fields, axes: axes }, FilterFieldsEditorProps))));
76
- return customizedChildren;
77
- };
78
- var handlePress = function (event) {
79
- initialX.current = event.clientX;
80
- initialY.current = event.clientY;
81
- };
82
- var handleDrag = function (event) {
83
- if (Math.abs(initialX.current - event.clientX) < 10 &&
84
- Math.abs(initialY.current - event.clientY) < 10) {
85
- return;
86
- }
87
- if (element.current) {
88
- element.current.style.transform = "translate(".concat(event.clientX - initialX.current, "px, ").concat(event.clientY - initialY.current, "px)");
89
- }
90
- setDrag(true);
91
- dispatchState({ type: hooks_1.PIVOT_CONFIGURATOR_ACTION.setDragItem, payload: props.dataItem });
92
- };
93
- var handleRelease = function () {
94
- setDrag(false);
95
- if (state.dragItem) {
96
- if (element.current) {
97
- element.current.style.transform = '';
98
- }
99
- dispatchState({ type: hooks_1.PIVOT_CONFIGURATOR_ACTION.drop, payload: props.dataItem });
100
- }
101
- };
102
- var handleMouseEnter = function (event) {
103
- if (state.dragItem) {
104
- dispatchState({ type: hooks_1.PIVOT_CONFIGURATOR_ACTION.setDropTarget, payload: props.dataItem }, event.syntheticEvent);
105
- dispatchState({ type: hooks_1.PIVOT_CONFIGURATOR_ACTION.setDropZone, payload: axes }, event.syntheticEvent);
106
- }
107
- };
108
- var handleMouseMove = function (event) {
109
- if (state.dragItem && !drag) {
110
- if (element.current) {
111
- var rect = element.current.getBoundingClientRect();
112
- var x = event.syntheticEvent.clientX - rect.left;
113
- var direction = x < rect.width / 2 ? 'before' : 'after';
114
- dispatchState({ type: hooks_1.PIVOT_CONFIGURATOR_ACTION.setDropDirection, payload: direction }, event.syntheticEvent);
115
- }
116
- }
117
- };
118
- (0, kendo_react_common_1.useDraggable)(element, {
119
- onPress: handlePress,
120
- onDrag: handleDrag,
121
- onRelease: handleRelease
122
- });
123
- return (React.createElement(React.Fragment, null,
124
- (state.dropTarget && (0, kendo_pivotgrid_common_1.compareAxes)(state.dropTarget, props.dataItem) && state.dropDirection === 'before')
125
- && (React.createElement(DropClueComponent, __assign({}, DropClueProps))),
126
- React.createElement(ChipComponent, __assign({ ref: (0, kendo_react_common_1.canUseRef)(ChipComponent) ? chip : undefined }, props, { removable: true, onRemove: handleRemove, onMouseEnter: handleMouseEnter, onMouseMove: handleMouseMove, style: { pointerEvents: drag ? 'none' : undefined }, rounded: 'full' }, ChipProps),
127
- props.text,
128
- (axes !== 'measureAxes') && (React.createElement(ColumnMenuTextColumnComponent, __assign({ field: String(props.value), itemsRender: customRender, sort: state.sort, onSortChange: handleSortChange, filter: (textFilter && textFilter.length) ? [{ logic: 'and', filters: textFilter }] : undefined, onFilterChange: handleFilterChange, filterContent: [
129
- kendo_react_data_tools_1.ColumnMenuTextFilter
130
- ] }, ColumnMenuTextColumnProps)))),
131
- (state.dropTarget && (0, kendo_pivotgrid_common_1.compareAxes)(state.dropTarget, props.dataItem) && state.dropDirection === 'after')
132
- && (React.createElement(DropClueComponent, __assign({}, DropClueProps)))));
133
- });
134
- var defaultProps = {
135
- chip: kendo_react_buttons_1.Chip,
136
- columnMenuTextColumn: kendo_react_data_tools_1.ColumnMenuTextColumn,
137
- filterFieldsEditor: AxisFilterFieldsEditor_1.PivotGridAxisFilterFieldsEditor,
138
- dropClue: function (props) { return React.createElement("div", __assign({ className: "k-grouping-dropclue", style: { position: 'relative', zIndex: 10000 } }, props)); }
139
- };
140
- exports.PivotGridAxisEditor.defaultProps = defaultProps;
141
- exports.PivotGridAxisEditor.displayName = 'KendoReactPivotGridAxisEditor';