@progress/kendo-react-data-tools 6.1.1 → 7.0.0-develop.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/LICENSE.md +1 -1
- package/{dist/npm/columnmenu → columnmenu}/ColumnMenu.d.ts +4 -0
- package/{dist/es/columnmenu → columnmenu}/ColumnMenuFilterForm.d.ts +4 -0
- package/columnmenu/ColumnMenuFilterLogic.d.ts +7 -0
- package/{dist/es/columnmenu → columnmenu}/ColumnMenuFilters.d.ts +4 -0
- package/{dist/npm/columnmenu → columnmenu}/ColumnMenuItem.d.ts +4 -0
- package/{dist/npm/columnmenu → columnmenu}/ColumnMenuOperators.d.ts +4 -0
- package/columnmenu/index.d.ts +10 -0
- package/dist/cdn/js/kendo-react-datatools.js +5 -0
- package/{dist/npm/drag → drag}/ColumnDraggable.d.ts +5 -1
- package/{dist/es/drag → drag}/ColumnResize.d.ts +4 -0
- package/{dist/es/drag → drag}/ColumnResizer.d.ts +5 -1
- package/{dist/npm/drag → drag}/CommonDragLogic.d.ts +5 -1
- package/{dist/npm/drag → drag}/DragClue.d.ts +5 -1
- package/drag/DropClue.d.ts +23 -0
- package/{dist/npm/filter → filter}/Expression.d.ts +5 -1
- package/{dist/es/filter → filter}/FieldSettings.d.ts +4 -0
- package/{dist/es/filter → filter}/Filter.d.ts +5 -1
- package/{dist/es/filter → filter}/Group.d.ts +5 -1
- package/{dist/npm/filter → filter}/filters/BooleanFilter.d.ts +5 -1
- package/{dist/npm/filter → filter}/filters/DateFilter.d.ts +5 -1
- package/{dist/npm/filter → filter}/filters/EnumFilter.d.ts +5 -1
- package/{dist/es/filter → filter}/filters/NumericFilter.d.ts +5 -1
- package/{dist/es/filter → filter}/filters/TextFilter.d.ts +5 -1
- package/filter/filters/index.d.ts +9 -0
- package/filter/index.d.ts +10 -0
- package/{dist/es/filter → filter}/operators.d.ts +4 -0
- package/filteringCells/BooleanFilter.d.ts +12 -0
- package/filteringCells/DateFilter.d.ts +12 -0
- package/{dist/es/filteringCells → filteringCells}/FilterCellProps.d.ts +4 -1
- package/{dist/npm/filteringCells → filteringCells}/FilterComponent.d.ts +4 -0
- package/{dist/es/filteringCells → filteringCells}/FilterComponentProps.d.ts +4 -0
- package/filteringCells/FilterOperator.d.ts +17 -0
- package/filteringCells/NumericFilter.d.ts +12 -0
- package/filteringCells/TextFilter.d.ts +12 -0
- package/filteringCells/index.d.ts +12 -0
- package/{dist/es/header → header}/CellProps.d.ts +4 -0
- package/{dist/npm/header → header}/ColumnProps.d.ts +4 -0
- package/{dist/es/header → header}/FilterRow.d.ts +5 -1
- package/header/Header.d.ts +22 -0
- package/{dist/es/header → header}/HeaderCell.d.ts +5 -1
- package/{dist/es/header → header}/HeaderRow.d.ts +6 -2
- package/header/HeaderSelectionCell.d.ts +15 -0
- package/header/HeaderThElement.d.ts +26 -0
- package/{dist/es/header → header}/SortSettings.d.ts +6 -2
- package/header/index.d.ts +14 -0
- package/{dist/npm/header → header}/utils/index.d.ts +4 -0
- package/{dist/es/main.d.ts → index.d.ts} +5 -1
- package/index.js +5 -0
- package/index.mjs +2901 -0
- package/{dist/npm/messages → messages}/index.d.ts +4 -0
- package/{dist/es/navigation → navigation}/TableKeyboardNavigation.d.ts +9 -5
- package/navigation/TableKeyboardNavigationContext.d.ts +10 -0
- package/navigation/TableKeyboardNavigationContextType.d.ts +11 -0
- package/navigation/TableKeyboardNavigationStateType.d.ts +14 -0
- package/{dist/npm/navigation → navigation}/constants.d.ts +4 -0
- package/navigation/hooks.d.ts +16 -0
- package/{dist/npm/navigation → navigation}/utils.d.ts +6 -2
- package/package-metadata.d.ts +9 -0
- package/package.json +36 -51
- package/{dist/es/pager → pager}/Pager.d.ts +5 -1
- package/{dist/es/pager → pager}/PagerInput.d.ts +5 -1
- package/{dist/npm/pager → pager}/PagerNumericButtons.d.ts +5 -1
- package/{dist/npm/pager → pager}/PagerPageSizes.d.ts +5 -1
- package/{dist/npm/selection → selection}/TableSelectableSettings.d.ts +5 -1
- package/{dist/es/selection → selection}/TableSelection.d.ts +5 -2
- package/selection/constants.d.ts +10 -0
- package/{dist/es/selection → selection}/events.d.ts +4 -0
- package/{dist/es/selection → selection}/utils.d.ts +4 -0
- package/utils/DataItemWrapper.d.ts +14 -0
- package/{dist/npm/utils → utils}/data-operations.d.ts +4 -0
- package/{dist/npm/utils → utils}/group-operations.d.ts +5 -1
- package/virtualization/columns.d.ts +19 -0
- package/virtualization/index.d.ts +5 -0
- package/about.md +0 -3
- package/dist/cdn/js/kendo-react-data-tools.js +0 -1
- package/dist/es/columnmenu/ColumnMenu.d.ts +0 -79
- package/dist/es/columnmenu/ColumnMenu.js +0 -238
- package/dist/es/columnmenu/ColumnMenuFilterForm.js +0 -33
- package/dist/es/columnmenu/ColumnMenuFilterLogic.d.ts +0 -3
- package/dist/es/columnmenu/ColumnMenuFilterLogic.js +0 -22
- package/dist/es/columnmenu/ColumnMenuFilters.js +0 -62
- package/dist/es/columnmenu/ColumnMenuItem.d.ts +0 -11
- package/dist/es/columnmenu/ColumnMenuItem.js +0 -7
- package/dist/es/columnmenu/ColumnMenuOperators.d.ts +0 -65
- package/dist/es/columnmenu/ColumnMenuOperators.js +0 -137
- package/dist/es/columnmenu/index.d.ts +0 -6
- package/dist/es/columnmenu/index.js +0 -6
- package/dist/es/drag/ColumnDraggable.d.ts +0 -30
- package/dist/es/drag/ColumnDraggable.js +0 -62
- package/dist/es/drag/ColumnResize.js +0 -95
- package/dist/es/drag/ColumnResizer.js +0 -71
- package/dist/es/drag/CommonDragLogic.d.ts +0 -38
- package/dist/es/drag/CommonDragLogic.js +0 -172
- package/dist/es/drag/DragClue.d.ts +0 -22
- package/dist/es/drag/DragClue.js +0 -66
- package/dist/es/drag/DropClue.d.ts +0 -19
- package/dist/es/drag/DropClue.js +0 -52
- package/dist/es/filter/Expression.d.ts +0 -46
- package/dist/es/filter/Expression.js +0 -140
- package/dist/es/filter/FieldSettings.js +0 -1
- package/dist/es/filter/Filter.js +0 -99
- package/dist/es/filter/Group.js +0 -163
- package/dist/es/filter/filters/BooleanFilter.d.ts +0 -43
- package/dist/es/filter/filters/BooleanFilter.js +0 -48
- package/dist/es/filter/filters/DateFilter.d.ts +0 -26
- package/dist/es/filter/filters/DateFilter.js +0 -61
- package/dist/es/filter/filters/EnumFilter.d.ts +0 -43
- package/dist/es/filter/filters/EnumFilter.js +0 -69
- package/dist/es/filter/filters/NumericFilter.js +0 -64
- package/dist/es/filter/filters/TextFilter.js +0 -65
- package/dist/es/filter/filters/index.d.ts +0 -5
- package/dist/es/filter/filters/index.js +0 -5
- package/dist/es/filter/index.d.ts +0 -6
- package/dist/es/filter/index.js +0 -6
- package/dist/es/filter/operators.js +0 -150
- package/dist/es/filteringCells/BooleanFilter.d.ts +0 -8
- package/dist/es/filteringCells/BooleanFilter.js +0 -81
- package/dist/es/filteringCells/DateFilter.d.ts +0 -8
- package/dist/es/filteringCells/DateFilter.js +0 -46
- package/dist/es/filteringCells/FilterCellProps.js +0 -1
- package/dist/es/filteringCells/FilterComponent.d.ts +0 -17
- package/dist/es/filteringCells/FilterComponent.js +0 -128
- package/dist/es/filteringCells/FilterComponentProps.js +0 -1
- package/dist/es/filteringCells/FilterOperator.d.ts +0 -13
- package/dist/es/filteringCells/FilterOperator.js +0 -1
- package/dist/es/filteringCells/NumericFilter.d.ts +0 -8
- package/dist/es/filteringCells/NumericFilter.js +0 -46
- package/dist/es/filteringCells/TextFilter.d.ts +0 -8
- package/dist/es/filteringCells/TextFilter.js +0 -46
- package/dist/es/filteringCells/index.d.ts +0 -8
- package/dist/es/filteringCells/index.js +0 -8
- package/dist/es/header/CellProps.js +0 -1
- package/dist/es/header/ColumnProps.d.ts +0 -153
- package/dist/es/header/ColumnProps.js +0 -11
- package/dist/es/header/FilterRow.js +0 -33
- package/dist/es/header/Header.d.ts +0 -18
- package/dist/es/header/Header.js +0 -54
- package/dist/es/header/HeaderCell.js +0 -26
- package/dist/es/header/HeaderRow.js +0 -166
- package/dist/es/header/HeaderSelectionCell.d.ts +0 -12
- package/dist/es/header/HeaderSelectionCell.js +0 -18
- package/dist/es/header/HeaderThElement.d.ts +0 -23
- package/dist/es/header/HeaderThElement.js +0 -25
- package/dist/es/header/SortSettings.js +0 -19
- package/dist/es/header/index.d.ts +0 -10
- package/dist/es/header/index.js +0 -10
- package/dist/es/header/utils/index.d.ts +0 -83
- package/dist/es/header/utils/index.js +0 -186
- package/dist/es/main.js +0 -26
- package/dist/es/messages/index.d.ts +0 -385
- package/dist/es/messages/index.js +0 -386
- package/dist/es/navigation/TableKeyboardNavigation.js +0 -241
- package/dist/es/navigation/TableKeyboardNavigationContext.d.ts +0 -6
- package/dist/es/navigation/TableKeyboardNavigationContext.js +0 -6
- package/dist/es/navigation/TableKeyboardNavigationContextType.d.ts +0 -7
- package/dist/es/navigation/TableKeyboardNavigationContextType.js +0 -1
- package/dist/es/navigation/TableKeyboardNavigationStateType.d.ts +0 -10
- package/dist/es/navigation/TableKeyboardNavigationStateType.js +0 -1
- package/dist/es/navigation/constants.d.ts +0 -54
- package/dist/es/navigation/constants.js +0 -79
- package/dist/es/navigation/hooks.d.ts +0 -12
- package/dist/es/navigation/hooks.js +0 -19
- package/dist/es/navigation/utils.d.ts +0 -145
- package/dist/es/navigation/utils.js +0 -212
- package/dist/es/package-metadata.d.ts +0 -5
- package/dist/es/package-metadata.js +0 -11
- package/dist/es/pager/Pager.js +0 -222
- package/dist/es/pager/PagerInput.js +0 -57
- package/dist/es/pager/PagerNumericButtons.d.ts +0 -28
- package/dist/es/pager/PagerNumericButtons.js +0 -105
- package/dist/es/pager/PagerPageSizes.d.ts +0 -26
- package/dist/es/pager/PagerPageSizes.js +0 -51
- package/dist/es/selection/TableSelectableSettings.d.ts +0 -31
- package/dist/es/selection/TableSelectableSettings.js +0 -2
- package/dist/es/selection/TableSelection.js +0 -155
- package/dist/es/selection/constants.d.ts +0 -6
- package/dist/es/selection/constants.js +0 -6
- package/dist/es/selection/events.js +0 -1
- package/dist/es/selection/utils.js +0 -237
- package/dist/es/utils/DataItemWrapper.d.ts +0 -10
- package/dist/es/utils/DataItemWrapper.js +0 -1
- package/dist/es/utils/data-operations.d.ts +0 -94
- package/dist/es/utils/data-operations.js +0 -265
- package/dist/es/utils/group-operations.d.ts +0 -29
- package/dist/es/utils/group-operations.js +0 -54
- package/dist/es/virtualization/columns.d.ts +0 -15
- package/dist/es/virtualization/columns.js +0 -75
- package/dist/es/virtualization/index.d.ts +0 -1
- package/dist/es/virtualization/index.js +0 -1
- package/dist/npm/columnmenu/ColumnMenu.js +0 -245
- package/dist/npm/columnmenu/ColumnMenuFilterForm.d.ts +0 -13
- package/dist/npm/columnmenu/ColumnMenuFilterForm.js +0 -38
- package/dist/npm/columnmenu/ColumnMenuFilterLogic.d.ts +0 -3
- package/dist/npm/columnmenu/ColumnMenuFilterLogic.js +0 -26
- package/dist/npm/columnmenu/ColumnMenuFilters.d.ts +0 -19
- package/dist/npm/columnmenu/ColumnMenuFilters.js +0 -69
- package/dist/npm/columnmenu/ColumnMenuItem.js +0 -11
- package/dist/npm/columnmenu/ColumnMenuOperators.js +0 -140
- package/dist/npm/columnmenu/index.d.ts +0 -6
- package/dist/npm/columnmenu/index.js +0 -22
- package/dist/npm/drag/ColumnDraggable.js +0 -65
- package/dist/npm/drag/ColumnResize.d.ts +0 -32
- package/dist/npm/drag/ColumnResize.js +0 -98
- package/dist/npm/drag/ColumnResizer.d.ts +0 -28
- package/dist/npm/drag/ColumnResizer.js +0 -74
- package/dist/npm/drag/CommonDragLogic.js +0 -175
- package/dist/npm/drag/DragClue.js +0 -69
- package/dist/npm/drag/DropClue.d.ts +0 -19
- package/dist/npm/drag/DropClue.js +0 -55
- package/dist/npm/filter/Expression.js +0 -143
- package/dist/npm/filter/FieldSettings.d.ts +0 -30
- package/dist/npm/filter/FieldSettings.js +0 -2
- package/dist/npm/filter/Filter.d.ts +0 -79
- package/dist/npm/filter/Filter.js +0 -102
- package/dist/npm/filter/Group.d.ts +0 -54
- package/dist/npm/filter/Group.js +0 -166
- package/dist/npm/filter/filters/BooleanFilter.js +0 -51
- package/dist/npm/filter/filters/DateFilter.js +0 -64
- package/dist/npm/filter/filters/EnumFilter.js +0 -72
- package/dist/npm/filter/filters/NumericFilter.d.ts +0 -33
- package/dist/npm/filter/filters/NumericFilter.js +0 -67
- package/dist/npm/filter/filters/TextFilter.d.ts +0 -40
- package/dist/npm/filter/filters/TextFilter.js +0 -68
- package/dist/npm/filter/filters/index.d.ts +0 -5
- package/dist/npm/filter/filters/index.js +0 -21
- package/dist/npm/filter/index.d.ts +0 -6
- package/dist/npm/filter/index.js +0 -22
- package/dist/npm/filter/operators.d.ts +0 -73
- package/dist/npm/filter/operators.js +0 -155
- package/dist/npm/filteringCells/BooleanFilter.d.ts +0 -8
- package/dist/npm/filteringCells/BooleanFilter.js +0 -84
- package/dist/npm/filteringCells/DateFilter.d.ts +0 -8
- package/dist/npm/filteringCells/DateFilter.js +0 -49
- package/dist/npm/filteringCells/FilterCellProps.d.ts +0 -36
- package/dist/npm/filteringCells/FilterCellProps.js +0 -2
- package/dist/npm/filteringCells/FilterComponent.js +0 -132
- package/dist/npm/filteringCells/FilterComponentProps.d.ts +0 -23
- package/dist/npm/filteringCells/FilterComponentProps.js +0 -2
- package/dist/npm/filteringCells/FilterOperator.d.ts +0 -13
- package/dist/npm/filteringCells/FilterOperator.js +0 -2
- package/dist/npm/filteringCells/NumericFilter.d.ts +0 -8
- package/dist/npm/filteringCells/NumericFilter.js +0 -49
- package/dist/npm/filteringCells/TextFilter.d.ts +0 -8
- package/dist/npm/filteringCells/TextFilter.js +0 -49
- package/dist/npm/filteringCells/index.d.ts +0 -8
- package/dist/npm/filteringCells/index.js +0 -24
- package/dist/npm/header/CellProps.d.ts +0 -68
- package/dist/npm/header/CellProps.js +0 -2
- package/dist/npm/header/ColumnProps.js +0 -14
- package/dist/npm/header/FilterRow.d.ts +0 -25
- package/dist/npm/header/FilterRow.js +0 -37
- package/dist/npm/header/Header.d.ts +0 -18
- package/dist/npm/header/Header.js +0 -57
- package/dist/npm/header/HeaderCell.d.ts +0 -47
- package/dist/npm/header/HeaderCell.js +0 -30
- package/dist/npm/header/HeaderRow.d.ts +0 -37
- package/dist/npm/header/HeaderRow.js +0 -169
- package/dist/npm/header/HeaderSelectionCell.d.ts +0 -12
- package/dist/npm/header/HeaderSelectionCell.js +0 -22
- package/dist/npm/header/HeaderThElement.d.ts +0 -23
- package/dist/npm/header/HeaderThElement.js +0 -29
- package/dist/npm/header/SortSettings.d.ts +0 -26
- package/dist/npm/header/SortSettings.js +0 -23
- package/dist/npm/header/index.d.ts +0 -10
- package/dist/npm/header/index.js +0 -26
- package/dist/npm/header/utils/index.js +0 -196
- package/dist/npm/main.d.ts +0 -26
- package/dist/npm/main.js +0 -51
- package/dist/npm/messages/index.js +0 -390
- package/dist/npm/navigation/TableKeyboardNavigation.d.ts +0 -68
- package/dist/npm/navigation/TableKeyboardNavigation.js +0 -244
- package/dist/npm/navigation/TableKeyboardNavigationContext.d.ts +0 -6
- package/dist/npm/navigation/TableKeyboardNavigationContext.js +0 -9
- package/dist/npm/navigation/TableKeyboardNavigationContextType.d.ts +0 -7
- package/dist/npm/navigation/TableKeyboardNavigationContextType.js +0 -2
- package/dist/npm/navigation/TableKeyboardNavigationStateType.d.ts +0 -10
- package/dist/npm/navigation/TableKeyboardNavigationStateType.js +0 -2
- package/dist/npm/navigation/constants.js +0 -82
- package/dist/npm/navigation/hooks.d.ts +0 -12
- package/dist/npm/navigation/hooks.js +0 -23
- package/dist/npm/navigation/utils.js +0 -235
- package/dist/npm/package-metadata.d.ts +0 -5
- package/dist/npm/package-metadata.js +0 -14
- package/dist/npm/pager/Pager.d.ts +0 -204
- package/dist/npm/pager/Pager.js +0 -225
- package/dist/npm/pager/PagerInput.d.ts +0 -25
- package/dist/npm/pager/PagerInput.js +0 -60
- package/dist/npm/pager/PagerNumericButtons.js +0 -108
- package/dist/npm/pager/PagerPageSizes.js +0 -54
- package/dist/npm/selection/TableSelectableSettings.js +0 -3
- package/dist/npm/selection/TableSelection.d.ts +0 -12
- package/dist/npm/selection/TableSelection.js +0 -159
- package/dist/npm/selection/constants.d.ts +0 -6
- package/dist/npm/selection/constants.js +0 -9
- package/dist/npm/selection/events.d.ts +0 -94
- package/dist/npm/selection/events.js +0 -2
- package/dist/npm/selection/utils.d.ts +0 -66
- package/dist/npm/selection/utils.js +0 -249
- package/dist/npm/utils/DataItemWrapper.d.ts +0 -10
- package/dist/npm/utils/DataItemWrapper.js +0 -2
- package/dist/npm/utils/data-operations.js +0 -278
- package/dist/npm/utils/group-operations.js +0 -60
- package/dist/npm/virtualization/columns.d.ts +0 -15
- package/dist/npm/virtualization/columns.js +0 -79
- package/dist/npm/virtualization/index.d.ts +0 -1
- package/dist/npm/virtualization/index.js +0 -17
- package/dist/systemjs/kendo-react-data-tools.js +0 -1
- package/e2e-next/filter.basic.tests.ts +0 -24
- package/e2e-next/pager.basic.tests.ts +0 -24
|
@@ -1,249 +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.getSelectionOptions = exports.getOffset = exports.relativeContextElement = exports.getSelectedState = exports.getSelectedStateFromKeyDown = exports.setSelectedState = exports.getColumnIndex = exports.getRowIndex = exports.closestTagName = void 0;
|
|
24
|
-
var kendo_react_common_1 = require("@progress/kendo-react-common");
|
|
25
|
-
var constants_1 = require("./constants");
|
|
26
|
-
var GROUP_SUBITEMS_COLLECTION = 'items';
|
|
27
|
-
var LAST_SELECTION_STATE = {};
|
|
28
|
-
var getCellSelection = function (currentSelection, selectedColumn) {
|
|
29
|
-
if (!currentSelection || (Array.isArray(currentSelection) && currentSelection.length === 0)) {
|
|
30
|
-
return [selectedColumn];
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
var foundIndex = currentSelection.findIndex(function (columnIndex) { return columnIndex === selectedColumn; });
|
|
34
|
-
if (foundIndex > -1) {
|
|
35
|
-
return currentSelection.filter(function (columnIndex) { return columnIndex !== selectedColumn; });
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
return __spreadArray(__spreadArray([], currentSelection, true), [selectedColumn], false);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
/** @hidden */
|
|
43
|
-
var closestTagName = function (target, tagName) {
|
|
44
|
-
var currentTarget = target;
|
|
45
|
-
while (currentTarget) {
|
|
46
|
-
if (currentTarget.tagName === tagName) {
|
|
47
|
-
return currentTarget;
|
|
48
|
-
}
|
|
49
|
-
else if (currentTarget.tagName === 'TABLE') {
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
currentTarget = currentTarget.parentElement;
|
|
53
|
-
}
|
|
54
|
-
return null;
|
|
55
|
-
};
|
|
56
|
-
exports.closestTagName = closestTagName;
|
|
57
|
-
/** @hidden */
|
|
58
|
-
var getRowIndex = function (element) {
|
|
59
|
-
if (!element) {
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
var rowIndex = element.getAttribute(constants_1.TABLE_ROW_INDEX_ATTRIBUTE);
|
|
63
|
-
return rowIndex ? parseInt(rowIndex, 10) : undefined;
|
|
64
|
-
};
|
|
65
|
-
exports.getRowIndex = getRowIndex;
|
|
66
|
-
/** @hidden */
|
|
67
|
-
var getColumnIndex = function (element) {
|
|
68
|
-
if (!element) {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
var colIndex = element.getAttribute(constants_1.TABLE_COL_INDEX_ATTRIBUTE);
|
|
72
|
-
return colIndex ? parseInt(colIndex, 10) : undefined;
|
|
73
|
-
};
|
|
74
|
-
exports.getColumnIndex = getColumnIndex;
|
|
75
|
-
/**
|
|
76
|
-
* @hidden
|
|
77
|
-
*
|
|
78
|
-
* Apply the selected field to the data items based on the selected state.
|
|
79
|
-
*
|
|
80
|
-
* @param {{data: any, selectedState: {[id: string]: boolean | number[]}, dataItemKey: string; selectedField: string; subItemsField?: string; }} options
|
|
81
|
-
* @returns {any[]}
|
|
82
|
-
*/
|
|
83
|
-
var setSelectedState = function (options) {
|
|
84
|
-
var subItemsField = options.subItemsField || GROUP_SUBITEMS_COLLECTION;
|
|
85
|
-
var idGetter = (0, kendo_react_common_1.getter)(options.dataItemKey);
|
|
86
|
-
return (0, kendo_react_common_1.mapTree)(options.data, subItemsField, function (item) {
|
|
87
|
-
var _a;
|
|
88
|
-
return (0, kendo_react_common_1.extendDataItem)(item, subItemsField, (_a = {},
|
|
89
|
-
_a[options.selectedField] = options.selectedState[idGetter(item)],
|
|
90
|
-
_a));
|
|
91
|
-
});
|
|
92
|
-
};
|
|
93
|
-
exports.setSelectedState = setSelectedState;
|
|
94
|
-
/**
|
|
95
|
-
* Get selected state from the component KeyDown event.
|
|
96
|
-
*
|
|
97
|
-
* @param {{event: TableKeyDownEvent, selectedState: {[id: string]: boolean | number[]}, dataItemKey: string}} options
|
|
98
|
-
* @returns {{[id: string]: boolean | number[]}} - The new selected state.
|
|
99
|
-
*/
|
|
100
|
-
var getSelectedStateFromKeyDown = function (options) {
|
|
101
|
-
var event = options.event, dataItemKey = options.dataItemKey, selectedState = options.selectedState;
|
|
102
|
-
var syntheticEvent = event.syntheticEvent, nativeEvent = event.nativeEvent, dataItems = event.dataItems, componentId = event.componentId, mode = event.mode, cell = event.cell, selectedField = event.selectedField;
|
|
103
|
-
var target = nativeEvent.target, ctrlKey = nativeEvent.ctrlKey, metaKey = nativeEvent.metaKey, altKey = nativeEvent.altKey, shiftKey = nativeEvent.shiftKey;
|
|
104
|
-
if (syntheticEvent.isDefaultPrevented() || nativeEvent.keyCode !== kendo_react_common_1.Keys.enter) {
|
|
105
|
-
return selectedState;
|
|
106
|
-
}
|
|
107
|
-
var tdElement = (0, exports.closestTagName)(target, 'TD');
|
|
108
|
-
var trElement = (0, exports.closestTagName)(target, 'TR');
|
|
109
|
-
var colIndex = (0, exports.getColumnIndex)(tdElement);
|
|
110
|
-
var rowIndex = (0, exports.getRowIndex)(trElement);
|
|
111
|
-
var selectionState = {};
|
|
112
|
-
if (tdElement && trElement && rowIndex !== undefined && colIndex !== undefined) {
|
|
113
|
-
selectionState = (0, exports.getSelectedState)({
|
|
114
|
-
selectedState: selectedState,
|
|
115
|
-
dataItemKey: dataItemKey,
|
|
116
|
-
event: {
|
|
117
|
-
ctrlKey: ctrlKey,
|
|
118
|
-
metaKey: metaKey,
|
|
119
|
-
altKey: altKey,
|
|
120
|
-
shiftKey: shiftKey,
|
|
121
|
-
dataItems: dataItems,
|
|
122
|
-
cell: cell,
|
|
123
|
-
mode: mode,
|
|
124
|
-
selectedField: selectedField,
|
|
125
|
-
componentId: componentId,
|
|
126
|
-
startColIndex: colIndex, endColIndex: colIndex, startRowIndex: rowIndex, endRowIndex: rowIndex,
|
|
127
|
-
isDrag: false,
|
|
128
|
-
syntheticEvent: syntheticEvent,
|
|
129
|
-
nativeEvent: nativeEvent,
|
|
130
|
-
target: event.target,
|
|
131
|
-
dataItem: null
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
return selectionState;
|
|
136
|
-
};
|
|
137
|
-
exports.getSelectedStateFromKeyDown = getSelectedStateFromKeyDown;
|
|
138
|
-
/**
|
|
139
|
-
* Get selected state from the component selection event.
|
|
140
|
-
*
|
|
141
|
-
* @param {{event: TableSelectionChangeEvent, selectedState: {[id: string]: boolean | number[]}, dataItemKey: string}} options
|
|
142
|
-
* @returns {{[id: string]: boolean | number[]}} - The new selected state.
|
|
143
|
-
*/
|
|
144
|
-
var getSelectedState = function (options) {
|
|
145
|
-
var event = options.event, dataItemKey = options.dataItemKey, prevSelectedState = options.selectedState;
|
|
146
|
-
var dataItems = event.dataItems, startRowIndex = event.startRowIndex, endRowIndex = event.endRowIndex, startColIndex = event.startColIndex, endColIndex = event.endColIndex, cell = event.cell, isDrag = event.isDrag, ctrlKey = event.ctrlKey, shiftKey = event.shiftKey, metaKey = event.metaKey, componentId = event.componentId, mode = event.mode, dataItem = event.dataItem;
|
|
147
|
-
var idGetter = (0, kendo_react_common_1.getter)(dataItemKey);
|
|
148
|
-
var selectionState = {};
|
|
149
|
-
var isInputEvent = dataItem !== null;
|
|
150
|
-
if (mode === 'single') {
|
|
151
|
-
var currentDataItem = dataItems.slice(startRowIndex, startRowIndex + 1)[0];
|
|
152
|
-
var itemId = idGetter(currentDataItem);
|
|
153
|
-
LAST_SELECTION_STATE[componentId] = {
|
|
154
|
-
rowIndex: startRowIndex,
|
|
155
|
-
colIndex: startColIndex
|
|
156
|
-
};
|
|
157
|
-
selectionState[itemId] = cell ? [startColIndex] : true;
|
|
158
|
-
}
|
|
159
|
-
else if (isDrag || (!shiftKey && !ctrlKey && !metaKey && !isInputEvent)) {
|
|
160
|
-
if (!isDrag) {
|
|
161
|
-
LAST_SELECTION_STATE[componentId] = {
|
|
162
|
-
rowIndex: startRowIndex,
|
|
163
|
-
colIndex: startColIndex
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
|
-
var selectedColumns_1 = [];
|
|
167
|
-
for (var i = startColIndex; i <= endColIndex; i++) {
|
|
168
|
-
selectedColumns_1.push(i);
|
|
169
|
-
}
|
|
170
|
-
var selectedDataItems = dataItems.slice(startRowIndex, endRowIndex + 1);
|
|
171
|
-
selectedDataItems.forEach(function (currentItem) {
|
|
172
|
-
var itemId = idGetter(currentItem);
|
|
173
|
-
selectionState[itemId] = cell ? __spreadArray([], selectedColumns_1, true) : true;
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
else {
|
|
177
|
-
if (ctrlKey || metaKey || isInputEvent) {
|
|
178
|
-
LAST_SELECTION_STATE[componentId] = {
|
|
179
|
-
rowIndex: startRowIndex,
|
|
180
|
-
colIndex: startColIndex
|
|
181
|
-
};
|
|
182
|
-
var selectedDataItems = dataItems.slice(startRowIndex, endRowIndex + 1);
|
|
183
|
-
var currentDataItem = selectedDataItems[0];
|
|
184
|
-
var itemId = idGetter(currentDataItem);
|
|
185
|
-
selectionState = __assign({}, prevSelectedState);
|
|
186
|
-
selectionState[itemId] = cell && !isInputEvent ? getCellSelection(selectionState[itemId], startColIndex) : !selectionState[itemId];
|
|
187
|
-
}
|
|
188
|
-
else if (shiftKey) {
|
|
189
|
-
var lastRowIndex = (LAST_SELECTION_STATE[componentId] && LAST_SELECTION_STATE[componentId].rowIndex) || 0;
|
|
190
|
-
var lastColIndex = (LAST_SELECTION_STATE[componentId] && LAST_SELECTION_STATE[componentId].colIndex) || 0;
|
|
191
|
-
var currentStartRowIndex = Math.min(lastRowIndex, startRowIndex, endRowIndex);
|
|
192
|
-
var currentEndRowIndex = Math.max(lastRowIndex, startRowIndex, endRowIndex);
|
|
193
|
-
var currentStarColIndex = Math.min(lastColIndex, startColIndex, endColIndex);
|
|
194
|
-
var currentEndColIndex = Math.max(lastColIndex, startColIndex, endColIndex);
|
|
195
|
-
var selectedColumns_2 = [];
|
|
196
|
-
for (var i = currentStarColIndex; i <= currentEndColIndex; i++) {
|
|
197
|
-
selectedColumns_2.push(i);
|
|
198
|
-
}
|
|
199
|
-
var selectedDataItems = dataItems.slice(currentStartRowIndex, currentEndRowIndex + 1);
|
|
200
|
-
selectedDataItems.forEach(function (currentItem) {
|
|
201
|
-
var itemId = idGetter(currentItem);
|
|
202
|
-
selectionState[itemId] = cell ? __spreadArray([], selectedColumns_2, true) : true;
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
return selectionState;
|
|
207
|
-
};
|
|
208
|
-
exports.getSelectedState = getSelectedState;
|
|
209
|
-
/** @hidden */
|
|
210
|
-
var HAS_RELATIVE_STACKING_CONTEXT = (0, kendo_react_common_1.hasRelativeStackingContext)();
|
|
211
|
-
/** @hidden */
|
|
212
|
-
var relativeContextElement = function (element) {
|
|
213
|
-
if (!element || !HAS_RELATIVE_STACKING_CONTEXT) {
|
|
214
|
-
return null;
|
|
215
|
-
}
|
|
216
|
-
var node = element.parentElement;
|
|
217
|
-
while (node) {
|
|
218
|
-
if (window.getComputedStyle(node).transform !== 'none') {
|
|
219
|
-
return node;
|
|
220
|
-
}
|
|
221
|
-
node = node.parentElement;
|
|
222
|
-
}
|
|
223
|
-
};
|
|
224
|
-
exports.relativeContextElement = relativeContextElement;
|
|
225
|
-
/** @hidden */
|
|
226
|
-
var getOffset = function (offsetParent) {
|
|
227
|
-
if (offsetParent && offsetParent.ownerDocument) {
|
|
228
|
-
if (offsetParent !== offsetParent.ownerDocument.body) {
|
|
229
|
-
var rect = offsetParent.getBoundingClientRect();
|
|
230
|
-
return {
|
|
231
|
-
left: rect.left - offsetParent.scrollLeft,
|
|
232
|
-
top: rect.top - offsetParent.scrollTop
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
return { left: 0, top: 0 };
|
|
237
|
-
};
|
|
238
|
-
exports.getOffset = getOffset;
|
|
239
|
-
/** @hidden */
|
|
240
|
-
var getSelectionOptions = function (selectable) {
|
|
241
|
-
var enabled = selectable ?
|
|
242
|
-
(typeof selectable.enabled === 'boolean' ? selectable.enabled : true) :
|
|
243
|
-
false;
|
|
244
|
-
var drag = selectable ? Boolean(selectable.drag) : false;
|
|
245
|
-
var mode = selectable && selectable.mode ? selectable.mode : 'multiple';
|
|
246
|
-
var cell = Boolean(selectable && selectable.cell);
|
|
247
|
-
return { enabled: enabled, drag: drag, mode: mode, cell: cell };
|
|
248
|
-
};
|
|
249
|
-
exports.getSelectionOptions = getSelectionOptions;
|
|
@@ -1,278 +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.moveTreeItem = exports.getItemPath = exports.modifySubItems = exports.removeItems = exports.extendDataItem = exports.createDataTree = exports.treeToFlat = exports.flatData = exports.filterBy = exports.orderBy = void 0;
|
|
24
|
-
var kendo_data_query_1 = require("@progress/kendo-data-query");
|
|
25
|
-
var kendo_react_common_1 = require("@progress/kendo-react-common");
|
|
26
|
-
// Gets and sets the children. Returns the children or the re-created item with the new children.
|
|
27
|
-
function children(item, subItemsField, subItems) {
|
|
28
|
-
var _a;
|
|
29
|
-
if (subItems) {
|
|
30
|
-
return __assign(__assign({}, item), (_a = {}, _a[subItemsField] = subItems.length ? __spreadArray([], subItems, true) : undefined, _a));
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
return item && item[subItemsField] ? __spreadArray([], item[subItemsField], true) : [];
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
function sortChildren(dataItem, sort, subItemsField) {
|
|
37
|
-
var _a;
|
|
38
|
-
if (dataItem[subItemsField]) {
|
|
39
|
-
var item = children(dataItem, subItemsField, (0, kendo_data_query_1.orderBy)(children(dataItem, subItemsField), sort));
|
|
40
|
-
var subItems = children(item, subItemsField).map(function (root) { return sortChildren(root, sort, subItemsField); });
|
|
41
|
-
return __assign(__assign({}, item), (_a = {}, _a[subItemsField] = subItems, _a));
|
|
42
|
-
}
|
|
43
|
-
return dataItem;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Orders the specified tree according to the provided sort descriptors.
|
|
47
|
-
*
|
|
48
|
-
* @param {T[]} data - The data that will be sorted.
|
|
49
|
-
* @param {SortDescriptor[]} descriptors - The descriptors by which the data will be sorted.
|
|
50
|
-
* @param {string} subItemsField - The field which points to the subitems collection of each data item.
|
|
51
|
-
* @returns {T[]} - The sorted data.
|
|
52
|
-
*/
|
|
53
|
-
function orderBy(data, descriptors, subItemsField) {
|
|
54
|
-
var sorted = (0, kendo_data_query_1.orderBy)(data, descriptors);
|
|
55
|
-
sorted = sorted.map(function (dataItem) { return sortChildren(dataItem, descriptors, subItemsField); });
|
|
56
|
-
return sorted;
|
|
57
|
-
}
|
|
58
|
-
exports.orderBy = orderBy;
|
|
59
|
-
function filterChildren(dataItem, filters, subItemsField) {
|
|
60
|
-
var subItems = children(dataItem, subItemsField);
|
|
61
|
-
if (subItems && subItems.length) {
|
|
62
|
-
subItems = subItems.map(function (item) { return filterChildren(item, filters, subItemsField); });
|
|
63
|
-
var hasChildrenFilter = { operator: function (item) { return Boolean((item[subItemsField] || []).length); } };
|
|
64
|
-
var filter = {
|
|
65
|
-
filters: [
|
|
66
|
-
{ filters: filters, logic: 'and' },
|
|
67
|
-
hasChildrenFilter
|
|
68
|
-
],
|
|
69
|
-
logic: 'or'
|
|
70
|
-
};
|
|
71
|
-
var filtered = (0, kendo_data_query_1.filterBy)(subItems, filter);
|
|
72
|
-
return children(dataItem, subItemsField, filtered);
|
|
73
|
-
}
|
|
74
|
-
return dataItem;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Filters the provided data tree according to the specified `Array<FilterDescriptor|CompositeFilterDescriptor>`.
|
|
78
|
-
*
|
|
79
|
-
* @param {T[]} data - The data that will be filtered.
|
|
80
|
-
* @param {FilterDescriptor[]|CompositeFilterDescriptor[]} descriptors - The filter criteria that will be applied.
|
|
81
|
-
* @param {string} subItemsField - The field which points to the subitems collection of each data item.
|
|
82
|
-
* @returns {T[]} - The filtered data.
|
|
83
|
-
*/
|
|
84
|
-
function filterBy(data, descriptors, subItemsField) {
|
|
85
|
-
var _a;
|
|
86
|
-
var filtered = (_a = {}, _a[subItemsField] = __spreadArray([], data, true), _a);
|
|
87
|
-
filtered = filterChildren(filtered, descriptors, subItemsField);
|
|
88
|
-
return filtered[subItemsField] || [];
|
|
89
|
-
}
|
|
90
|
-
exports.filterBy = filterBy;
|
|
91
|
-
/**
|
|
92
|
-
* @hidden
|
|
93
|
-
*/
|
|
94
|
-
function flatData(data, getChildren, itemMap) {
|
|
95
|
-
var stack = [];
|
|
96
|
-
var flatted = [];
|
|
97
|
-
// we start from end as push() improves performance by up to 50%
|
|
98
|
-
for (var i = data.length - 1; i >= 0; i--) {
|
|
99
|
-
var root = data[i];
|
|
100
|
-
stack.push({
|
|
101
|
-
root: root,
|
|
102
|
-
data: getChildren(root),
|
|
103
|
-
level: [i],
|
|
104
|
-
levelCount: data.length
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
while (stack.length > 0) {
|
|
108
|
-
var stackItem = stack.pop();
|
|
109
|
-
flatted.push(__assign(__assign({ dataItem: stackItem.root, level: __spreadArray([], stackItem.level, true) }, itemMap(stackItem.root)), { levelCount: stackItem.levelCount }));
|
|
110
|
-
if (stackItem.data.length) {
|
|
111
|
-
for (var i = stackItem.data.length - 1; i >= 0; i--) {
|
|
112
|
-
var root = stackItem.data[i];
|
|
113
|
-
stack.push({
|
|
114
|
-
root: root,
|
|
115
|
-
data: getChildren(root),
|
|
116
|
-
level: __spreadArray(__spreadArray([], stackItem.level, true), [i], false),
|
|
117
|
-
levelCount: stackItem.data.length
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
return flatted;
|
|
123
|
-
}
|
|
124
|
-
exports.flatData = flatData;
|
|
125
|
-
/**
|
|
126
|
-
* Creates a flat data array from the passed tree dataset.
|
|
127
|
-
*
|
|
128
|
-
* @param {object[]} dataset - The source dataset of data items.
|
|
129
|
-
* @param {string} expandField - The field which points to the expanded value of each data item.
|
|
130
|
-
* @param {string} subItemsField - The field which points to the subitems collection of each data item.
|
|
131
|
-
* @returns {object[]} - A collection of the generated data items that are in a flat structure.
|
|
132
|
-
*/
|
|
133
|
-
var treeToFlat = function (data, expandField, subItemsField) {
|
|
134
|
-
var expanded = function (dataItem) { return Boolean((0, kendo_react_common_1.getNestedValue)(expandField, dataItem)); };
|
|
135
|
-
var hasChildren = function (dataItem) { return Boolean((0, kendo_react_common_1.getNestedValue)(subItemsField, dataItem)); };
|
|
136
|
-
var getChildren = function (dataItem) {
|
|
137
|
-
var items = [];
|
|
138
|
-
if (expanded(dataItem) && hasChildren(dataItem)) {
|
|
139
|
-
items.push.apply(items, (0, kendo_react_common_1.getNestedValue)(subItemsField, dataItem));
|
|
140
|
-
}
|
|
141
|
-
return items;
|
|
142
|
-
};
|
|
143
|
-
var flatItems = function (dataItem, flatted, level) {
|
|
144
|
-
flatted.push(__assign(__assign({}, dataItem), { level: level }));
|
|
145
|
-
getChildren(dataItem).forEach(function (root) { return flatItems(root, flatted, level + 1); });
|
|
146
|
-
};
|
|
147
|
-
var flattedData = [];
|
|
148
|
-
data.forEach(function (root) { return flatItems(root, flattedData, 0); });
|
|
149
|
-
return flattedData;
|
|
150
|
-
};
|
|
151
|
-
exports.treeToFlat = treeToFlat;
|
|
152
|
-
/**
|
|
153
|
-
* Creates a tree from the passed dataset.
|
|
154
|
-
*
|
|
155
|
-
* @param {object[]} dataset - The source dataset of data items.
|
|
156
|
-
* @param {(item: object) => any} getId - A function which will return the id of the data item.
|
|
157
|
-
* @param {(item: object) => any} getParentId - A function which will return the data item id of its parent data item.
|
|
158
|
-
* @param {string} subItemsField - The field which points to the subitems collection of each data item.
|
|
159
|
-
* @returns {object[]} - A collection of the generated data items that are structured in a tree.
|
|
160
|
-
*/
|
|
161
|
-
var createDataTree = function (dataset, getId, getParentId, subItemsField) {
|
|
162
|
-
var hashTable = {}, dataTree = [], parentItem;
|
|
163
|
-
dataset.forEach(function (dataItem) { return hashTable[getId(dataItem)] = __assign({}, dataItem); });
|
|
164
|
-
dataset.forEach(function (dataItem) {
|
|
165
|
-
parentItem = hashTable[getParentId(dataItem)];
|
|
166
|
-
if (parentItem) {
|
|
167
|
-
parentItem[subItemsField] = parentItem[subItemsField] || [];
|
|
168
|
-
parentItem[subItemsField].push(hashTable[getId(dataItem)]);
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
dataTree.push(hashTable[getId(dataItem)]);
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
return dataTree;
|
|
175
|
-
};
|
|
176
|
-
exports.createDataTree = createDataTree;
|
|
177
|
-
/**
|
|
178
|
-
* Similar to the `Object.assign` function. Additionally, creates a new array for the subitems.
|
|
179
|
-
*
|
|
180
|
-
* @param {object} item - The source data item.
|
|
181
|
-
* @param {string} subItemsField - The field which points to the subitems collection of each data item.
|
|
182
|
-
* @param {object} propsToExtend - The props with which the source data item will be extended.
|
|
183
|
-
* @returns {object} - The target data item.
|
|
184
|
-
*/
|
|
185
|
-
var extendDataItem = function (item, subItemsField, propsToExtend) {
|
|
186
|
-
return (0, kendo_react_common_1.extendDataItem)(item, subItemsField, propsToExtend);
|
|
187
|
-
};
|
|
188
|
-
exports.extendDataItem = extendDataItem;
|
|
189
|
-
/**
|
|
190
|
-
* Removes the items from the passed `data` which match the passed `condition`.
|
|
191
|
-
*
|
|
192
|
-
* @param {any[]} data - The data tree.
|
|
193
|
-
* @param {string} subItemsField - The field which points to the subitems collection of each data item.
|
|
194
|
-
* @param {(item: object) => Boolean} condition - A function that will be executed for each data item
|
|
195
|
-
* in the tree data and the items for which returns true will be removed.
|
|
196
|
-
* @returns {any[]} - The new data tree.
|
|
197
|
-
*/
|
|
198
|
-
var removeItems = function (data, subItemsField, condition) {
|
|
199
|
-
var _a;
|
|
200
|
-
var newData = (0, kendo_react_common_1.mapTree)([(_a = {}, _a[subItemsField] = __spreadArray([], data, true), _a)], subItemsField, function (item) { return removeChild(item, condition, subItemsField); });
|
|
201
|
-
return __spreadArray([], newData[0][subItemsField], true);
|
|
202
|
-
};
|
|
203
|
-
exports.removeItems = removeItems;
|
|
204
|
-
/**
|
|
205
|
-
* @hidden
|
|
206
|
-
*/
|
|
207
|
-
var removeChild = function (item, condition, subItemsField) {
|
|
208
|
-
var _a;
|
|
209
|
-
var subItems = item[subItemsField] || [];
|
|
210
|
-
var childIndex = subItems.findIndex(condition);
|
|
211
|
-
if (childIndex !== -1) {
|
|
212
|
-
var newChildren = __spreadArray([], subItems, true);
|
|
213
|
-
newChildren.splice(childIndex, 1);
|
|
214
|
-
return __assign(__assign({}, item), (_a = {}, _a[subItemsField] = newChildren, _a));
|
|
215
|
-
}
|
|
216
|
-
return item;
|
|
217
|
-
};
|
|
218
|
-
/**
|
|
219
|
-
* Changes the `subItems` collection of each data item which matches the passed `condition`.
|
|
220
|
-
*
|
|
221
|
-
* @param {any[]} data - The data tree.
|
|
222
|
-
* @param {string} subItemsField - The field which points to the subitems collection of each data item.
|
|
223
|
-
* @param {(item: object) => Boolean} condition - A function that will be executed for each data item and
|
|
224
|
-
* will return `true` for items that have to change the subitems collection.
|
|
225
|
-
* @param {(subItems: object[]) => object[]} change - A function which
|
|
226
|
-
* has as a parameter the subitems collection of the matched items and which will return the new subitems collection.
|
|
227
|
-
* @returns {any[]} - The new data tree.
|
|
228
|
-
*/
|
|
229
|
-
var modifySubItems = function (data, subItemsField, condition, change) {
|
|
230
|
-
return (0, kendo_react_common_1.mapTree)(data, subItemsField, function (item) {
|
|
231
|
-
var _a;
|
|
232
|
-
return condition(item) ? __assign(__assign({}, item), (_a = {}, _a[subItemsField] = change(item[subItemsField] || []), _a)) :
|
|
233
|
-
item;
|
|
234
|
-
});
|
|
235
|
-
};
|
|
236
|
-
exports.modifySubItems = modifySubItems;
|
|
237
|
-
/**
|
|
238
|
-
* Returns the data item path in the tree based on the level parameter.
|
|
239
|
-
*
|
|
240
|
-
* @param {any[]} tree - The data tree.
|
|
241
|
-
* @param {number[]} level - The level of the target tree item.
|
|
242
|
-
* @param {string} subItemsField - The field which points to the subitems collection of each data item.
|
|
243
|
-
* @returns {any[]} - The path of the data item.
|
|
244
|
-
*/
|
|
245
|
-
var getItemPath = function (tree, level, subItemsField) {
|
|
246
|
-
return (0, kendo_react_common_1.getItemPath)(tree, level, subItemsField);
|
|
247
|
-
};
|
|
248
|
-
exports.getItemPath = getItemPath;
|
|
249
|
-
/**
|
|
250
|
-
* Moves the targeted item in the tree to another position.
|
|
251
|
-
*
|
|
252
|
-
* @param {any[]} data - The data tree.
|
|
253
|
-
* @param {number[]} target - The level of the target tree item which will be moved.
|
|
254
|
-
* @param {number[] | null} destination - The level of the destination tree item where the target item will be moved in.
|
|
255
|
-
* If it is null, the target item will be added at the root level.
|
|
256
|
-
* @param {string} subItemsField - The field which points to the subitems collection of each data item.
|
|
257
|
-
* @returns {any[]} - The new data tree.
|
|
258
|
-
*/
|
|
259
|
-
var moveTreeItem = function (data, target, destination, subItemsField) {
|
|
260
|
-
var tree = __spreadArray([], data, true);
|
|
261
|
-
var targetItemPath = (0, exports.getItemPath)(tree, target, subItemsField);
|
|
262
|
-
var targetItem = targetItemPath.pop();
|
|
263
|
-
var targetParent = targetItemPath.pop();
|
|
264
|
-
var targetItemIndex = target[target.length - 1];
|
|
265
|
-
if (destination) {
|
|
266
|
-
var destinationItemPath = (0, exports.getItemPath)(tree, destination, subItemsField);
|
|
267
|
-
var destinationItem = destinationItemPath.pop();
|
|
268
|
-
(targetParent ? targetParent[subItemsField] : tree).splice(targetItemIndex, 1);
|
|
269
|
-
destinationItem[subItemsField] = destinationItem[subItemsField] || [];
|
|
270
|
-
destinationItem[subItemsField].push(targetItem);
|
|
271
|
-
}
|
|
272
|
-
else {
|
|
273
|
-
(targetParent ? targetParent[subItemsField] : tree).splice(targetItemIndex, 1);
|
|
274
|
-
tree.push(targetItem);
|
|
275
|
-
}
|
|
276
|
-
return tree;
|
|
277
|
-
};
|
|
278
|
-
exports.moveTreeItem = moveTreeItem;
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setExpandedState = exports.getGroupIds = exports.setGroupIds = void 0;
|
|
4
|
-
var kendo_react_common_1 = require("@progress/kendo-react-common");
|
|
5
|
-
var GROUP_ID_FIELD = 'groupId';
|
|
6
|
-
var GROUP_SUBITEMS_COLLECTION = 'items';
|
|
7
|
-
/**
|
|
8
|
-
* @hidden
|
|
9
|
-
*/
|
|
10
|
-
var setGroupId = function (group, depth, parentValue) {
|
|
11
|
-
if (group.items) {
|
|
12
|
-
group[GROUP_ID_FIELD] = "".concat(parentValue).concat(parentValue && '_').concat(group.value).concat(group.field);
|
|
13
|
-
if (depth > 1) {
|
|
14
|
-
group.items.forEach(function (item) { return setGroupId(item, depth - 1, group[GROUP_ID_FIELD]); });
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* Add unique ids to the group items inside data.
|
|
20
|
-
*
|
|
21
|
-
* @param {{data: any[], group: GroupDescriptor[]}} options - The options to be processed.
|
|
22
|
-
*/
|
|
23
|
-
var setGroupIds = function (options) {
|
|
24
|
-
var group = options.group;
|
|
25
|
-
if (group && group.length && options.data) {
|
|
26
|
-
return options.data.forEach(function (item) { return setGroupId(item, group.length, ''); });
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
exports.setGroupIds = setGroupIds;
|
|
30
|
-
/**
|
|
31
|
-
* Get all group ids from the data.
|
|
32
|
-
*
|
|
33
|
-
* @param {{data: any[]}} options - The options to be processed.
|
|
34
|
-
* @returns {string[]} - Collection of all group ids from the data.
|
|
35
|
-
*/
|
|
36
|
-
var getGroupIds = function (options) {
|
|
37
|
-
var groupIds = [];
|
|
38
|
-
(0, kendo_react_common_1.mapTree)(options.data, GROUP_SUBITEMS_COLLECTION, function (item) {
|
|
39
|
-
if (item[GROUP_ID_FIELD]) {
|
|
40
|
-
groupIds.push(item[GROUP_ID_FIELD]);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
return groupIds;
|
|
44
|
-
};
|
|
45
|
-
exports.getGroupIds = getGroupIds;
|
|
46
|
-
/**
|
|
47
|
-
* Apply the `expanded` prop to the group items in data based on the provided collection of group ids.
|
|
48
|
-
*
|
|
49
|
-
* @param {{data: any[], collapsedIds: string[]}} options - The options to be processed.
|
|
50
|
-
* @returns {string[]} - Collection of all group ids from the data.
|
|
51
|
-
*/
|
|
52
|
-
var setExpandedState = function (options) {
|
|
53
|
-
// TODO: no need to traverse whole tree, only group levels
|
|
54
|
-
return (0, kendo_react_common_1.mapTree)(options.data, GROUP_SUBITEMS_COLLECTION, function (item) {
|
|
55
|
-
return (0, kendo_react_common_1.extendDataItem)(item, GROUP_SUBITEMS_COLLECTION, {
|
|
56
|
-
expanded: !options.collapsedIds.some(function (groupId) { return groupId === item[GROUP_ID_FIELD]; })
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
};
|
|
60
|
-
exports.setExpandedState = setExpandedState;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @hidden
|
|
3
|
-
*/
|
|
4
|
-
export declare function tableColumnsVirtualization(args: {
|
|
5
|
-
enabled?: boolean;
|
|
6
|
-
columns: {
|
|
7
|
-
width?: string | number;
|
|
8
|
-
locked?: boolean;
|
|
9
|
-
}[];
|
|
10
|
-
tableViewPortWidth: number;
|
|
11
|
-
scrollLeft: number;
|
|
12
|
-
}): {
|
|
13
|
-
colSpans: number[];
|
|
14
|
-
hiddenColumns: boolean[];
|
|
15
|
-
};
|