@progress/kendo-angular-grid 19.3.0-develop.23 → 19.3.0-develop.25
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/columns/columns-container.d.ts +2 -0
- package/common/data-layout-mode.d.ts +19 -0
- package/common/stacked-layout-settings.d.ts +24 -0
- package/directives.d.ts +4 -3
- package/editing-directives/editing-directive-base.d.ts +3 -0
- package/esm2022/columns/column-base.mjs +4 -4
- package/esm2022/columns/column.component.mjs +1 -1
- package/esm2022/columns/columns-container.mjs +3 -0
- package/esm2022/common/column-info.service.mjs +1 -1
- package/esm2022/common/data-layout-mode.mjs +5 -0
- package/esm2022/common/stacked-layout-settings.mjs +5 -0
- package/esm2022/directives.mjs +3 -1
- package/esm2022/editing-directives/editing-directive-base.mjs +17 -2
- package/esm2022/editing-directives/in-cell-editing.directive.mjs +2 -1
- package/esm2022/filtering/filter-row.component.mjs +5 -2
- package/esm2022/grid.component.mjs +111 -33
- package/esm2022/grid.module.mjs +101 -100
- package/esm2022/grouping/group-header.component.mjs +39 -4
- package/esm2022/index.mjs +1 -0
- package/esm2022/localization/messages.mjs +2 -2
- package/esm2022/navigation/default-focusable-element.mjs +14 -2
- package/esm2022/navigation/focusable.directive.mjs +1 -1
- package/esm2022/navigation/navigation-cursor.mjs +7 -1
- package/esm2022/navigation/navigation-metadata.mjs +3 -1
- package/esm2022/navigation/navigation.service.mjs +136 -5
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/pdf/export-element.mjs +14 -5
- package/esm2022/pdf/pdf.component.mjs +3 -1
- package/esm2022/rendering/cell.component.mjs +466 -188
- package/esm2022/rendering/common/col-group.component.mjs +20 -7
- package/esm2022/rendering/footer/footer.component.mjs +117 -54
- package/esm2022/rendering/header/header.component.mjs +5 -2
- package/esm2022/rendering/list.component.mjs +13 -8
- package/esm2022/rendering/table-body.component.mjs +384 -171
- package/esm2022/rendering/toolbar/tools/ai-assistant/ai-assistant.component.mjs +7 -3
- package/esm2022/rendering/toolbar/tools/select-all-command-tool.directive.mjs +93 -0
- package/esm2022/row-reordering/row-reorder.service.mjs +2 -2
- package/esm2022/row-reordering/utils.mjs +6 -4
- package/esm2022/selection/cell-selection.service.mjs +6 -3
- package/fesm2022/progress-kendo-angular-grid.mjs +1514 -566
- package/filtering/filter-row.component.d.ts +1 -0
- package/grid.component.d.ts +22 -1
- package/grid.module.d.ts +100 -99
- package/grouping/group-header.component.d.ts +1 -0
- package/index.d.ts +3 -0
- package/localization/messages.d.ts +2 -2
- package/navigation/default-focusable-element.d.ts +3 -1
- package/navigation/focus-group.d.ts +1 -1
- package/navigation/navigation-metadata.d.ts +2 -1
- package/navigation/navigation.service.d.ts +6 -0
- package/package.json +21 -21
- package/rendering/cell.component.d.ts +32 -17
- package/rendering/common/col-group.component.d.ts +5 -0
- package/rendering/footer/footer.component.d.ts +4 -1
- package/rendering/header/header.component.d.ts +1 -0
- package/rendering/list.component.d.ts +4 -1
- package/rendering/table-body.component.d.ts +2 -1
- package/rendering/toolbar/tools/ai-assistant/ai-assistant.component.d.ts +1 -0
- package/rendering/toolbar/tools/select-all-command-tool.directive.d.ts +36 -0
- package/row-reordering/row-reorder.service.d.ts +1 -1
- package/row-reordering/utils.d.ts +1 -1
- package/schematics/ngAdd/index.js +4 -4
- package/selection/cell-selection.service.d.ts +1 -0
|
@@ -143,7 +143,7 @@ const handleExpandCollapseGroupsService = (service, expandEmitter, collapseEmitt
|
|
|
143
143
|
.subscribe((x) => x.expand ? expandEmitter.emit(map(x)) : collapseEmitter.emit(map(x))));
|
|
144
144
|
const handleExpandCollapseDetailsService = (service, expandEmitter, collapseEmitter, map) => (service.changes.pipe(filter(({ dataItem }) => isPresent(dataItem)))
|
|
145
145
|
.subscribe((x) => x.expand ? expandEmitter.emit(map(x)) : collapseEmitter.emit(map(x))));
|
|
146
|
-
const isInEditedCell = (element, gridElement) => closest(element, matchesClasses('k-grid-edit-cell')) &&
|
|
146
|
+
const isInEditedCell = (element, gridElement, isStacked = false) => (closest(element, matchesClasses('k-grid-edit-cell')) || (isStacked && closest(element, matchesClasses('k-grid-stack-edit-cell')))) &&
|
|
147
147
|
closest(element, matchesNodeName('kendo-grid')) === gridElement;
|
|
148
148
|
const NOTIFY_DELAY = 500;
|
|
149
149
|
/**
|
|
@@ -390,7 +390,7 @@ export class GridComponent {
|
|
|
390
390
|
* @hidden
|
|
391
391
|
*/
|
|
392
392
|
get isLocked() {
|
|
393
|
-
return this.lockedLeafColumns.length > 0;
|
|
393
|
+
return (this.lockedLeafColumns.length > 0 && !this.isStacked);
|
|
394
394
|
}
|
|
395
395
|
/**
|
|
396
396
|
* @hidden
|
|
@@ -416,7 +416,9 @@ export class GridComponent {
|
|
|
416
416
|
* @hidden
|
|
417
417
|
*/
|
|
418
418
|
get showGroupPanel() {
|
|
419
|
-
|
|
419
|
+
const isGroupable = this.groupable && this.groupable.enabled !== false;
|
|
420
|
+
const isGrouped = this.group?.length > 0;
|
|
421
|
+
return this.isStacked ? isGroupable && isGrouped : isGroupable;
|
|
420
422
|
}
|
|
421
423
|
/**
|
|
422
424
|
* @hidden
|
|
@@ -694,6 +696,12 @@ export class GridComponent {
|
|
|
694
696
|
get isGroupExpanded() {
|
|
695
697
|
return this.groupsService.userCallback;
|
|
696
698
|
}
|
|
699
|
+
/**
|
|
700
|
+
* Sets the Grid data layout display mode.
|
|
701
|
+
*
|
|
702
|
+
* @default 'columns'
|
|
703
|
+
*/
|
|
704
|
+
dataLayoutMode = 'columns';
|
|
697
705
|
/**
|
|
698
706
|
* Fires when the Grid data is filtered through the UI and the filter descriptor changes.
|
|
699
707
|
*/
|
|
@@ -821,8 +829,11 @@ export class GridComponent {
|
|
|
821
829
|
get sizeMediumClass() {
|
|
822
830
|
return this.size === 'medium' || !this.size;
|
|
823
831
|
}
|
|
832
|
+
get stackedClass() {
|
|
833
|
+
return this.dataLayoutMode === 'stacked';
|
|
834
|
+
}
|
|
824
835
|
get lockedClasses() {
|
|
825
|
-
return this.lockedLeafColumns.length > 0;
|
|
836
|
+
return this.lockedLeafColumns.length > 0 && !this.isStacked;
|
|
826
837
|
}
|
|
827
838
|
get virtualClasses() {
|
|
828
839
|
return this.isVirtual;
|
|
@@ -1046,6 +1057,12 @@ export class GridComponent {
|
|
|
1046
1057
|
get isScrollable() {
|
|
1047
1058
|
return this.scrollable !== 'none';
|
|
1048
1059
|
}
|
|
1060
|
+
/**
|
|
1061
|
+
* @hidden
|
|
1062
|
+
*/
|
|
1063
|
+
get isStacked() {
|
|
1064
|
+
return typeof this.dataLayoutMode === 'string' ? this.dataLayoutMode !== 'columns' : this.dataLayoutMode.mode !== 'columns';
|
|
1065
|
+
}
|
|
1049
1066
|
get visibleColumns() {
|
|
1050
1067
|
return this.columnsContainer.allColumns;
|
|
1051
1068
|
}
|
|
@@ -1083,11 +1100,14 @@ export class GridComponent {
|
|
|
1083
1100
|
return this.nonLockedLeafColumns;
|
|
1084
1101
|
}
|
|
1085
1102
|
get lockedWidth() {
|
|
1103
|
+
if (this.isStacked) {
|
|
1104
|
+
return 0;
|
|
1105
|
+
}
|
|
1086
1106
|
const groupCellsWidth = this.group.length * GROUP_CELL_WIDTH;
|
|
1087
1107
|
return expandColumns(this.lockedLeafColumns.toArray()).reduce((prev, curr) => prev + (curr.width || 0), groupCellsWidth);
|
|
1088
1108
|
}
|
|
1089
1109
|
get nonLockedWidth() {
|
|
1090
|
-
if ((!this.rtl && this.lockedLeafColumns.length) || this.virtualColumns) {
|
|
1110
|
+
if (((!this.rtl && this.lockedLeafColumns.length) || this.virtualColumns) && !this.isStacked) {
|
|
1091
1111
|
return !this.virtualColumns ? this.columnsContainer.unlockedWidth :
|
|
1092
1112
|
this.leafViewportColumns.reduce((acc, column) => acc + (column.width || 0), 0);
|
|
1093
1113
|
}
|
|
@@ -1113,7 +1133,7 @@ export class GridComponent {
|
|
|
1113
1133
|
* @hidden
|
|
1114
1134
|
*/
|
|
1115
1135
|
getDefaultSelectors(type) {
|
|
1116
|
-
return this.rowReorderService.defaultSelectors[type];
|
|
1136
|
+
return this.rowReorderService.defaultSelectors(this.isStacked)[type];
|
|
1117
1137
|
}
|
|
1118
1138
|
/**
|
|
1119
1139
|
* @hidden
|
|
@@ -1224,6 +1244,7 @@ export class GridComponent {
|
|
|
1224
1244
|
this.columnReorderSubscription = this.columnReorderService
|
|
1225
1245
|
.changes.subscribe(this.reorder.bind(this));
|
|
1226
1246
|
this.columnRangeChangeSubscription = this.columnInfoService.columnRangeChange.subscribe(this.onColumnRangeChange.bind(this));
|
|
1247
|
+
this.columnsContainer.isStacked = this.isStacked;
|
|
1227
1248
|
}
|
|
1228
1249
|
/**
|
|
1229
1250
|
* Expands the master row at the specified data row index ([see example]({% slug hierarchy_grid %})).
|
|
@@ -1344,6 +1365,15 @@ export class GridComponent {
|
|
|
1344
1365
|
}
|
|
1345
1366
|
}
|
|
1346
1367
|
}
|
|
1368
|
+
if (isChanged('dataLayoutMode', changes)) {
|
|
1369
|
+
if (this.isStacked) {
|
|
1370
|
+
this.generateStackedColumns();
|
|
1371
|
+
}
|
|
1372
|
+
else {
|
|
1373
|
+
this.stackedColumns = { columns: [], areDefault: false };
|
|
1374
|
+
}
|
|
1375
|
+
this.columnsContainer.isStacked = this.isStacked;
|
|
1376
|
+
}
|
|
1347
1377
|
}
|
|
1348
1378
|
ngAfterContentInit() {
|
|
1349
1379
|
this.shouldGenerateColumns = !this.columns.length;
|
|
@@ -1370,6 +1400,7 @@ export class GridComponent {
|
|
|
1370
1400
|
if (this.navigable.length) {
|
|
1371
1401
|
this.navigationService.init(this.navigationMetadata(), this.navigable);
|
|
1372
1402
|
}
|
|
1403
|
+
this.isStacked && this.generateStackedColumns();
|
|
1373
1404
|
}
|
|
1374
1405
|
ngOnDestroy() {
|
|
1375
1406
|
if (this.selectionSubscription) {
|
|
@@ -1540,7 +1571,7 @@ export class GridComponent {
|
|
|
1540
1571
|
editCell(rowIndex, column, group) {
|
|
1541
1572
|
const instance = this.columnInstance(column);
|
|
1542
1573
|
this.editService.editCell(rowIndex, instance, group);
|
|
1543
|
-
this.focusEditElement('.k-grid-edit-cell');
|
|
1574
|
+
this.focusEditElement(this.isStacked ? '.k-grid-stack-edit-cell' : '.k-grid-edit-cell');
|
|
1544
1575
|
}
|
|
1545
1576
|
/**
|
|
1546
1577
|
* Closes the current cell in edit mode and fires the [`cellClose`]({% slug api_grid_gridcomponent %}#toc-cellclose) event.
|
|
@@ -1921,7 +1952,8 @@ export class GridComponent {
|
|
|
1921
1952
|
isRowSelectable: this.isRowSelectable,
|
|
1922
1953
|
selectable: this.selectable,
|
|
1923
1954
|
view: this.view,
|
|
1924
|
-
columns: cellSelectionMode ? this.columnList.toArray() : undefined
|
|
1955
|
+
columns: cellSelectionMode ? this.columnList.toArray() : undefined,
|
|
1956
|
+
isStacked: this.isStacked
|
|
1925
1957
|
});
|
|
1926
1958
|
if (!this.selectionDirective && !this.selectableSettings.enabled) {
|
|
1927
1959
|
this.defaultSelection.reset();
|
|
@@ -1975,7 +2007,7 @@ export class GridComponent {
|
|
|
1975
2007
|
if (this.lockedLeafColumns.length && !this.nonLockedLeafColumns.length) {
|
|
1976
2008
|
console.warn(GridConfigurationErrorMessages.nonLockedColumnPresent);
|
|
1977
2009
|
}
|
|
1978
|
-
if ((locked || this.virtualColumns) && expandColumns(this.columnList.toArray()).filter(column => !column.width && !isColumnGroupComponent(column)).length) {
|
|
2010
|
+
if (!this.isStacked && (locked || this.virtualColumns) && expandColumns(this.columnList.toArray()).filter(column => !column.width && !isColumnGroupComponent(column)).length) {
|
|
1979
2011
|
console.warn(ColumnConfigurationErrorMessages.requiredWidth(locked ? 'Locked' : 'Virtual'));
|
|
1980
2012
|
}
|
|
1981
2013
|
if (locked && !this.isScrollable) {
|
|
@@ -1999,7 +2031,7 @@ export class GridComponent {
|
|
|
1999
2031
|
if (!this.detailRowHeight && this.isVirtual && this.detailTemplate) {
|
|
2000
2032
|
console.warn(GridConfigurationErrorMessages.rowHeightVirtual);
|
|
2001
2033
|
}
|
|
2002
|
-
if (stickyColumns && expandColumns(this.columnList.toArray()).filter(column => !column.width && !isColumnGroupComponent(column)).length) {
|
|
2034
|
+
if (!this.isStacked && stickyColumns && expandColumns(this.columnList.toArray()).filter(column => !column.width && !isColumnGroupComponent(column)).length) {
|
|
2003
2035
|
console.warn(ColumnConfigurationErrorMessages.requiredWidth('Sticky'));
|
|
2004
2036
|
}
|
|
2005
2037
|
if (this.rowSticky && this.scrollable === 'virtual') {
|
|
@@ -2023,6 +2055,47 @@ export class GridComponent {
|
|
|
2023
2055
|
}));
|
|
2024
2056
|
}
|
|
2025
2057
|
}
|
|
2058
|
+
/**
|
|
2059
|
+
* @hidden
|
|
2060
|
+
*/
|
|
2061
|
+
stackedColumns = { columns: [], areDefault: false };
|
|
2062
|
+
generateStackedColumns() {
|
|
2063
|
+
if (!this.isStacked || !isPresent(this.dataLayoutMode)) {
|
|
2064
|
+
return;
|
|
2065
|
+
}
|
|
2066
|
+
this.stackedColumns.columns = [];
|
|
2067
|
+
if (typeof this.dataLayoutMode === 'object') {
|
|
2068
|
+
if (this.dataLayoutMode.mode === 'stacked' && this.dataLayoutMode.stackedLayoutSettings?.cols) {
|
|
2069
|
+
const columns = this.dataLayoutMode.stackedLayoutSettings.cols;
|
|
2070
|
+
if (typeof columns === 'number') {
|
|
2071
|
+
for (let i = 0; i < columns; i++) {
|
|
2072
|
+
const currCol = { width: `${this.wrapper.nativeElement.clientWidth / columns}px` };
|
|
2073
|
+
this.stackedColumns.columns.push(currCol);
|
|
2074
|
+
}
|
|
2075
|
+
this.stackedColumns.areDefault = true;
|
|
2076
|
+
}
|
|
2077
|
+
else if (Array.isArray(columns)) {
|
|
2078
|
+
this.stackedColumns.columns = columns.map((colSize) => {
|
|
2079
|
+
const stackedColumn = {};
|
|
2080
|
+
if (typeof colSize === 'number') {
|
|
2081
|
+
stackedColumn.width = `${colSize}px`;
|
|
2082
|
+
}
|
|
2083
|
+
else if (typeof colSize === 'object' && colSize?.width) {
|
|
2084
|
+
stackedColumn.width = typeof colSize.width === 'number' ? `${colSize.width}px` : colSize.width;
|
|
2085
|
+
}
|
|
2086
|
+
else if (typeof colSize === 'string') {
|
|
2087
|
+
stackedColumn.width = colSize;
|
|
2088
|
+
}
|
|
2089
|
+
return stackedColumn;
|
|
2090
|
+
});
|
|
2091
|
+
this.stackedColumns.areDefault = false;
|
|
2092
|
+
}
|
|
2093
|
+
}
|
|
2094
|
+
}
|
|
2095
|
+
else {
|
|
2096
|
+
this.stackedColumns = { columns: [{ width: this.wrapper.nativeElement.clientWidth }], areDefault: true };
|
|
2097
|
+
}
|
|
2098
|
+
}
|
|
2026
2099
|
attachStateChangesEmitter() {
|
|
2027
2100
|
this.stateChangeSubscription =
|
|
2028
2101
|
merge(this.pageChange.pipe(map(x => ({
|
|
@@ -2105,14 +2178,14 @@ export class GridComponent {
|
|
|
2105
2178
|
!closest(args.target, matchesClasses('k-animation-container k-grid-ignore-click')) &&
|
|
2106
2179
|
!(activeElement &&
|
|
2107
2180
|
(closest(activeElement, matchesClasses('k-animation-container')) ||
|
|
2108
|
-
isInEditedCell(activeElement, this.wrapper.nativeElement)))) {
|
|
2181
|
+
isInEditedCell(activeElement, this.wrapper.nativeElement, this.isStacked)))) {
|
|
2109
2182
|
this.editService.closeCell(args);
|
|
2110
2183
|
}
|
|
2111
2184
|
});
|
|
2112
2185
|
const windowBlurSubscription = this.renderer.listen('window', 'blur', (args) => {
|
|
2113
2186
|
const activeElement = document.activeElement;
|
|
2114
2187
|
if (activeElement && !(matchesNodeName('input')(activeElement) && activeElement.type === 'file' &&
|
|
2115
|
-
isInEditedCell(activeElement, this.wrapper.nativeElement))) {
|
|
2188
|
+
isInEditedCell(activeElement, this.wrapper.nativeElement, this.isStacked))) {
|
|
2116
2189
|
this.editService.closeCell(args);
|
|
2117
2190
|
}
|
|
2118
2191
|
this.domEvents.windowBlur.emit(args);
|
|
@@ -2231,8 +2304,8 @@ export class GridComponent {
|
|
|
2231
2304
|
const dataRows = isVirtual ? this.view.total : pageSize;
|
|
2232
2305
|
const addRowOffset = this.editService.hasNewItem ? 1 : 0;
|
|
2233
2306
|
const filterRowOffset = hasFilterRow(this.filterable) ? 1 : 0;
|
|
2234
|
-
const headerRows = this.totalColumnLevels + 1 + filterRowOffset + addRowOffset;
|
|
2235
|
-
return new NavigationMetadata(dataRows, headerRows, isVirtual, this.hasPager, isPresent(this.detailTemplate), this.wrapper, this.virtualColumns, this.columnsContainer);
|
|
2307
|
+
const headerRows = this.isStacked ? 0 : this.totalColumnLevels + 1 + filterRowOffset + addRowOffset;
|
|
2308
|
+
return new NavigationMetadata(dataRows, headerRows, isVirtual, this.hasPager, isPresent(this.detailTemplate), this.wrapper, this.virtualColumns, this.columnsContainer, this.isStacked);
|
|
2236
2309
|
}
|
|
2237
2310
|
applyAutoSize() {
|
|
2238
2311
|
const cols = this.columns.filter((c) => this.autoSize ? c.autoSize !== false : c.autoSize);
|
|
@@ -2337,7 +2410,7 @@ export class GridComponent {
|
|
|
2337
2410
|
this.dropTargetContainer?.notify();
|
|
2338
2411
|
}
|
|
2339
2412
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridComponent, deps: [{ token: i1.BrowserSupportService }, { token: i2.SelectionService }, { token: i3.CellSelectionService }, { token: i0.ElementRef }, { token: i4.GroupInfoService }, { token: i5.GroupsService }, { token: i6.ChangeNotificationService }, { token: i7.DetailsService }, { token: i8.EditService }, { token: i9.FilterService }, { token: i10.PDFService }, { token: i11.ResponsiveService }, { token: i0.Renderer2 }, { token: i12.ExcelService }, { token: i0.NgZone }, { token: i13.ScrollSyncService }, { token: i14.DomEventsService }, { token: i15.ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: i16.ColumnReorderService }, { token: i17.ColumnInfoService }, { token: i18.NavigationService }, { token: i19.SortService }, { token: i20.ScrollRequestService }, { token: i21.LocalizationService }, { token: i22.ContextService }, { token: i23.SizingOptionsService }, { token: i24.AdaptiveGridService }, { token: i25.RowReorderService }, { token: i26.DataMappingService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2340
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GridComponent, isStandalone: true, selector: "kendo-grid", inputs: { data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", adaptiveMode: "adaptiveMode", detailRowHeight: "detailRowHeight", skip: "skip", scrollable: "scrollable", selectable: "selectable", sort: "sort", size: "size", trackBy: "trackBy", filter: "filter", group: "group", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", groupable: "groupable", gridResizable: "gridResizable", rowReorderable: "rowReorderable", navigable: "navigable", autoSize: "autoSize", rowClass: "rowClass", rowSticky: "rowSticky", rowSelected: "rowSelected", isRowSelectable: "isRowSelectable", cellSelected: "cellSelected", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", showInactiveTools: "showInactiveTools", isDetailExpanded: "isDetailExpanded", isGroupExpanded: "isGroupExpanded" }, outputs: { filterChange: "filterChange", pageChange: "pageChange", groupChange: "groupChange", sortChange: "sortChange", selectionChange: "selectionChange", rowReorder: "rowReorder", dataStateChange: "dataStateChange", gridStateChange: "gridStateChange", groupExpand: "groupExpand", groupCollapse: "groupCollapse", detailExpand: "detailExpand", detailCollapse: "detailCollapse", edit: "edit", cancel: "cancel", save: "save", remove: "remove", add: "add", cellClose: "cellClose", cellClick: "cellClick", pdfExport: "pdfExport", excelExport: "excelExport", columnResize: "columnResize", columnReorder: "columnReorder", columnVisibilityChange: "columnVisibilityChange", columnLockedChange: "columnLockedChange", columnStickyChange: "columnStickyChange", scrollBottom: "scrollBottom", contentScroll: "contentScroll" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClass", "class.k-grid-sm": "this.sizeSmallClass", "class.k-grid-md": "this.sizeMediumClass", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass", "class.k-grid-resizable": "this.isResizable", "style.minWidth": "this.minWidth", "style.maxWidth": "this.maxWidth", "style.minHeight": "this.minHeight", "style.maxHeight": "this.maxHeight" } }, providers: [
|
|
2413
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GridComponent, isStandalone: true, selector: "kendo-grid", inputs: { data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", adaptiveMode: "adaptiveMode", detailRowHeight: "detailRowHeight", skip: "skip", scrollable: "scrollable", selectable: "selectable", sort: "sort", size: "size", trackBy: "trackBy", filter: "filter", group: "group", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", groupable: "groupable", gridResizable: "gridResizable", rowReorderable: "rowReorderable", navigable: "navigable", autoSize: "autoSize", rowClass: "rowClass", rowSticky: "rowSticky", rowSelected: "rowSelected", isRowSelectable: "isRowSelectable", cellSelected: "cellSelected", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", showInactiveTools: "showInactiveTools", isDetailExpanded: "isDetailExpanded", isGroupExpanded: "isGroupExpanded", dataLayoutMode: "dataLayoutMode" }, outputs: { filterChange: "filterChange", pageChange: "pageChange", groupChange: "groupChange", sortChange: "sortChange", selectionChange: "selectionChange", rowReorder: "rowReorder", dataStateChange: "dataStateChange", gridStateChange: "gridStateChange", groupExpand: "groupExpand", groupCollapse: "groupCollapse", detailExpand: "detailExpand", detailCollapse: "detailCollapse", edit: "edit", cancel: "cancel", save: "save", remove: "remove", add: "add", cellClose: "cellClose", cellClick: "cellClick", pdfExport: "pdfExport", excelExport: "excelExport", columnResize: "columnResize", columnReorder: "columnReorder", columnVisibilityChange: "columnVisibilityChange", columnLockedChange: "columnLockedChange", columnStickyChange: "columnStickyChange", scrollBottom: "scrollBottom", contentScroll: "contentScroll" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClass", "class.k-grid-sm": "this.sizeSmallClass", "class.k-grid-md": "this.sizeMediumClass", "class.k-grid-stack": "this.stackedClass", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass", "class.k-grid-resizable": "this.isResizable", "style.minWidth": "this.minWidth", "style.maxWidth": "this.maxWidth", "style.minHeight": "this.minHeight", "style.maxHeight": "this.maxHeight" } }, providers: [
|
|
2341
2414
|
BrowserSupportService,
|
|
2342
2415
|
LocalizationService,
|
|
2343
2416
|
ColumnInfoService,
|
|
@@ -2621,10 +2694,10 @@ export class GridComponent {
|
|
|
2621
2694
|
i18n-columnsReset="kendo.grid.columnsReset|The text shown in the column menu or column chooser for the columns reset button"
|
|
2622
2695
|
columnsReset="Reset"
|
|
2623
2696
|
|
|
2624
|
-
i18n-detailExpand="kendo.grid.detailExpand|The title of the expand icon of detail rows."
|
|
2697
|
+
i18n-detailExpand="kendo.grid.detailExpand|The title of the expand icon of detail rows. Applies also to the expand button text in stacked mode."
|
|
2625
2698
|
detailExpand="Expand Details"
|
|
2626
2699
|
|
|
2627
|
-
i18n-detailCollapse="kendo.grid.detailCollapse|The title of the collapse icon of detail rows."
|
|
2700
|
+
i18n-detailCollapse="kendo.grid.detailCollapse|The title of the collapse icon of detail rows. Applies also to the collapse button text in stacked mode."
|
|
2628
2701
|
detailCollapse="Collapse Details"
|
|
2629
2702
|
|
|
2630
2703
|
i18n-filterDateToday="kendo.grid.filterDateToday|The text of the Today button of the Date filter."
|
|
@@ -2846,7 +2919,7 @@ export class GridComponent {
|
|
|
2846
2919
|
[attr.aria-rowcount]="ariaRowCount"
|
|
2847
2920
|
[attr.aria-colcount]="ariaColCount">
|
|
2848
2921
|
<ng-container *ngIf="isScrollable">
|
|
2849
|
-
<div *ngIf="!hideHeader"
|
|
2922
|
+
<div *ngIf="!hideHeader && !isStacked"
|
|
2850
2923
|
class="k-grid-header"
|
|
2851
2924
|
[class.k-grid-draggable-header]="groupable || reorderable"
|
|
2852
2925
|
role="presentation"
|
|
@@ -2970,7 +3043,7 @@ export class GridComponent {
|
|
|
2970
3043
|
class="k-grid-footer"
|
|
2971
3044
|
[style.padding]="headerPadding">
|
|
2972
3045
|
<div
|
|
2973
|
-
*ngIf="lockedLeafColumns.length"
|
|
3046
|
+
*ngIf="lockedLeafColumns.length && !isStacked"
|
|
2974
3047
|
class="k-grid-footer-locked"
|
|
2975
3048
|
[style.width.px]="lockedWidth">
|
|
2976
3049
|
<table
|
|
@@ -2981,7 +3054,7 @@ export class GridComponent {
|
|
|
2981
3054
|
[style.width.px]="lockedWidth"
|
|
2982
3055
|
kendoGridTable
|
|
2983
3056
|
[size]="size">
|
|
2984
|
-
<colgroup kendoGridColGroup
|
|
3057
|
+
<colgroup kendoGridColGroup *ngIf="!isStacked"
|
|
2985
3058
|
[columns]="$any(lockedLeafColumns)"
|
|
2986
3059
|
[groups]="group"
|
|
2987
3060
|
[detailTemplate]="detailTemplate">
|
|
@@ -2999,7 +3072,7 @@ export class GridComponent {
|
|
|
2999
3072
|
</div>
|
|
3000
3073
|
<div #footer
|
|
3001
3074
|
class="k-grid-footer-wrap" data-scrollable
|
|
3002
|
-
[kendoGridResizableContainer]="lockedLeafColumns.length > 0"
|
|
3075
|
+
[kendoGridResizableContainer]="lockedLeafColumns.length > 0 && !isStacked"
|
|
3003
3076
|
[lockedWidth]="lockedWidth + scrollbarWidth + 3">
|
|
3004
3077
|
<table
|
|
3005
3078
|
role="presentation"
|
|
@@ -3008,7 +3081,7 @@ export class GridComponent {
|
|
|
3008
3081
|
kendoGridTable
|
|
3009
3082
|
kendoGridResizableTable
|
|
3010
3083
|
[size]="size">
|
|
3011
|
-
<colgroup kendoGridColGroup
|
|
3084
|
+
<colgroup kendoGridColGroup *ngIf="!isStacked"
|
|
3012
3085
|
[columns]="$any(headerLeafColumns)"
|
|
3013
3086
|
[groups]="isLocked ? [] : group"
|
|
3014
3087
|
[detailTemplate]="detailTemplate">
|
|
@@ -3018,7 +3091,7 @@ export class GridComponent {
|
|
|
3018
3091
|
[scrollable]="true"
|
|
3019
3092
|
[groups]="isLocked ? [] : group"
|
|
3020
3093
|
[columns]="$any(headerColumns)"
|
|
3021
|
-
[lockedColumnsCount]="lockedLeafColumns.length"
|
|
3094
|
+
[lockedColumnsCount]="isStacked ? 0 : lockedLeafColumns.length"
|
|
3022
3095
|
[detailTemplate]="detailTemplate"
|
|
3023
3096
|
[totalColumns]="columnsContainer"
|
|
3024
3097
|
[totalColumnsCount]="leafColumns.length">
|
|
@@ -3042,7 +3115,7 @@ export class GridComponent {
|
|
|
3042
3115
|
[detailTemplate]="detailTemplate">
|
|
3043
3116
|
</colgroup>
|
|
3044
3117
|
<thead kendoGridHeader
|
|
3045
|
-
*ngIf="!hideHeader"
|
|
3118
|
+
*ngIf="!hideHeader && !isStacked"
|
|
3046
3119
|
class="k-grid-header"
|
|
3047
3120
|
[class.k-grid-draggable-header]="groupable || reorderable"
|
|
3048
3121
|
role="rowgroup"
|
|
@@ -3476,10 +3549,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3476
3549
|
i18n-columnsReset="kendo.grid.columnsReset|The text shown in the column menu or column chooser for the columns reset button"
|
|
3477
3550
|
columnsReset="Reset"
|
|
3478
3551
|
|
|
3479
|
-
i18n-detailExpand="kendo.grid.detailExpand|The title of the expand icon of detail rows."
|
|
3552
|
+
i18n-detailExpand="kendo.grid.detailExpand|The title of the expand icon of detail rows. Applies also to the expand button text in stacked mode."
|
|
3480
3553
|
detailExpand="Expand Details"
|
|
3481
3554
|
|
|
3482
|
-
i18n-detailCollapse="kendo.grid.detailCollapse|The title of the collapse icon of detail rows."
|
|
3555
|
+
i18n-detailCollapse="kendo.grid.detailCollapse|The title of the collapse icon of detail rows. Applies also to the collapse button text in stacked mode."
|
|
3483
3556
|
detailCollapse="Collapse Details"
|
|
3484
3557
|
|
|
3485
3558
|
i18n-filterDateToday="kendo.grid.filterDateToday|The text of the Today button of the Date filter."
|
|
@@ -3701,7 +3774,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3701
3774
|
[attr.aria-rowcount]="ariaRowCount"
|
|
3702
3775
|
[attr.aria-colcount]="ariaColCount">
|
|
3703
3776
|
<ng-container *ngIf="isScrollable">
|
|
3704
|
-
<div *ngIf="!hideHeader"
|
|
3777
|
+
<div *ngIf="!hideHeader && !isStacked"
|
|
3705
3778
|
class="k-grid-header"
|
|
3706
3779
|
[class.k-grid-draggable-header]="groupable || reorderable"
|
|
3707
3780
|
role="presentation"
|
|
@@ -3825,7 +3898,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3825
3898
|
class="k-grid-footer"
|
|
3826
3899
|
[style.padding]="headerPadding">
|
|
3827
3900
|
<div
|
|
3828
|
-
*ngIf="lockedLeafColumns.length"
|
|
3901
|
+
*ngIf="lockedLeafColumns.length && !isStacked"
|
|
3829
3902
|
class="k-grid-footer-locked"
|
|
3830
3903
|
[style.width.px]="lockedWidth">
|
|
3831
3904
|
<table
|
|
@@ -3836,7 +3909,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3836
3909
|
[style.width.px]="lockedWidth"
|
|
3837
3910
|
kendoGridTable
|
|
3838
3911
|
[size]="size">
|
|
3839
|
-
<colgroup kendoGridColGroup
|
|
3912
|
+
<colgroup kendoGridColGroup *ngIf="!isStacked"
|
|
3840
3913
|
[columns]="$any(lockedLeafColumns)"
|
|
3841
3914
|
[groups]="group"
|
|
3842
3915
|
[detailTemplate]="detailTemplate">
|
|
@@ -3854,7 +3927,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3854
3927
|
</div>
|
|
3855
3928
|
<div #footer
|
|
3856
3929
|
class="k-grid-footer-wrap" data-scrollable
|
|
3857
|
-
[kendoGridResizableContainer]="lockedLeafColumns.length > 0"
|
|
3930
|
+
[kendoGridResizableContainer]="lockedLeafColumns.length > 0 && !isStacked"
|
|
3858
3931
|
[lockedWidth]="lockedWidth + scrollbarWidth + 3">
|
|
3859
3932
|
<table
|
|
3860
3933
|
role="presentation"
|
|
@@ -3863,7 +3936,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3863
3936
|
kendoGridTable
|
|
3864
3937
|
kendoGridResizableTable
|
|
3865
3938
|
[size]="size">
|
|
3866
|
-
<colgroup kendoGridColGroup
|
|
3939
|
+
<colgroup kendoGridColGroup *ngIf="!isStacked"
|
|
3867
3940
|
[columns]="$any(headerLeafColumns)"
|
|
3868
3941
|
[groups]="isLocked ? [] : group"
|
|
3869
3942
|
[detailTemplate]="detailTemplate">
|
|
@@ -3873,7 +3946,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3873
3946
|
[scrollable]="true"
|
|
3874
3947
|
[groups]="isLocked ? [] : group"
|
|
3875
3948
|
[columns]="$any(headerColumns)"
|
|
3876
|
-
[lockedColumnsCount]="lockedLeafColumns.length"
|
|
3949
|
+
[lockedColumnsCount]="isStacked ? 0 : lockedLeafColumns.length"
|
|
3877
3950
|
[detailTemplate]="detailTemplate"
|
|
3878
3951
|
[totalColumns]="columnsContainer"
|
|
3879
3952
|
[totalColumnsCount]="leafColumns.length">
|
|
@@ -3897,7 +3970,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3897
3970
|
[detailTemplate]="detailTemplate">
|
|
3898
3971
|
</colgroup>
|
|
3899
3972
|
<thead kendoGridHeader
|
|
3900
|
-
*ngIf="!hideHeader"
|
|
3973
|
+
*ngIf="!hideHeader && !isStacked"
|
|
3901
3974
|
class="k-grid-header"
|
|
3902
3975
|
[class.k-grid-draggable-header]="groupable || reorderable"
|
|
3903
3976
|
role="rowgroup"
|
|
@@ -4121,6 +4194,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
4121
4194
|
type: Input
|
|
4122
4195
|
}], isGroupExpanded: [{
|
|
4123
4196
|
type: Input
|
|
4197
|
+
}], dataLayoutMode: [{
|
|
4198
|
+
type: Input
|
|
4124
4199
|
}], filterChange: [{
|
|
4125
4200
|
type: Output
|
|
4126
4201
|
}], pageChange: [{
|
|
@@ -4192,6 +4267,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
4192
4267
|
}], sizeMediumClass: [{
|
|
4193
4268
|
type: HostBinding,
|
|
4194
4269
|
args: ['class.k-grid-md']
|
|
4270
|
+
}], stackedClass: [{
|
|
4271
|
+
type: HostBinding,
|
|
4272
|
+
args: ['class.k-grid-stack']
|
|
4195
4273
|
}], lockedClasses: [{
|
|
4196
4274
|
type: HostBinding,
|
|
4197
4275
|
args: ['class.k-grid-lockedcolumns']
|