@progress/kendo-react-pivotgrid 5.6.0-dev.202208291418 → 5.6.0-dev.202209021051
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 +2 -2
- package/README.md +4 -4
- package/about.md +1 -1
- package/dist/cdn/js/kendo-react-pivotgrid.js +1 -1
- package/dist/es/PivotGrid.d.ts +14 -1
- package/dist/es/PivotGrid.js +68 -17
- package/dist/es/components/Cell.d.ts +8 -0
- package/dist/es/components/Cell.js +1 -1
- package/dist/es/components/HeaderCell.d.ts +4 -0
- package/dist/es/components/HeaderCell.js +2 -2
- package/dist/es/components/Row.d.ts +8 -0
- package/dist/es/components/Row.js +1 -1
- package/dist/es/hooks/usePivotLocalDataService.d.ts +6 -0
- package/dist/es/hooks/usePivotLocalDataService.js +18 -6
- package/dist/es/main.d.ts +2 -1
- package/dist/es/main.js +1 -0
- package/dist/es/messages/index.d.ts +5 -0
- package/dist/es/messages/index.js +5 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/utils/index.d.ts +13 -2
- package/dist/es/utils/index.js +19 -0
- package/dist/es/utils/navigation.d.ts +22 -0
- package/dist/es/utils/navigation.js +265 -0
- package/dist/npm/PivotGrid.d.ts +14 -1
- package/dist/npm/PivotGrid.js +68 -17
- package/dist/npm/components/Cell.d.ts +8 -0
- package/dist/npm/components/Cell.js +1 -1
- package/dist/npm/components/HeaderCell.d.ts +4 -0
- package/dist/npm/components/HeaderCell.js +2 -2
- package/dist/npm/components/Row.d.ts +8 -0
- package/dist/npm/components/Row.js +1 -1
- package/dist/npm/hooks/usePivotLocalDataService.d.ts +6 -0
- package/dist/npm/hooks/usePivotLocalDataService.js +18 -6
- package/dist/npm/main.d.ts +2 -1
- package/dist/npm/main.js +3 -1
- package/dist/npm/messages/index.d.ts +5 -0
- package/dist/npm/messages/index.js +6 -1
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/utils/index.d.ts +13 -2
- package/dist/npm/utils/index.js +21 -1
- package/dist/npm/utils/navigation.d.ts +22 -0
- package/dist/npm/utils/navigation.js +268 -0
- package/dist/systemjs/kendo-react-pivotgrid.js +1 -1
- package/package.json +15 -12
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.messages = exports.configuratorButtonLabel = exports.configuratorMissingFields = exports.configuratorEditorSearchPlaceholder = exports.configuratorEditorSearchTitle = exports.configuratorMeasuresTitle = exports.configuratorRowsTitle = exports.configuratorColumnsTitle = exports.configuratorApply = exports.configuratorCancel = exports.configuratorTitle = exports.fieldMenuApply = exports.fieldMenuReset = void 0;
|
|
4
|
+
exports.messages = exports.configuratorButtonLabel = exports.configuratorMissingFields = exports.configuratorEditorSearchPlaceholder = exports.configuratorEditorSearchTitle = exports.configuratorMeasuresTitle = exports.configuratorRowsTitle = exports.configuratorColumnsTitle = exports.configuratorApply = exports.configuratorCancel = exports.configuratorTitle = exports.fieldMenuApply = exports.fieldMenuReset = exports.emptyCellAriaLabel = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* @hidden
|
|
7
|
+
*/
|
|
8
|
+
exports.emptyCellAriaLabel = 'pivotgrid.emptyCellAriaLabel';
|
|
5
9
|
/**
|
|
6
10
|
* @hidden
|
|
7
11
|
*/
|
|
@@ -54,6 +58,7 @@ exports.configuratorButtonLabel = 'pivotgrid.configuratorButtonLabel';
|
|
|
54
58
|
* @hidden
|
|
55
59
|
*/
|
|
56
60
|
exports.messages = (_a = {},
|
|
61
|
+
_a[exports.emptyCellAriaLabel] = 'PivotGrid component. Use the arrow keys to navigate.',
|
|
57
62
|
_a[exports.fieldMenuReset] = 'Reset',
|
|
58
63
|
_a[exports.fieldMenuApply] = 'Apply',
|
|
59
64
|
_a[exports.configuratorCancel] = 'Cancel',
|
|
@@ -8,7 +8,7 @@ exports.packageMetadata = {
|
|
|
8
8
|
name: '@progress/kendo-react-pivotgrid',
|
|
9
9
|
productName: 'KendoReact',
|
|
10
10
|
productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],
|
|
11
|
-
publishDate:
|
|
11
|
+
publishDate: 1662115406,
|
|
12
12
|
version: '',
|
|
13
13
|
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'
|
|
14
14
|
};
|
|
@@ -1,5 +1,16 @@
|
|
|
1
|
-
import { AxisDescriptor } from '@progress/kendo-pivotgrid-common';
|
|
2
|
-
|
|
1
|
+
import { AxisDescriptor, PivotDataItem, PivotGridField, Tuple } from '@progress/kendo-pivotgrid-common';
|
|
2
|
+
/**
|
|
3
|
+
* Generates suitable data for Charting visualization.
|
|
4
|
+
*
|
|
5
|
+
* @param rows - The PivotGrid's rows prop.
|
|
6
|
+
* @param columns - The PivotGrid's columns prop.
|
|
7
|
+
* @param data - The PivotGrid's data prop.
|
|
8
|
+
* @returns - Suitable data for Charting visualization.
|
|
9
|
+
*/
|
|
10
|
+
export declare const dataCells: (rows?: Tuple[], columns?: Tuple[], data?: PivotDataItem[]) => {
|
|
11
|
+
row: string[];
|
|
12
|
+
cells: PivotDataItem[];
|
|
13
|
+
}[];
|
|
3
14
|
/**
|
|
4
15
|
* @hidden
|
|
5
16
|
*/
|
package/dist/npm/utils/index.js
CHANGED
|
@@ -9,7 +9,27 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
9
9
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.compareFields = exports.findFilters = exports.findFilter = exports.generateDataKey = exports.generateKey = exports.extractDefaultFields = exports.flatMap = exports.recursiveMap = void 0;
|
|
12
|
+
exports.compareFields = exports.findFilters = exports.findFilter = exports.generateDataKey = exports.generateKey = exports.extractDefaultFields = exports.flatMap = exports.recursiveMap = exports.dataCells = void 0;
|
|
13
|
+
var kendo_pivotgrid_common_1 = require("@progress/kendo-pivotgrid-common");
|
|
14
|
+
/**
|
|
15
|
+
* Generates suitable data for Charting visualization.
|
|
16
|
+
*
|
|
17
|
+
* @param rows - The PivotGrid's rows prop.
|
|
18
|
+
* @param columns - The PivotGrid's columns prop.
|
|
19
|
+
* @param data - The PivotGrid's data prop.
|
|
20
|
+
* @returns - Suitable data for Charting visualization.
|
|
21
|
+
*/
|
|
22
|
+
var dataCells = function (rows, columns, data) {
|
|
23
|
+
var pRows = JSON.parse(JSON.stringify(rows || []));
|
|
24
|
+
var pColumns = JSON.parse(JSON.stringify(columns || []));
|
|
25
|
+
var pData = JSON.parse(JSON.stringify(data || []));
|
|
26
|
+
var rowsTree = (0, kendo_pivotgrid_common_1.toTree)(pRows);
|
|
27
|
+
var _a = (0, kendo_pivotgrid_common_1.toRows)(rowsTree), rowHeaderLeafs = _a[1], rowHeaderDepth = _a[2];
|
|
28
|
+
var columnsTree = (0, kendo_pivotgrid_common_1.toTree)(pColumns);
|
|
29
|
+
var _b = (0, kendo_pivotgrid_common_1.toColumns)(columnsTree), columnHeaderLeafs = _b[1], columnHeaderBreadth = _b[3];
|
|
30
|
+
return (0, kendo_pivotgrid_common_1.toData)(pData, columnHeaderLeafs, rowHeaderLeafs, columnHeaderBreadth, rowHeaderDepth);
|
|
31
|
+
};
|
|
32
|
+
exports.dataCells = dataCells;
|
|
13
33
|
/**
|
|
14
34
|
* @hidden
|
|
15
35
|
*/
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @hidden
|
|
3
|
+
*/
|
|
4
|
+
declare class PivotGridNavigation {
|
|
5
|
+
root: HTMLElement | null;
|
|
6
|
+
get elements(): HTMLElement[];
|
|
7
|
+
get first(): HTMLElement | null;
|
|
8
|
+
get last(): HTMLElement | null;
|
|
9
|
+
selectors: string[];
|
|
10
|
+
tabIndex: number;
|
|
11
|
+
private eventHandlers;
|
|
12
|
+
private mouseEvents;
|
|
13
|
+
private keyboardEvents;
|
|
14
|
+
constructor(settings: {
|
|
15
|
+
tabIndex: number;
|
|
16
|
+
});
|
|
17
|
+
start(root: HTMLElement): void;
|
|
18
|
+
stop(): void;
|
|
19
|
+
focusElement(element: HTMLElement | null, previous: HTMLElement | null): void;
|
|
20
|
+
update: () => void;
|
|
21
|
+
}
|
|
22
|
+
export { PivotGridNavigation };
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PivotGridNavigation = void 0;
|
|
4
|
+
var scrollableValuesSel = '.k-pivotgrid .k-pivotgrid-values';
|
|
5
|
+
var scrollableColumnHeaderSel = '.k-pivotgrid .k-pivotgrid-column-headers';
|
|
6
|
+
var scrollableRowHeaderSel = '.k-pivotgrid .k-pivotgrid-row-headers';
|
|
7
|
+
var emptyCellSel = '.k-pivotgrid > .k-pivotgrid-empty-cell';
|
|
8
|
+
var tableSel = 'table.k-pivotgrid-table';
|
|
9
|
+
var cellSel = '.k-pivotgrid-cell';
|
|
10
|
+
var scrollables = [scrollableValuesSel, scrollableColumnHeaderSel, scrollableRowHeaderSel].join(',');
|
|
11
|
+
var selectors = [
|
|
12
|
+
emptyCellSel,
|
|
13
|
+
[scrollableColumnHeaderSel, tableSel, cellSel].join(' '),
|
|
14
|
+
[scrollableRowHeaderSel, tableSel, cellSel].join(' '),
|
|
15
|
+
[scrollableValuesSel, tableSel, cellSel].join(' ')
|
|
16
|
+
];
|
|
17
|
+
var onEnter = function (target, nav, ev) {
|
|
18
|
+
var icon = target.querySelector('.k-icon');
|
|
19
|
+
if (icon) {
|
|
20
|
+
var index_1 = nav.elements.indexOf(target);
|
|
21
|
+
nav.update = function () {
|
|
22
|
+
nav.focusElement(nav.elements[index_1], null);
|
|
23
|
+
nav.update = function () { };
|
|
24
|
+
};
|
|
25
|
+
icon.click();
|
|
26
|
+
ev.preventDefault();
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
var tryScrollLeft = function (target, scrollable, elToScroll) {
|
|
30
|
+
if (target.offsetLeft < scrollable.scrollLeft) {
|
|
31
|
+
elToScroll.scrollLeft = target.offsetLeft;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
var tryScrollRight = function (target, scrollable, elToScroll) {
|
|
35
|
+
if (target.offsetLeft + target.offsetWidth > scrollable.scrollLeft + scrollable.offsetWidth &&
|
|
36
|
+
target.offsetWidth < scrollable.offsetWidth) {
|
|
37
|
+
elToScroll.scrollLeft = target.offsetLeft + target.offsetWidth - scrollable.offsetWidth;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
var tryScrollUp = function (target, scrollable, elToScroll) {
|
|
41
|
+
if (scrollable.scrollTop && target.offsetTop < scrollable.scrollTop) {
|
|
42
|
+
elToScroll.scrollTop = target.offsetTop;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
var tryScrollDown = function (target, scrollable, elToScroll) {
|
|
46
|
+
if (target.offsetTop + target.offsetHeight > scrollable.scrollTop + scrollable.offsetHeight &&
|
|
47
|
+
target.offsetHeight < scrollable.offsetHeight) {
|
|
48
|
+
elToScroll.scrollTop = target.offsetTop + target.offsetHeight - scrollable.offsetHeight;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
var scrollTo = function (target, root, scrollFunc) {
|
|
52
|
+
var elToScroll = root.querySelector(scrollableValuesSel);
|
|
53
|
+
var scrollable = target && target.closest(scrollables);
|
|
54
|
+
if (!elToScroll || !scrollable || !target) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
scrollFunc.forEach(function (scroll) { return scroll(target, scrollable, elToScroll); });
|
|
58
|
+
};
|
|
59
|
+
var tableMap = function (table) {
|
|
60
|
+
var rows = Array.from(table.rows);
|
|
61
|
+
var colsCount = Array.from((rows && rows[0] && rows[0].cells) || [])
|
|
62
|
+
.map(function (c) { return c.colSpan; })
|
|
63
|
+
.reduce(function (prev, cur) { return prev + cur; }, 0);
|
|
64
|
+
var map = rows.map(function () { return new Array(colsCount); });
|
|
65
|
+
rows.forEach(function (row, r) {
|
|
66
|
+
var curColSpan = 0;
|
|
67
|
+
Array.from(row.cells).forEach(function (c) {
|
|
68
|
+
for (var colSp = 0; colSp < c.colSpan; colSp++) {
|
|
69
|
+
for (var rowSp = 0; rowSp < c.rowSpan; rowSp++) {
|
|
70
|
+
var ind = map[r + rowSp].findIndex(function (val, curInd) { return curInd >= curColSpan && !val; });
|
|
71
|
+
map[r + rowSp][ind] = c;
|
|
72
|
+
}
|
|
73
|
+
curColSpan++;
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
return map;
|
|
78
|
+
};
|
|
79
|
+
var navigationMap = function (root) {
|
|
80
|
+
var columnHeader = tableMap(root.querySelector([scrollableColumnHeaderSel, tableSel].join(' ')));
|
|
81
|
+
var rowHeader = tableMap(root.querySelector([scrollableRowHeaderSel, tableSel].join(' ')));
|
|
82
|
+
var values = tableMap(root.querySelector([scrollableValuesSel, tableSel].join(' ')));
|
|
83
|
+
var emptyCell = root.querySelector(emptyCellSel);
|
|
84
|
+
var emptyCellRow = new Array(rowHeader[0].length).fill(emptyCell);
|
|
85
|
+
var map = [];
|
|
86
|
+
for (var i = 0; i < columnHeader.length; i++) {
|
|
87
|
+
map.push(emptyCellRow.concat(columnHeader[i]));
|
|
88
|
+
}
|
|
89
|
+
for (var i = 0; i < rowHeader.length; i++) {
|
|
90
|
+
map.push(rowHeader[i].concat(values[i]));
|
|
91
|
+
}
|
|
92
|
+
return map;
|
|
93
|
+
};
|
|
94
|
+
var getTargetPos = function (map, target) {
|
|
95
|
+
for (var r = 0; r < map.length; r++) {
|
|
96
|
+
for (var c = 0; c < map[r].length; c++) {
|
|
97
|
+
if (map[r][c] === target) {
|
|
98
|
+
return [r, c];
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return [-1, -1];
|
|
103
|
+
};
|
|
104
|
+
var cellAt = function (root, target, pos) {
|
|
105
|
+
var map = navigationMap(root);
|
|
106
|
+
var targetPos = getTargetPos(map, target);
|
|
107
|
+
var nextPos = [targetPos[0] + pos[0], targetPos[1] + pos[1]];
|
|
108
|
+
var next = map[nextPos[0]] && map[nextPos[0]][nextPos[1]];
|
|
109
|
+
while (next && next === target) {
|
|
110
|
+
nextPos = [nextPos[0] + pos[0], nextPos[1] + pos[1]];
|
|
111
|
+
next = map[nextPos[0]] && map[nextPos[0]][nextPos[1]];
|
|
112
|
+
}
|
|
113
|
+
return next;
|
|
114
|
+
};
|
|
115
|
+
var keyboardEvents = {
|
|
116
|
+
keydown: {
|
|
117
|
+
ArrowLeft: function (target, nav, ev) {
|
|
118
|
+
ev.preventDefault();
|
|
119
|
+
var next = cellAt(nav.root, target, [0, -1]);
|
|
120
|
+
nav.focusElement(next, target);
|
|
121
|
+
scrollTo(next, nav.root, [tryScrollRight, tryScrollLeft, tryScrollDown, tryScrollUp]);
|
|
122
|
+
},
|
|
123
|
+
ArrowRight: function (target, nav, ev) {
|
|
124
|
+
ev.preventDefault();
|
|
125
|
+
var next = cellAt(nav.root, target, [0, 1]);
|
|
126
|
+
nav.focusElement(next, target);
|
|
127
|
+
scrollTo(next, nav.root, [tryScrollLeft, tryScrollRight, tryScrollDown, tryScrollUp]);
|
|
128
|
+
},
|
|
129
|
+
ArrowUp: function (target, nav, ev) {
|
|
130
|
+
ev.preventDefault();
|
|
131
|
+
var next = cellAt(nav.root, target, [-1, 0]);
|
|
132
|
+
nav.focusElement(next, target);
|
|
133
|
+
scrollTo(next, nav.root, [tryScrollRight, tryScrollLeft, tryScrollDown, tryScrollUp]);
|
|
134
|
+
},
|
|
135
|
+
ArrowDown: function (target, nav, ev) {
|
|
136
|
+
ev.preventDefault();
|
|
137
|
+
var next = cellAt(nav.root, target, [1, 0]);
|
|
138
|
+
nav.focusElement(next, target);
|
|
139
|
+
scrollTo(next, nav.root, [tryScrollRight, tryScrollLeft, tryScrollUp, tryScrollDown]);
|
|
140
|
+
},
|
|
141
|
+
Enter: onEnter,
|
|
142
|
+
Space: onEnter,
|
|
143
|
+
Home: function (target, nav, ev) {
|
|
144
|
+
var map = navigationMap(nav.root);
|
|
145
|
+
var row = ev.ctrlKey ? map[0] : (map.find(function (ro) { return Boolean(ro.find(function (x) { return x === target; })); }) || []);
|
|
146
|
+
var next = row[0];
|
|
147
|
+
if (next) {
|
|
148
|
+
nav.focusElement(next, target);
|
|
149
|
+
scrollTo(next, nav.root, [tryScrollRight, tryScrollLeft, tryScrollDown, tryScrollUp]);
|
|
150
|
+
ev.preventDefault();
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
End: function (target, nav, ev) {
|
|
154
|
+
var map = navigationMap(nav.root);
|
|
155
|
+
var row = ev.ctrlKey ? map[map.length - 1] : (map.find(function (ro) { return Boolean(ro.find(function (x) { return x === target; })); }) || []);
|
|
156
|
+
var next = row && row[row.length - 1] || null;
|
|
157
|
+
if (next) {
|
|
158
|
+
nav.focusElement(next, target);
|
|
159
|
+
scrollTo(next, nav.root, [tryScrollLeft, tryScrollRight, tryScrollUp, tryScrollDown]);
|
|
160
|
+
ev.preventDefault();
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
var mouseEvents = {
|
|
166
|
+
click: function (target, nav) {
|
|
167
|
+
if (target && target instanceof HTMLElement) {
|
|
168
|
+
var prev = nav.elements.find(function (c) { return c.hasAttribute('tabindex'); }) || null;
|
|
169
|
+
nav.focusElement(target, prev);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
/**
|
|
174
|
+
* @hidden
|
|
175
|
+
*/
|
|
176
|
+
var PivotGridNavigation = /** @class */ (function () {
|
|
177
|
+
function PivotGridNavigation(settings) {
|
|
178
|
+
this.root = null;
|
|
179
|
+
this.selectors = [];
|
|
180
|
+
this.tabIndex = 0;
|
|
181
|
+
this.eventHandlers = {};
|
|
182
|
+
this.mouseEvents = {};
|
|
183
|
+
this.keyboardEvents = {};
|
|
184
|
+
this.update = function () { };
|
|
185
|
+
this.selectors = selectors;
|
|
186
|
+
this.mouseEvents = mouseEvents;
|
|
187
|
+
this.keyboardEvents = keyboardEvents;
|
|
188
|
+
this.tabIndex = settings.tabIndex;
|
|
189
|
+
}
|
|
190
|
+
Object.defineProperty(PivotGridNavigation.prototype, "elements", {
|
|
191
|
+
get: function () {
|
|
192
|
+
return this.root ? Array.from(this.root.querySelectorAll(this.selectors.join(','))) : [];
|
|
193
|
+
},
|
|
194
|
+
enumerable: false,
|
|
195
|
+
configurable: true
|
|
196
|
+
});
|
|
197
|
+
Object.defineProperty(PivotGridNavigation.prototype, "first", {
|
|
198
|
+
get: function () {
|
|
199
|
+
return (this.root && this.root.querySelector(this.selectors.join(','))) || null;
|
|
200
|
+
},
|
|
201
|
+
enumerable: false,
|
|
202
|
+
configurable: true
|
|
203
|
+
});
|
|
204
|
+
Object.defineProperty(PivotGridNavigation.prototype, "last", {
|
|
205
|
+
get: function () {
|
|
206
|
+
var all = this.elements;
|
|
207
|
+
return all[all.length - 1] || null;
|
|
208
|
+
},
|
|
209
|
+
enumerable: false,
|
|
210
|
+
configurable: true
|
|
211
|
+
});
|
|
212
|
+
PivotGridNavigation.prototype.start = function (root) {
|
|
213
|
+
var _this = this;
|
|
214
|
+
this.root = root;
|
|
215
|
+
var _loop_1 = function (eventType) {
|
|
216
|
+
if (this_1.mouseEvents[eventType]) {
|
|
217
|
+
this_1.eventHandlers[eventType] = (function (ev) {
|
|
218
|
+
var target = ev.target instanceof Element && ev.target.closest(_this.selectors.join(','));
|
|
219
|
+
if (target) {
|
|
220
|
+
_this.mouseEvents[eventType].call(undefined, target, _this, ev);
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
root.addEventListener(eventType, this_1.eventHandlers[eventType]);
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
var this_1 = this;
|
|
227
|
+
for (var eventType in this.mouseEvents) {
|
|
228
|
+
_loop_1(eventType);
|
|
229
|
+
}
|
|
230
|
+
var _loop_2 = function (eventType) {
|
|
231
|
+
if (this_2.keyboardEvents[eventType]) {
|
|
232
|
+
this_2.eventHandlers[eventType] = (function (ev) {
|
|
233
|
+
var target = ev.target instanceof Element && ev.target.closest(_this.selectors.join(','));
|
|
234
|
+
var key = ev.key === ' ' ? 'Space' : ev.key;
|
|
235
|
+
if (target && _this.keyboardEvents[eventType][key]) {
|
|
236
|
+
_this.keyboardEvents[eventType][key].call(undefined, target, _this, ev);
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
root.addEventListener(eventType, this_2.eventHandlers[eventType]);
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
var this_2 = this;
|
|
243
|
+
for (var eventType in this.keyboardEvents) {
|
|
244
|
+
_loop_2(eventType);
|
|
245
|
+
}
|
|
246
|
+
};
|
|
247
|
+
PivotGridNavigation.prototype.stop = function () {
|
|
248
|
+
if (this.root) {
|
|
249
|
+
for (var eventType in this.eventHandlers) {
|
|
250
|
+
if (this.eventHandlers[eventType]) {
|
|
251
|
+
this.root.removeEventListener(eventType, this.eventHandlers[eventType]);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
this.root = null;
|
|
256
|
+
};
|
|
257
|
+
PivotGridNavigation.prototype.focusElement = function (element, previous) {
|
|
258
|
+
if (element) {
|
|
259
|
+
if (previous) {
|
|
260
|
+
previous.removeAttribute('tabindex');
|
|
261
|
+
}
|
|
262
|
+
element.setAttribute('tabindex', String(this.tabIndex));
|
|
263
|
+
element.focus({ preventScroll: true });
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
return PivotGridNavigation;
|
|
267
|
+
}());
|
|
268
|
+
exports.PivotGridNavigation = PivotGridNavigation;
|