@progress/kendo-angular-grid 6.0.2-dev.202201270915 → 6.0.3
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 +1 -1
- package/dist/cdn/main.js +1 -1
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/rendering/header/header.component.js +1 -1
- package/dist/es/selection/selectall-checkbox.directive.js +18 -11
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/package-metadata.js +1 -1
- package/dist/es2015/rendering/header/header.component.js +1 -1
- package/dist/es2015/selection/selectall-checkbox.directive.d.ts +1 -1
- package/dist/es2015/selection/selectall-checkbox.directive.js +18 -11
- package/dist/fesm2015/index.js +18 -12
- package/dist/fesm5/index.js +18 -12
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/rendering/header/header.component.js +1 -1
- package/dist/npm/selection/selectall-checkbox.directive.js +17 -10
- package/dist/systemjs/kendo-angular-grid.js +1 -1
- package/package.json +1 -1
|
@@ -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: 1644936604,
|
|
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
|
};
|
|
@@ -552,7 +552,7 @@ var HeaderComponent = /** @class */ (function () {
|
|
|
552
552
|
Component({
|
|
553
553
|
selector: '[kendoGridHeader]',
|
|
554
554
|
styles: ["\n .k-column-resizer {\n cursor: col-resize;\n display: block;\n height: 1000%;\n position: absolute;\n top: 0;\n width: .5em;\n }\n "],
|
|
555
|
-
template: "\n <ng-template [ngIf]=\"true\">\n <tr *ngFor=\"let i of columnLevels; let levelIndex = index\"\n kendoGridLogicalRow\n [logicalRowIndex]=\"levelIndex\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"unlockedColumnsCount\">\n <th\n class=\"k-group-cell k-header\"\n role=\"presentation\"\n *ngFor=\"let g of groups\">\n </th>\n <th class=\"k-hierarchy-cell k-header\"\n role=\"presentation\"\n *ngIf=\"detailTemplate?.templateRef\"\n kendoGridLogicalCell\n [logicalRowIndex]=\"levelIndex\"\n [logicalColIndex]=\"0\"\n aria-selected=\"false\"\n >\n </th>\n <ng-template ngFor let-column [ngForOf]=\"columnsForLevel(levelIndex)\" [ngForTrackBy]=\"trackByIndex\" let-columnIndex=\"index\" let-last=\"last\">\n <th *ngIf=\"!isColumnGroupComponent(column)\"\n kendoGridLogicalCell\n [logicalRowIndex]=\"levelIndex\"\n [logicalColIndex]=\"logicalColumnIndex(column)\"\n [headerLabelText]=\"column.title || column.field\"\n [colSpan]=\"column.colspan\"\n [rowSpan]=\"column.rowspan(totalColumnLevels)\"\n role=\"columnheader\"\n aria-selected=\"false\"\n [attr.aria-sort]=\"sortState(column)\"\n (keydown)=\"onHeaderKeydown(column, $event)\"\n kendoDropTarget\n kendoDraggable\n kendoDraggableColumn\n [enableDrag]=\"shouldActivate(column)\"\n [context]=\"{\n field: column.field,\n type: 'column',\n column: column,\n hint: column.title || column.field,\n lastColumn: last && columnIndex === 0\n }\"\n class=\"k-header\"\n [class.k-filterable]=\"(showFilterMenu && isFilterable(column)) || showColumnMenu(column)\"\n [class.k-first]=\"isFirstOnRow(column, columnIndex)\"\n [class.k-grid-header-sticky]=\"column.sticky\"\n [ngClass]=\"column.headerClass\"\n [ngStyle]=\"column.sticky ? addStickyStyles(column) : column.headerStyle\"\n [attr.rowspan]=\"column.rowspan(totalColumnLevels)\"\n [attr.colspan]=\"column.colspan\">\n\n <ng-template [ngIf]=\"!isSortable(column)\">\n <kendo-grid-filter-menu\n *ngIf=\"showFilterMenu && isFilterable(column)\"\n [column]=\"column\"\n [filter]=\"filter\"\n [tabIndex]=\"tabIndex\">\n </kendo-grid-filter-menu>\n <kendo-grid-column-menu *ngIf=\"showColumnMenu(column)\"\n [standalone]=\"false\"\n [settings]=\"columnMenu\"\n [column]=\"column\"\n [columnMenuTemplate]=\"columnMenuTemplate\"\n [sort]=\"sort\"\n [filter]=\"filter\"\n [sortable]=\"sortable\"\n [tabIndex]=\"tabIndex\">\n </kendo-grid-column-menu>\n <ng-template\n [templateContext]=\"{\n templateRef: column.headerTemplateRef,\n columnIndex: column.leafIndex,\n column: column,\n $implicit: column\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!column.headerTemplateRef\">{{column.displayTitle}}</ng-template>\n </ng-template>\n\n <ng-template [ngIf]=\"isSortable(column)\">\n <span class=\"k-cell-inner\">\n <span #link class=\"k-link\" (click)=\"onSortClick(column, $event, link)\">\n <ng-template\n [templateContext]=\"{\n templateRef: column.headerTemplateRef,\n columnIndex: column.leafIndex,\n column: column,\n $implicit: column\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!column.headerTemplateRef\">\n <span class=\"k-column-title\">{{column.displayTitle}}</span>\n </ng-template>\n <span [attr.aria-label]=\"sortableLabel\" [ngClass]=\"sortIcon(column.field)\"></span>\n <span *ngIf=\"showSortNumbering(column)\" class=\"k-sort-order\">{{sortOrder(column.field)}}</span>\n </span>\n <span role=\"status\"\n class=\"k-sort-status\"\n style=\"position: absolute; left: -10000px;\"\n [innerHtml]=\"sortStatus(column)\">\n </span>\n <kendo-grid-filter-menu\n *ngIf=\"showFilterMenu && isFilterable(column)\"\n [column]=\"column\"\n [filter]=\"filter\"\n [tabIndex]=\"tabIndex\">\n </kendo-grid-filter-menu>\n <kendo-grid-column-menu *ngIf=\"showColumnMenu(column)\"\n [standalone]=\"false\"\n [settings]=\"columnMenu\"\n [column]=\"column\"\n [columnMenuTemplate]=\"columnMenuTemplate\"\n [sort]=\"sort\"\n [filter]=\"filter\"\n [sortable]=\"sortable\"\n [tabIndex]=\"tabIndex\">\n </kendo-grid-column-menu>\n </span>\n </ng-template>\n\n <ng-template [ngIf]=\"isCheckboxColumn(column) && !column.headerTemplateRef && column.showSelectAll\">\n <input\n class=\"k-checkbox k-checkbox-md k-rounded-md\"\n [attr.id]=\"selectAllCheckboxId()\"\n [attr.aria-label]=\"selectAllCheckboxLabel\"\n kendoGridSelectAllCheckbox\n kendoGridFocusable>\n </ng-template>\n <span kendoGridColumnHandle\n kendoDraggable\n class=\"k-column-resizer\"\n *ngIf=\"resizable\"\n [column]=\"column\"\n [columns]=\"columns\">\n </span>\n </th>\n <th *ngIf=\"isColumnGroupComponent(column)\"\n kendoGridLogicalCell\n [logicalRowIndex]=\"levelIndex\"\n [logicalColIndex]=\"logicalColumnIndex(column)\"\n [rowSpan]=\"column.rowspan(totalColumnLevels)\"\n [colSpan]=\"column.colspan\"\n [headerLabelText]=\"column.title || column.field\"\n kendoDropTarget\n kendoDraggable\n kendoDraggableColumn\n [enableDrag]=\"shouldActivate(column)\"\n [context]=\"{\n type: 'columnGroup',\n column: column,\n hint: column.title,\n lastColumn: last && columnIndex === 0\n }\"\n class=\"k-header\"\n [class.k-first]=\"isFirstOnRow(column, columnIndex)\"\n [class.k-filterable]=\"showColumnMenu(column)\"\n [class.k-grid-content-sticky]=\"column.sticky\"\n [ngClass]=\"column.headerClass\"\n [ngStyle]=\"column.headerStyle\"\n [attr.rowspan]=\"column.rowspan(totalColumnLevels)\"\n [attr.colspan]=\"column.colspan\">\n <kendo-grid-column-menu *ngIf=\"showColumnMenu(column)\"\n [standalone]=\"false\"\n [settings]=\"columnMenu\"\n [column]=\"column\"\n [columnMenuTemplate]=\"columnMenuTemplate\">\n </kendo-grid-column-menu>\n <ng-template\n [templateContext]=\"{\n templateRef: column.headerTemplateRef,\n columnIndex: lockedColumnsCount + columnIndex,\n column: column,\n $implicit: column\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!column.headerTemplateRef\">{{column.displayTitle}}</ng-template>\n <span kendoGridColumnHandle\n kendoDraggable\n class=\"k-column-resizer\"\n *ngIf=\"resizable\"\n [column]=\"column\"\n [columns]=\"columns\">\n </span>\n </th>\n </ng-template>\n </tr>\n <tr *ngIf=\"showFilterRow\"\n kendoGridFilterRow\n [columns]=\"leafColumns\"\n [filter]=\"filter\"\n [groups]=\"groups\"\n [detailTemplate]=\"detailTemplate\"\n [lockedColumnsCount]=\"lockedColumnsCount\"\n kendoGridLogicalRow\n [logicalRowIndex]=\"totalColumnLevels + 1\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"unlockedColumnsCount\"\n ></tr>\n </ng-template>\n "
|
|
555
|
+
template: "\n <ng-template [ngIf]=\"true\">\n <tr *ngFor=\"let i of columnLevels; let levelIndex = index\"\n kendoGridLogicalRow\n [logicalRowIndex]=\"levelIndex\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"unlockedColumnsCount\">\n <th\n class=\"k-group-cell k-header\"\n role=\"presentation\"\n *ngFor=\"let g of groups\">\n </th>\n <th class=\"k-hierarchy-cell k-header\"\n role=\"presentation\"\n *ngIf=\"detailTemplate?.templateRef\"\n kendoGridLogicalCell\n [logicalRowIndex]=\"levelIndex\"\n [logicalColIndex]=\"0\"\n aria-selected=\"false\"\n >\n </th>\n <ng-template ngFor let-column [ngForOf]=\"columnsForLevel(levelIndex)\" [ngForTrackBy]=\"trackByIndex\" let-columnIndex=\"index\" let-last=\"last\">\n <th *ngIf=\"!isColumnGroupComponent(column)\"\n kendoGridLogicalCell\n [logicalRowIndex]=\"levelIndex\"\n [logicalColIndex]=\"logicalColumnIndex(column)\"\n [headerLabelText]=\"column.title || column.field\"\n [colSpan]=\"column.colspan\"\n [rowSpan]=\"column.rowspan(totalColumnLevels)\"\n role=\"columnheader\"\n aria-selected=\"false\"\n [attr.aria-sort]=\"sortState(column)\"\n (keydown)=\"onHeaderKeydown(column, $event)\"\n kendoDropTarget\n kendoDraggable\n kendoDraggableColumn\n [enableDrag]=\"shouldActivate(column)\"\n [context]=\"{\n field: column.field,\n type: 'column',\n column: column,\n hint: column.title || column.field,\n lastColumn: last && columnIndex === 0\n }\"\n class=\"k-header\"\n [class.k-filterable]=\"(showFilterMenu && isFilterable(column)) || showColumnMenu(column)\"\n [class.k-first]=\"isFirstOnRow(column, columnIndex)\"\n [class.k-grid-header-sticky]=\"column.sticky\"\n [ngClass]=\"column.headerClass\"\n [ngStyle]=\"column.sticky ? addStickyStyles(column) : column.headerStyle\"\n [attr.rowspan]=\"column.rowspan(totalColumnLevels)\"\n [attr.colspan]=\"column.colspan\">\n\n <ng-template [ngIf]=\"!isSortable(column)\">\n <kendo-grid-filter-menu\n *ngIf=\"showFilterMenu && isFilterable(column)\"\n [column]=\"column\"\n [filter]=\"filter\"\n [tabIndex]=\"tabIndex\">\n </kendo-grid-filter-menu>\n <kendo-grid-column-menu *ngIf=\"showColumnMenu(column)\"\n [standalone]=\"false\"\n [settings]=\"columnMenu\"\n [column]=\"column\"\n [columnMenuTemplate]=\"columnMenuTemplate\"\n [sort]=\"sort\"\n [filter]=\"filter\"\n [sortable]=\"sortable\"\n [tabIndex]=\"tabIndex\">\n </kendo-grid-column-menu>\n <ng-template\n [templateContext]=\"{\n templateRef: column.headerTemplateRef,\n columnIndex: column.leafIndex,\n column: column,\n $implicit: column\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!column.headerTemplateRef\">{{column.displayTitle}}</ng-template>\n </ng-template>\n\n <ng-template [ngIf]=\"isSortable(column)\">\n <span class=\"k-cell-inner\">\n <span #link class=\"k-link\" (click)=\"onSortClick(column, $event, link)\">\n <ng-template\n [templateContext]=\"{\n templateRef: column.headerTemplateRef,\n columnIndex: column.leafIndex,\n column: column,\n $implicit: column\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!column.headerTemplateRef\">\n <span class=\"k-column-title\">{{column.displayTitle}}</span>\n </ng-template>\n <span role=\"note\" [attr.aria-label]=\"sortableLabel\" [ngClass]=\"sortIcon(column.field)\"></span>\n <span *ngIf=\"showSortNumbering(column)\" class=\"k-sort-order\">{{sortOrder(column.field)}}</span>\n </span>\n <span role=\"status\"\n class=\"k-sort-status\"\n style=\"position: absolute; left: -10000px;\"\n [innerHtml]=\"sortStatus(column)\">\n </span>\n <kendo-grid-filter-menu\n *ngIf=\"showFilterMenu && isFilterable(column)\"\n [column]=\"column\"\n [filter]=\"filter\"\n [tabIndex]=\"tabIndex\">\n </kendo-grid-filter-menu>\n <kendo-grid-column-menu *ngIf=\"showColumnMenu(column)\"\n [standalone]=\"false\"\n [settings]=\"columnMenu\"\n [column]=\"column\"\n [columnMenuTemplate]=\"columnMenuTemplate\"\n [sort]=\"sort\"\n [filter]=\"filter\"\n [sortable]=\"sortable\"\n [tabIndex]=\"tabIndex\">\n </kendo-grid-column-menu>\n </span>\n </ng-template>\n\n <ng-template [ngIf]=\"isCheckboxColumn(column) && !column.headerTemplateRef && column.showSelectAll\">\n <input\n class=\"k-checkbox k-checkbox-md k-rounded-md\"\n [attr.id]=\"selectAllCheckboxId()\"\n [attr.aria-label]=\"selectAllCheckboxLabel\"\n kendoGridSelectAllCheckbox\n kendoGridFocusable>\n </ng-template>\n <span kendoGridColumnHandle\n kendoDraggable\n class=\"k-column-resizer\"\n *ngIf=\"resizable\"\n [column]=\"column\"\n [columns]=\"columns\">\n </span>\n </th>\n <th *ngIf=\"isColumnGroupComponent(column)\"\n kendoGridLogicalCell\n [logicalRowIndex]=\"levelIndex\"\n [logicalColIndex]=\"logicalColumnIndex(column)\"\n [rowSpan]=\"column.rowspan(totalColumnLevels)\"\n [colSpan]=\"column.colspan\"\n [headerLabelText]=\"column.title || column.field\"\n kendoDropTarget\n kendoDraggable\n kendoDraggableColumn\n [enableDrag]=\"shouldActivate(column)\"\n [context]=\"{\n type: 'columnGroup',\n column: column,\n hint: column.title,\n lastColumn: last && columnIndex === 0\n }\"\n class=\"k-header\"\n [class.k-first]=\"isFirstOnRow(column, columnIndex)\"\n [class.k-filterable]=\"showColumnMenu(column)\"\n [class.k-grid-content-sticky]=\"column.sticky\"\n [ngClass]=\"column.headerClass\"\n [ngStyle]=\"column.headerStyle\"\n [attr.rowspan]=\"column.rowspan(totalColumnLevels)\"\n [attr.colspan]=\"column.colspan\">\n <kendo-grid-column-menu *ngIf=\"showColumnMenu(column)\"\n [standalone]=\"false\"\n [settings]=\"columnMenu\"\n [column]=\"column\"\n [columnMenuTemplate]=\"columnMenuTemplate\">\n </kendo-grid-column-menu>\n <ng-template\n [templateContext]=\"{\n templateRef: column.headerTemplateRef,\n columnIndex: lockedColumnsCount + columnIndex,\n column: column,\n $implicit: column\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!column.headerTemplateRef\">{{column.displayTitle}}</ng-template>\n <span kendoGridColumnHandle\n kendoDraggable\n class=\"k-column-resizer\"\n *ngIf=\"resizable\"\n [column]=\"column\"\n [columns]=\"columns\">\n </span>\n </th>\n </ng-template>\n </tr>\n <tr *ngIf=\"showFilterRow\"\n kendoGridFilterRow\n [columns]=\"leafColumns\"\n [filter]=\"filter\"\n [groups]=\"groups\"\n [detailTemplate]=\"detailTemplate\"\n [lockedColumnsCount]=\"lockedColumnsCount\"\n kendoGridLogicalRow\n [logicalRowIndex]=\"totalColumnLevels + 1\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"unlockedColumnsCount\"\n ></tr>\n </ng-template>\n "
|
|
556
556
|
}),
|
|
557
557
|
tslib_1.__metadata("design:paramtypes", [SinglePopupService,
|
|
558
558
|
DragHintService,
|
|
@@ -6,7 +6,8 @@ import * as tslib_1 from "tslib";
|
|
|
6
6
|
import { detectIE } from './../utils';
|
|
7
7
|
import { Directive, HostBinding, Renderer2, ElementRef, Input, Output, EventEmitter, NgZone } from '@angular/core';
|
|
8
8
|
import { SelectionService } from './selection.service';
|
|
9
|
-
import { isPresent } from
|
|
9
|
+
import { isPresent } from '../utils';
|
|
10
|
+
import { hasObservers } from '@progress/kendo-angular-common';
|
|
10
11
|
/**
|
|
11
12
|
* Represents the select-all checkbox feature of the Grid ([see example]({% slug selection_grid %}#toc-select-all-feature)).
|
|
12
13
|
*/
|
|
@@ -22,10 +23,10 @@ var SelectAllCheckboxDirective = /** @class */ (function () {
|
|
|
22
23
|
* ([see example]({% slug selection_grid %}#toc-select-all-feature)).
|
|
23
24
|
*/
|
|
24
25
|
this.selectAllChange = new EventEmitter();
|
|
25
|
-
this.type =
|
|
26
|
+
this.type = 'checkbox';
|
|
26
27
|
this.stateSet = false;
|
|
27
28
|
this.ngZone.runOutsideAngular(function () {
|
|
28
|
-
_this.destroyClick = _this.renderer.listen(_this.el.nativeElement,
|
|
29
|
+
_this.destroyClick = _this.renderer.listen(_this.el.nativeElement, 'click', _this.onClick.bind(_this));
|
|
29
30
|
});
|
|
30
31
|
}
|
|
31
32
|
SelectAllCheckboxDirective.prototype.ngAfterContentChecked = function () {
|
|
@@ -44,14 +45,20 @@ var SelectAllCheckboxDirective = /** @class */ (function () {
|
|
|
44
45
|
*/
|
|
45
46
|
SelectAllCheckboxDirective.prototype.onClick = function () {
|
|
46
47
|
var _this = this;
|
|
47
|
-
// yields consistent cross-browser behavior when clicking an
|
|
48
|
+
// yields consistent cross-browser behavior when clicking an indeterminate checkbox
|
|
48
49
|
var undefinedCheckedStateInIE = detectIE() && this.selectionService.selectAllState === undefined;
|
|
49
50
|
var isChecked = undefinedCheckedStateInIE ? true : this.el.nativeElement.checked;
|
|
50
51
|
var options = this.selectionService.options;
|
|
51
|
-
|
|
52
|
-
|
|
52
|
+
var enabledAndMultiple = options.enabled && options.mode === 'multiple';
|
|
53
|
+
var shouldEmitSelectAll = hasObservers(this.selectAllChange);
|
|
54
|
+
if (enabledAndMultiple || shouldEmitSelectAll) {
|
|
53
55
|
this.ngZone.run(function () {
|
|
54
|
-
|
|
56
|
+
if (enabledAndMultiple) {
|
|
57
|
+
_this.selectionService.updateAll(isChecked);
|
|
58
|
+
}
|
|
59
|
+
if (shouldEmitSelectAll) {
|
|
60
|
+
_this.selectAllChange.emit(isChecked ? 'checked' : 'unchecked');
|
|
61
|
+
}
|
|
55
62
|
});
|
|
56
63
|
}
|
|
57
64
|
};
|
|
@@ -61,17 +68,17 @@ var SelectAllCheckboxDirective = /** @class */ (function () {
|
|
|
61
68
|
SelectAllCheckboxDirective.prototype.setState = function () {
|
|
62
69
|
var state = this.stateSet ? this.stateToBool() : this.selectionService.selectAllState;
|
|
63
70
|
var elem = this.el.nativeElement;
|
|
64
|
-
this.renderer.setProperty(elem,
|
|
65
|
-
this.renderer.setProperty(elem,
|
|
71
|
+
this.renderer.setProperty(elem, 'indeterminate', !isPresent(state));
|
|
72
|
+
this.renderer.setProperty(elem, 'checked', isPresent(state) ? state : false);
|
|
66
73
|
};
|
|
67
74
|
/**
|
|
68
75
|
* @hidden
|
|
69
76
|
*/
|
|
70
77
|
SelectAllCheckboxDirective.prototype.stateToBool = function () {
|
|
71
78
|
switch (this.state) {
|
|
72
|
-
case
|
|
79
|
+
case 'checked':
|
|
73
80
|
return true;
|
|
74
|
-
case
|
|
81
|
+
case 'unchecked':
|
|
75
82
|
return false;
|
|
76
83
|
default:
|
|
77
84
|
return undefined;
|