@progress/kendo-angular-grid 6.0.4-dev.202202221309 → 6.1.0-dev.202203010950
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-angular-grid.js +2 -2
- package/dist/cdn/main.js +1 -1
- package/dist/es/columns/sort-settings.js +2 -1
- package/dist/es/grid.component.js +22 -4
- package/dist/es/main.js +1 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/rendering/body.module.js +5 -2
- package/dist/es/rendering/common/loading.component.js +7 -2
- package/dist/es/rendering/header/header.component.js +31 -6
- package/dist/es/rendering/list.component.js +5 -1
- package/dist/es/rendering/loading-template.directive.js +24 -0
- package/dist/es/rendering/table-body.component.js +2 -2
- package/dist/es2015/columns/sort-settings.d.ts +33 -69
- package/dist/es2015/columns/sort-settings.js +2 -1
- package/dist/es2015/grid.component.d.ts +7 -3
- package/dist/es2015/grid.component.js +19 -4
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/main.d.ts +2 -1
- package/dist/es2015/main.js +1 -0
- package/dist/es2015/package-metadata.js +1 -1
- package/dist/es2015/rendering/body.module.js +5 -2
- package/dist/es2015/rendering/common/loading.component.d.ts +2 -0
- package/dist/es2015/rendering/common/loading.component.js +13 -4
- package/dist/es2015/rendering/header/header.component.d.ts +14 -2
- package/dist/es2015/rendering/header/header.component.js +30 -6
- package/dist/es2015/rendering/list.component.d.ts +1 -0
- package/dist/es2015/rendering/list.component.js +7 -3
- package/dist/es2015/rendering/loading-template.directive.d.ts +14 -0
- package/dist/es2015/rendering/loading-template.directive.js +23 -0
- package/dist/es2015/rendering/table-body.component.d.ts +1 -1
- package/dist/es2015/rendering/table-body.component.js +3 -2
- package/dist/fesm2015/index.js +94 -23
- package/dist/fesm5/index.js +90 -19
- package/dist/npm/columns/sort-settings.js +2 -1
- package/dist/npm/grid.component.js +22 -4
- package/dist/npm/main.js +2 -0
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/rendering/body.module.js +5 -2
- package/dist/npm/rendering/common/loading.component.js +6 -1
- package/dist/npm/rendering/header/header.component.js +31 -6
- package/dist/npm/rendering/list.component.js +5 -1
- package/dist/npm/rendering/loading-template.directive.js +26 -0
- package/dist/npm/rendering/table-body.component.js +2 -2
- package/dist/systemjs/kendo-angular-grid.js +1 -1
- package/package.json +5 -3
|
@@ -70,6 +70,7 @@ import { defaultTrackBy } from './common/default-track-by';
|
|
|
70
70
|
import { CellSelectionService } from './selection/cell-selection.service';
|
|
71
71
|
import { ColumnStickyChangeEvent } from './column-menu/column-sticky-change-event';
|
|
72
72
|
import { CellLoadingTemplateDirective } from './rendering/cell-loading.template.directive';
|
|
73
|
+
import { LoadingTemplateDirective } from './rendering/loading-template.directive';
|
|
73
74
|
var createControl = function (source) { return function (acc, key) {
|
|
74
75
|
acc[key] = new FormControl(source[key]);
|
|
75
76
|
return acc;
|
|
@@ -822,15 +823,28 @@ var GridComponent = /** @class */ (function () {
|
|
|
822
823
|
enumerable: true,
|
|
823
824
|
configurable: true
|
|
824
825
|
});
|
|
825
|
-
Object.defineProperty(GridComponent.prototype, "
|
|
826
|
+
Object.defineProperty(GridComponent.prototype, "cellLoadingTemplate", {
|
|
826
827
|
get: function () {
|
|
827
|
-
if (this.
|
|
828
|
+
if (this._cellLoadingTemplate) {
|
|
828
829
|
return this._customDetailTemplate;
|
|
829
830
|
}
|
|
831
|
+
return this.cellLoadingTemplateChildren ? this.cellLoadingTemplateChildren.first : undefined;
|
|
832
|
+
},
|
|
833
|
+
set: function (cellLoadingTemplate) {
|
|
834
|
+
this._cellLoadingTemplate = cellLoadingTemplate;
|
|
835
|
+
},
|
|
836
|
+
enumerable: true,
|
|
837
|
+
configurable: true
|
|
838
|
+
});
|
|
839
|
+
Object.defineProperty(GridComponent.prototype, "loadingTemplate", {
|
|
840
|
+
get: function () {
|
|
841
|
+
if (this._loadingTemplate) {
|
|
842
|
+
return this._loadingTemplate;
|
|
843
|
+
}
|
|
830
844
|
return this.loadingTemplateChildren ? this.loadingTemplateChildren.first : undefined;
|
|
831
845
|
},
|
|
832
846
|
set: function (loadingTemplate) {
|
|
833
|
-
this.
|
|
847
|
+
this._loadingTemplate = loadingTemplate;
|
|
834
848
|
},
|
|
835
849
|
enumerable: true,
|
|
836
850
|
configurable: true
|
|
@@ -2587,6 +2601,10 @@ var GridComponent = /** @class */ (function () {
|
|
|
2587
2601
|
tslib_1.__decorate([
|
|
2588
2602
|
ContentChildren(CellLoadingTemplateDirective),
|
|
2589
2603
|
tslib_1.__metadata("design:type", QueryList)
|
|
2604
|
+
], GridComponent.prototype, "cellLoadingTemplateChildren", void 0);
|
|
2605
|
+
tslib_1.__decorate([
|
|
2606
|
+
ContentChildren(LoadingTemplateDirective),
|
|
2607
|
+
tslib_1.__metadata("design:type", QueryList)
|
|
2590
2608
|
], GridComponent.prototype, "loadingTemplateChildren", void 0);
|
|
2591
2609
|
tslib_1.__decorate([
|
|
2592
2610
|
ContentChildren(NoRecordsTemplateDirective),
|
|
@@ -2680,7 +2698,7 @@ var GridComponent = /** @class */ (function () {
|
|
|
2680
2698
|
// Styles for backwards compatibility with kendo-theme-default@v2.46.0 and earlier.
|
|
2681
2699
|
" .k-grid .k-grid-aria-root {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n overflow: hidden;\n }\n\n .k-grid .k-filter-row td {\n white-space: nowrap;\n }"
|
|
2682
2700
|
],
|
|
2683
|
-
template: "\n <ng-container kendoGridLocalizedMessages\n i18n-groupPanelEmpty=\"kendo.grid.groupPanelEmpty|The label visible in the Grid group panel when it is empty\"\n groupPanelEmpty=\"Drag a column header and drop it here to group by that column\"\n\n i18n-noRecords=\"kendo.grid.noRecords|The label visible in the Grid when there are no records\"\n noRecords=\"No records available.\"\n\n i18n-pagerLabel=\"kendo.grid.pagerLabel|The label for the Grid pager\"\n pagerLabel=\"{{ 'Page navigation, page {currentPage} of {totalPages}' }}\"\n\n i18n-pagerFirstPage=\"kendo.grid.pagerFirstPage|The label for the first page button in Grid pager\"\n pagerFirstPage=\"Go to the first page\"\n\n i18n-pagerPreviousPage=\"kendo.grid.pagerPreviousPage|The label for the previous page button in Grid pager\"\n pagerPreviousPage=\"Go to the previous page\"\n\n i18n-pagerNextPage=\"kendo.grid.pagerNextPage|The label for the next page button in Grid pager\"\n pagerNextPage=\"Go to the next page\"\n\n i18n-pagerLastPage=\"kendo.grid.pagerLastPage|The label for the last page button in Grid pager\"\n pagerLastPage=\"Go to the last page\"\n\n i18n-pagerPage=\"kendo.grid.pagerPage|The label before the current page number in the Grid pager\"\n pagerPage=\"Page\"\n\n i18n-pagerOf=\"kendo.grid.pagerOf|The label before the total pages number in the Grid pager\"\n pagerOf=\"of\"\n\n i18n-pagerItems=\"kendo.grid.pagerItems|The label after the total pages number in the Grid pager\"\n pagerItems=\"items\"\n\n i18n-pagerPageNumberInputTitle=\"kendo.grid.pagerPageNumberInputTitle|The label for the pager input in the Grid pager\"\n pagerPageNumberInputTitle=\"Page Number\"\n\n i18n-pagerItemsPerPage=\"kendo.grid.pagerItemsPerPage|The label for the page size chooser in the Grid pager\"\n pagerItemsPerPage=\"items per page\"\n\n i18n-filter=\"kendo.grid.filter|The label of the filter cell or icon\"\n filter=\"Filter\"\n\n i18n-filterInputLabel=\"kendo.grid.filterInputLabel|The label of the filter row and menu inputs\"\n filterInputLabel=\"{{ '{columnName} Filter' }}\"\n\n i18n-filterMenuTitle=\"kendo.grid.filterMenuTitle|The title of the filter menu icon\"\n filterMenuTitle=\"{{ '{columnName} Filter Menu' }}\"\n\n i18n-filterMenuOperatorsDropDownLabel=\"kendo.grid.filterMenuOperatorsDropDownLabel|The label of the filter menu operators dropdown\"\n filterMenuOperatorsDropDownLabel=\"{{ '{columnName} Filter Operators' }}\"\n\n i18n-filterMenuLogicDropDownLabel=\"kendo.grid.filterMenuLogicDropDownLabel|The label of the filter menu logic dropdown\"\n filterMenuLogicDropDownLabel=\"{{ '{columnName} Filter Logic' }}\"\n\n i18n-filterEqOperator=\"kendo.grid.filterEqOperator|The text of the equal filter operator\"\n filterEqOperator=\"Is equal to\"\n\n i18n-filterNotEqOperator=\"kendo.grid.filterNotEqOperator|The text of the not equal filter operator\"\n filterNotEqOperator=\"Is not equal to\"\n\n i18n-filterIsNullOperator=\"kendo.grid.filterIsNullOperator|The text of the is null filter operator\"\n filterIsNullOperator=\"Is null\"\n\n i18n-filterIsNotNullOperator=\"kendo.grid.filterIsNotNullOperator|The text of the is not null filter operator\"\n filterIsNotNullOperator=\"Is not null\"\n\n i18n-filterIsEmptyOperator=\"kendo.grid.filterIsEmptyOperator|The text of the is empty filter operator\"\n filterIsEmptyOperator=\"Is empty\"\n\n i18n-filterIsNotEmptyOperator=\"kendo.grid.filterIsNotEmptyOperator|The text of the is not empty filter operator\"\n filterIsNotEmptyOperator=\"Is not empty\"\n\n i18n-filterStartsWithOperator=\"kendo.grid.filterStartsWithOperator|The text of the starts with filter operator\"\n filterStartsWithOperator=\"Starts with\"\n\n i18n-filterContainsOperator=\"kendo.grid.filterContainsOperator|The text of the contains filter operator\"\n filterContainsOperator=\"Contains\"\n\n i18n-filterNotContainsOperator=\"kendo.grid.filterNotContainsOperator|The text of the does not contain filter operator\"\n filterNotContainsOperator=\"Does not contain\"\n\n i18n-filterEndsWithOperator=\"kendo.grid.filterEndsWithOperator|The text of the ends with filter operator\"\n filterEndsWithOperator=\"Ends with\"\n\n i18n-filterGteOperator=\"kendo.grid.filterGteOperator|The text of the greater than or equal filter operator\"\n filterGteOperator=\"Is greater than or equal to\"\n\n i18n-filterGtOperator=\"kendo.grid.filterGtOperator|The text of the greater than filter operator\"\n filterGtOperator=\"Is greater than\"\n\n i18n-filterLteOperator=\"kendo.grid.filterLteOperator|The text of the less than or equal filter operator\"\n filterLteOperator=\"Is less than or equal to\"\n\n i18n-filterLtOperator=\"kendo.grid.filterLtOperator|The text of the less than filter operator\"\n filterLtOperator=\"Is less than\"\n\n i18n-filterIsTrue=\"kendo.grid.filterIsTrue|The text of the IsTrue boolean filter option\"\n filterIsTrue=\"Is True\"\n\n i18n-filterIsFalse=\"kendo.grid.filterIsFalse|The text of the IsFalse boolean filter option\"\n filterIsFalse=\"Is False\"\n\n i18n-filterBooleanAll=\"kendo.grid.filterBooleanAll|The text of the (All) boolean filter option\"\n filterBooleanAll=\"(All)\"\n\n i18n-filterAfterOrEqualOperator=\"kendo.grid.filterAfterOrEqualOperator|The text of the after or equal date filter operator\"\n filterAfterOrEqualOperator=\"Is after or equal to\"\n\n i18n-filterAfterOperator=\"kendo.grid.filterAfterOperator|The text of the after date filter operator\"\n filterAfterOperator=\"Is after\"\n\n i18n-filterBeforeOperator=\"kendo.grid.filterBeforeOperator|The text of the before date filter operator\"\n filterBeforeOperator=\"Is before\"\n\n i18n-filterBeforeOrEqualOperator=\"kendo.grid.filterBeforeOrEqualOperator|The text of the before or equal date filter operator\"\n filterBeforeOrEqualOperator=\"Is before or equal to\"\n\n i18n-filterFilterButton=\"kendo.grid.filterFilterButton|The text of the filter button\"\n filterFilterButton=\"Filter\"\n\n i18n-filterClearButton=\"kendo.grid.filterClearButton|The text of the clear filter button\"\n filterClearButton=\"Clear\"\n\n i18n-filterAndLogic=\"kendo.grid.filterAndLogic|The text of the And filter logic\"\n filterAndLogic=\"And\"\n\n i18n-filterOrLogic=\"kendo.grid.filterOrLogic|The text of the Or filter logic\"\n filterOrLogic=\"Or\"\n\n i18n-loading=\"kendo.grid.loading|The loading text\"\n loading=\"Loading\"\n\n i18n-gridLabel=\"kendo.grid.gridLabel|The Grid aria-label\"\n gridLabel=\"Data table\"\n\n i18n-columnMenu=\"kendo.grid.columnMenu|The title of the column menu icon\"\n columnMenu=\"{{ '{columnName} Column Menu' }}\"\n\n i18n-columns=\"kendo.grid.columns|The text shown in the column menu for the columns item\"\n columns=\"Columns\"\n\n i18n-lock=\"kendo.grid.lock|The text shown in the column menu for the lock item\"\n lock=\"Lock\"\n\n i18n-unlock=\"kendo.grid.unlock|The text shown in the column menu for the unlock item\"\n unlock=\"Unlock\"\n\n i18n-setColumnPosition=\"kendo.grid.setColumnPosition|The text shown in the column menu for the set column position item\"\n setColumnPosition=\"Set Column Position\"\n\n i18n-stick=\"kendo.grid.stick|The text shown in the column menu for the stick item\"\n stick=\"Stick\"\n\n i18n-unstick=\"kendo.grid.unstick|The text shown in the column menu for the unstick item\"\n unstick=\"Unstick\"\n\n i18n-sortable=\"kendo.grid.sortable|The label of the sort icon\"\n sortable=\"Sortable\"\n\n i18n-sortAscending=\"kendo.grid.sortAscending|The text shown in the column menu for the sort ascending item\"\n sortAscending=\"Sort Ascending\"\n\n i18n-sortDescending=\"kendo.grid.sortDescending|The text shown in the column menu for the sort descending item\"\n sortDescending=\"Sort Descending\"\n\n i18n-sortedAscending=\"kendo.grid.sortedAscending|The status announcement when a column is sorted ascending\"\n sortedAscending=\"Sorted Ascending\"\n\n i18n-sortedDescending=\"kendo.grid.sortedDescending|The status announcement when a column is sorted descending\"\n sortedDescending=\"Sorted Descending\"\n\n i18n-sortedDefault=\"kendo.grid.sortedDefault|The status announcement when a column is no longer sorted\"\n sortedDefault=\"Not Sorted\"\n\n i18n-columnsApply=\"kendo.grid.columnsApply|The text shown in the column menu or column chooser for the columns apply button\"\n columnsApply=\"Apply\"\n\n i18n-columnsReset=\"kendo.grid.columnsReset|The text shown in the column menu or column chooser for the columns reset button\"\n columnsReset=\"Reset\"\n\n i18n-detailExpand=\"kendo.grid.detailExpand|The title of the expand icon of detail rows.\"\n detailExpand=\"Expand Details\"\n\n i18n-detailCollapse=\"kendo.grid.detailCollapse|The title of the collapse icon of detail rows.\"\n detailCollapse=\"Collapse Details\"\n\n i18n-filterDateToday=\"kendo.grid.filterDateToday|The text of the Today button of the Date filter.\"\n filterDateToday=\"TODAY\"\n\n i18n-filterDateToggle=\"kendo.grid.filterDateToggle|The title of the Toggle button of the Date filter.\"\n filterDateToggle=\"Toggle Calendar\"\n\n i18n-filterNumericDecrement=\"kendo.grid.filterNumericDecrement|The title of the Decrement button of the Numeric filter.\"\n filterNumericDecrement=\"Decrement\"\n\n i18n-filterNumericIncrement=\"kendo.grid.filterNumericIncrement|The title of the Increment button of the Numeric filter.\"\n filterNumericIncrement=\"Increment\"\n\n i18n-selectionCheckboxLabel=\"kendo.grid.selectionCheckboxLabel|The labels of the checkbox column checkboxes.\"\n selectionCheckboxLabel=\"Select Row\"\n\n i18n-selectAllCheckboxLabel=\"kendo.grid.selectAllCheckboxLabel|The label of the checkbox column select all checkbox.\"\n selectAllCheckboxLabel=\"Select All Rows\"\n\n i18n-groupCollapse=\"kendo.grid.groupCollapse|The text of the title and aria-label attributes applied to the collapse icon of group rows.\"\n groupCollapse=\"Collapse Group\"\n\n i18n-groupExpand=\"kendo.grid.groupExpand|The text of the title and aria-label attributes applied to the expand icon of group rows.\"\n groupExpand=\"Expand Group\"\n >\n </ng-container>\n <kendo-grid-toolbar class=\"k-toolbar k-grid-toolbar\" *ngIf=\"showTopToolbar\" position=\"top\"></kendo-grid-toolbar>\n <kendo-pager\n *ngIf=\"showTopPager\"\n [tabindex]=\"navigable ? '0' : '-1'\"\n [attr.role]=\"navigable ? 'navigation' : undefined\"\n class=\"k-grid-pager-top\"\n [template]=\"pagerTemplate\"\n [pageSize]=\"pageSize\"\n [total]=\"view.total\"\n [skip]=\"skip\"\n [options]=\"pageable\"\n (pageChange)=\"notifyPageChange('pager', $event)\">\n </kendo-pager>\n <kendo-grid-group-panel\n *ngIf=\"showGroupPanel\"\n [text]=\"groupableEmptyText\"\n [groups]=\"group\"\n (change)=\"groupChange.emit($event)\">\n </kendo-grid-group-panel>\n <div #ariaRoot\n class=\"k-grid-aria-root\"\n role=\"grid\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-rowcount]=\"ariaRowCount\"\n [attr.aria-colcount]=\"ariaColCount\">\n <ng-template [ngIf]=\"isScrollable\">\n <div *ngIf=\"!hideHeader\"\n class=\"k-grid-header\"\n role=\"presentation\"\n [style.padding]=\"headerPadding\">\n <div *ngIf=\"isLocked\"\n #lockedHeader\n role=\"presentation\"\n class=\"k-grid-header-locked\"\n [style.width.px]=\"lockedWidth\">\n <table [locked]=\"true\" role=\"presentation\" [style.width.px]=\"lockedWidth\">\n <colgroup kendoGridColGroup\n role=\"presentation\"\n [columns]=\"lockedLeafColumns\"\n [groups]=\"group\"\n [detailTemplate]=\"detailTemplate\">\n </colgroup>\n <thead kendoGridHeader\n [resizable]=\"resizable\"\n [scrollable]=\"true\"\n [columns]=\"lockedColumns\"\n [totalColumnLevels]=\"totalColumnLevels\"\n [sort]=\"sort\"\n [groups]=\"group\"\n [filter]=\"filter\"\n [filterable]=\"filterable\"\n [groupable]=\"showGroupPanel\"\n [reorderable]=\"reorderable\"\n [sortable]=\"sortable\"\n [columnMenu]=\"columnMenuOptions\"\n [columnMenuTemplate]=\"columnMenuTemplate\"\n [totalColumnsCount]=\"leafColumns.length\"\n [detailTemplate]=\"detailTemplate\"\n [tabIndex]=\"navigable ? '-1' : '0'\">\n </thead>\n </table>\n </div><div #header class=\"k-grid-header-wrap\" role=\"presentation\" data-scrollable\n [kendoGridResizableContainer]=\"lockedLeafColumns.length\"\n [lockedWidth]=\"lockedWidth + scrollbarWidth + 2\">\n <table role=\"presentation\" [style.width.px]=\"nonLockedWidth\" [virtualColumns]=\"virtualColumns\">\n <colgroup kendoGridColGroup\n role=\"presentation\"\n [columns]=\"headerLeafColumns\"\n [groups]=\"isLocked ? [] : group\"\n [detailTemplate]=\"detailTemplate\">\n </colgroup>\n <thead kendoGridHeader\n [resizable]=\"resizable\"\n role=\"presentation\"\n [scrollable]=\"true\"\n [columns]=\"headerColumns\"\n [totalColumnLevels]=\"totalColumnLevels\"\n [sort]=\"sort\"\n [filter]=\"filter\"\n [filterable]=\"filterable\"\n [groupable]=\"showGroupPanel\"\n [reorderable]=\"reorderable\"\n [groups]=\"isLocked ? [] : group\"\n [sortable]=\"sortable\"\n [columnMenu]=\"columnMenuOptions\"\n [columnMenuTemplate]=\"columnMenuTemplate\"\n [lockedColumnsCount]=\"lockedLeafColumns.length\"\n [totalColumnsCount]=\"leafColumns.length\"\n [detailTemplate]=\"detailTemplate\"\n [tabIndex]=\"navigable ? '-1' : '0'\">\n </thead>\n </table>\n <div *ngIf=\"virtualColumns\" class=\"k-width-container\" role=\"presentation\">\n <div [style.width.px]=\"columnsContainer.unlockedWidth\"></div>\n </div>\n </div>\n </div>\n <kendo-grid-list\n [data]=\"view\"\n [rowHeight]=\"rowHeight\"\n [detailRowHeight]=\"detailRowHeight\"\n [total]=\"totalCount\"\n [take]=\"pageSize\"\n [groups]=\"group\"\n [groupable]=\"groupable\"\n [skip]=\"skip\"\n [trackBy]=\"trackBy\"\n [columns]=\"columnsContainer\"\n [selectable]=\"selectable\"\n [filterable]=\"filterable\"\n [detailTemplate]=\"detailTemplate\"\n [noRecordsTemplate]=\"noRecordsTemplate\"\n (pageChange)=\"notifyPageChange('list', $event)\"\n [rowClass]=\"rowClass\"\n [rowSticky]=\"rowSticky\"\n [loading]=\"loading\"\n [isVirtual]=\"isVirtual\"\n [loadingTemplate]=\"loadingTemplate?.templateRef\"\n [virtualColumns]=\"virtualColumns\"\n (scrollBottom)=\"notifyScrollBottom()\"\n (contentScroll)=\"contentScroll.emit($event)\"\n kendoDraggable\n kendoGridSelectionMarquee\n [enableDrag]=\"marqueeSelection\"\n >\n </kendo-grid-list>\n <div\n *ngIf=\"showFooter\"\n class=\"k-grid-footer\"\n [style.padding]=\"headerPadding\">\n <div\n *ngIf=\"lockedLeafColumns.length\"\n class=\"k-grid-footer-locked\"\n [style.width.px]=\"lockedWidth\">\n <table role=\"presentation\" [locked]=\"true\" [style.width.px]=\"lockedWidth\">\n <colgroup kendoGridColGroup\n [columns]=\"lockedLeafColumns\"\n [groups]=\"group\"\n [detailTemplate]=\"detailTemplate\">\n </colgroup>\n <tfoot kendoGridFooter\n [scrollable]=\"true\"\n [groups]=\"group\"\n [columns]=\"lockedLeafColumns\"\n [detailTemplate]=\"detailTemplate\"\n [logicalRowIndex]=\"ariaRowCount\">\n </tfoot>\n </table>\n </div><div #footer\n class=\"k-grid-footer-wrap\" data-scrollable\n [kendoGridResizableContainer]=\"lockedLeafColumns.length\"\n [lockedWidth]=\"lockedWidth + scrollbarWidth + 3\">\n <table role=\"presentation\" [style.width.px]=\"nonLockedWidth\">\n <colgroup kendoGridColGroup\n [columns]=\"nonLockedLeafColumns\"\n [groups]=\"isLocked ? [] : group\"\n [detailTemplate]=\"detailTemplate\">\n </colgroup>\n <tfoot kendoGridFooter\n [logicalRowIndex]=\"ariaRowCount\"\n [scrollable]=\"true\"\n [groups]=\"isLocked ? [] : group\"\n [columns]=\"nonLockedLeafColumns\"\n [lockedColumnsCount]=\"lockedLeafColumns.length\"\n [detailTemplate]=\"detailTemplate\">\n </tfoot>\n </table>\n </div>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"!isScrollable\">\n <table [style.table-layout]=\"resizable ? 'fixed' : null\">\n <colgroup kendoGridColGroup\n [columns]=\"leafColumns\"\n [groups]=\"group\"\n [detailTemplate]=\"detailTemplate\">\n </colgroup>\n <thead kendoGridHeader\n *ngIf=\"!hideHeader\"\n [resizable]=\"resizable\"\n [scrollable]=\"false\"\n [columns]=\"visibleColumns\"\n [totalColumnLevels]=\"totalColumnLevels\"\n [groups]=\"group\"\n [groupable]=\"showGroupPanel\"\n [reorderable]=\"reorderable\"\n [sort]=\"sort\"\n [sortable]=\"sortable\"\n [filter]=\"filter\"\n [filterable]=\"filterable\"\n [columnMenu]=\"columnMenuOptions\"\n [columnMenuTemplate]=\"columnMenuTemplate\"\n [detailTemplate]=\"detailTemplate\"\n [tabIndex]=\"navigable ? '-1' : '0'\">\n </thead>\n <tbody kendoGridTableBody\n [isLoading]=\"loading\"\n [groups]=\"group\"\n [data]=\"view\"\n [skip]=\"skip\"\n [columns]=\"leafColumns\"\n [selectable]=\"selectable\"\n [filterable]=\"filterable\"\n [noRecordsTemplate]=\"noRecordsTemplate\"\n [detailTemplate]=\"detailTemplate\"\n [showGroupFooters]=\"showGroupFooters\"\n [trackBy]=\"trackBy\"\n [rowClass]=\"rowClass\"\n kendoDraggable\n kendoGridSelectionMarquee\n [enableDrag]=\"marqueeSelection\">\n </tbody>\n <tfoot kendoGridFooter\n *ngIf=\"showFooter\"\n [scrollable]=\"false\"\n [logicalRowIndex]=\"ariaRowCount\"\n [groups]=\"group\"\n [columns]=\"leafColumns\"\n [detailTemplate]=\"detailTemplate\">\n </tfoot>\n </table>\n <div *ngIf=\"loading\" kendoGridLoading>\n </div>\n </ng-template>\n </div>\n <kendo-pager\n *ngIf=\"showBottomPager\"\n [tabindex]=\"navigable ? '0' : '-1'\"\n [attr.role]=\"navigable ? 'navigation' : undefined\"\n [template]=\"pagerTemplate\"\n [pageSize]=\"pageSize\"\n [total]=\"view.total\"\n [skip]=\"skip\"\n [options]=\"pageable\"\n (pageChange)=\"notifyPageChange('pager', $event)\">\n </kendo-pager>\n <kendo-grid-toolbar class=\"k-toolbar k-grid-toolbar k-grid-toolbar-bottom\" *ngIf=\"showBottomToolbar\" position=\"bottom\"></kendo-grid-toolbar>\n "
|
|
2701
|
+
template: "\n <ng-container kendoGridLocalizedMessages\n i18n-groupPanelEmpty=\"kendo.grid.groupPanelEmpty|The label visible in the Grid group panel when it is empty\"\n groupPanelEmpty=\"Drag a column header and drop it here to group by that column\"\n\n i18n-noRecords=\"kendo.grid.noRecords|The label visible in the Grid when there are no records\"\n noRecords=\"No records available.\"\n\n i18n-pagerLabel=\"kendo.grid.pagerLabel|The label for the Grid pager\"\n pagerLabel=\"{{ 'Page navigation, page {currentPage} of {totalPages}' }}\"\n\n i18n-pagerFirstPage=\"kendo.grid.pagerFirstPage|The label for the first page button in Grid pager\"\n pagerFirstPage=\"Go to the first page\"\n\n i18n-pagerPreviousPage=\"kendo.grid.pagerPreviousPage|The label for the previous page button in Grid pager\"\n pagerPreviousPage=\"Go to the previous page\"\n\n i18n-pagerNextPage=\"kendo.grid.pagerNextPage|The label for the next page button in Grid pager\"\n pagerNextPage=\"Go to the next page\"\n\n i18n-pagerLastPage=\"kendo.grid.pagerLastPage|The label for the last page button in Grid pager\"\n pagerLastPage=\"Go to the last page\"\n\n i18n-pagerPage=\"kendo.grid.pagerPage|The label before the current page number in the Grid pager\"\n pagerPage=\"Page\"\n\n i18n-pagerOf=\"kendo.grid.pagerOf|The label before the total pages number in the Grid pager\"\n pagerOf=\"of\"\n\n i18n-pagerItems=\"kendo.grid.pagerItems|The label after the total pages number in the Grid pager\"\n pagerItems=\"items\"\n\n i18n-pagerPageNumberInputTitle=\"kendo.grid.pagerPageNumberInputTitle|The label for the pager input in the Grid pager\"\n pagerPageNumberInputTitle=\"Page Number\"\n\n i18n-pagerItemsPerPage=\"kendo.grid.pagerItemsPerPage|The label for the page size chooser in the Grid pager\"\n pagerItemsPerPage=\"items per page\"\n\n i18n-filter=\"kendo.grid.filter|The label of the filter cell or icon\"\n filter=\"Filter\"\n\n i18n-filterInputLabel=\"kendo.grid.filterInputLabel|The label of the filter row and menu inputs\"\n filterInputLabel=\"{{ '{columnName} Filter' }}\"\n\n i18n-filterMenuTitle=\"kendo.grid.filterMenuTitle|The title of the filter menu icon\"\n filterMenuTitle=\"{{ '{columnName} Filter Menu' }}\"\n\n i18n-filterMenuOperatorsDropDownLabel=\"kendo.grid.filterMenuOperatorsDropDownLabel|The label of the filter menu operators dropdown\"\n filterMenuOperatorsDropDownLabel=\"{{ '{columnName} Filter Operators' }}\"\n\n i18n-filterMenuLogicDropDownLabel=\"kendo.grid.filterMenuLogicDropDownLabel|The label of the filter menu logic dropdown\"\n filterMenuLogicDropDownLabel=\"{{ '{columnName} Filter Logic' }}\"\n\n i18n-filterEqOperator=\"kendo.grid.filterEqOperator|The text of the equal filter operator\"\n filterEqOperator=\"Is equal to\"\n\n i18n-filterNotEqOperator=\"kendo.grid.filterNotEqOperator|The text of the not equal filter operator\"\n filterNotEqOperator=\"Is not equal to\"\n\n i18n-filterIsNullOperator=\"kendo.grid.filterIsNullOperator|The text of the is null filter operator\"\n filterIsNullOperator=\"Is null\"\n\n i18n-filterIsNotNullOperator=\"kendo.grid.filterIsNotNullOperator|The text of the is not null filter operator\"\n filterIsNotNullOperator=\"Is not null\"\n\n i18n-filterIsEmptyOperator=\"kendo.grid.filterIsEmptyOperator|The text of the is empty filter operator\"\n filterIsEmptyOperator=\"Is empty\"\n\n i18n-filterIsNotEmptyOperator=\"kendo.grid.filterIsNotEmptyOperator|The text of the is not empty filter operator\"\n filterIsNotEmptyOperator=\"Is not empty\"\n\n i18n-filterStartsWithOperator=\"kendo.grid.filterStartsWithOperator|The text of the starts with filter operator\"\n filterStartsWithOperator=\"Starts with\"\n\n i18n-filterContainsOperator=\"kendo.grid.filterContainsOperator|The text of the contains filter operator\"\n filterContainsOperator=\"Contains\"\n\n i18n-filterNotContainsOperator=\"kendo.grid.filterNotContainsOperator|The text of the does not contain filter operator\"\n filterNotContainsOperator=\"Does not contain\"\n\n i18n-filterEndsWithOperator=\"kendo.grid.filterEndsWithOperator|The text of the ends with filter operator\"\n filterEndsWithOperator=\"Ends with\"\n\n i18n-filterGteOperator=\"kendo.grid.filterGteOperator|The text of the greater than or equal filter operator\"\n filterGteOperator=\"Is greater than or equal to\"\n\n i18n-filterGtOperator=\"kendo.grid.filterGtOperator|The text of the greater than filter operator\"\n filterGtOperator=\"Is greater than\"\n\n i18n-filterLteOperator=\"kendo.grid.filterLteOperator|The text of the less than or equal filter operator\"\n filterLteOperator=\"Is less than or equal to\"\n\n i18n-filterLtOperator=\"kendo.grid.filterLtOperator|The text of the less than filter operator\"\n filterLtOperator=\"Is less than\"\n\n i18n-filterIsTrue=\"kendo.grid.filterIsTrue|The text of the IsTrue boolean filter option\"\n filterIsTrue=\"Is True\"\n\n i18n-filterIsFalse=\"kendo.grid.filterIsFalse|The text of the IsFalse boolean filter option\"\n filterIsFalse=\"Is False\"\n\n i18n-filterBooleanAll=\"kendo.grid.filterBooleanAll|The text of the (All) boolean filter option\"\n filterBooleanAll=\"(All)\"\n\n i18n-filterAfterOrEqualOperator=\"kendo.grid.filterAfterOrEqualOperator|The text of the after or equal date filter operator\"\n filterAfterOrEqualOperator=\"Is after or equal to\"\n\n i18n-filterAfterOperator=\"kendo.grid.filterAfterOperator|The text of the after date filter operator\"\n filterAfterOperator=\"Is after\"\n\n i18n-filterBeforeOperator=\"kendo.grid.filterBeforeOperator|The text of the before date filter operator\"\n filterBeforeOperator=\"Is before\"\n\n i18n-filterBeforeOrEqualOperator=\"kendo.grid.filterBeforeOrEqualOperator|The text of the before or equal date filter operator\"\n filterBeforeOrEqualOperator=\"Is before or equal to\"\n\n i18n-filterFilterButton=\"kendo.grid.filterFilterButton|The text of the filter button\"\n filterFilterButton=\"Filter\"\n\n i18n-filterClearButton=\"kendo.grid.filterClearButton|The text of the clear filter button\"\n filterClearButton=\"Clear\"\n\n i18n-filterAndLogic=\"kendo.grid.filterAndLogic|The text of the And filter logic\"\n filterAndLogic=\"And\"\n\n i18n-filterOrLogic=\"kendo.grid.filterOrLogic|The text of the Or filter logic\"\n filterOrLogic=\"Or\"\n\n i18n-loading=\"kendo.grid.loading|The loading text\"\n loading=\"Loading\"\n\n i18n-gridLabel=\"kendo.grid.gridLabel|The Grid aria-label\"\n gridLabel=\"Data table\"\n\n i18n-columnMenu=\"kendo.grid.columnMenu|The title of the column menu icon\"\n columnMenu=\"{{ '{columnName} Column Menu' }}\"\n\n i18n-columns=\"kendo.grid.columns|The text shown in the column menu for the columns item\"\n columns=\"Columns\"\n\n i18n-lock=\"kendo.grid.lock|The text shown in the column menu for the lock item\"\n lock=\"Lock\"\n\n i18n-unlock=\"kendo.grid.unlock|The text shown in the column menu for the unlock item\"\n unlock=\"Unlock\"\n\n i18n-setColumnPosition=\"kendo.grid.setColumnPosition|The text shown in the column menu for the set column position item\"\n setColumnPosition=\"Set Column Position\"\n\n i18n-stick=\"kendo.grid.stick|The text shown in the column menu for the stick item\"\n stick=\"Stick\"\n\n i18n-unstick=\"kendo.grid.unstick|The text shown in the column menu for the unstick item\"\n unstick=\"Unstick\"\n\n i18n-sortable=\"kendo.grid.sortable|The label of the sort icon\"\n sortable=\"Sortable\"\n\n i18n-sortAscending=\"kendo.grid.sortAscending|The text shown in the column menu for the sort ascending item\"\n sortAscending=\"Sort Ascending\"\n\n i18n-sortDescending=\"kendo.grid.sortDescending|The text shown in the column menu for the sort descending item\"\n sortDescending=\"Sort Descending\"\n\n i18n-sortedAscending=\"kendo.grid.sortedAscending|The status announcement when a column is sorted ascending\"\n sortedAscending=\"Sorted Ascending\"\n\n i18n-sortedDescending=\"kendo.grid.sortedDescending|The status announcement when a column is sorted descending\"\n sortedDescending=\"Sorted Descending\"\n\n i18n-sortedDefault=\"kendo.grid.sortedDefault|The status announcement when a column is no longer sorted\"\n sortedDefault=\"Not Sorted\"\n\n i18n-columnsApply=\"kendo.grid.columnsApply|The text shown in the column menu or column chooser for the columns apply button\"\n columnsApply=\"Apply\"\n\n i18n-columnsReset=\"kendo.grid.columnsReset|The text shown in the column menu or column chooser for the columns reset button\"\n columnsReset=\"Reset\"\n\n i18n-detailExpand=\"kendo.grid.detailExpand|The title of the expand icon of detail rows.\"\n detailExpand=\"Expand Details\"\n\n i18n-detailCollapse=\"kendo.grid.detailCollapse|The title of the collapse icon of detail rows.\"\n detailCollapse=\"Collapse Details\"\n\n i18n-filterDateToday=\"kendo.grid.filterDateToday|The text of the Today button of the Date filter.\"\n filterDateToday=\"TODAY\"\n\n i18n-filterDateToggle=\"kendo.grid.filterDateToggle|The title of the Toggle button of the Date filter.\"\n filterDateToggle=\"Toggle Calendar\"\n\n i18n-filterNumericDecrement=\"kendo.grid.filterNumericDecrement|The title of the Decrement button of the Numeric filter.\"\n filterNumericDecrement=\"Decrement\"\n\n i18n-filterNumericIncrement=\"kendo.grid.filterNumericIncrement|The title of the Increment button of the Numeric filter.\"\n filterNumericIncrement=\"Increment\"\n\n i18n-selectionCheckboxLabel=\"kendo.grid.selectionCheckboxLabel|The labels of the checkbox column checkboxes.\"\n selectionCheckboxLabel=\"Select Row\"\n\n i18n-selectAllCheckboxLabel=\"kendo.grid.selectAllCheckboxLabel|The label of the checkbox column select all checkbox.\"\n selectAllCheckboxLabel=\"Select All Rows\"\n\n i18n-groupCollapse=\"kendo.grid.groupCollapse|The text of the title and aria-label attributes applied to the collapse icon of group rows.\"\n groupCollapse=\"Collapse Group\"\n\n i18n-groupExpand=\"kendo.grid.groupExpand|The text of the title and aria-label attributes applied to the expand icon of group rows.\"\n groupExpand=\"Expand Group\"\n >\n </ng-container>\n <kendo-grid-toolbar class=\"k-toolbar k-grid-toolbar\" *ngIf=\"showTopToolbar\" position=\"top\"></kendo-grid-toolbar>\n <kendo-pager\n *ngIf=\"showTopPager\"\n [tabindex]=\"navigable ? '0' : '-1'\"\n [attr.role]=\"navigable ? 'navigation' : undefined\"\n class=\"k-grid-pager-top\"\n [template]=\"pagerTemplate\"\n [pageSize]=\"pageSize\"\n [total]=\"view.total\"\n [skip]=\"skip\"\n [options]=\"pageable\"\n (pageChange)=\"notifyPageChange('pager', $event)\">\n </kendo-pager>\n <kendo-grid-group-panel\n *ngIf=\"showGroupPanel\"\n [text]=\"groupableEmptyText\"\n [groups]=\"group\"\n (change)=\"groupChange.emit($event)\">\n </kendo-grid-group-panel>\n <div #ariaRoot\n class=\"k-grid-aria-root\"\n role=\"grid\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-rowcount]=\"ariaRowCount\"\n [attr.aria-colcount]=\"ariaColCount\">\n <ng-template [ngIf]=\"isScrollable\">\n <div *ngIf=\"!hideHeader\"\n class=\"k-grid-header\"\n role=\"presentation\"\n [style.padding]=\"headerPadding\">\n <div *ngIf=\"isLocked\"\n #lockedHeader\n role=\"presentation\"\n class=\"k-grid-header-locked\"\n [style.width.px]=\"lockedWidth\">\n <table [locked]=\"true\" role=\"presentation\" [style.width.px]=\"lockedWidth\">\n <colgroup kendoGridColGroup\n role=\"presentation\"\n [columns]=\"lockedLeafColumns\"\n [groups]=\"group\"\n [detailTemplate]=\"detailTemplate\">\n </colgroup>\n <thead kendoGridHeader\n [resizable]=\"resizable\"\n [scrollable]=\"true\"\n [columns]=\"lockedColumns\"\n [totalColumnLevels]=\"totalColumnLevels\"\n [sort]=\"sort\"\n [groups]=\"group\"\n [filter]=\"filter\"\n [filterable]=\"filterable\"\n [groupable]=\"showGroupPanel\"\n [reorderable]=\"reorderable\"\n [sortable]=\"sortable\"\n [columnMenu]=\"columnMenuOptions\"\n [columnMenuTemplate]=\"columnMenuTemplate\"\n [totalColumnsCount]=\"leafColumns.length\"\n [detailTemplate]=\"detailTemplate\"\n [tabIndex]=\"navigable ? '-1' : '0'\">\n </thead>\n </table>\n </div><div #header class=\"k-grid-header-wrap\" role=\"presentation\" data-scrollable\n [kendoGridResizableContainer]=\"lockedLeafColumns.length\"\n [lockedWidth]=\"lockedWidth + scrollbarWidth + 2\">\n <table role=\"presentation\" [style.width.px]=\"nonLockedWidth\" [virtualColumns]=\"virtualColumns\">\n <colgroup kendoGridColGroup\n role=\"presentation\"\n [columns]=\"headerLeafColumns\"\n [groups]=\"isLocked ? [] : group\"\n [detailTemplate]=\"detailTemplate\">\n </colgroup>\n <thead kendoGridHeader\n [resizable]=\"resizable\"\n role=\"presentation\"\n [scrollable]=\"true\"\n [columns]=\"headerColumns\"\n [totalColumnLevels]=\"totalColumnLevels\"\n [sort]=\"sort\"\n [filter]=\"filter\"\n [filterable]=\"filterable\"\n [groupable]=\"showGroupPanel\"\n [reorderable]=\"reorderable\"\n [groups]=\"isLocked ? [] : group\"\n [sortable]=\"sortable\"\n [columnMenu]=\"columnMenuOptions\"\n [columnMenuTemplate]=\"columnMenuTemplate\"\n [lockedColumnsCount]=\"lockedLeafColumns.length\"\n [totalColumnsCount]=\"leafColumns.length\"\n [detailTemplate]=\"detailTemplate\"\n [tabIndex]=\"navigable ? '-1' : '0'\">\n </thead>\n </table>\n <div *ngIf=\"virtualColumns\" class=\"k-width-container\" role=\"presentation\">\n <div [style.width.px]=\"columnsContainer.unlockedWidth\"></div>\n </div>\n </div>\n </div>\n <kendo-grid-list\n [data]=\"view\"\n [rowHeight]=\"rowHeight\"\n [detailRowHeight]=\"detailRowHeight\"\n [total]=\"totalCount\"\n [take]=\"pageSize\"\n [groups]=\"group\"\n [groupable]=\"groupable\"\n [skip]=\"skip\"\n [trackBy]=\"trackBy\"\n [columns]=\"columnsContainer\"\n [selectable]=\"selectable\"\n [filterable]=\"filterable\"\n [detailTemplate]=\"detailTemplate\"\n [noRecordsTemplate]=\"noRecordsTemplate\"\n (pageChange)=\"notifyPageChange('list', $event)\"\n [rowClass]=\"rowClass\"\n [rowSticky]=\"rowSticky\"\n [loading]=\"loading\"\n [isVirtual]=\"isVirtual\"\n [cellLoadingTemplate]=\"cellLoadingTemplate?.templateRef\"\n [loadingTemplate]=\"loadingTemplate?.templateRef\"\n [virtualColumns]=\"virtualColumns\"\n (scrollBottom)=\"notifyScrollBottom()\"\n (contentScroll)=\"contentScroll.emit($event)\"\n kendoDraggable\n kendoGridSelectionMarquee\n [enableDrag]=\"marqueeSelection\"\n >\n </kendo-grid-list>\n <div\n *ngIf=\"showFooter\"\n class=\"k-grid-footer\"\n [style.padding]=\"headerPadding\">\n <div\n *ngIf=\"lockedLeafColumns.length\"\n class=\"k-grid-footer-locked\"\n [style.width.px]=\"lockedWidth\">\n <table role=\"presentation\" [locked]=\"true\" [style.width.px]=\"lockedWidth\">\n <colgroup kendoGridColGroup\n [columns]=\"lockedLeafColumns\"\n [groups]=\"group\"\n [detailTemplate]=\"detailTemplate\">\n </colgroup>\n <tfoot kendoGridFooter\n [scrollable]=\"true\"\n [groups]=\"group\"\n [columns]=\"lockedLeafColumns\"\n [detailTemplate]=\"detailTemplate\"\n [logicalRowIndex]=\"ariaRowCount\">\n </tfoot>\n </table>\n </div><div #footer\n class=\"k-grid-footer-wrap\" data-scrollable\n [kendoGridResizableContainer]=\"lockedLeafColumns.length\"\n [lockedWidth]=\"lockedWidth + scrollbarWidth + 3\">\n <table role=\"presentation\" [style.width.px]=\"nonLockedWidth\">\n <colgroup kendoGridColGroup\n [columns]=\"nonLockedLeafColumns\"\n [groups]=\"isLocked ? [] : group\"\n [detailTemplate]=\"detailTemplate\">\n </colgroup>\n <tfoot kendoGridFooter\n [logicalRowIndex]=\"ariaRowCount\"\n [scrollable]=\"true\"\n [groups]=\"isLocked ? [] : group\"\n [columns]=\"nonLockedLeafColumns\"\n [lockedColumnsCount]=\"lockedLeafColumns.length\"\n [detailTemplate]=\"detailTemplate\">\n </tfoot>\n </table>\n </div>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"!isScrollable\">\n <table [style.table-layout]=\"resizable ? 'fixed' : null\">\n <colgroup kendoGridColGroup\n [columns]=\"leafColumns\"\n [groups]=\"group\"\n [detailTemplate]=\"detailTemplate\">\n </colgroup>\n <thead kendoGridHeader\n *ngIf=\"!hideHeader\"\n [resizable]=\"resizable\"\n [scrollable]=\"false\"\n [columns]=\"visibleColumns\"\n [totalColumnLevels]=\"totalColumnLevels\"\n [groups]=\"group\"\n [groupable]=\"showGroupPanel\"\n [reorderable]=\"reorderable\"\n [sort]=\"sort\"\n [sortable]=\"sortable\"\n [filter]=\"filter\"\n [filterable]=\"filterable\"\n [columnMenu]=\"columnMenuOptions\"\n [columnMenuTemplate]=\"columnMenuTemplate\"\n [detailTemplate]=\"detailTemplate\"\n [tabIndex]=\"navigable ? '-1' : '0'\">\n </thead>\n <tbody kendoGridTableBody\n [isLoading]=\"loading\"\n [groups]=\"group\"\n [data]=\"view\"\n [skip]=\"skip\"\n [columns]=\"leafColumns\"\n [selectable]=\"selectable\"\n [filterable]=\"filterable\"\n [noRecordsTemplate]=\"noRecordsTemplate\"\n [detailTemplate]=\"detailTemplate\"\n [showGroupFooters]=\"showGroupFooters\"\n [trackBy]=\"trackBy\"\n [rowClass]=\"rowClass\"\n kendoDraggable\n kendoGridSelectionMarquee\n [enableDrag]=\"marqueeSelection\">\n </tbody>\n <tfoot kendoGridFooter\n *ngIf=\"showFooter\"\n [scrollable]=\"false\"\n [logicalRowIndex]=\"ariaRowCount\"\n [groups]=\"group\"\n [columns]=\"leafColumns\"\n [detailTemplate]=\"detailTemplate\">\n </tfoot>\n </table>\n <div [loadingTemplate]=\"loadingTemplate\" *ngIf=\"loading\" kendoGridLoading>\n </div>\n </ng-template>\n </div>\n <kendo-pager\n *ngIf=\"showBottomPager\"\n [tabindex]=\"navigable ? '0' : '-1'\"\n [attr.role]=\"navigable ? 'navigation' : undefined\"\n [template]=\"pagerTemplate\"\n [pageSize]=\"pageSize\"\n [total]=\"view.total\"\n [skip]=\"skip\"\n [options]=\"pageable\"\n (pageChange)=\"notifyPageChange('pager', $event)\">\n </kendo-pager>\n <kendo-grid-toolbar class=\"k-toolbar k-grid-toolbar k-grid-toolbar-bottom\" *ngIf=\"showBottomToolbar\" position=\"bottom\"></kendo-grid-toolbar>\n "
|
|
2684
2702
|
}),
|
|
2685
2703
|
tslib_1.__metadata("design:paramtypes", [BrowserSupportService,
|
|
2686
2704
|
SelectionService,
|
package/dist/es/main.js
CHANGED
|
@@ -15,6 +15,7 @@ export { ToolbarComponent } from './rendering/toolbar/toolbar.component';
|
|
|
15
15
|
export { ToolbarTemplateDirective } from './rendering/toolbar/toolbar-template.directive';
|
|
16
16
|
export { CellTemplateDirective } from './rendering/cell-template.directive';
|
|
17
17
|
export { CellLoadingTemplateDirective } from './rendering/cell-loading.template.directive';
|
|
18
|
+
export { LoadingTemplateDirective } from './rendering/loading-template.directive';
|
|
18
19
|
export { HeaderTemplateDirective } from './rendering/header/header-template.directive';
|
|
19
20
|
export { FooterTemplateDirective } from './rendering/footer/footer-template.directive';
|
|
20
21
|
export { PagerTemplateDirective } from './pager/pager-template.directive';
|
|
@@ -9,7 +9,7 @@ export var packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-grid',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
12
|
+
publishDate: 1646127685,
|
|
13
13
|
version: '',
|
|
14
14
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
|
|
15
15
|
};
|
|
@@ -25,6 +25,7 @@ import { GroupModule } from "../grouping/group.module";
|
|
|
25
25
|
import { NumericTextBoxModule } from "@progress/kendo-angular-inputs";
|
|
26
26
|
import { DatePickerModule } from '@progress/kendo-angular-dateinputs';
|
|
27
27
|
import { CellLoadingTemplateDirective } from './cell-loading.template.directive';
|
|
28
|
+
import { LoadingTemplateDirective } from './loading-template.directive';
|
|
28
29
|
var exported = [
|
|
29
30
|
CommandColumnComponent,
|
|
30
31
|
CheckboxColumnComponent,
|
|
@@ -39,7 +40,8 @@ var exported = [
|
|
|
39
40
|
SaveCommandDirective,
|
|
40
41
|
RemoveCommandDirective,
|
|
41
42
|
AddCommandDirective,
|
|
42
|
-
CellLoadingTemplateDirective
|
|
43
|
+
CellLoadingTemplateDirective,
|
|
44
|
+
LoadingTemplateDirective
|
|
43
45
|
];
|
|
44
46
|
var importedModules = [
|
|
45
47
|
CommonModule,
|
|
@@ -70,7 +72,8 @@ var BodyModule = /** @class */ (function () {
|
|
|
70
72
|
SaveCommandDirective,
|
|
71
73
|
RemoveCommandDirective,
|
|
72
74
|
AddCommandDirective,
|
|
73
|
-
CellLoadingTemplateDirective
|
|
75
|
+
CellLoadingTemplateDirective,
|
|
76
|
+
LoadingTemplateDirective
|
|
74
77
|
];
|
|
75
78
|
};
|
|
76
79
|
BodyModule = tslib_1.__decorate([
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
|
-
import { Component, HostBinding } from '@angular/core';
|
|
6
|
+
import { Component, HostBinding, Input } from '@angular/core';
|
|
7
7
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
8
|
+
import { LoadingTemplateDirective } from '../loading-template.directive';
|
|
8
9
|
/**
|
|
9
10
|
* @hidden
|
|
10
11
|
*/
|
|
@@ -24,10 +25,14 @@ var LoadingComponent = /** @class */ (function () {
|
|
|
24
25
|
HostBinding('class.k-loading-mask'),
|
|
25
26
|
tslib_1.__metadata("design:type", Boolean)
|
|
26
27
|
], LoadingComponent.prototype, "hostClass", void 0);
|
|
28
|
+
tslib_1.__decorate([
|
|
29
|
+
Input(),
|
|
30
|
+
tslib_1.__metadata("design:type", LoadingTemplateDirective)
|
|
31
|
+
], LoadingComponent.prototype, "loadingTemplate", void 0);
|
|
27
32
|
LoadingComponent = tslib_1.__decorate([
|
|
28
33
|
Component({
|
|
29
34
|
selector: '[kendoGridLoading]',
|
|
30
|
-
template: "\n <span class=\"k-loading-text\">{{ loadingText }}</span>\n
|
|
35
|
+
template: "\n <ng-container *ngIf=\"!loadingTemplate\">\n <span class=\"k-loading-text\">{{ loadingText }}</span>\n <div class=\"k-loading-image\"></div>\n <div class=\"k-loading-color\"></div>\n </ng-container>\n <ng-template *ngIf=\"loadingTemplate\" [ngTemplateOutlet]=\"loadingTemplate?.templateRef\">\n </ng-template>\n "
|
|
31
36
|
}),
|
|
32
37
|
tslib_1.__metadata("design:paramtypes", [LocalizationService])
|
|
33
38
|
], LoadingComponent);
|
|
@@ -90,6 +90,7 @@ var lockable = function (_a) {
|
|
|
90
90
|
};
|
|
91
91
|
var ɵ10 = lockable;
|
|
92
92
|
var rules = and(ofColumnType, reorderable, notInSpanColumn, notSameElement, sameParent, not(lastNonLocked), lockable);
|
|
93
|
+
var modifierKeys = ['alt', 'ctrl', 'shift', 'meta'];
|
|
93
94
|
/**
|
|
94
95
|
* @hidden
|
|
95
96
|
*/
|
|
@@ -140,8 +141,8 @@ var HeaderComponent = /** @class */ (function () {
|
|
|
140
141
|
enumerable: true,
|
|
141
142
|
configurable: true
|
|
142
143
|
});
|
|
143
|
-
HeaderComponent.prototype.sortColumn = function (
|
|
144
|
-
this.sortService.sort(
|
|
144
|
+
HeaderComponent.prototype.sortColumn = function (descriptor) {
|
|
145
|
+
this.sortService.sort(descriptor);
|
|
145
146
|
};
|
|
146
147
|
HeaderComponent.prototype.onSortClick = function (column, event, link) {
|
|
147
148
|
var target = event.target;
|
|
@@ -152,7 +153,9 @@ var HeaderComponent = /** @class */ (function () {
|
|
|
152
153
|
return;
|
|
153
154
|
}
|
|
154
155
|
}
|
|
155
|
-
this.
|
|
156
|
+
var modifier = this.matchModifier(event);
|
|
157
|
+
var toggledColumn = this.toggleSort(column, modifier);
|
|
158
|
+
this.sortColumn(toggledColumn);
|
|
156
159
|
};
|
|
157
160
|
HeaderComponent.prototype.onHeaderKeydown = function (column, args) {
|
|
158
161
|
if (args.keyCode === Keys.ArrowDown && args.altKey && this.showFilterMenu) {
|
|
@@ -171,7 +174,8 @@ var HeaderComponent = /** @class */ (function () {
|
|
|
171
174
|
return;
|
|
172
175
|
}
|
|
173
176
|
if (args.keyCode === Keys.Enter && isPresent(column.field)) {
|
|
174
|
-
this.
|
|
177
|
+
var modifier = this.matchModifier(args);
|
|
178
|
+
this.sortService.sort(this.toggleSort(column, modifier));
|
|
175
179
|
}
|
|
176
180
|
};
|
|
177
181
|
HeaderComponent.prototype.showSortNumbering = function (column) {
|
|
@@ -227,14 +231,35 @@ var HeaderComponent = /** @class */ (function () {
|
|
|
227
231
|
}
|
|
228
232
|
return this.localization.get(msg);
|
|
229
233
|
};
|
|
230
|
-
|
|
234
|
+
/**
|
|
235
|
+
*
|
|
236
|
+
* @param column
|
|
237
|
+
* @param modifier - Indicates whether the client-defined `multiSortKey` modifier is met. Defaults to `true`.
|
|
238
|
+
* @returns - SortDescriptor[]
|
|
239
|
+
*/
|
|
240
|
+
HeaderComponent.prototype.toggleSort = function (column, modifier) {
|
|
241
|
+
if (modifier === void 0) { modifier = true; }
|
|
231
242
|
var _a = normalize(this.sortable, column.sortable), allowUnsort = _a.allowUnsort, mode = _a.mode, initialDirection = _a.initialDirection;
|
|
232
243
|
var descriptor = this.toggleDirection(column.field, allowUnsort, initialDirection);
|
|
233
|
-
if (mode === 'single') {
|
|
244
|
+
if (mode === 'single' || !modifier) {
|
|
234
245
|
return [descriptor];
|
|
235
246
|
}
|
|
236
247
|
return this.sort.filter(function (desc) { return desc.field !== column.field; }).concat([descriptor]);
|
|
237
248
|
};
|
|
249
|
+
/**
|
|
250
|
+
*
|
|
251
|
+
* Determines whether the modifier key (if any) passed
|
|
252
|
+
* with a click/keyboard event matches the user-defined multiSortKey.
|
|
253
|
+
*/
|
|
254
|
+
HeaderComponent.prototype.matchModifier = function (event) {
|
|
255
|
+
var multiSortKey = normalize(this.sortable).multiSortKey;
|
|
256
|
+
if (multiSortKey === 'none') {
|
|
257
|
+
return modifierKeys.every(function (key) { return !event[key + "Key"]; });
|
|
258
|
+
}
|
|
259
|
+
return multiSortKey === 'ctrl'
|
|
260
|
+
? event.ctrlKey || event.metaKey
|
|
261
|
+
: event[multiSortKey + "Key"];
|
|
262
|
+
};
|
|
238
263
|
HeaderComponent.prototype.ngAfterViewInit = function () {
|
|
239
264
|
this.subscription.add(observe(this.dropTargets)
|
|
240
265
|
.subscribe(this.attachTargets.bind(this)));
|
|
@@ -723,6 +723,10 @@ var ListComponent = /** @class */ (function () {
|
|
|
723
723
|
Input(),
|
|
724
724
|
tslib_1.__metadata("design:type", Boolean)
|
|
725
725
|
], ListComponent.prototype, "isVirtual", void 0);
|
|
726
|
+
tslib_1.__decorate([
|
|
727
|
+
Input(),
|
|
728
|
+
tslib_1.__metadata("design:type", TemplateRef)
|
|
729
|
+
], ListComponent.prototype, "cellLoadingTemplate", void 0);
|
|
726
730
|
tslib_1.__decorate([
|
|
727
731
|
Input(),
|
|
728
732
|
tslib_1.__metadata("design:type", TemplateRef)
|
|
@@ -768,7 +772,7 @@ var ListComponent = /** @class */ (function () {
|
|
|
768
772
|
}
|
|
769
773
|
],
|
|
770
774
|
selector: 'kendo-grid-list',
|
|
771
|
-
template: "\n <div #lockedContainer class=\"k-grid-content-locked\" role=\"presentation\"\n *ngIf=\"isLocked\" [style.width.px]=\"lockedWidth\"\n [kendoEventsOutsideAngular]=\"{\n keydown: lockedKeydown,\n scroll: lockedScroll,\n mousewheel: lockedMousewheel,\n DOMMouseScroll: lockedMousewheel\n }\"\n [scope]=\"this\"\n >\n <div role=\"presentation\" class=\"k-grid-table-wrap\">\n <table [locked]=\"true\" #lockedTable class=\"k-grid-table\" role=\"presentation\" [style.width.px]=\"lockedWidth\">\n <colgroup kendoGridColGroup\n role=\"presentation\"\n [groups]=\"groups\"\n [columns]=\"lockedLeafColumns\"\n [detailTemplate]=\"detailTemplate\">\n </colgroup>\n <tbody kendoGridTableBody\n role=\"presentation\"\n [groups]=\"groups\"\n [isLocked]=\"true\"\n [data]=\"data\"\n [noRecordsText]=\"''\"\n [columns]=\"lockedLeafColumns\"\n [totalColumnsCount]=\"leafColumns.length\"\n [detailTemplate]=\"detailTemplate\"\n [showGroupFooters]=\"showFooter\"\n [skip]=\"skip\"\n [selectable]=\"selectable\"\n [trackBy]=\"trackBy\"\n [filterable]=\"filterable\"\n [rowClass]=\"rowClass\"\n [isLoading]=\"loading\"\n [isVirtual]=\"isVirtual\"\n [
|
|
775
|
+
template: "\n <div #lockedContainer class=\"k-grid-content-locked\" role=\"presentation\"\n *ngIf=\"isLocked\" [style.width.px]=\"lockedWidth\"\n [kendoEventsOutsideAngular]=\"{\n keydown: lockedKeydown,\n scroll: lockedScroll,\n mousewheel: lockedMousewheel,\n DOMMouseScroll: lockedMousewheel\n }\"\n [scope]=\"this\"\n >\n <div role=\"presentation\" class=\"k-grid-table-wrap\">\n <table [locked]=\"true\" #lockedTable class=\"k-grid-table\" role=\"presentation\" [style.width.px]=\"lockedWidth\">\n <colgroup kendoGridColGroup\n role=\"presentation\"\n [groups]=\"groups\"\n [columns]=\"lockedLeafColumns\"\n [detailTemplate]=\"detailTemplate\">\n </colgroup>\n <tbody kendoGridTableBody\n role=\"presentation\"\n [groups]=\"groups\"\n [isLocked]=\"true\"\n [data]=\"data\"\n [noRecordsText]=\"''\"\n [columns]=\"lockedLeafColumns\"\n [totalColumnsCount]=\"leafColumns.length\"\n [detailTemplate]=\"detailTemplate\"\n [showGroupFooters]=\"showFooter\"\n [skip]=\"skip\"\n [selectable]=\"selectable\"\n [trackBy]=\"trackBy\"\n [filterable]=\"filterable\"\n [rowClass]=\"rowClass\"\n [isLoading]=\"loading\"\n [isVirtual]=\"isVirtual\"\n [cellLoadingTemplate]=\"cellLoadingTemplate\">\n </tbody>\n </table>\n <kendo-resize-sensor></kendo-resize-sensor>\n </div>\n <div class=\"k-height-container\" role=\"presentation\">\n <div [style.height.px]=\"totalHeight\"></div>\n </div>\n </div><div #container\n class=\"k-grid-content k-virtual-content\"\n role=\"presentation\" tabindex=\"-1\"\n [kendoGridResizableContainer]=\"lockedLeafColumns.length\"\n [lockedWidth]=\"lockedWidth + 1\">\n <div role=\"presentation\" class=\"k-grid-table-wrap\">\n <table [style.width.px]=\"nonLockedWidth\" #table [virtualColumns]=\"virtualColumns\"\n class=\"k-grid-table\" role=\"presentation\">\n <colgroup kendoGridColGroup\n role=\"presentation\"\n [groups]=\"isLocked ? [] : groups\"\n [columns]=\"nonLockedColumnsToRender\"\n [detailTemplate]=\"detailTemplate\">\n </colgroup>\n <tbody kendoGridTableBody\n role=\"presentation\"\n [skipGroupDecoration]=\"isLocked\"\n [data]=\"data\"\n [groups]=\"groups\"\n [showGroupFooters]=\"showFooter\"\n [columns]=\"nonLockedColumnsToRender\"\n [allColumns]=\"nonLockedLeafColumns\"\n [detailTemplate]=\"detailTemplate\"\n [noRecordsTemplate]=\"noRecordsTemplate\"\n [lockedColumnsCount]=\"lockedLeafColumns.length\"\n [totalColumnsCount]=\"leafColumns.length\"\n [skip]=\"skip\"\n [selectable]=\"selectable\"\n [trackBy]=\"trackBy\"\n [filterable]=\"filterable\"\n [rowClass]=\"rowClass\"\n [rowSticky]=\"rowSticky\"\n [virtualColumns]=\"virtualColumns\"\n [isLoading]=\"loading\"\n [isVirtual]=\"isVirtual\"\n [cellLoadingTemplate]=\"cellLoadingTemplate\">\n </tbody>\n </table>\n <kendo-resize-sensor *ngIf=\"isLocked\"></kendo-resize-sensor>\n </div>\n <kendo-resize-sensor *ngIf=\"isLocked || virtualColumns\"></kendo-resize-sensor>\n <div class=\"k-height-container\" role=\"presentation\">\n <div [style.height.px]=\"totalHeight\"></div>\n </div>\n <div *ngIf=\"virtualColumns\" class=\"k-width-container\" role=\"presentation\">\n <div [style.width.px]=\"totalWidth\"></div>\n </div>\n </div>\n <div [loadingTemplate]=\"loadingTemplate\" *ngIf=\"loading\" kendoGridLoading>\n </div>\n "
|
|
772
776
|
}),
|
|
773
777
|
tslib_1.__param(0, Inject(SCROLLER_FACTORY_TOKEN)),
|
|
774
778
|
tslib_1.__metadata("design:paramtypes", [Object, DetailsService,
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import * as tslib_1 from "tslib";
|
|
6
|
+
import { Directive, TemplateRef } from '@angular/core';
|
|
7
|
+
/**
|
|
8
|
+
* Creates a loading template that overrides the default loading indicator of the Grid Component.
|
|
9
|
+
* To define a loading template, nest an `<ng-template>` tag with the `kendoGridLoadingTemplate` directive inside the `<kendo-grid>` tag
|
|
10
|
+
* [see example]({% slug databinding_grid %}#toc-loading-template).
|
|
11
|
+
*/
|
|
12
|
+
var LoadingTemplateDirective = /** @class */ (function () {
|
|
13
|
+
function LoadingTemplateDirective(templateRef) {
|
|
14
|
+
this.templateRef = templateRef;
|
|
15
|
+
}
|
|
16
|
+
LoadingTemplateDirective = tslib_1.__decorate([
|
|
17
|
+
Directive({
|
|
18
|
+
selector: '[kendoGridLoadingTemplate]'
|
|
19
|
+
}),
|
|
20
|
+
tslib_1.__metadata("design:paramtypes", [TemplateRef])
|
|
21
|
+
], LoadingTemplateDirective);
|
|
22
|
+
return LoadingTemplateDirective;
|
|
23
|
+
}());
|
|
24
|
+
export { LoadingTemplateDirective };
|
|
@@ -448,7 +448,7 @@ var TableBodyComponent = /** @class */ (function () {
|
|
|
448
448
|
tslib_1.__decorate([
|
|
449
449
|
Input(),
|
|
450
450
|
tslib_1.__metadata("design:type", TemplateRef)
|
|
451
|
-
], TableBodyComponent.prototype, "
|
|
451
|
+
], TableBodyComponent.prototype, "cellLoadingTemplate", void 0);
|
|
452
452
|
tslib_1.__decorate([
|
|
453
453
|
Input(),
|
|
454
454
|
tslib_1.__metadata("design:type", Boolean)
|
|
@@ -484,7 +484,7 @@ var TableBodyComponent = /** @class */ (function () {
|
|
|
484
484
|
TableBodyComponent = tslib_1.__decorate([
|
|
485
485
|
Component({
|
|
486
486
|
selector: '[kendoGridTableBody]',
|
|
487
|
-
template: "\n <ng-template [ngIf]=\"editService.hasNewItem\">\n <tr class=\"k-grid-add-row k-grid-edit-row\"\n kendoGridLogicalRow\n [logicalRowIndex]=\"addRowLogicalIndex()\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"unlockedColumnsCount\">\n <ng-template [ngIf]=\"!skipGroupDecoration\">\n <td class=\"k-group-cell\" *ngFor=\"let g of groups\" role=\"presentation\"></td>\n </ng-template>\n <td class=\"k-hierarchy-cell\"\n *ngIf=\"detailTemplate?.templateRef\"\n kendoGridLogicalCell\n [logicalRowIndex]=\"addRowLogicalIndex()\"\n [logicalColIndex]=\"0\"\n aria-selected=\"false\"\n >\n </td>\n <td *ngFor=\"let column of columns; let columnIndex = index; trackBy: trackByColumns;\"\n kendoGridCell\n [rowIndex]=\"-1\"\n [columnIndex]=\"lockedColumnsCount + columnIndex\"\n [isNew]=\"true\"\n [column]=\"column\"\n [dataItem]=\"newDataItem\"\n [class.k-grid-content-sticky]=\"column.sticky\"\n [ngClass]=\"column.cssClass\"\n [style.left]=\"column.sticky ? '0' : undefined\"\n [ngStyle]=\"column.sticky ? addStickyColumnStyles(column) : column.style\"\n [attr.colspan]=\"column.colspan\"\n kendoGridLogicalCell\n [logicalRowIndex]=\"addRowLogicalIndex()\"\n [logicalColIndex]=\"logicalColIndex(column)\"\n [colSpan]=\"column.colspan\"\n role=\"gridcell\">\n </td>\n </tr>\n </ng-template>\n <tr *ngIf=\"data?.length === 0 || data == null\" class=\"k-grid-norecords\">\n <td [attr.colspan]=\"colSpan\">\n <ng-template\n [ngIf]=\"noRecordsTemplate?.templateRef\"\n [templateContext]=\"{\n templateRef: noRecordsTemplate?.templateRef\n }\">\n </ng-template>\n <ng-container *ngIf=\"!noRecordsTemplate?.templateRef\">\n {{noRecordsText}}\n </ng-container>\n </td>\n </tr>\n <ng-template ngFor\n [ngForOf]=\"data\"\n [ngForTrackBy]=\"trackByWrapper\"\n let-item\n let-rowIndex=\"index\">\n <tr *ngIf=\"isGroup(item) && isParentGroupExpanded(item) && showGroupHeader(item)\"\n kendoGridGroupHeader\n [columns]=\"columns\"\n [groups]=\"groups\"\n [item]=\"item\"\n [hasDetails]=\"detailTemplate?.templateRef\"\n [skipGroupDecoration]=\"skipGroupDecoration\"\n [hasGroupHeaderColumn]=\"hasGroupHeaderColumn\"\n [groupHeaderColumns]=\"groupHeaderColumns\"\n [rowIndex]=\"rowIndex + 1\"\n [totalColumnsCount]=\"totalColumnsCount\"\n kendoGridLogicalRow\n [logicalRowIndex]=\"logicalRowIndex(rowIndex)\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"groupHeaderSlaveCellsCount\">\n </tr>\n <tr\n *ngIf=\"isDataItem(item) && (!item.group || isDataItemInExpandedGroup(item))\"\n kendoGridLogicalRow\n [dataRowIndex]=\"item.index\"\n [dataItem]=\"item.data\"\n [logicalRowIndex]=\"logicalRowIndex(rowIndex)\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"unlockedColumnsCount\"\n [class.k-grid-row-sticky]=\"rowSticky ? rowSticky({ dataItem: item.data, index: item.index }) : false\"\n [ngClass]=\"rowClass({ dataItem: item.data, index: item.index })\"\n [class.k-alt]=\"isOdd(item)\"\n [class.k-master-row]=\"detailTemplate?.templateRef\"\n [class.k-grid-edit-row]=\"isEditingRow(item.index)\"\n [attr.data-kendo-grid-item-index]=\"item.index\"\n [class.k-state-selected]=\"isSelectable() && isRowSelected(item)\">\n <ng-template [ngIf]=\"!skipGroupDecoration\">\n <td class=\"k-group-cell\" *ngFor=\"let g of groups\" role=\"presentation\"></td>\n </ng-template>\n <td class=\"k-hierarchy-cell\"\n *ngIf=\"detailTemplate?.templateRef\"\n kendoGridLogicalCell\n [logicalRowIndex]=\"logicalRowIndex(rowIndex)\"\n [logicalColIndex]=\"0\"\n [dataRowIndex]=\"item.index\"\n [dataItem]=\"item.data\"\n [detailExpandCell]=\"true\"\n aria-selected=\"false\"\n >\n <a class=\"k-icon\"\n *ngIf=\"detailTemplate.showIf(item.data, item.index)\"\n [ngClass]=\"detailButtonStyles(item)\"\n [attr.title]=\"detailButtonTitle(item)\"\n [attr.aria-label]=\"detailButtonTitle(item)\"\n href=\"#\" tabindex=\"-1\" (click)=\"toggleRow(item.index, item.data)\"></a>\n </td>\n <td\n kendoGridCell\n [rowIndex]=\"item.index\"\n [columnIndex]=\"lockedColumnsCount + columnIndex\"\n [attr.data-kendo-grid-column-index]=\"lockedColumnsCount + columnIndex\"\n [column]=\"column\"\n [dataItem]=\"item.data\"\n [isLoading]=\"isLoading\"\n [isVirtual]=\"isVirtual\"\n [loadingTemplate]=\"loadingTemplate\"\n kendoGridLogicalCell\n [logicalRowIndex]=\"logicalRowIndex(rowIndex)\"\n [logicalColIndex]=\"logicalColIndex(column)\"\n [dataRowIndex]=\"item.index\"\n [dataItem]=\"item.data\"\n [colIndex]=\"columnIndex\"\n [colSpan]=\"column.colspan\"\n role=\"gridcell\"\n [attr.aria-selected]=\"isSelectable() ? isAriaSelected(item, column) : undefined\"\n [class.k-grid-content-sticky]=\"column.sticky\"\n [class.k-touch-action-none]=\"isSelectable() && $any(selectable).drag\"\n [class.k-touch-action-auto]=\"!(isSelectable() && $any(selectable).drag)\"\n [ngClass]=\"column.cssClass\"\n [class.k-grid-edit-cell]=\"isEditingCell(item.index, column)\"\n [ngStyle]=\"column.sticky ? addStickyColumnStyles(column) : column.style\"\n [attr.colspan]=\"column.colspan\"\n [class.k-state-selected]=\"isSelectable && cellSelectionService.isCellSelected(item, column)\"\n *ngFor=\"let column of columns; let columnIndex = index; trackBy: trackByColumns;\">\n </td>\n </tr>\n <tr *ngIf=\"isDataItem(item) &&\n (!item.group || isDataItemInExpandedGroup(item)) &&\n detailTemplate?.templateRef &&\n detailTemplate.showIf(item.data, item.index) &&\n isExpanded(item)\"\n class=\"k-detail-row\"\n [class.k-alt]=\"isOdd(item)\"\n kendoGridLogicalRow\n [dataRowIndex]=\"item.index\"\n [dataItem]=\"item.data\"\n [logicalRowIndex]=\"logicalRowIndex(rowIndex) + 1\"\n [logicalSlaveRow]=\"false\"\n [logicalCellsCount]=\"1\"\n >\n <td class=\"k-group-cell\" *ngFor=\"let g of groups\"></td>\n <td class=\"k-hierarchy-cell\"></td>\n <td class=\"k-detail-cell\"\n [attr.colspan]=\"columnsSpan\"\n kendoGridLogicalCell\n [logicalRowIndex]=\"logicalRowIndex(rowIndex) + 1\"\n [logicalColIndex]=\"0\"\n [dataRowIndex]=\"item.index\"\n [dataItem]=\"item.data\"\n [colIndex]=\"0\"\n [colSpan]=\"allColumnsSpan + 1\"\n role=\"gridcell\" aria-selected=\"false\"\n >\n <ng-template\n [ngTemplateOutlet]=\"detailTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{\n dataItem: item.data,\n rowIndex: item.index,\n $implicit: item.data\n }\">\n </ng-template>\n </td>\n </tr>\n <tr *ngIf=\"isFooter(item) &&\n item.group &&\n (isFooterItemInExpandedGroup(item) || (showGroupFooters && isParentGroupExpanded(item.group))) &&\n !item.data.hideFooter\"\n class=\"k-group-footer\"\n kendoGridLogicalRow\n [logicalRowIndex]=\"logicalRowIndex(rowIndex)\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"unlockedColumnsCount\">\n <ng-template [ngIf]=\"!skipGroupDecoration\">\n <td class=\"k-group-cell\" *ngFor=\"let g of groups\"></td>\n </ng-template>\n <td class=\"k-hierarchy-cell\"\n *ngIf=\"detailTemplate?.templateRef\"\n kendoGridLogicalCell\n [logicalRowIndex]=\"logicalRowIndex(rowIndex)\"\n [logicalColIndex]=\"0\"\n aria-selected=\"false\"\n >\n </td>\n <td kendoGridLogicalCell\n [logicalRowIndex]=\"logicalRowIndex(rowIndex)\"\n [logicalColIndex]=\"logicalColIndex(column)\"\n [attr.data-skip]=\"skipGroupDecoration\"\n *ngFor=\"let column of footerColumns; let columnIndex = index; trackBy: trackByColumns;\">\n <ng-template\n [templateContext]=\"{\n templateRef: column.groupFooterTemplateRef,\n group: item.data,\n field: column.field,\n column: column,\n aggregates: item.data?.aggregates,\n $implicit: item.data?.aggregates\n }\">\n </ng-template>\n </td>\n </tr>\n </ng-template>\n <kendo-resize-sensor *ngIf=\"rowSticky\" (resize)=\"resizeHandler()\"></kendo-resize-sensor>\n "
|
|
487
|
+
template: "\n <ng-template [ngIf]=\"editService.hasNewItem\">\n <tr class=\"k-grid-add-row k-grid-edit-row\"\n kendoGridLogicalRow\n [logicalRowIndex]=\"addRowLogicalIndex()\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"unlockedColumnsCount\">\n <ng-template [ngIf]=\"!skipGroupDecoration\">\n <td class=\"k-group-cell\" *ngFor=\"let g of groups\" role=\"presentation\"></td>\n </ng-template>\n <td class=\"k-hierarchy-cell\"\n *ngIf=\"detailTemplate?.templateRef\"\n kendoGridLogicalCell\n [logicalRowIndex]=\"addRowLogicalIndex()\"\n [logicalColIndex]=\"0\"\n aria-selected=\"false\"\n >\n </td>\n <td *ngFor=\"let column of columns; let columnIndex = index; trackBy: trackByColumns;\"\n kendoGridCell\n [rowIndex]=\"-1\"\n [columnIndex]=\"lockedColumnsCount + columnIndex\"\n [isNew]=\"true\"\n [column]=\"column\"\n [dataItem]=\"newDataItem\"\n [class.k-grid-content-sticky]=\"column.sticky\"\n [ngClass]=\"column.cssClass\"\n [style.left]=\"column.sticky ? '0' : undefined\"\n [ngStyle]=\"column.sticky ? addStickyColumnStyles(column) : column.style\"\n [attr.colspan]=\"column.colspan\"\n kendoGridLogicalCell\n [logicalRowIndex]=\"addRowLogicalIndex()\"\n [logicalColIndex]=\"logicalColIndex(column)\"\n [colSpan]=\"column.colspan\"\n role=\"gridcell\">\n </td>\n </tr>\n </ng-template>\n <tr *ngIf=\"data?.length === 0 || data == null\" class=\"k-grid-norecords\">\n <td [attr.colspan]=\"colSpan\">\n <ng-template\n [ngIf]=\"noRecordsTemplate?.templateRef\"\n [templateContext]=\"{\n templateRef: noRecordsTemplate?.templateRef\n }\">\n </ng-template>\n <ng-container *ngIf=\"!noRecordsTemplate?.templateRef\">\n {{noRecordsText}}\n </ng-container>\n </td>\n </tr>\n\n <ng-template ngFor\n [ngForOf]=\"data\"\n [ngForTrackBy]=\"trackByWrapper\"\n let-item\n let-rowIndex=\"index\">\n <tr *ngIf=\"isGroup(item) && isParentGroupExpanded(item) && showGroupHeader(item)\"\n kendoGridGroupHeader\n [columns]=\"columns\"\n [groups]=\"groups\"\n [item]=\"item\"\n [hasDetails]=\"detailTemplate?.templateRef\"\n [skipGroupDecoration]=\"skipGroupDecoration\"\n [hasGroupHeaderColumn]=\"hasGroupHeaderColumn\"\n [groupHeaderColumns]=\"groupHeaderColumns\"\n [rowIndex]=\"rowIndex + 1\"\n [totalColumnsCount]=\"totalColumnsCount\"\n kendoGridLogicalRow\n [logicalRowIndex]=\"logicalRowIndex(rowIndex)\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"groupHeaderSlaveCellsCount\">\n </tr>\n <tr\n *ngIf=\"isDataItem(item) && (!item.group || isDataItemInExpandedGroup(item))\"\n kendoGridLogicalRow\n [dataRowIndex]=\"item.index\"\n [dataItem]=\"item.data\"\n [logicalRowIndex]=\"logicalRowIndex(rowIndex)\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"unlockedColumnsCount\"\n [class.k-grid-row-sticky]=\"rowSticky ? rowSticky({ dataItem: item.data, index: item.index }) : false\"\n [ngClass]=\"rowClass({ dataItem: item.data, index: item.index })\"\n [class.k-alt]=\"isOdd(item)\"\n [class.k-master-row]=\"detailTemplate?.templateRef\"\n [class.k-grid-edit-row]=\"isEditingRow(item.index)\"\n [attr.data-kendo-grid-item-index]=\"item.index\"\n [class.k-state-selected]=\"isSelectable() && isRowSelected(item)\">\n <ng-template [ngIf]=\"!skipGroupDecoration\">\n <td class=\"k-group-cell\" *ngFor=\"let g of groups\" role=\"presentation\"></td>\n </ng-template>\n <td class=\"k-hierarchy-cell\"\n *ngIf=\"detailTemplate?.templateRef\"\n kendoGridLogicalCell\n [logicalRowIndex]=\"logicalRowIndex(rowIndex)\"\n [logicalColIndex]=\"0\"\n [dataRowIndex]=\"item.index\"\n [dataItem]=\"item.data\"\n [detailExpandCell]=\"true\"\n aria-selected=\"false\"\n >\n <a class=\"k-icon\"\n *ngIf=\"detailTemplate.showIf(item.data, item.index)\"\n [ngClass]=\"detailButtonStyles(item)\"\n [attr.title]=\"detailButtonTitle(item)\"\n [attr.aria-label]=\"detailButtonTitle(item)\"\n href=\"#\" tabindex=\"-1\" (click)=\"toggleRow(item.index, item.data)\"></a>\n </td>\n <td\n kendoGridCell\n [rowIndex]=\"item.index\"\n [columnIndex]=\"lockedColumnsCount + columnIndex\"\n [attr.data-kendo-grid-column-index]=\"lockedColumnsCount + columnIndex\"\n [column]=\"column\"\n [dataItem]=\"item.data\"\n [isLoading]=\"isLoading\"\n [isVirtual]=\"isVirtual\"\n [loadingTemplate]=\"cellLoadingTemplate\"\n kendoGridLogicalCell\n [logicalRowIndex]=\"logicalRowIndex(rowIndex)\"\n [logicalColIndex]=\"logicalColIndex(column)\"\n [dataRowIndex]=\"item.index\"\n [dataItem]=\"item.data\"\n [colIndex]=\"columnIndex\"\n [colSpan]=\"column.colspan\"\n role=\"gridcell\"\n [attr.aria-selected]=\"isSelectable() ? isAriaSelected(item, column) : undefined\"\n [class.k-grid-content-sticky]=\"column.sticky\"\n [class.k-touch-action-none]=\"isSelectable() && $any(selectable).drag\"\n [class.k-touch-action-auto]=\"!(isSelectable() && $any(selectable).drag)\"\n [ngClass]=\"column.cssClass\"\n [class.k-grid-edit-cell]=\"isEditingCell(item.index, column)\"\n [ngStyle]=\"column.sticky ? addStickyColumnStyles(column) : column.style\"\n [attr.colspan]=\"column.colspan\"\n [class.k-state-selected]=\"isSelectable && cellSelectionService.isCellSelected(item, column)\"\n *ngFor=\"let column of columns; let columnIndex = index; trackBy: trackByColumns;\">\n </td>\n </tr>\n <tr *ngIf=\"isDataItem(item) &&\n (!item.group || isDataItemInExpandedGroup(item)) &&\n detailTemplate?.templateRef &&\n detailTemplate.showIf(item.data, item.index) &&\n isExpanded(item)\"\n class=\"k-detail-row\"\n [class.k-alt]=\"isOdd(item)\"\n kendoGridLogicalRow\n [dataRowIndex]=\"item.index\"\n [dataItem]=\"item.data\"\n [logicalRowIndex]=\"logicalRowIndex(rowIndex) + 1\"\n [logicalSlaveRow]=\"false\"\n [logicalCellsCount]=\"1\"\n >\n <td class=\"k-group-cell\" *ngFor=\"let g of groups\"></td>\n <td class=\"k-hierarchy-cell\"></td>\n <td class=\"k-detail-cell\"\n [attr.colspan]=\"columnsSpan\"\n kendoGridLogicalCell\n [logicalRowIndex]=\"logicalRowIndex(rowIndex) + 1\"\n [logicalColIndex]=\"0\"\n [dataRowIndex]=\"item.index\"\n [dataItem]=\"item.data\"\n [colIndex]=\"0\"\n [colSpan]=\"allColumnsSpan + 1\"\n role=\"gridcell\" aria-selected=\"false\"\n >\n <ng-template\n [ngTemplateOutlet]=\"detailTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{\n dataItem: item.data,\n rowIndex: item.index,\n $implicit: item.data\n }\">\n </ng-template>\n </td>\n </tr>\n <tr *ngIf=\"isFooter(item) &&\n item.group &&\n (isFooterItemInExpandedGroup(item) || (showGroupFooters && isParentGroupExpanded(item.group))) &&\n !item.data.hideFooter\"\n class=\"k-group-footer\"\n kendoGridLogicalRow\n [logicalRowIndex]=\"logicalRowIndex(rowIndex)\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"unlockedColumnsCount\">\n <ng-template [ngIf]=\"!skipGroupDecoration\">\n <td class=\"k-group-cell\" *ngFor=\"let g of groups\"></td>\n </ng-template>\n <td class=\"k-hierarchy-cell\"\n *ngIf=\"detailTemplate?.templateRef\"\n kendoGridLogicalCell\n [logicalRowIndex]=\"logicalRowIndex(rowIndex)\"\n [logicalColIndex]=\"0\"\n aria-selected=\"false\"\n >\n </td>\n <td kendoGridLogicalCell\n [logicalRowIndex]=\"logicalRowIndex(rowIndex)\"\n [logicalColIndex]=\"logicalColIndex(column)\"\n [attr.data-skip]=\"skipGroupDecoration\"\n *ngFor=\"let column of footerColumns; let columnIndex = index; trackBy: trackByColumns;\">\n <ng-template\n [templateContext]=\"{\n templateRef: column.groupFooterTemplateRef,\n group: item.data,\n field: column.field,\n column: column,\n aggregates: item.data?.aggregates,\n $implicit: item.data?.aggregates\n }\">\n </ng-template>\n </td>\n </tr>\n </ng-template>\n <kendo-resize-sensor *ngIf=\"rowSticky\" (resize)=\"resizeHandler()\"></kendo-resize-sensor>\n "
|
|
488
488
|
}),
|
|
489
489
|
tslib_1.__metadata("design:paramtypes", [DetailsService,
|
|
490
490
|
GroupsService,
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* Defines the settings for sorting the Grid column.
|
|
7
7
|
*/
|
|
8
|
-
export
|
|
8
|
+
export interface ColumnSortSettings {
|
|
9
9
|
/**
|
|
10
10
|
* Enables the removal of the column sorting.
|
|
11
11
|
*/
|
|
@@ -18,90 +18,54 @@ export declare type ColumnSortSettings = boolean | {
|
|
|
18
18
|
* - `desc`
|
|
19
19
|
*/
|
|
20
20
|
initialDirection?: 'asc' | 'desc';
|
|
21
|
-
}
|
|
21
|
+
}
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* Specifies settings for sorting by single column.
|
|
24
24
|
*/
|
|
25
|
-
export
|
|
25
|
+
export interface SingleSortSettings extends ColumnSortSettings {
|
|
26
26
|
/**
|
|
27
27
|
* The sort mode of the Grid.
|
|
28
|
-
*
|
|
29
|
-
* The available values for setting the sort modes are:
|
|
30
|
-
* - `single`
|
|
31
|
-
* - `multiple`
|
|
32
28
|
*/
|
|
33
|
-
mode?: 'single'
|
|
34
|
-
|
|
35
|
-
* Enables the sort-sequence indicators for sorting multiple columns.
|
|
36
|
-
*/
|
|
37
|
-
showIndexes?: boolean;
|
|
38
|
-
};
|
|
29
|
+
mode?: 'single';
|
|
30
|
+
}
|
|
39
31
|
/**
|
|
40
|
-
*
|
|
32
|
+
* Specifies a modifier key.
|
|
41
33
|
*/
|
|
42
|
-
export declare
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Determines the initial (from the unsorted to the sorted state) sort direction.
|
|
49
|
-
*
|
|
50
|
-
* The available values for setting the initial sort direction are:
|
|
51
|
-
* - `asc` (default)
|
|
52
|
-
* - `desc`
|
|
53
|
-
*/
|
|
54
|
-
initialDirection?: "desc" | "asc";
|
|
55
|
-
} | (false & {
|
|
34
|
+
export declare type ModifierKey = 'none' | 'ctrl' | 'shift' | 'alt';
|
|
35
|
+
/**
|
|
36
|
+
* Specifies settings for sorting by multiple columns.
|
|
37
|
+
*/
|
|
38
|
+
export interface MultipleSortSettings extends ColumnSortSettings {
|
|
56
39
|
/**
|
|
57
40
|
* The sort mode of the Grid.
|
|
58
|
-
*
|
|
59
|
-
* The available values for setting the sort modes are:
|
|
60
|
-
* - `single`
|
|
61
|
-
* - `multiple`
|
|
62
41
|
*/
|
|
63
|
-
mode?:
|
|
42
|
+
mode?: 'multiple';
|
|
64
43
|
/**
|
|
65
44
|
* Enables the sort-sequence indicators for sorting multiple columns.
|
|
66
45
|
*/
|
|
67
46
|
showIndexes?: boolean;
|
|
68
|
-
}) | (true & {
|
|
69
47
|
/**
|
|
70
|
-
*
|
|
48
|
+
* Specifies the modifier key for sorting by 2nd or more columns.
|
|
71
49
|
*
|
|
72
|
-
* The
|
|
73
|
-
*
|
|
74
|
-
* - `multiple`
|
|
75
|
-
*/
|
|
76
|
-
mode?: "single" | "multiple";
|
|
77
|
-
/**
|
|
78
|
-
* Enables the sort-sequence indicators for sorting multiple columns.
|
|
79
|
-
*/
|
|
80
|
-
showIndexes?: boolean;
|
|
81
|
-
}) | ({
|
|
82
|
-
/**
|
|
83
|
-
* Enables the removal of the column sorting.
|
|
84
|
-
*/
|
|
85
|
-
allowUnsort?: boolean;
|
|
86
|
-
/**
|
|
87
|
-
* Determines the initial (from the unsorted to the sorted state) sort direction.
|
|
50
|
+
* The default value is 'none', meaning that clicking a column will add it to the sort order.
|
|
51
|
+
* Selecting a key modifier along with the click will remove sorting from all other columns.
|
|
88
52
|
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
* - `desc`
|
|
92
|
-
*/
|
|
93
|
-
initialDirection?: "desc" | "asc";
|
|
94
|
-
} & {
|
|
95
|
-
/**
|
|
96
|
-
* The sort mode of the Grid.
|
|
53
|
+
* If the key is set to 'ctrl', 'shift' or 'alt', clicking a column will remove sorting from all other columns.
|
|
54
|
+
* The specified key must be pressed to add the column to the sort order instead.
|
|
97
55
|
*
|
|
98
|
-
* The
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
*/
|
|
102
|
-
mode?: "single" | "multiple";
|
|
103
|
-
/**
|
|
104
|
-
* Enables the sort-sequence indicators for sorting multiple columns.
|
|
56
|
+
* > The `ctrl` value corresponds to the `Command` key in a macOS environment.
|
|
57
|
+
*
|
|
58
|
+
* @default 'none'
|
|
105
59
|
*/
|
|
106
|
-
|
|
107
|
-
}
|
|
60
|
+
multiSortKey?: ModifierKey;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Defines the settings for sorting the Grid.
|
|
64
|
+
* Can be of type `boolean`, [SingleSortSettings]({% slug api_grid_singlesortsettings %}),
|
|
65
|
+
* or [MultipleSortSettings]({% slug api_grid_multiplesortsettings %}).
|
|
66
|
+
*/
|
|
67
|
+
export declare type SortSettings = boolean | SingleSortSettings | MultipleSortSettings;
|
|
68
|
+
/**
|
|
69
|
+
* @hidden
|
|
70
|
+
*/
|
|
71
|
+
export declare const normalize: (...settings: (boolean | ColumnSortSettings | SingleSortSettings | MultipleSortSettings)[]) => any;
|