@progress/kendo-react-grid 5.10.0-dev.202301031638 → 5.10.0-dev.202301091032
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/js/kendo-react-grid.js +1 -1
- package/dist/es/Grid.d.ts +6 -0
- package/dist/es/Grid.js +71 -67
- package/dist/es/GridToolbar.js +5 -1
- package/dist/es/VirtualScroll.d.ts +2 -2
- package/dist/es/VirtualScroll.js +38 -30
- package/dist/es/cells/GridCell.js +1 -1
- package/dist/es/cells/GridDetailCell.js +1 -1
- package/dist/es/cells/GridDetailHierarchyCell.js +1 -1
- package/dist/es/cells/GridEditCell.js +1 -1
- package/dist/es/cells/GridFilterCell.js +8 -8
- package/dist/es/cells/GridGroupCell.js +3 -3
- package/dist/es/cells/GridHierarchyCell.js +3 -2
- package/dist/es/columnMenu/GridColumnMenuWrapper.d.ts +2 -2
- package/dist/es/columnMenu/GridColumnMenuWrapper.js +1 -1
- package/dist/es/drag/ColumnDraggable.js +1 -1
- package/dist/es/footer/Footer.d.ts +2 -0
- package/dist/es/footer/Footer.js +7 -3
- package/dist/es/footer/FooterRow.js +3 -2
- package/dist/es/header/FilterRow.d.ts +2 -1
- package/dist/es/header/FilterRow.js +4 -3
- package/dist/es/header/Header.d.ts +2 -0
- package/dist/es/header/Header.js +7 -4
- package/dist/es/header/HeaderRow.js +25 -31
- package/dist/es/interfaces/GridColumnProps.d.ts +1 -1
- package/dist/es/interfaces/GridFilterCellProps.d.ts +12 -0
- package/dist/es/interfaces/GridProps.d.ts +10 -0
- package/dist/es/interfaces/GridToolbarProps.d.ts +16 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/rows/GridRow.js +2 -2
- package/dist/es/utils/index.d.ts +8 -0
- package/dist/es/utils/index.js +9 -0
- package/dist/npm/Grid.d.ts +6 -0
- package/dist/npm/Grid.js +69 -65
- package/dist/npm/GridToolbar.js +5 -1
- package/dist/npm/VirtualScroll.d.ts +2 -2
- package/dist/npm/VirtualScroll.js +38 -30
- package/dist/npm/cells/GridCell.js +1 -1
- package/dist/npm/cells/GridDetailCell.js +1 -1
- package/dist/npm/cells/GridDetailHierarchyCell.js +1 -1
- package/dist/npm/cells/GridEditCell.js +1 -1
- package/dist/npm/cells/GridFilterCell.js +7 -7
- package/dist/npm/cells/GridGroupCell.js +3 -3
- package/dist/npm/cells/GridHierarchyCell.js +3 -2
- package/dist/npm/columnMenu/GridColumnMenuWrapper.d.ts +2 -2
- package/dist/npm/columnMenu/GridColumnMenuWrapper.js +1 -1
- package/dist/npm/drag/ColumnDraggable.js +1 -1
- package/dist/npm/footer/Footer.d.ts +2 -0
- package/dist/npm/footer/Footer.js +7 -3
- package/dist/npm/footer/FooterRow.js +3 -2
- package/dist/npm/header/FilterRow.d.ts +2 -1
- package/dist/npm/header/FilterRow.js +4 -3
- package/dist/npm/header/Header.d.ts +2 -0
- package/dist/npm/header/Header.js +6 -3
- package/dist/npm/header/HeaderRow.js +25 -31
- package/dist/npm/interfaces/GridColumnProps.d.ts +1 -1
- package/dist/npm/interfaces/GridFilterCellProps.d.ts +12 -0
- package/dist/npm/interfaces/GridProps.d.ts +10 -0
- package/dist/npm/interfaces/GridToolbarProps.d.ts +16 -0
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/rows/GridRow.js +2 -2
- package/dist/npm/utils/index.d.ts +8 -0
- package/dist/npm/utils/index.js +10 -1
- package/dist/systemjs/kendo-react-grid.js +1 -1
- package/package.json +18 -18
package/dist/npm/Grid.js
CHANGED
|
@@ -102,6 +102,7 @@ var Grid = /** @class */ (function (_super) {
|
|
|
102
102
|
var _this = _super.call(this, props) || this;
|
|
103
103
|
_this._columns = [];
|
|
104
104
|
_this._columnsMap = [[]];
|
|
105
|
+
_this._columnsMutations = 0;
|
|
105
106
|
_this.contextStateRef = { current: undefined };
|
|
106
107
|
_this.navigationStateRef = { current: undefined };
|
|
107
108
|
_this._data = [];
|
|
@@ -161,7 +162,7 @@ var Grid = /** @class */ (function (_super) {
|
|
|
161
162
|
if (_this._footer) {
|
|
162
163
|
_this._footer.setScrollLeft(scrollLeft);
|
|
163
164
|
}
|
|
164
|
-
if (_this.vs) {
|
|
165
|
+
if (_this.vs && scrollTop !== _this.wrapperScrollTop) {
|
|
165
166
|
_this.vs.scrollHandler(event);
|
|
166
167
|
}
|
|
167
168
|
(0, kendo_react_common_1.dispatchEvent)(_this.props.onScroll, event, _this, undefined);
|
|
@@ -250,6 +251,7 @@ var Grid = /** @class */ (function (_super) {
|
|
|
250
251
|
};
|
|
251
252
|
_this.onResize = function (index, newWidth, oldWidth, nativeEvent, end, targetId) {
|
|
252
253
|
_this.resetTableWidth();
|
|
254
|
+
_this._columnsMutations++;
|
|
253
255
|
if (_this.props.onColumnResize) {
|
|
254
256
|
_this.props.onColumnResize.call(undefined, {
|
|
255
257
|
columns: _this.columns,
|
|
@@ -263,6 +265,19 @@ var Grid = /** @class */ (function (_super) {
|
|
|
263
265
|
});
|
|
264
266
|
}
|
|
265
267
|
};
|
|
268
|
+
_this.childrenToArray = (0, kendo_react_common_1.memoizeOne)(function (children) {
|
|
269
|
+
return React.Children.toArray(children);
|
|
270
|
+
});
|
|
271
|
+
_this.readColumns = (0, kendo_react_common_1.memoizeOne)(function (children, idPrefix, _mutationsCount) {
|
|
272
|
+
var columnElements = children.filter(function (child) { return child && child.type && child.type.displayName === 'KendoReactGridColumn'; });
|
|
273
|
+
return (0, index_1.readColumns)(columnElements, _this.columns, { prevId: 0, idPrefix: idPrefix });
|
|
274
|
+
});
|
|
275
|
+
_this.mapColumns = (0, kendo_react_common_1.memoizeOne)(function (columns) {
|
|
276
|
+
return (0, kendo_react_data_tools_1.mapColumns)(columns);
|
|
277
|
+
});
|
|
278
|
+
_this.getHeaderRow = (0, kendo_react_common_1.memoizeOne)(function (sort, sortable, group, groupable, filter, filterable, filterOperators, headerCellRender, columnMenu, columns, columnsMap) {
|
|
279
|
+
return (React.createElement(HeaderRow_1.HeaderRow, { sort: sort, sortable: sortable, sortChange: _this.sortChange, group: group || [], groupable: groupable, groupChange: _this.groupChange, filter: filter, filterable: filterable, filterOperators: filterOperators, filterChange: _this.filterChange, columnMenu: columnMenu, selectionChange: _this.onHeaderSelectionChange, columns: columns, columnResize: _this.columnResize, pressHandler: _this.dragLogic.pressHandler, dragHandler: _this.dragLogic.dragHandler, releaseHandler: _this.dragLogic.releaseHandler, columnsMap: columnsMap, cellRender: headerCellRender, isRtl: _this.isRtl, dragClue: _this.dragLogic.dragClueRef, headerRef: _this.headerElementRef, containerRef: _this.vs.containerRef }));
|
|
280
|
+
});
|
|
266
281
|
_this.resolveTitle = function (field) {
|
|
267
282
|
var column = _this._columns.find(function (c) { return c.field === field; });
|
|
268
283
|
var title = column && (column.title || column.field);
|
|
@@ -409,6 +424,7 @@ var Grid = /** @class */ (function (_super) {
|
|
|
409
424
|
* @hidden
|
|
410
425
|
*/
|
|
411
426
|
Grid.prototype.render = function () {
|
|
427
|
+
var _a, _b, _c;
|
|
412
428
|
var _this = this;
|
|
413
429
|
var total = this.props.total || 0;
|
|
414
430
|
var idPrefix = kendo_react_data_tools_1.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef);
|
|
@@ -427,7 +443,7 @@ var Grid = /** @class */ (function (_super) {
|
|
|
427
443
|
this.dragLogic.reorderable = this.props.reorderable || false;
|
|
428
444
|
this.dragLogic.groupable = groupable;
|
|
429
445
|
var tableUserSelect = this.props.selectable && this.props.selectable.drag ? 'none' : undefined;
|
|
430
|
-
if (total !== this.vs.total) {
|
|
446
|
+
if (total !== this.vs.total || (this.props.scrollable === 'virtual') !== this.vs.scrollableVirtual) {
|
|
431
447
|
this.vs.reset();
|
|
432
448
|
this.vs = new VirtualScroll_1.VirtualScroll(groupable || this.props.rowHeight === undefined || this.props.rowHeight === 0);
|
|
433
449
|
this.vs.table = this.tableElement;
|
|
@@ -441,7 +457,8 @@ var Grid = /** @class */ (function (_super) {
|
|
|
441
457
|
this.vs.propsSkip = (this.props.skip || 0) + (this.props.scrollable === 'virtual' ?
|
|
442
458
|
this.vs.topCacheCount + (this.vs.attendedSkip - (this.props.skip || 0)) : 0);
|
|
443
459
|
if (this.props.rowHeight !== undefined && this.props.rowHeight > 0 && !groupable) {
|
|
444
|
-
|
|
460
|
+
var containerHeight = this.props.rowHeight * total;
|
|
461
|
+
this.vs.containerHeight = index_1.firefox ? Math.min(index_1.firefoxMaxHeight, containerHeight) : containerHeight;
|
|
445
462
|
}
|
|
446
463
|
else {
|
|
447
464
|
this.vs.containerHeight = 1533915;
|
|
@@ -449,25 +466,25 @@ var Grid = /** @class */ (function (_super) {
|
|
|
449
466
|
var groupingFooter = (typeof this.props.groupable === 'object') && this.props.groupable.footer || 'none';
|
|
450
467
|
this._data = [];
|
|
451
468
|
var resolvedGroupsCount = (0, index_1.flatData)(this._data, propsData, groupingFooter, { index: this.props.skip || 0 }, this.props.group !== undefined, this.props.expandField);
|
|
452
|
-
var children =
|
|
453
|
-
this.initColumns(children
|
|
454
|
-
child.type.displayName === 'KendoReactGridColumn'; }), resolvedGroupsCount);
|
|
469
|
+
var children = this.childrenToArray(this.props.children);
|
|
470
|
+
this.initColumns(children, resolvedGroupsCount);
|
|
455
471
|
var toolbar = children.filter(function (child) { return child && child.type &&
|
|
456
472
|
child.type.displayName === 'KendoReactGridToolbar'; });
|
|
457
473
|
var noRecords = children.filter(function (child) { return child && child.type &&
|
|
458
474
|
child.type.displayName === 'KendoReactGridNoRecords'; });
|
|
459
475
|
var leafColumns = this._columns.filter(function (c) { return c.children.length === 0; });
|
|
460
476
|
var groupingPanel = groupable && (React.createElement(GroupPanel_1.GroupPanel, { group: this.props.group || [], groupChange: this.groupChange, pressHandler: this.dragLogic.pressHandler, dragHandler: this.dragLogic.dragHandler, releaseHandler: this.dragLogic.releaseHandler, refCallback: this.dragLogic.refGroupPanelDiv, resolveTitle: this.resolveTitle }));
|
|
461
|
-
var
|
|
477
|
+
var _d = this.props, sort = _d.sort, sortable = _d.sortable, group = _d.group, filter = _d.filter, filterable = _d.filterable, _e = _d.filterOperators, filterOperators = _e === void 0 ? filterCommon_1.operators : _e, headerCellRender = _d.headerCellRender, columnMenu = _d.columnMenu;
|
|
478
|
+
var header = (React.createElement(Header_1.Header, { size: this.props.size, columnResize: this.columnResize, staticHeaders: this.props.scrollable !== 'none', scrollableDataElement: function () { return _this.vs.container; }, draggable: this.props.reorderable || groupable, ref: this.headerRef, elemRef: this.headerElementRef, headerRow: this.getHeaderRow(sort, sortable, group, groupable, filter, filterable, filterOperators, headerCellRender, columnMenu, this._columns, this._columnsMap), filterRow: this.props.filterable && React.createElement(FilterRow_1.FilterRow, { size: this.props.size, columns: this._columns, filter: this.props.filter, filterOperators: this.props.filterOperators || filterCommon_1.operators, filterChange: this.filterChange, sort: this.props.sort, cellRender: this.props.filterCellRender, isRtl: this.isRtl, ariaRowIndex: this._columnsMap.length + 1 }) || undefined, cols: leafColumns.map(function (column, index) { return (React.createElement("col", { key: index.toString(), width: column.width !== undefined ?
|
|
462
479
|
Math.floor(parseFloat(column.width.toString())) + 'px' : undefined })); }) }));
|
|
463
480
|
var scrollLeft = this.vs && this.vs.container && this.vs.container.scrollLeft || 0;
|
|
464
481
|
var tableWidth = parseFloat(((this.props.style || {}).width || '').toString());
|
|
465
|
-
var
|
|
482
|
+
var _f = (0, kendo_react_data_tools_1.tableColumnsVirtualization)({
|
|
466
483
|
enabled: this.props.columnVirtualization,
|
|
467
484
|
columns: leafColumns,
|
|
468
485
|
tableViewPortWidth: tableWidth,
|
|
469
486
|
scrollLeft: scrollLeft
|
|
470
|
-
}), colSpans =
|
|
487
|
+
}), colSpans = _f.colSpans, isColHidden = _f.hiddenColumns;
|
|
471
488
|
var dataRow = function (item, rowId, rowDataIndex) {
|
|
472
489
|
var isInEdit = false;
|
|
473
490
|
var selectedValue = _this.props.selectedField ? (0, index_1.getNestedValue)(_this.props.selectedField, item.dataItem) : undefined;
|
|
@@ -484,29 +501,6 @@ var Grid = /** @class */ (function (_super) {
|
|
|
484
501
|
? { left: column.left, right: column.right }
|
|
485
502
|
: { left: column.right, right: column.left }
|
|
486
503
|
: {};
|
|
487
|
-
var cellProps = {
|
|
488
|
-
id: kendo_react_data_tools_1.tableKeyboardNavigationTools.generateNavigatableId("".concat(rowId, "-").concat(String(columnIndex)), idPrefix),
|
|
489
|
-
colSpan: colSpans[columnIndex],
|
|
490
|
-
dataItem: item.dataItem,
|
|
491
|
-
field: column.field,
|
|
492
|
-
editor: column.editor,
|
|
493
|
-
format: column.format,
|
|
494
|
-
className: className,
|
|
495
|
-
render: _this.props.cellRender,
|
|
496
|
-
onChange: _this.itemChange,
|
|
497
|
-
selectionChange: (_this.props.onSelectionChange) ?
|
|
498
|
-
(function (e) { _this.selectionChange({ event: e, dataItem: item.dataItem, dataIndex: rowDataIndex, columnIndex: columnIndex }); }) :
|
|
499
|
-
undefined,
|
|
500
|
-
columnIndex: columnIndex,
|
|
501
|
-
columnsCount: leafColumns.length,
|
|
502
|
-
rowType: item.rowType,
|
|
503
|
-
level: item.level,
|
|
504
|
-
expanded: item.expanded,
|
|
505
|
-
dataIndex: item.dataIndex,
|
|
506
|
-
style: style,
|
|
507
|
-
ariaColumnIndex: column.ariaColumnIndex,
|
|
508
|
-
isSelected: Array.isArray(selectedValue) && selectedValue.indexOf(columnIndex) > -1
|
|
509
|
-
};
|
|
510
504
|
var currentColumnIsInEdit = false;
|
|
511
505
|
if (column.editable && _this.props.editField) {
|
|
512
506
|
var inEdit = (0, index_1.getNestedValue)(_this.props.editField, item.dataItem);
|
|
@@ -515,12 +509,10 @@ var Grid = /** @class */ (function (_super) {
|
|
|
515
509
|
currentColumnIsInEdit = true;
|
|
516
510
|
}
|
|
517
511
|
}
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
? React.createElement(GridEditCell_1.GridEditCell, __assign({ key: columnKey }, cellProps))
|
|
523
|
-
: React.createElement(GridCell_1.GridCell, __assign({ key: columnKey }, cellProps));
|
|
512
|
+
var Cell = column.cell || (currentColumnIsInEdit && GridEditCell_1.GridEditCell) || GridCell_1.GridCell;
|
|
513
|
+
return (React.createElement(Cell, { key: columnKey, locked: _this.props.lockGroups, id: kendo_react_data_tools_1.tableKeyboardNavigationTools.generateNavigatableId("".concat(rowId, "-").concat(String(columnIndex)), idPrefix), colSpan: colSpans[columnIndex], dataItem: item.dataItem, field: column.field, editor: column.editor, format: column.format, className: className, render: _this.props.cellRender, onChange: _this.itemChange, selectionChange: (_this.props.onSelectionChange) ?
|
|
514
|
+
(function (e) { _this.selectionChange({ event: e, dataItem: item.dataItem, dataIndex: rowDataIndex, columnIndex: columnIndex }); }) :
|
|
515
|
+
undefined, columnIndex: columnIndex, columnsCount: leafColumns.length, rowType: item.rowType, level: item.level, expanded: item.expanded, dataIndex: item.dataIndex, style: style, ariaColumnIndex: column.ariaColumnIndex, isSelected: Array.isArray(selectedValue) && selectedValue.indexOf(columnIndex) > -1 }));
|
|
524
516
|
}),
|
|
525
517
|
isInEdit: isInEdit,
|
|
526
518
|
isSelected: typeof selectedValue === 'boolean' && selectedValue
|
|
@@ -571,9 +563,9 @@ var Grid = /** @class */ (function (_super) {
|
|
|
571
563
|
- (_this.props.group ? _this.props.group.length : 0)) || 1;
|
|
572
564
|
detailRowCount_1++;
|
|
573
565
|
currentAriaRowIndex = absoluteIndex + rowIndexStart + detailRowCount_1;
|
|
574
|
-
body.push((React.createElement("tr", { key: detailRowId, className: isAlt ? 'k-detail-row k-alt' : 'k-detail-row', style: { visibility: hidden(rowIndex) ? 'hidden' : '' }, role: "row", "aria-rowindex": currentAriaRowIndex },
|
|
575
|
-
_this.props.group && _this.props.group.map(function (
|
|
576
|
-
return (React.createElement(GridGroupCell_1.GridGroupCell, { id: '', dataIndex: item.dataIndex, field:
|
|
566
|
+
body.push((React.createElement("tr", { key: detailRowId, className: (0, kendo_react_common_1.classNames)('k-table-row', isAlt ? 'k-detail-row k-table-alt-row k-alt' : 'k-detail-row'), style: { visibility: hidden(rowIndex) ? 'hidden' : '' }, role: "row", "aria-rowindex": currentAriaRowIndex },
|
|
567
|
+
_this.props.group && _this.props.group.map(function (gr, idx) {
|
|
568
|
+
return (React.createElement(GridGroupCell_1.GridGroupCell, { id: '', dataIndex: item.dataIndex, field: gr.field, dataItem: item.dataItem, key: idx, style: {}, ariaColumnIndex: 1 + idx, isSelected: false, locked: _this.props.lockGroups }));
|
|
577
569
|
}),
|
|
578
570
|
_this.props.expandField &&
|
|
579
571
|
React.createElement(GridDetailHierarchyCell_1.GridDetailHierarchyCell, { id: kendo_react_data_tools_1.tableKeyboardNavigationTools.generateNavigatableId("".concat(detailRowId, "-dhcell"), idPrefix) }),
|
|
@@ -582,15 +574,15 @@ var Grid = /** @class */ (function (_super) {
|
|
|
582
574
|
});
|
|
583
575
|
}
|
|
584
576
|
else {
|
|
585
|
-
body.push((React.createElement("tr", { key: "no-records", className: "k-grid-norecords", "aria-rowindex": rowIndexStart },
|
|
586
|
-
React.createElement("td", { colSpan: leafColumns.length }, noRecords.length ? noRecords : React.createElement(GridNoRecords_1.GridNoRecords, null)))));
|
|
577
|
+
body.push((React.createElement("tr", { key: "no-records", className: "k-table-row k-grid-norecords", role: 'row', "aria-rowindex": rowIndexStart },
|
|
578
|
+
React.createElement("td", { className: 'k-table-td', colSpan: leafColumns.length, role: 'gridcell' }, noRecords.length ? noRecords : React.createElement(GridNoRecords_1.GridNoRecords, null)))));
|
|
587
579
|
}
|
|
588
|
-
var pagerProps = __assign({
|
|
589
|
-
var pager = this.props.pager ? React.createElement(this.props.pager, __assign({}, pagerProps)) : React.createElement(kendo_react_data_tools_1.Pager, __assign({}, pagerProps));
|
|
580
|
+
var pagerProps = __assign({ size: this.props.size, onPageChange: this.pagerPageChange, total: total, skip: this.vs.propsSkip || 0, take: (this.props.take !== undefined ? this.props.take : this.props.pageSize) || 10, messagesMap: messages_1.pagerMessagesMap }, ((0, GridPagerSettings_1.normalize)(this.props.pageable || {})));
|
|
581
|
+
var pager = this.props.pager ? React.createElement(this.props.pager, __assign({}, pagerProps)) : React.createElement(kendo_react_data_tools_1.Pager, __assign({ className: "k-grid-pager" }, pagerProps));
|
|
590
582
|
var sorted = function (field) {
|
|
591
583
|
return _this.props.sort && _this.props.sort.filter(function (descriptor) { return descriptor.field === field; }).length > 0;
|
|
592
584
|
};
|
|
593
|
-
var footer = this._columns.some(function (c) { return Boolean(c.footerCell); }) ? (React.createElement(Footer_1.Footer, { columnResize: this.columnResize, staticHeaders: this.props.scrollable !== 'none', ref: function (f) { return _this._footer = f; }, row: React.createElement(FooterRow_1.FooterRow, { columns: this._columns, isRtl: this.isRtl, ariaRowIndex: currentAriaRowIndex + 1 }), cols: leafColumns.map(function (column, index) { return (React.createElement("col", { key: index.toString(), width: column.width !== undefined ?
|
|
585
|
+
var footer = this._columns.some(function (c) { return Boolean(c.footerCell); }) ? (React.createElement(Footer_1.Footer, { size: this.props.size, columnResize: this.columnResize, staticHeaders: this.props.scrollable !== 'none', ref: function (f) { return _this._footer = f; }, row: React.createElement(FooterRow_1.FooterRow, { columns: this._columns, isRtl: this.isRtl, ariaRowIndex: currentAriaRowIndex + 1 }), cols: leafColumns.map(function (column, index) { return (React.createElement("col", { key: index.toString(), width: column.width !== undefined ?
|
|
594
586
|
Math.floor(parseFloat(column.width.toString())) + 'px' : undefined })); }) })) : null;
|
|
595
587
|
var colGroups = (React.createElement("colgroup", { ref: function (c) {
|
|
596
588
|
_this.columnResize.colGroupMain = c;
|
|
@@ -600,7 +592,11 @@ var Grid = /** @class */ (function (_super) {
|
|
|
600
592
|
var tableDisplay = this.props.columnVirtualization ? 'block' : 'table';
|
|
601
593
|
if (this.props.scrollable === 'none') {
|
|
602
594
|
return (React.createElement(kendo_react_data_tools_1.TableKeyboardNavigationContext.Provider, { value: this.contextStateRef.current },
|
|
603
|
-
React.createElement("div", __assign({ id: this.props.id, style: this.props.style, className: (0, kendo_react_common_1.classNames)('k-
|
|
595
|
+
React.createElement("div", __assign({ id: this.props.id, style: this.props.style, className: (0, kendo_react_common_1.classNames)('k-grid', (_a = {
|
|
596
|
+
'k-grid-md': !this.props.size
|
|
597
|
+
},
|
|
598
|
+
_a["k-grid-".concat(kendo_react_common_1.kendoThemeMaps.sizeMap[this.props.size] || this.props.size)] = this.props.size,
|
|
599
|
+
_a), this.props.className), ref: function (el) { _this._element = el; }, "aria-label": this.props.ariaLabel, onKeyDown: this.onKeyDown, onFocus: this.onFocus }, kendo_react_data_tools_1.tableKeyboardNavigationScopeAttributes),
|
|
604
600
|
toolbar,
|
|
605
601
|
groupingPanel,
|
|
606
602
|
React.createElement(kendo_react_data_tools_1.TableSelection, { selectable: this.props.selectable, onRelease: this.selectionRelease, childRef: function (table) {
|
|
@@ -611,7 +607,7 @@ var Grid = /** @class */ (function (_super) {
|
|
|
611
607
|
React.createElement("table", { style: { userSelect: tableUserSelect, display: tableDisplay } },
|
|
612
608
|
colGroups,
|
|
613
609
|
header,
|
|
614
|
-
React.createElement("tbody", __assign({}, kendo_react_data_tools_1.tableKeyboardNavigationBodyAttributes), body),
|
|
610
|
+
React.createElement("tbody", __assign({ role: 'rowgroup', className: 'k-table-tbody' }, kendo_react_data_tools_1.tableKeyboardNavigationBodyAttributes), body),
|
|
615
611
|
footer)),
|
|
616
612
|
this.props.pageable && pager,
|
|
617
613
|
enableDragClues && (React.createElement(React.Fragment, null,
|
|
@@ -626,9 +622,12 @@ var Grid = /** @class */ (function (_super) {
|
|
|
626
622
|
}
|
|
627
623
|
}
|
|
628
624
|
return (React.createElement(kendo_react_data_tools_1.TableKeyboardNavigationContext.Provider, { value: this.contextStateRef.current },
|
|
629
|
-
React.createElement("div", __assign({ id: this.props.id, style: wrapperStyle, className: (0, kendo_react_common_1.classNames)('k-
|
|
630
|
-
|
|
631
|
-
|
|
625
|
+
React.createElement("div", __assign({ id: this.props.id, style: wrapperStyle, className: (0, kendo_react_common_1.classNames)('k-grid', (_b = {
|
|
626
|
+
'k-grid-md': !this.props.size
|
|
627
|
+
},
|
|
628
|
+
_b["k-grid-".concat(kendo_react_common_1.kendoThemeMaps.sizeMap[this.props.size] || this.props.size)] = this.props.size,
|
|
629
|
+
_b['k-grid-virtual'] = this.props.scrollable === 'virtual',
|
|
630
|
+
_b), this.props.className), ref: function (el) {
|
|
632
631
|
_this._element = el;
|
|
633
632
|
_this.resetTableWidth();
|
|
634
633
|
}, role: "grid", "aria-colcount": leafColumns.length, "aria-rowcount": total, "aria-label": this.props.ariaLabel, onKeyDown: this.onKeyDown, onFocus: this.onFocus }, kendo_react_data_tools_1.tableKeyboardNavigationScopeAttributes),
|
|
@@ -637,16 +636,19 @@ var Grid = /** @class */ (function (_super) {
|
|
|
637
636
|
header,
|
|
638
637
|
React.createElement("div", { className: "k-grid-container", role: "presentation" },
|
|
639
638
|
React.createElement("div", { ref: this.vs.containerRef, className: "k-grid-content k-virtual-content", onScroll: this.scrollHandler, role: "presentation" },
|
|
640
|
-
React.createElement(
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
639
|
+
React.createElement(kendo_react_data_tools_1.TableSelection, { selectable: this.props.selectable, onRelease: this.selectionRelease, childRef: function (table) {
|
|
640
|
+
_this.vs.table = table;
|
|
641
|
+
_this.tableElement = table;
|
|
642
|
+
} },
|
|
643
|
+
React.createElement("table", { className: (0, kendo_react_common_1.classNames)('k-table k-grid-table', (_c = {
|
|
644
|
+
'k-grid-md': !this.props.size
|
|
645
|
+
},
|
|
646
|
+
_c["k-table-".concat(kendo_react_common_1.kendoThemeMaps.sizeMap[this.props.size] || this.props.size)] = this.props.size,
|
|
647
|
+
_c), this.props.className), role: "presentation", style: { userSelect: tableUserSelect, display: tableDisplay } },
|
|
648
|
+
colGroups,
|
|
649
|
+
React.createElement("tbody", __assign({ className: 'k-table-tbody', ref: function (tableBody) {
|
|
650
|
+
_this.vs.tableBody = tableBody;
|
|
651
|
+
}, role: 'rowgroup' }, kendo_react_data_tools_1.tableKeyboardNavigationBodyAttributes), body))),
|
|
650
652
|
React.createElement("div", { className: "k-height-container", role: "presentation" },
|
|
651
653
|
React.createElement("div", { style: this.props.scrollable === 'virtual' ?
|
|
652
654
|
{ 'height': (this.vs.containerHeight) + 'px' } : {} })))),
|
|
@@ -687,6 +689,7 @@ var Grid = /** @class */ (function (_super) {
|
|
|
687
689
|
var spliced = this._columns.splice(prev, end(prev) - prev);
|
|
688
690
|
(_a = this._columns).splice.apply(_a, __spreadArray([prev < next ? end(next - spliced.length) : next, 0], spliced, false));
|
|
689
691
|
this._columns.filter(function (q) { return q.declarationIndex >= 0; }).forEach(function (c, i) { return c.orderIndex = i; });
|
|
692
|
+
this._columnsMutations++;
|
|
690
693
|
var eventColumnProps = this.columns;
|
|
691
694
|
this.forceUpdate();
|
|
692
695
|
if (this.props.onColumnReorder) {
|
|
@@ -738,10 +741,10 @@ var Grid = /** @class */ (function (_super) {
|
|
|
738
741
|
this.vs.table.style.width = totalWidth + 'px';
|
|
739
742
|
}
|
|
740
743
|
};
|
|
741
|
-
Grid.prototype.initColumns = function (
|
|
744
|
+
Grid.prototype.initColumns = function (children, groupCount) {
|
|
742
745
|
var _this = this;
|
|
743
746
|
var idPrefix = kendo_react_data_tools_1.tableKeyboardNavigationTools.getIdPrefix(this.navigationStateRef);
|
|
744
|
-
this._columns =
|
|
747
|
+
this._columns = this.readColumns(children, idPrefix, this._columnsMutations);
|
|
745
748
|
if (this._columns.length === 0) {
|
|
746
749
|
this._columns = (0, index_1.autoGenerateColumns)(this.props.data, this.props.group, this.props.expandField, { prevId: 0, idPrefix: idPrefix });
|
|
747
750
|
}
|
|
@@ -781,7 +784,7 @@ var Grid = /** @class */ (function (_super) {
|
|
|
781
784
|
columnIndexOffset++;
|
|
782
785
|
}
|
|
783
786
|
this._columns.slice(columnIndexOffset).forEach(function (c) { return c.parentIndex >= 0 && (c.parentIndex += columnIndexOffset); });
|
|
784
|
-
this._columnsMap =
|
|
787
|
+
this._columnsMap = this.mapColumns(this._columns);
|
|
785
788
|
this.columnResize.columns = this._columns;
|
|
786
789
|
this.dragLogic.columns = this._columns;
|
|
787
790
|
};
|
|
@@ -878,7 +881,8 @@ var Grid = /** @class */ (function (_super) {
|
|
|
878
881
|
onColumnResize: PropTypes.func,
|
|
879
882
|
onColumnReorder: PropTypes.func,
|
|
880
883
|
dataItemKey: PropTypes.string,
|
|
881
|
-
navigatable: PropTypes.bool
|
|
884
|
+
navigatable: PropTypes.bool,
|
|
885
|
+
size: PropTypes.oneOf(['small', 'medium'])
|
|
882
886
|
};
|
|
883
887
|
/** @hidden */
|
|
884
888
|
Grid.contextType = kendo_react_data_tools_1.TableKeyboardNavigationContext;
|
package/dist/npm/GridToolbar.js
CHANGED
|
@@ -17,6 +17,7 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.GridToolbar = void 0;
|
|
19
19
|
var React = require("react");
|
|
20
|
+
var kendo_react_common_1 = require("@progress/kendo-react-common");
|
|
20
21
|
/**
|
|
21
22
|
* Represents the GridToolbar component.
|
|
22
23
|
*
|
|
@@ -64,7 +65,10 @@ var GridToolbar = /** @class */ (function (_super) {
|
|
|
64
65
|
* @hidden
|
|
65
66
|
*/
|
|
66
67
|
GridToolbar.prototype.render = function () {
|
|
67
|
-
|
|
68
|
+
var _a;
|
|
69
|
+
return (React.createElement("div", { className: (0, kendo_react_common_1.classNames)('k-toolbar k-grid-toolbar', (_a = {},
|
|
70
|
+
_a["k-toolbar-".concat(kendo_react_common_1.kendoThemeMaps.sizeMap[this.props.size] || this.props.size)] = this.props.size,
|
|
71
|
+
_a), this.props.className) }, this.props.children));
|
|
68
72
|
};
|
|
69
73
|
/**
|
|
70
74
|
* @hidden
|
|
@@ -21,7 +21,6 @@ export declare class VirtualScroll {
|
|
|
21
21
|
containerRef: React.RefObject<HTMLDivElement>;
|
|
22
22
|
get container(): HTMLDivElement | null;
|
|
23
23
|
private prevScrollPos;
|
|
24
|
-
private syncTimeout;
|
|
25
24
|
private tableTranslate;
|
|
26
25
|
private scrollSyncing;
|
|
27
26
|
constructor(cached: boolean);
|
|
@@ -34,10 +33,11 @@ export declare class VirtualScroll {
|
|
|
34
33
|
}>;
|
|
35
34
|
changePage(skip: number, e: React.SyntheticEvent<HTMLDivElement>): void;
|
|
36
35
|
translate(dY: number): void;
|
|
37
|
-
syncScroll(): void;
|
|
38
36
|
reset(): void;
|
|
39
37
|
localScrollUp(e: React.SyntheticEvent<HTMLDivElement>): void;
|
|
40
38
|
localScrollDown(e: React.SyntheticEvent<HTMLDivElement>): void;
|
|
41
39
|
scrollNonStrict(e: React.SyntheticEvent<HTMLDivElement>): void;
|
|
42
40
|
scrollHandler(e: React.SyntheticEvent<HTMLDivElement>): void;
|
|
41
|
+
private topItems;
|
|
42
|
+
private horizontalScrollbarHeight;
|
|
43
43
|
}
|
|
@@ -7,6 +7,7 @@ var React = require("react");
|
|
|
7
7
|
*/
|
|
8
8
|
var VirtualScroll = /** @class */ (function () {
|
|
9
9
|
function VirtualScroll(cached) {
|
|
10
|
+
var _this = this;
|
|
10
11
|
this.table = null;
|
|
11
12
|
this.containerHeight = 0;
|
|
12
13
|
this.topCacheCount = 0; // 4;
|
|
@@ -25,6 +26,25 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
25
26
|
this.prevScrollPos = 0;
|
|
26
27
|
this.tableTranslate = 0;
|
|
27
28
|
this.scrollSyncing = false;
|
|
29
|
+
this.topItems = function (heights, skipTopBuffer) {
|
|
30
|
+
if (!_this.container || skipTopBuffer) {
|
|
31
|
+
return { topItemsCount: 0, topItemsHeight: 0 };
|
|
32
|
+
}
|
|
33
|
+
var screenHeight = _this.container.clientHeight;
|
|
34
|
+
var itemsOnScreen = Math.ceil(screenHeight / heights[0].line);
|
|
35
|
+
var topItemsCount = Math.ceil((heights.length - itemsOnScreen) / 2);
|
|
36
|
+
var topItemsHeight = 0;
|
|
37
|
+
for (var i = 0; i < topItemsCount; i++) {
|
|
38
|
+
topItemsHeight += heights[i].line + heights[i].acc;
|
|
39
|
+
}
|
|
40
|
+
return { topItemsCount: topItemsCount, topItemsHeight: topItemsHeight };
|
|
41
|
+
};
|
|
42
|
+
this.horizontalScrollbarHeight = function () {
|
|
43
|
+
if (!_this.container) {
|
|
44
|
+
return 0;
|
|
45
|
+
}
|
|
46
|
+
return _this.container.offsetHeight - _this.container.clientHeight;
|
|
47
|
+
};
|
|
28
48
|
if (cached) {
|
|
29
49
|
this.topCacheCount = 4;
|
|
30
50
|
this.attendedSkip = -this.topCacheCount;
|
|
@@ -82,22 +102,6 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
82
102
|
this.table.style.transform = 'translateY(' + dY + 'px)';
|
|
83
103
|
}
|
|
84
104
|
};
|
|
85
|
-
VirtualScroll.prototype.syncScroll = function () {
|
|
86
|
-
if (!this.scrollableVirtual || !this.container) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
this.syncTimeout = null;
|
|
90
|
-
var scrollTop = this.container.scrollTop;
|
|
91
|
-
var containerHeight = this.containerHeight; // = this.container.scrollHeight;
|
|
92
|
-
var rowHeights = this.rowHeights;
|
|
93
|
-
var percentage = (scrollTop - this.tableTranslate) / rowHeights[0].line;
|
|
94
|
-
var targetFloorScrollPosition = Math.floor((containerHeight) * (this.propsSkip + percentage) / this.total);
|
|
95
|
-
if (this.container.scrollTop !== (this.prevScrollPos = targetFloorScrollPosition)) {
|
|
96
|
-
this.scrollSyncing = true;
|
|
97
|
-
this.container.scrollTop = (this.prevScrollPos = targetFloorScrollPosition);
|
|
98
|
-
}
|
|
99
|
-
this.translate(this.tableTranslate + targetFloorScrollPosition - scrollTop);
|
|
100
|
-
};
|
|
101
105
|
VirtualScroll.prototype.reset = function () {
|
|
102
106
|
this.scrollSyncing = true;
|
|
103
107
|
if (this.fixedScroll) {
|
|
@@ -116,11 +120,12 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
116
120
|
var scrollTop = this.container.scrollTop;
|
|
117
121
|
var targetTranslate = this.tableTranslate;
|
|
118
122
|
var rowsCount = 0;
|
|
123
|
+
var _a = this.topItems(heights, Boolean(this.topCacheCount)), topItemsCount = _a.topItemsCount, topItemsHeight = _a.topItemsHeight;
|
|
119
124
|
var additionalOnTop = scrollTop - targetTranslate;
|
|
120
|
-
if (additionalOnTop >
|
|
125
|
+
if (additionalOnTop > topItemsHeight) {
|
|
121
126
|
return;
|
|
122
127
|
}
|
|
123
|
-
while ((rowsCount < this.topCacheCount + this.attendedSkip - this.realSkip)
|
|
128
|
+
while ((rowsCount < this.topCacheCount + this.attendedSkip - this.realSkip + topItemsCount)
|
|
124
129
|
&& this.propsSkip - rowsCount > 0 &&
|
|
125
130
|
!(targetTranslate + (heights[heights.length - 1 - rowsCount].line + heights[heights.length - 1 - rowsCount].acc) + additionalOnTop <= scrollTop)) {
|
|
126
131
|
targetTranslate -= heights[heights.length - 1 - rowsCount].line +
|
|
@@ -146,8 +151,9 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
146
151
|
// floor the translate to beginning of the item in absolute value
|
|
147
152
|
}
|
|
148
153
|
if (targetTranslate !== this.tableTranslate) {
|
|
149
|
-
this.translate(targetTranslate);
|
|
150
|
-
|
|
154
|
+
this.translate(Math.max(0, targetTranslate - topItemsHeight));
|
|
155
|
+
var nextSkip = Math.max(0, this.propsSkip - rowsCount - topItemsCount);
|
|
156
|
+
this.changePage(nextSkip, e);
|
|
151
157
|
}
|
|
152
158
|
};
|
|
153
159
|
VirtualScroll.prototype.localScrollDown = function (e) {
|
|
@@ -158,18 +164,22 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
158
164
|
var scrollTop = this.container.scrollTop;
|
|
159
165
|
var targetTranslate = this.tableTranslate;
|
|
160
166
|
var rowsCount = 0;
|
|
167
|
+
var _a = this.topItems(heights, Boolean(this.topCacheCount)), topItemsCount = _a.topItemsCount, topItemsHeight = _a.topItemsHeight;
|
|
161
168
|
while (rowsCount < heights.length - this.topCacheCount &&
|
|
162
169
|
!(targetTranslate + heights[rowsCount].line + heights[rowsCount].acc > scrollTop)) {
|
|
163
170
|
targetTranslate += heights[rowsCount].line + heights[rowsCount].acc;
|
|
164
171
|
rowsCount++;
|
|
165
172
|
}
|
|
173
|
+
if (topItemsCount > this.propsSkip + rowsCount) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
166
176
|
if (rowsCount >= heights.length - this.topCacheCount && this.propsSkip + rowsCount >= this.total) {
|
|
167
|
-
this.translate(targetTranslate);
|
|
168
|
-
this.changePage(this.total - 1, e);
|
|
177
|
+
this.translate(targetTranslate - topItemsHeight);
|
|
178
|
+
this.changePage(this.total - 1 - topItemsCount, e);
|
|
169
179
|
}
|
|
170
|
-
else if (targetTranslate !== this.tableTranslate) {
|
|
171
|
-
this.translate(targetTranslate);
|
|
172
|
-
this.changePage(this.propsSkip + rowsCount, e);
|
|
180
|
+
else if (targetTranslate !== this.tableTranslate && this.propsSkip + rowsCount - topItemsCount !== this.propsSkip) {
|
|
181
|
+
this.translate(targetTranslate - topItemsHeight);
|
|
182
|
+
this.changePage(this.propsSkip + rowsCount - topItemsCount, e);
|
|
173
183
|
}
|
|
174
184
|
};
|
|
175
185
|
VirtualScroll.prototype.scrollNonStrict = function (e) {
|
|
@@ -188,8 +198,9 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
188
198
|
else if (rowIndexOffset === -1) {
|
|
189
199
|
microAdjust = -((heights[heights.length - 1].line + heights[heights.length - 1].acc) * rowpercentage);
|
|
190
200
|
}
|
|
191
|
-
this.
|
|
192
|
-
this.
|
|
201
|
+
var _a = this.topItems(heights, Boolean(this.topCacheCount)), topItemsCount = _a.topItemsCount, topItemsHeight = _a.topItemsHeight;
|
|
202
|
+
this.translate(Math.max(0, microAdjust - topItemsHeight - this.horizontalScrollbarHeight() + this.containerHeight * floatRowIndex / this.total));
|
|
203
|
+
this.changePage(rowIndex - topItemsCount, e);
|
|
193
204
|
};
|
|
194
205
|
VirtualScroll.prototype.scrollHandler = function (e) {
|
|
195
206
|
if (!this.scrollableVirtual) {
|
|
@@ -199,9 +210,6 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
199
210
|
this.scrollSyncing = false;
|
|
200
211
|
return;
|
|
201
212
|
}
|
|
202
|
-
var grid = this;
|
|
203
|
-
clearTimeout(this.syncTimeout);
|
|
204
|
-
this.syncTimeout = window.setTimeout(function () { grid.syncScroll(); }, 200);
|
|
205
213
|
var scrollTop = this.container.scrollTop;
|
|
206
214
|
var prev = this.prevScrollPos;
|
|
207
215
|
this.prevScrollPos = scrollTop;
|
|
@@ -34,7 +34,7 @@ var GridCell = function (props) {
|
|
|
34
34
|
intl.format(props.format, data) :
|
|
35
35
|
data.toString();
|
|
36
36
|
}
|
|
37
|
-
var className = (0, kendo_react_common_1.classNames)(props.className, { 'k-selected': props.isSelected });
|
|
37
|
+
var className = (0, kendo_react_common_1.classNames)('k-table-td', props.className, { 'k-selected': props.isSelected });
|
|
38
38
|
defaultRendering = (React.createElement("td", __assign({ colSpan: props.colSpan, style: props.style, className: className, role: 'gridcell', "aria-colindex": props.ariaColumnIndex, "aria-selected": props.isSelected }, (_a = {}, _a[constants_1.GRID_COL_INDEX_ATTRIBUTE] = props.columnIndex, _a), navigationAttributes), dataAsString));
|
|
39
39
|
}
|
|
40
40
|
return props.render ?
|
|
@@ -18,7 +18,7 @@ var React = require("react");
|
|
|
18
18
|
var GridDetailCell = function (props) {
|
|
19
19
|
var colSpan = props.colSpan, ariaColIndex = props.ariaColIndex, dataItem = props.dataItem, dataIndex = props.dataIndex, id = props.id;
|
|
20
20
|
var navigationAttributes = (0, kendo_react_data_tools_1.useTableKeyboardNavigation)(id);
|
|
21
|
-
return (React.createElement("td", __assign({ className: "k-detail-cell", colSpan: colSpan, "aria-colindex": ariaColIndex, role: 'gridcell' }, navigationAttributes),
|
|
21
|
+
return (React.createElement("td", __assign({ className: "k-table-td k-detail-cell", colSpan: colSpan, "aria-colindex": ariaColIndex, role: 'gridcell' }, navigationAttributes),
|
|
22
22
|
React.createElement(props.detail, { dataItem: dataItem, dataIndex: dataIndex })));
|
|
23
23
|
};
|
|
24
24
|
exports.GridDetailCell = GridDetailCell;
|
|
@@ -17,6 +17,6 @@ var React = require("react");
|
|
|
17
17
|
/** @hidden */
|
|
18
18
|
var GridDetailHierarchyCell = function (props) {
|
|
19
19
|
var navigationAttributes = (0, kendo_react_data_tools_1.useTableKeyboardNavigation)(props.id);
|
|
20
|
-
return (React.createElement("td", __assign({ className: "k-hierarchy-cell" }, navigationAttributes)));
|
|
20
|
+
return (React.createElement("td", __assign({ className: "k-table-td k-hierarchy-cell" }, navigationAttributes, { role: 'gridcell' })));
|
|
21
21
|
};
|
|
22
22
|
exports.GridDetailHierarchyCell = GridDetailHierarchyCell;
|
|
@@ -26,7 +26,7 @@ var GridEditCell = function (props) {
|
|
|
26
26
|
var _a, _b, _c, _d, _e;
|
|
27
27
|
var data = (0, utils_1.getNestedValue)(props.field, props.dataItem);
|
|
28
28
|
var defaultRendering = null;
|
|
29
|
-
var editCellClasses = (0, kendo_react_common_1.classNames)('k-grid-edit-cell', (_a = {},
|
|
29
|
+
var editCellClasses = (0, kendo_react_common_1.classNames)('k-table-td', 'k-grid-edit-cell', (_a = {},
|
|
30
30
|
_a['k-selected'] = props.isSelected,
|
|
31
31
|
_a), props.className);
|
|
32
32
|
var inputId = React.useMemo(function () { return (0, kendo_react_common_1.guid)(); }, []);
|
|
@@ -34,7 +34,7 @@ var GridFilterCell = /** @class */ (function (_super) {
|
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
36
|
var value = _this.props.operators.find(function (item) { return item.operator === _this.props.operator; }) || null;
|
|
37
|
-
return (React.createElement(kendo_react_dropdowns_1.DropDownList, { value: value, onChange: _this.operatorChange, className: "k-dropdown-operator", iconClassName: "k-i-filter k-icon", data: _this.props.operators, textField: "text", title: localization.toLanguageString(messages_1.filterChooseOperator, messages_1.messages[messages_1.filterChooseOperator]), popupSettings: {
|
|
37
|
+
return (React.createElement(kendo_react_dropdowns_1.DropDownList, { size: _this.props.size, value: value, onChange: _this.operatorChange, className: "k-dropdown-operator", iconClassName: "k-i-filter k-icon", data: _this.props.operators, textField: "text", title: localization.toLanguageString(messages_1.filterChooseOperator, messages_1.messages[messages_1.filterChooseOperator]), popupSettings: {
|
|
38
38
|
width: ''
|
|
39
39
|
} }));
|
|
40
40
|
};
|
|
@@ -51,12 +51,12 @@ var GridFilterCell = /** @class */ (function (_super) {
|
|
|
51
51
|
var _a;
|
|
52
52
|
var localizationService = (0, kendo_react_intl_1.provideLocalizationService)(this);
|
|
53
53
|
var defaultRendering = (React.createElement("div", { className: "k-filtercell" },
|
|
54
|
-
React.createElement("
|
|
54
|
+
React.createElement("div", { className: "k-filtercell-wrapper" },
|
|
55
55
|
this.filterComponent(this.props.filterType, this.props.value, this.props.booleanValues),
|
|
56
56
|
React.createElement("div", { className: "k-filtercell-operator" },
|
|
57
57
|
this.renderOperatorEditor(localizationService),
|
|
58
58
|
"\u00A0",
|
|
59
|
-
React.createElement(kendo_react_buttons_1.Button, { icon: 'filter-clear', className: (0, kendo_react_common_1.classNames)((_a = {},
|
|
59
|
+
React.createElement(kendo_react_buttons_1.Button, { size: this.props.size, icon: 'filter-clear', className: (0, kendo_react_common_1.classNames)((_a = {},
|
|
60
60
|
_a['k-clear-button-visible'] = Boolean(!(this.props.value === null || this.props.value === '') || this.props.operator),
|
|
61
61
|
_a)), title: localizationService.toLanguageString(messages_1.filterClearButton, messages_1.messages[messages_1.filterClearButton]), type: "button", onClick: this.clear, disabled: !(!(this.props.value === null || this.props.value === '') || this.props.operator) })))));
|
|
62
62
|
if (this.props.render) {
|
|
@@ -81,13 +81,13 @@ var GridFilterCell = /** @class */ (function (_super) {
|
|
|
81
81
|
var _this = this;
|
|
82
82
|
switch (filterType) {
|
|
83
83
|
case 'numeric':
|
|
84
|
-
return (React.createElement(kendo_react_inputs_1.NumericTextBox, { value: value, onChange: function (e) { _this.inputChange(e.value, e.syntheticEvent); }, title: this.props.title, ariaLabel: this.props.ariaLabel }));
|
|
84
|
+
return (React.createElement(kendo_react_inputs_1.NumericTextBox, { size: this.props.size, value: value, onChange: function (e) { _this.inputChange(e.value, e.syntheticEvent); }, title: this.props.title, ariaLabel: this.props.ariaLabel }));
|
|
85
85
|
case 'date':
|
|
86
|
-
return (React.createElement(kendo_react_dateinputs_1.DatePicker, { value: value, onChange: function (e) { _this.inputChange(e.value, e.syntheticEvent); }, title: this.props.title, ariaLabel: this.props.ariaLabel }));
|
|
86
|
+
return (React.createElement(kendo_react_dateinputs_1.DatePicker, { size: this.props.size, value: value, onChange: function (e) { _this.inputChange(e.value, e.syntheticEvent); }, title: this.props.title, ariaLabel: this.props.ariaLabel }));
|
|
87
87
|
case 'boolean':
|
|
88
88
|
var noFilterSet_1 = function (filter) { return filter === null || filter === undefined; };
|
|
89
|
-
return (React.createElement(kendo_react_dropdowns_1.DropDownList, { onChange: this.boolDropdownChange, value: booleanValues.find(function (item) { return item.operator === (noFilterSet_1(value) ? '' : value); }), data: booleanValues, textField: "text", title: this.props.title, ariaLabel: this.props.ariaLabel }));
|
|
90
|
-
default: return (React.createElement(kendo_react_inputs_1.
|
|
89
|
+
return (React.createElement(kendo_react_dropdowns_1.DropDownList, { size: this.props.size, onChange: this.boolDropdownChange, value: booleanValues.find(function (item) { return item.operator === (noFilterSet_1(value) ? '' : value); }), data: booleanValues, textField: "text", title: this.props.title, ariaLabel: this.props.ariaLabel }));
|
|
90
|
+
default: return (React.createElement(kendo_react_inputs_1.TextBox, { size: this.props.size, value: value || '', onChange: function (e) { _this.inputChange(e.target.value, e.syntheticEvent); }, title: this.props.title, "aria-label": this.props.ariaLabel }));
|
|
91
91
|
}
|
|
92
92
|
};
|
|
93
93
|
return GridFilterCell;
|
|
@@ -44,7 +44,7 @@ var GridGroupCell = function (props) {
|
|
|
44
44
|
var renderCellCollapse = function (colspan, styles) {
|
|
45
45
|
var baseMessage = expanded ? messages_1.groupCollapse : messages_1.groupExpand;
|
|
46
46
|
var message = localization.toLanguageString(baseMessage, messages_1.messages[baseMessage]);
|
|
47
|
-
return (React.createElement("td", __assign({ style: __assign(__assign({}, props.style), styles), colSpan: colspan, key: 'g-colspan', role: 'gridcell', "aria-selected": false, "aria-expanded": expanded, "aria-colindex": ariaColumnIndex, onKeyDown: onKeyDownHandler }, navigationAttributes),
|
|
47
|
+
return (React.createElement("td", __assign({ className: 'k-table-td', style: __assign(__assign({}, props.style), styles), colSpan: colspan, key: 'g-colspan', role: 'gridcell', "aria-selected": false, "aria-expanded": expanded, "aria-colindex": ariaColumnIndex, onKeyDown: onKeyDownHandler }, navigationAttributes),
|
|
48
48
|
React.createElement("p", { className: "k-reset" },
|
|
49
49
|
React.createElement("a", { onClick: function (e) {
|
|
50
50
|
e.preventDefault();
|
|
@@ -64,7 +64,7 @@ var GridGroupCell = function (props) {
|
|
|
64
64
|
};
|
|
65
65
|
if (columnIndex === undefined || level === undefined || columnIndex < level ||
|
|
66
66
|
columnsCount === undefined || rowType !== 'groupHeader' || dataItem[definedField] === undefined) {
|
|
67
|
-
defaultRendering = (React.createElement("td", { style: props.style, key: 'g' + columnIndex, className: (0, kendo_react_common_1.classNames)('k-group-cell', { 'k-grid-content-sticky': props.locked }), role: "
|
|
67
|
+
defaultRendering = (React.createElement("td", { style: props.style, key: 'g' + columnIndex, className: (0, kendo_react_common_1.classNames)('k-table-td', 'k-group-cell', { 'k-grid-content-sticky': props.locked }), role: "gridcell" }));
|
|
68
68
|
}
|
|
69
69
|
else if (columnIndex <= level && !props.locked) {
|
|
70
70
|
defaultRendering = renderCellCollapse(columnsCount - columnIndex, {});
|
|
@@ -72,7 +72,7 @@ var GridGroupCell = function (props) {
|
|
|
72
72
|
else if (columnIndex <= level && props.locked) {
|
|
73
73
|
defaultRendering = (React.createElement(React.Fragment, null,
|
|
74
74
|
renderCellCollapse(0, { position: 'sticky', zIndex: 2 }),
|
|
75
|
-
React.createElement("td", { colSpan: (columnsCount - columnIndex), style: { borderLeftWidth: 0, borderRightWidth: 0 } })));
|
|
75
|
+
React.createElement("td", { className: 'k-table-td', role: 'gridcell', colSpan: (columnsCount - columnIndex), style: { borderLeftWidth: 0, borderRightWidth: 0 } })));
|
|
76
76
|
}
|
|
77
77
|
return render ?
|
|
78
78
|
render.call(undefined, defaultRendering, props) :
|
|
@@ -42,13 +42,14 @@ var GridHierarchyCell = function (props) {
|
|
|
42
42
|
}
|
|
43
43
|
}, [props.dataItem, props.dataIndex, props.field, props.onChange, expanded]);
|
|
44
44
|
if (props.rowType === 'groupFooter') {
|
|
45
|
-
defaultRendering =
|
|
45
|
+
defaultRendering =
|
|
46
|
+
React.createElement("td", __assign({ className: "k-table-td k-hierarchy-cell", role: 'gridcell' }, navigationAttributes));
|
|
46
47
|
}
|
|
47
48
|
else if (props.rowType !== 'groupHeader') {
|
|
48
49
|
var className = expanded ? 'k-icon k-i-minus' : 'k-icon k-i-plus';
|
|
49
50
|
var baseMessage = expanded ? messages_1.detailCollapse : messages_1.detailExpand;
|
|
50
51
|
var message = localization.toLanguageString(baseMessage, messages_1.messages[baseMessage]);
|
|
51
|
-
defaultRendering = (React.createElement("td", __assign({ className: "k-hierarchy-cell", onKeyDown: onKeyDownHandler, "aria-expanded": expanded ? 'true' : 'false', role: 'gridcell', "aria-colindex": props.ariaColumnIndex }, navigationAttributes),
|
|
52
|
+
defaultRendering = (React.createElement("td", __assign({ className: "k-table-td k-hierarchy-cell", onKeyDown: onKeyDownHandler, "aria-expanded": expanded ? 'true' : 'false', role: 'gridcell', "aria-colindex": props.ariaColumnIndex }, navigationAttributes),
|
|
52
53
|
React.createElement("a", { onClick: function (e) {
|
|
53
54
|
e.preventDefault();
|
|
54
55
|
if (props.onChange) {
|