@progress/kendo-angular-grid 13.4.0-develop.1 → 13.4.0-develop.10
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/column-menu/column-chooser-item-checked.directive.d.ts +20 -0
- package/column-menu/column-chooser.component.d.ts +9 -1
- package/column-menu/column-list-kb-nav.service.d.ts +22 -0
- package/column-menu/column-list.component.d.ts +10 -2
- package/column-menu/column-menu-item.component.d.ts +2 -0
- package/column-menu/column-menu.component.d.ts +10 -4
- package/column-menu/column-menu.module.d.ts +22 -21
- package/common/error-messages.d.ts +1 -1
- package/esm2020/column-menu/column-chooser-item-checked.directive.mjs +36 -0
- package/esm2020/column-menu/column-chooser.component.mjs +63 -12
- package/esm2020/column-menu/column-list-kb-nav.service.mjs +38 -0
- package/esm2020/column-menu/column-list.component.mjs +137 -26
- package/esm2020/column-menu/column-menu-autosize-all.component.mjs +2 -2
- package/esm2020/column-menu/column-menu-autosize.component.mjs +2 -2
- package/esm2020/column-menu/column-menu-chooser.component.mjs +3 -1
- package/esm2020/column-menu/column-menu-item.component.mjs +10 -4
- package/esm2020/column-menu/column-menu.component.mjs +79 -37
- package/esm2020/column-menu/column-menu.module.mjs +6 -2
- package/esm2020/common/error-messages.mjs +1 -1
- package/esm2020/filtering/cell/autocomplete-filter-cell.component.mjs +1 -1
- package/esm2020/filtering/cell/boolean-filter-cell.component.mjs +1 -1
- package/esm2020/filtering/cell/filter-cell-operators.component.mjs +1 -1
- package/esm2020/filtering/menu/date-filter-menu.component.mjs +1 -1
- package/esm2020/filtering/menu/filter-menu-container.component.mjs +2 -2
- package/esm2020/filtering/menu/filter-menu-input-wrapper.component.mjs +1 -1
- package/esm2020/filtering/menu/filter-menu.component.mjs +52 -10
- package/esm2020/filtering/menu/numeric-filter-menu.component.mjs +1 -1
- package/esm2020/filtering/menu/string-filter-menu.component.mjs +1 -1
- package/esm2020/navigation/logical-cell.directive.mjs +1 -1
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/pager/pager-numeric-buttons.component.mjs +14 -8
- package/esm2020/pager/pager-page-sizes.component.mjs +1 -1
- package/esm2020/pager/pager.component.mjs +76 -42
- package/esm2020/rendering/footer/footer.component.mjs +1 -1
- package/esm2020/rendering/groups-expand.directive.mjs +9 -1
- package/esm2020/rendering/header/header.component.mjs +31 -21
- package/fesm2015/progress-kendo-angular-grid.mjs +914 -547
- package/fesm2020/progress-kendo-angular-grid.mjs +915 -556
- package/filtering/menu/filter-menu.component.d.ts +13 -4
- package/package.json +16 -16
- package/pager/pager-numeric-buttons.component.d.ts +2 -1
- package/pager/pager.component.d.ts +5 -1
- package/rendering/header/header.component.d.ts +4 -1
- package/schematics/ngAdd/index.js +3 -3
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
|
-
import { InjectionToken, Component, HostBinding, Input, EventEmitter, Injectable, Directive, Optional, QueryList, isDevMode, ContentChildren, ContentChild, forwardRef, SkipSelf, Host, Inject, Output, SecurityContext, HostListener, ChangeDetectionStrategy, ViewChild, ViewChildren, Self, TemplateRef, Pipe, ViewEncapsulation, NgModule } from '@angular/core';
|
|
6
|
+
import { InjectionToken, Component, HostBinding, Input, EventEmitter, Injectable, Directive, Optional, QueryList, isDevMode, ContentChildren, ContentChild, forwardRef, SkipSelf, Host, Inject, Output, SecurityContext, HostListener, ChangeDetectionStrategy, ElementRef, ViewChild, ViewChildren, Self, TemplateRef, Pipe, ViewEncapsulation, NgModule } from '@angular/core';
|
|
7
7
|
import * as i1$1 from '@progress/kendo-angular-common';
|
|
8
8
|
import { isDocumentAvailable, Keys, isPresent as isPresent$1, closest as closest$1, isFocusable as isFocusable$1, anyChanged, isChanged as isChanged$1, KendoInput, guid, hasObservers, ResizeSensorComponent, DraggableModule, EventsModule, ResizeSensorModule } from '@progress/kendo-angular-common';
|
|
9
9
|
import { merge, of, Subject, from, Subscription, interval, fromEvent, zip as zip$1, BehaviorSubject, Observable } from 'rxjs';
|
|
@@ -24,17 +24,17 @@ import * as i3 from '@progress/kendo-angular-icons';
|
|
|
24
24
|
import { IconsModule } from '@progress/kendo-angular-icons';
|
|
25
25
|
import * as i41 from '@progress/kendo-angular-utils';
|
|
26
26
|
import { DragTargetContainerDirective, DropTargetContainerDirective, DragAndDropModule as DragAndDropModule$1 } from '@progress/kendo-angular-utils';
|
|
27
|
-
import * as i4$1 from '@progress/kendo-angular-buttons';
|
|
28
|
-
import { ButtonModule, ChipModule, Button } from '@progress/kendo-angular-buttons';
|
|
29
|
-
import * as i3$1 from '@progress/kendo-angular-inputs';
|
|
30
|
-
import { NumericTextBoxComponent, InputsModule, NumericTextBoxModule } from '@progress/kendo-angular-inputs';
|
|
31
27
|
import * as i1$4 from '@progress/kendo-angular-dropdowns';
|
|
32
28
|
import { DropDownListComponent, DropDownListModule, AutoCompleteModule, DropDownsModule } from '@progress/kendo-angular-dropdowns';
|
|
33
29
|
import * as i5 from '@progress/kendo-angular-label';
|
|
34
30
|
import { LabelModule } from '@progress/kendo-angular-label';
|
|
31
|
+
import * as i4$1 from '@progress/kendo-angular-buttons';
|
|
32
|
+
import { ButtonModule, ChipModule, Button } from '@progress/kendo-angular-buttons';
|
|
33
|
+
import * as i3$1 from '@progress/kendo-angular-inputs';
|
|
34
|
+
import { NumericTextBoxComponent, InputsModule, NumericTextBoxModule } from '@progress/kendo-angular-inputs';
|
|
35
35
|
import * as i4$3 from '@progress/kendo-angular-dateinputs';
|
|
36
36
|
import { DatePickerModule } from '@progress/kendo-angular-dateinputs';
|
|
37
|
-
import * as
|
|
37
|
+
import * as i17 from '@progress/kendo-angular-layout';
|
|
38
38
|
import { TabStripComponent, TabStripModule } from '@progress/kendo-angular-layout';
|
|
39
39
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
40
40
|
import { getter } from '@progress/kendo-common';
|
|
@@ -4474,8 +4474,8 @@ const packageMetadata = {
|
|
|
4474
4474
|
name: '@progress/kendo-angular-grid',
|
|
4475
4475
|
productName: 'Kendo UI for Angular',
|
|
4476
4476
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
4477
|
-
publishDate:
|
|
4478
|
-
version: '13.4.0-develop.
|
|
4477
|
+
publishDate: 1692972014,
|
|
4478
|
+
version: '13.4.0-develop.10',
|
|
4479
4479
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
4480
4480
|
};
|
|
4481
4481
|
|
|
@@ -7105,23 +7105,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
7105
7105
|
type: Input
|
|
7106
7106
|
}] } });
|
|
7107
7107
|
|
|
7108
|
+
// eslint-disable no-access-missing-member
|
|
7108
7109
|
/**
|
|
7109
|
-
* Displays
|
|
7110
|
+
* Displays information about the current page and the total number of records ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
|
|
7110
7111
|
*/
|
|
7111
|
-
class
|
|
7112
|
-
constructor(ctx,
|
|
7112
|
+
class PagerInfoComponent extends PagerElementComponent {
|
|
7113
|
+
constructor(ctx, cd, pagerContext) {
|
|
7113
7114
|
super(ctx, pagerContext, cd);
|
|
7114
|
-
this.
|
|
7115
|
+
this.pagerContext = pagerContext;
|
|
7116
|
+
}
|
|
7117
|
+
/**
|
|
7118
|
+
* @hidden
|
|
7119
|
+
*
|
|
7120
|
+
* @readonly
|
|
7121
|
+
* @type {number}
|
|
7122
|
+
* @memberOf PagerInfoComponent
|
|
7123
|
+
*/
|
|
7124
|
+
get maxItems() {
|
|
7125
|
+
return Math.min(this.currentPage * this.pageSize, this.total);
|
|
7126
|
+
}
|
|
7127
|
+
/**
|
|
7128
|
+
* @hidden
|
|
7129
|
+
*
|
|
7130
|
+
* @readonly
|
|
7131
|
+
* @type {number}
|
|
7132
|
+
* @memberOf PagerInfoComponent
|
|
7133
|
+
*/
|
|
7134
|
+
get currentPageText() {
|
|
7135
|
+
return this.total ?
|
|
7136
|
+
(this.currentPage - 1) * this.pageSize + 1 :
|
|
7137
|
+
0;
|
|
7115
7138
|
}
|
|
7116
7139
|
/**
|
|
7117
7140
|
* @hidden
|
|
7118
7141
|
*
|
|
7119
7142
|
* @readonly
|
|
7120
7143
|
* @type {boolean}
|
|
7121
|
-
* @memberOf
|
|
7144
|
+
* @memberOf PagerInfoComponent
|
|
7122
7145
|
*/
|
|
7123
|
-
get
|
|
7124
|
-
return
|
|
7146
|
+
get classes() {
|
|
7147
|
+
return true;
|
|
7125
7148
|
}
|
|
7126
7149
|
onChanges({ total, skip, pageSize }) {
|
|
7127
7150
|
this.total = total;
|
|
@@ -7130,168 +7153,266 @@ class PagerPrevButtonsComponent extends PagerElementComponent {
|
|
|
7130
7153
|
this.cd.markForCheck();
|
|
7131
7154
|
}
|
|
7132
7155
|
}
|
|
7133
|
-
|
|
7134
|
-
|
|
7135
|
-
|
|
7136
|
-
[kendoGridFocusable]="!disabled"
|
|
7137
|
-
kendoButton
|
|
7138
|
-
type="button"
|
|
7139
|
-
[title]="textFor('pagerFirstPage')"
|
|
7140
|
-
[attr.aria-label]="textFor('pagerFirstPage')"
|
|
7141
|
-
(click)="currentPage !== 1 ? changePage(0) : false"
|
|
7142
|
-
role="button"
|
|
7143
|
-
[icon]="prevArrowIcons[0]"
|
|
7144
|
-
[svgIcon]="prevArrowSVGIcons[0]"
|
|
7145
|
-
class="k-pager-nav k-pager-first"
|
|
7146
|
-
[disabled]="disabled"
|
|
7147
|
-
fillMode="flat"
|
|
7148
|
-
rounded="none"
|
|
7149
|
-
[size]="size">
|
|
7150
|
-
</button>
|
|
7151
|
-
<button
|
|
7152
|
-
kendoButton
|
|
7153
|
-
[kendoGridFocusable]="!disabled"
|
|
7154
|
-
type="button"
|
|
7155
|
-
class="k-pager-nav"
|
|
7156
|
-
[disabled]="disabled"
|
|
7157
|
-
[icon]="prevArrowIcons[1]"
|
|
7158
|
-
[svgIcon]="prevArrowSVGIcons[1]"
|
|
7159
|
-
fillMode="flat"
|
|
7160
|
-
rounded="none"
|
|
7161
|
-
[size]="size"
|
|
7162
|
-
[title]="textFor('pagerPreviousPage')"
|
|
7163
|
-
[attr.aria-label]="textFor('pagerPreviousPage')"
|
|
7164
|
-
(click)="currentPage !== 1 ? changePage(currentPage-2) : false">
|
|
7165
|
-
</button>
|
|
7166
|
-
`, isInline: true, components: [{ type: i4$1.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7167
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPrevButtonsComponent, decorators: [{
|
|
7156
|
+
PagerInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerInfoComponent, deps: [{ token: ContextService }, { token: i0.ChangeDetectorRef }, { token: PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7157
|
+
PagerInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerInfoComponent, selector: "kendo-pager-info", host: { properties: { "class.k-pager-info": "this.classes", "class.k-label": "this.classes" } }, usesInheritance: true, ngImport: i0, template: `{{currentPageText}} - {{maxItems}} {{textFor('pagerOf')}} {{total}} {{textFor('pagerItems')}}`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7158
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerInfoComponent, decorators: [{
|
|
7168
7159
|
type: Component,
|
|
7169
7160
|
args: [{
|
|
7170
7161
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7171
|
-
selector: 'kendo-pager-
|
|
7172
|
-
template: `
|
|
7173
|
-
<button
|
|
7174
|
-
[kendoGridFocusable]="!disabled"
|
|
7175
|
-
kendoButton
|
|
7176
|
-
type="button"
|
|
7177
|
-
[title]="textFor('pagerFirstPage')"
|
|
7178
|
-
[attr.aria-label]="textFor('pagerFirstPage')"
|
|
7179
|
-
(click)="currentPage !== 1 ? changePage(0) : false"
|
|
7180
|
-
role="button"
|
|
7181
|
-
[icon]="prevArrowIcons[0]"
|
|
7182
|
-
[svgIcon]="prevArrowSVGIcons[0]"
|
|
7183
|
-
class="k-pager-nav k-pager-first"
|
|
7184
|
-
[disabled]="disabled"
|
|
7185
|
-
fillMode="flat"
|
|
7186
|
-
rounded="none"
|
|
7187
|
-
[size]="size">
|
|
7188
|
-
</button>
|
|
7189
|
-
<button
|
|
7190
|
-
kendoButton
|
|
7191
|
-
[kendoGridFocusable]="!disabled"
|
|
7192
|
-
type="button"
|
|
7193
|
-
class="k-pager-nav"
|
|
7194
|
-
[disabled]="disabled"
|
|
7195
|
-
[icon]="prevArrowIcons[1]"
|
|
7196
|
-
[svgIcon]="prevArrowSVGIcons[1]"
|
|
7197
|
-
fillMode="flat"
|
|
7198
|
-
rounded="none"
|
|
7199
|
-
[size]="size"
|
|
7200
|
-
[title]="textFor('pagerPreviousPage')"
|
|
7201
|
-
[attr.aria-label]="textFor('pagerPreviousPage')"
|
|
7202
|
-
(click)="currentPage !== 1 ? changePage(currentPage-2) : false">
|
|
7203
|
-
</button>
|
|
7204
|
-
`
|
|
7162
|
+
selector: 'kendo-pager-info',
|
|
7163
|
+
template: `{{currentPageText}} - {{maxItems}} {{textFor('pagerOf')}} {{total}} {{textFor('pagerItems')}}`
|
|
7205
7164
|
}]
|
|
7206
|
-
}], ctorParameters: function () { return [{ type: ContextService }, { type:
|
|
7165
|
+
}], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }]; }, propDecorators: { classes: [{
|
|
7166
|
+
type: HostBinding,
|
|
7167
|
+
args: ["class.k-pager-info"]
|
|
7168
|
+
}, {
|
|
7169
|
+
type: HostBinding,
|
|
7170
|
+
args: ["class.k-label"]
|
|
7171
|
+
}] } });
|
|
7207
7172
|
|
|
7208
7173
|
/**
|
|
7209
|
-
*
|
|
7174
|
+
* @hidden
|
|
7210
7175
|
*/
|
|
7211
|
-
class
|
|
7212
|
-
constructor(
|
|
7176
|
+
class PagerDropDownListDirective {
|
|
7177
|
+
constructor(host) {
|
|
7178
|
+
this.host = host;
|
|
7179
|
+
this.keydownHandler = (e) => {
|
|
7180
|
+
if (e.keyCode === Keys.Escape && this.host.isOpen) {
|
|
7181
|
+
e.stopPropagation();
|
|
7182
|
+
this.host.toggle(false);
|
|
7183
|
+
}
|
|
7184
|
+
};
|
|
7185
|
+
}
|
|
7186
|
+
ngAfterViewInit() {
|
|
7187
|
+
const wrapperElement = this.host.wrapper.nativeElement;
|
|
7188
|
+
wrapperElement.addEventListener('keydown', this.keydownHandler, true);
|
|
7189
|
+
}
|
|
7190
|
+
ngOnDestroy() {
|
|
7191
|
+
this.host.wrapper.nativeElement.removeEventListener('keydown', this.keydownHandler);
|
|
7192
|
+
}
|
|
7193
|
+
}
|
|
7194
|
+
PagerDropDownListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerDropDownListDirective, deps: [{ token: i1$4.DropDownListComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
7195
|
+
PagerDropDownListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: PagerDropDownListDirective, selector: "[kendoGridPagerDropDown]", ngImport: i0 });
|
|
7196
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerDropDownListDirective, decorators: [{
|
|
7197
|
+
type: Directive,
|
|
7198
|
+
args: [{ selector: '[kendoGridPagerDropDown]' }]
|
|
7199
|
+
}], ctorParameters: function () { return [{ type: i1$4.DropDownListComponent }]; } });
|
|
7200
|
+
|
|
7201
|
+
/**
|
|
7202
|
+
* Displays a drop-down list for the page size selection ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
|
|
7203
|
+
*/
|
|
7204
|
+
class PagerPageSizesComponent extends PagerElementComponent {
|
|
7205
|
+
constructor(ctx, cd, pagerContext, navigationService) {
|
|
7213
7206
|
super(ctx, pagerContext, cd);
|
|
7214
7207
|
this.pagerContext = pagerContext;
|
|
7215
|
-
this.
|
|
7208
|
+
this.navigationService = navigationService;
|
|
7209
|
+
this._pageSizes = [];
|
|
7216
7210
|
}
|
|
7217
7211
|
/**
|
|
7218
|
-
*
|
|
7219
|
-
*
|
|
7220
|
-
* @readonly
|
|
7221
|
-
* @type {number[]}
|
|
7222
|
-
* @memberOf PagerNumericButtonsComponent
|
|
7212
|
+
* The page sizes collection. Can be an Array of numbers and/or [`PageSizeItem`](slug:api_grid_pagesizeitem) objects
|
|
7213
|
+
* ([see example]({% slug paging_grid %}#toc-pager-templates))
|
|
7223
7214
|
*/
|
|
7224
|
-
|
|
7225
|
-
|
|
7226
|
-
|
|
7227
|
-
|
|
7215
|
+
set pageSizes(pageSizes) {
|
|
7216
|
+
let normalizedItems = [];
|
|
7217
|
+
pageSizes.forEach(item => {
|
|
7218
|
+
if (typeof item === 'number') {
|
|
7219
|
+
normalizedItems.push({
|
|
7220
|
+
text: item.toString(),
|
|
7221
|
+
value: item
|
|
7222
|
+
});
|
|
7223
|
+
}
|
|
7224
|
+
else {
|
|
7225
|
+
normalizedItems.push(item);
|
|
7226
|
+
}
|
|
7227
|
+
});
|
|
7228
|
+
if (this.pageSize && !normalizedItems.some(item => item.value === this.pageSize)) {
|
|
7229
|
+
normalizedItems = [{ text: this.pageSize.toString(), value: this.pageSize }, ...normalizedItems];
|
|
7228
7230
|
}
|
|
7229
|
-
|
|
7231
|
+
this._pageSizes = normalizedItems;
|
|
7232
|
+
}
|
|
7233
|
+
get pageSizes() {
|
|
7234
|
+
return this._pageSizes;
|
|
7230
7235
|
}
|
|
7231
7236
|
/**
|
|
7232
7237
|
* @hidden
|
|
7238
|
+
*
|
|
7239
|
+
* @readonly
|
|
7233
7240
|
*/
|
|
7234
|
-
get
|
|
7235
|
-
return
|
|
7241
|
+
get classes() {
|
|
7242
|
+
return true;
|
|
7236
7243
|
}
|
|
7237
7244
|
/**
|
|
7238
7245
|
* @hidden
|
|
7246
|
+
*
|
|
7247
|
+
* @readonly
|
|
7239
7248
|
*/
|
|
7240
|
-
get
|
|
7241
|
-
|
|
7242
|
-
|
|
7243
|
-
|
|
7244
|
-
|
|
7245
|
-
|
|
7246
|
-
|
|
7247
|
-
|
|
7249
|
+
get showInitialPageSize() {
|
|
7250
|
+
return this.pageSizes
|
|
7251
|
+
.filter(item => {
|
|
7252
|
+
if (typeof item.value === 'number') {
|
|
7253
|
+
return item.value === Number(this.pageSize);
|
|
7254
|
+
}
|
|
7255
|
+
return this.total === Number(this.pageSize);
|
|
7256
|
+
})
|
|
7257
|
+
.length === 0;
|
|
7248
7258
|
}
|
|
7249
7259
|
/**
|
|
7250
7260
|
* @hidden
|
|
7251
7261
|
*/
|
|
7252
|
-
|
|
7253
|
-
|
|
7254
|
-
|
|
7255
|
-
return pageText + ' ' + num;
|
|
7256
|
-
}
|
|
7257
|
-
return num.toString();
|
|
7262
|
+
pageSizeChange(value) {
|
|
7263
|
+
this.pageSize = typeof value === 'number' ? value : this.total;
|
|
7264
|
+
this.pagerContext.changePageSize(this.pageSize);
|
|
7258
7265
|
}
|
|
7259
7266
|
/**
|
|
7260
7267
|
* @hidden
|
|
7261
7268
|
*/
|
|
7262
|
-
|
|
7263
|
-
|
|
7264
|
-
const valueAsNumber = Number(target.value);
|
|
7265
|
-
if (!Number.isNaN(valueAsNumber)) {
|
|
7266
|
-
this.changePage(valueAsNumber - 1);
|
|
7267
|
-
}
|
|
7268
|
-
else {
|
|
7269
|
-
if (target.value === 'previousButtons') {
|
|
7270
|
-
this.changePage(this.start - 2);
|
|
7271
|
-
}
|
|
7272
|
-
else {
|
|
7273
|
-
this.changePage(this.end);
|
|
7274
|
-
}
|
|
7275
|
-
}
|
|
7269
|
+
getValue(page) {
|
|
7270
|
+
return typeof page.value === 'number' ? page.value : this.total;
|
|
7276
7271
|
}
|
|
7277
7272
|
onChanges({ total, skip, pageSize }) {
|
|
7278
7273
|
this.total = total;
|
|
7279
7274
|
this.skip = skip;
|
|
7280
|
-
this.pageSize = pageSize;
|
|
7275
|
+
this.pageSize = typeof pageSize === 'number' ? pageSize : this.total;
|
|
7281
7276
|
this.cd.markForCheck();
|
|
7282
7277
|
}
|
|
7283
7278
|
}
|
|
7284
|
-
|
|
7285
|
-
|
|
7286
|
-
<
|
|
7287
|
-
class="k-dropdown
|
|
7288
|
-
|
|
7289
|
-
[
|
|
7290
|
-
|
|
7291
|
-
[
|
|
7292
|
-
|
|
7293
|
-
|
|
7294
|
-
|
|
7279
|
+
PagerPageSizesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPageSizesComponent, deps: [{ token: ContextService }, { token: i0.ChangeDetectorRef }, { token: PagerContextService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7280
|
+
PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerPageSizesComponent, selector: "kendo-pager-page-sizes", inputs: { pageSizes: "pageSizes" }, host: { properties: { "class.k-pager-sizes": "this.classes", "class.k-label": "this.classes" } }, usesInheritance: true, ngImport: i0, template: `
|
|
7281
|
+
<kendo-dropdownlist
|
|
7282
|
+
class="k-dropdown"
|
|
7283
|
+
#dropdownlist
|
|
7284
|
+
[size]="size"
|
|
7285
|
+
kendoGridPagerDropDown
|
|
7286
|
+
[tabindex]="0"
|
|
7287
|
+
kendoGridFocusable
|
|
7288
|
+
[data]="pageSizes"
|
|
7289
|
+
textField="text"
|
|
7290
|
+
valueField="value"
|
|
7291
|
+
[valuePrimitive]="true"
|
|
7292
|
+
[value]="pageSize"
|
|
7293
|
+
(valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
|
|
7294
|
+
<kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
|
|
7295
|
+
`, isInline: true, components: [{ type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["showStickyHeader", "iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i5.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }], directives: [{ type: PagerDropDownListDirective, selector: "[kendoGridPagerDropDown]" }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7296
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
|
|
7297
|
+
type: Component,
|
|
7298
|
+
args: [{
|
|
7299
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7300
|
+
selector: 'kendo-pager-page-sizes',
|
|
7301
|
+
template: `
|
|
7302
|
+
<kendo-dropdownlist
|
|
7303
|
+
class="k-dropdown"
|
|
7304
|
+
#dropdownlist
|
|
7305
|
+
[size]="size"
|
|
7306
|
+
kendoGridPagerDropDown
|
|
7307
|
+
[tabindex]="0"
|
|
7308
|
+
kendoGridFocusable
|
|
7309
|
+
[data]="pageSizes"
|
|
7310
|
+
textField="text"
|
|
7311
|
+
valueField="value"
|
|
7312
|
+
[valuePrimitive]="true"
|
|
7313
|
+
[value]="pageSize"
|
|
7314
|
+
(valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
|
|
7315
|
+
<kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
|
|
7316
|
+
`
|
|
7317
|
+
}]
|
|
7318
|
+
}], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }, { type: NavigationService }]; }, propDecorators: { pageSizes: [{
|
|
7319
|
+
type: Input
|
|
7320
|
+
}], classes: [{
|
|
7321
|
+
type: HostBinding,
|
|
7322
|
+
args: ['class.k-pager-sizes']
|
|
7323
|
+
}, {
|
|
7324
|
+
type: HostBinding,
|
|
7325
|
+
args: ['class.k-label']
|
|
7326
|
+
}] } });
|
|
7327
|
+
|
|
7328
|
+
/**
|
|
7329
|
+
* Displays numeric buttons to enable navigation between the pages ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
|
|
7330
|
+
*/
|
|
7331
|
+
class PagerNumericButtonsComponent extends PagerElementComponent {
|
|
7332
|
+
constructor(ctx, cd, pagerContext) {
|
|
7333
|
+
super(ctx, pagerContext, cd);
|
|
7334
|
+
this.pagerContext = pagerContext;
|
|
7335
|
+
}
|
|
7336
|
+
/**
|
|
7337
|
+
* @hidden
|
|
7338
|
+
*
|
|
7339
|
+
* @readonly
|
|
7340
|
+
* @type {number[]}
|
|
7341
|
+
* @memberOf PagerNumericButtonsComponent
|
|
7342
|
+
*/
|
|
7343
|
+
get buttons() {
|
|
7344
|
+
const result = [];
|
|
7345
|
+
for (let idx = this.start; idx <= this.end; idx++) {
|
|
7346
|
+
result.push(idx);
|
|
7347
|
+
}
|
|
7348
|
+
return result;
|
|
7349
|
+
}
|
|
7350
|
+
/**
|
|
7351
|
+
* @hidden
|
|
7352
|
+
*/
|
|
7353
|
+
get end() {
|
|
7354
|
+
return Math.min((this.start + this.buttonCount) - 1, this.totalPages);
|
|
7355
|
+
}
|
|
7356
|
+
/**
|
|
7357
|
+
* @hidden
|
|
7358
|
+
*/
|
|
7359
|
+
get start() {
|
|
7360
|
+
const page = this.currentPage;
|
|
7361
|
+
const buttonCount = this.buttonCount;
|
|
7362
|
+
if (page > buttonCount) {
|
|
7363
|
+
const reminder = (page % buttonCount);
|
|
7364
|
+
return (reminder === 0) ? (page - buttonCount) + 1 : (page - reminder) + 1;
|
|
7365
|
+
}
|
|
7366
|
+
return 1;
|
|
7367
|
+
}
|
|
7368
|
+
/**
|
|
7369
|
+
* @hidden
|
|
7370
|
+
*/
|
|
7371
|
+
pageLabel(num) {
|
|
7372
|
+
const pageText = this.textFor('pagerPage');
|
|
7373
|
+
if (pageText) {
|
|
7374
|
+
return pageText + ' ' + num;
|
|
7375
|
+
}
|
|
7376
|
+
return num.toString();
|
|
7377
|
+
}
|
|
7378
|
+
/**
|
|
7379
|
+
* @hidden
|
|
7380
|
+
*/
|
|
7381
|
+
onSelectChange(e) {
|
|
7382
|
+
const target = e.target;
|
|
7383
|
+
const valueAsNumber = Number(target.value);
|
|
7384
|
+
if (!Number.isNaN(valueAsNumber)) {
|
|
7385
|
+
this.changePage(valueAsNumber - 1);
|
|
7386
|
+
}
|
|
7387
|
+
else {
|
|
7388
|
+
if (target.value === 'previousButtons') {
|
|
7389
|
+
this.changePage(this.start - 2);
|
|
7390
|
+
}
|
|
7391
|
+
else {
|
|
7392
|
+
this.changePage(this.end);
|
|
7393
|
+
}
|
|
7394
|
+
}
|
|
7395
|
+
}
|
|
7396
|
+
onChanges({ total, skip, pageSize }) {
|
|
7397
|
+
this.total = total;
|
|
7398
|
+
this.skip = skip;
|
|
7399
|
+
this.pageSize = pageSize;
|
|
7400
|
+
this.cd.markForCheck();
|
|
7401
|
+
}
|
|
7402
|
+
}
|
|
7403
|
+
PagerNumericButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerNumericButtonsComponent, deps: [{ token: ContextService }, { token: i0.ChangeDetectorRef }, { token: PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7404
|
+
PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerNumericButtonsComponent, selector: "kendo-pager-numeric-buttons", inputs: { buttonCount: "buttonCount" }, viewQueries: [{ propertyName: "selectElement", first: true, predicate: ["select"], descendants: true, read: ElementRef }, { propertyName: "numbersElement", first: true, predicate: ["numbers"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: `
|
|
7405
|
+
<select
|
|
7406
|
+
#select
|
|
7407
|
+
class="k-dropdown-list k-dropdown k-picker k-picker-solid k-rounded-md"
|
|
7408
|
+
kendoGridFocusable
|
|
7409
|
+
[style.display]="'none'"
|
|
7410
|
+
[attr.title]="textFor('selectPage')"
|
|
7411
|
+
[attr.aria-label]="textFor('selectPage')"
|
|
7412
|
+
[ngClass]="{
|
|
7413
|
+
'k-picker-sm': size === 'small',
|
|
7414
|
+
'k-picker-md': size === 'medium' || !size
|
|
7415
|
+
}"
|
|
7295
7416
|
(change)="onSelectChange($event)">
|
|
7296
7417
|
<option *ngIf="start > 1"
|
|
7297
7418
|
value="previousButtons"
|
|
@@ -7312,7 +7433,7 @@ PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
7312
7433
|
[attr.aria-label]="pageLabel(end + 1)">...
|
|
7313
7434
|
</option>
|
|
7314
7435
|
</select>
|
|
7315
|
-
<div class="k-pager-numbers">
|
|
7436
|
+
<div class="k-pager-numbers" #numbers>
|
|
7316
7437
|
<button *ngIf="start > 1"
|
|
7317
7438
|
type="button"
|
|
7318
7439
|
kendoGridFocusable
|
|
@@ -7362,8 +7483,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
7362
7483
|
selector: 'kendo-pager-numeric-buttons',
|
|
7363
7484
|
template: `
|
|
7364
7485
|
<select
|
|
7486
|
+
#select
|
|
7365
7487
|
class="k-dropdown-list k-dropdown k-picker k-picker-solid k-rounded-md"
|
|
7366
7488
|
kendoGridFocusable
|
|
7489
|
+
[style.display]="'none'"
|
|
7367
7490
|
[attr.title]="textFor('selectPage')"
|
|
7368
7491
|
[attr.aria-label]="textFor('selectPage')"
|
|
7369
7492
|
[ngClass]="{
|
|
@@ -7390,7 +7513,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
7390
7513
|
[attr.aria-label]="pageLabel(end + 1)">...
|
|
7391
7514
|
</option>
|
|
7392
7515
|
</select>
|
|
7393
|
-
<div class="k-pager-numbers">
|
|
7516
|
+
<div class="k-pager-numbers" #numbers>
|
|
7394
7517
|
<button *ngIf="start > 1"
|
|
7395
7518
|
type="button"
|
|
7396
7519
|
kendoGridFocusable
|
|
@@ -7434,13 +7557,116 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
7434
7557
|
</div>
|
|
7435
7558
|
`
|
|
7436
7559
|
}]
|
|
7437
|
-
}], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }]; }, propDecorators: {
|
|
7438
|
-
type:
|
|
7439
|
-
args: ['
|
|
7560
|
+
}], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }]; }, propDecorators: { selectElement: [{
|
|
7561
|
+
type: ViewChild,
|
|
7562
|
+
args: ['select', { read: ElementRef }]
|
|
7563
|
+
}], numbersElement: [{
|
|
7564
|
+
type: ViewChild,
|
|
7565
|
+
args: ['numbers', { read: ElementRef }]
|
|
7440
7566
|
}], buttonCount: [{
|
|
7441
7567
|
type: Input
|
|
7442
7568
|
}] } });
|
|
7443
7569
|
|
|
7570
|
+
/**
|
|
7571
|
+
* Displays buttons for navigating to the first and to the previous page ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
|
|
7572
|
+
*/
|
|
7573
|
+
class PagerPrevButtonsComponent extends PagerElementComponent {
|
|
7574
|
+
constructor(ctx, pagerContext, cd, navigationService) {
|
|
7575
|
+
super(ctx, pagerContext, cd);
|
|
7576
|
+
this.navigationService = navigationService;
|
|
7577
|
+
}
|
|
7578
|
+
/**
|
|
7579
|
+
* @hidden
|
|
7580
|
+
*
|
|
7581
|
+
* @readonly
|
|
7582
|
+
* @type {boolean}
|
|
7583
|
+
* @memberOf PagerPrevButtonsComponent
|
|
7584
|
+
*/
|
|
7585
|
+
get disabled() {
|
|
7586
|
+
return this.currentPage === 1 || !this.total;
|
|
7587
|
+
}
|
|
7588
|
+
onChanges({ total, skip, pageSize }) {
|
|
7589
|
+
this.total = total;
|
|
7590
|
+
this.skip = skip;
|
|
7591
|
+
this.pageSize = pageSize;
|
|
7592
|
+
this.cd.markForCheck();
|
|
7593
|
+
}
|
|
7594
|
+
}
|
|
7595
|
+
PagerPrevButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPrevButtonsComponent, deps: [{ token: ContextService }, { token: PagerContextService }, { token: i0.ChangeDetectorRef }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7596
|
+
PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerPrevButtonsComponent, selector: "kendo-pager-prev-buttons", usesInheritance: true, ngImport: i0, template: `
|
|
7597
|
+
<button
|
|
7598
|
+
[kendoGridFocusable]="!disabled"
|
|
7599
|
+
kendoButton
|
|
7600
|
+
type="button"
|
|
7601
|
+
[title]="textFor('pagerFirstPage')"
|
|
7602
|
+
[attr.aria-label]="textFor('pagerFirstPage')"
|
|
7603
|
+
(click)="currentPage !== 1 ? changePage(0) : false"
|
|
7604
|
+
role="button"
|
|
7605
|
+
[icon]="prevArrowIcons[0]"
|
|
7606
|
+
[svgIcon]="prevArrowSVGIcons[0]"
|
|
7607
|
+
class="k-pager-nav k-pager-first"
|
|
7608
|
+
[disabled]="disabled"
|
|
7609
|
+
fillMode="flat"
|
|
7610
|
+
rounded="none"
|
|
7611
|
+
[size]="size">
|
|
7612
|
+
</button>
|
|
7613
|
+
<button
|
|
7614
|
+
kendoButton
|
|
7615
|
+
[kendoGridFocusable]="!disabled"
|
|
7616
|
+
type="button"
|
|
7617
|
+
class="k-pager-nav"
|
|
7618
|
+
[disabled]="disabled"
|
|
7619
|
+
[icon]="prevArrowIcons[1]"
|
|
7620
|
+
[svgIcon]="prevArrowSVGIcons[1]"
|
|
7621
|
+
fillMode="flat"
|
|
7622
|
+
rounded="none"
|
|
7623
|
+
[size]="size"
|
|
7624
|
+
[title]="textFor('pagerPreviousPage')"
|
|
7625
|
+
[attr.aria-label]="textFor('pagerPreviousPage')"
|
|
7626
|
+
(click)="currentPage !== 1 ? changePage(currentPage-2) : false">
|
|
7627
|
+
</button>
|
|
7628
|
+
`, isInline: true, components: [{ type: i4$1.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7629
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPrevButtonsComponent, decorators: [{
|
|
7630
|
+
type: Component,
|
|
7631
|
+
args: [{
|
|
7632
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7633
|
+
selector: 'kendo-pager-prev-buttons',
|
|
7634
|
+
template: `
|
|
7635
|
+
<button
|
|
7636
|
+
[kendoGridFocusable]="!disabled"
|
|
7637
|
+
kendoButton
|
|
7638
|
+
type="button"
|
|
7639
|
+
[title]="textFor('pagerFirstPage')"
|
|
7640
|
+
[attr.aria-label]="textFor('pagerFirstPage')"
|
|
7641
|
+
(click)="currentPage !== 1 ? changePage(0) : false"
|
|
7642
|
+
role="button"
|
|
7643
|
+
[icon]="prevArrowIcons[0]"
|
|
7644
|
+
[svgIcon]="prevArrowSVGIcons[0]"
|
|
7645
|
+
class="k-pager-nav k-pager-first"
|
|
7646
|
+
[disabled]="disabled"
|
|
7647
|
+
fillMode="flat"
|
|
7648
|
+
rounded="none"
|
|
7649
|
+
[size]="size">
|
|
7650
|
+
</button>
|
|
7651
|
+
<button
|
|
7652
|
+
kendoButton
|
|
7653
|
+
[kendoGridFocusable]="!disabled"
|
|
7654
|
+
type="button"
|
|
7655
|
+
class="k-pager-nav"
|
|
7656
|
+
[disabled]="disabled"
|
|
7657
|
+
[icon]="prevArrowIcons[1]"
|
|
7658
|
+
[svgIcon]="prevArrowSVGIcons[1]"
|
|
7659
|
+
fillMode="flat"
|
|
7660
|
+
rounded="none"
|
|
7661
|
+
[size]="size"
|
|
7662
|
+
[title]="textFor('pagerPreviousPage')"
|
|
7663
|
+
[attr.aria-label]="textFor('pagerPreviousPage')"
|
|
7664
|
+
(click)="currentPage !== 1 ? changePage(currentPage-2) : false">
|
|
7665
|
+
</button>
|
|
7666
|
+
`
|
|
7667
|
+
}]
|
|
7668
|
+
}], ctorParameters: function () { return [{ type: ContextService }, { type: PagerContextService }, { type: i0.ChangeDetectorRef }, { type: NavigationService }]; } });
|
|
7669
|
+
|
|
7444
7670
|
/**
|
|
7445
7671
|
* @hidden
|
|
7446
7672
|
*/
|
|
@@ -7622,286 +7848,66 @@ PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
7622
7848
|
fillMode="flat"
|
|
7623
7849
|
rounded="none"
|
|
7624
7850
|
class="k-pager-nav"
|
|
7625
|
-
[disabled]="disabled"
|
|
7626
|
-
[title]="textFor('pagerNextPage')"
|
|
7627
|
-
[attr.aria-label]="textFor('pagerNextPage')"
|
|
7628
|
-
(click)="currentPage !== totalPages ? changePage(currentPage) : false">
|
|
7629
|
-
</button>
|
|
7630
|
-
<button
|
|
7631
|
-
kendoButton
|
|
7632
|
-
[kendoGridFocusable]="!disabled"
|
|
7633
|
-
type="button"
|
|
7634
|
-
[size]="size"
|
|
7635
|
-
[icon]="nextArrowIcons[1]"
|
|
7636
|
-
[svgIcon]="nextArrowSVGIcons[1]"
|
|
7637
|
-
fillMode="flat"
|
|
7638
|
-
rounded="none"
|
|
7639
|
-
class="k-pager-nav k-pager-last"
|
|
7640
|
-
[disabled]="disabled"
|
|
7641
|
-
[title]="textFor('pagerLastPage')"
|
|
7642
|
-
[attr.aria-label]="textFor('pagerLastPage')"
|
|
7643
|
-
(click)="currentPage !== totalPages ? changePage(totalPages-1) : false">
|
|
7644
|
-
</button>
|
|
7645
|
-
`, isInline: true, components: [{ type: i4$1.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7646
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerNextButtonsComponent, decorators: [{
|
|
7647
|
-
type: Component,
|
|
7648
|
-
args: [{
|
|
7649
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7650
|
-
selector: 'kendo-pager-next-buttons',
|
|
7651
|
-
template: `
|
|
7652
|
-
<button
|
|
7653
|
-
kendoButton
|
|
7654
|
-
[kendoGridFocusable]="!disabled"
|
|
7655
|
-
type="button"
|
|
7656
|
-
[size]="size"
|
|
7657
|
-
[icon]="nextArrowIcons[0]"
|
|
7658
|
-
[svgIcon]="nextArrowSVGIcons[0]"
|
|
7659
|
-
fillMode="flat"
|
|
7660
|
-
rounded="none"
|
|
7661
|
-
class="k-pager-nav"
|
|
7662
|
-
[disabled]="disabled"
|
|
7663
|
-
[title]="textFor('pagerNextPage')"
|
|
7664
|
-
[attr.aria-label]="textFor('pagerNextPage')"
|
|
7665
|
-
(click)="currentPage !== totalPages ? changePage(currentPage) : false">
|
|
7666
|
-
</button>
|
|
7667
|
-
<button
|
|
7668
|
-
kendoButton
|
|
7669
|
-
[kendoGridFocusable]="!disabled"
|
|
7670
|
-
type="button"
|
|
7671
|
-
[size]="size"
|
|
7672
|
-
[icon]="nextArrowIcons[1]"
|
|
7673
|
-
[svgIcon]="nextArrowSVGIcons[1]"
|
|
7674
|
-
fillMode="flat"
|
|
7675
|
-
rounded="none"
|
|
7676
|
-
class="k-pager-nav k-pager-last"
|
|
7677
|
-
[disabled]="disabled"
|
|
7678
|
-
[title]="textFor('pagerLastPage')"
|
|
7679
|
-
[attr.aria-label]="textFor('pagerLastPage')"
|
|
7680
|
-
(click)="currentPage !== totalPages ? changePage(totalPages-1) : false">
|
|
7681
|
-
</button>
|
|
7682
|
-
`
|
|
7683
|
-
}]
|
|
7684
|
-
}], ctorParameters: function () { return [{ type: ContextService }, { type: PagerContextService }, { type: i0.ChangeDetectorRef }, { type: NavigationService }]; } });
|
|
7685
|
-
|
|
7686
|
-
// eslint-disable no-access-missing-member
|
|
7687
|
-
/**
|
|
7688
|
-
* Displays information about the current page and the total number of records ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
|
|
7689
|
-
*/
|
|
7690
|
-
class PagerInfoComponent extends PagerElementComponent {
|
|
7691
|
-
constructor(ctx, cd, pagerContext) {
|
|
7692
|
-
super(ctx, pagerContext, cd);
|
|
7693
|
-
this.pagerContext = pagerContext;
|
|
7694
|
-
}
|
|
7695
|
-
/**
|
|
7696
|
-
* @hidden
|
|
7697
|
-
*
|
|
7698
|
-
* @readonly
|
|
7699
|
-
* @type {number}
|
|
7700
|
-
* @memberOf PagerInfoComponent
|
|
7701
|
-
*/
|
|
7702
|
-
get maxItems() {
|
|
7703
|
-
return Math.min(this.currentPage * this.pageSize, this.total);
|
|
7704
|
-
}
|
|
7705
|
-
/**
|
|
7706
|
-
* @hidden
|
|
7707
|
-
*
|
|
7708
|
-
* @readonly
|
|
7709
|
-
* @type {number}
|
|
7710
|
-
* @memberOf PagerInfoComponent
|
|
7711
|
-
*/
|
|
7712
|
-
get currentPageText() {
|
|
7713
|
-
return this.total ?
|
|
7714
|
-
(this.currentPage - 1) * this.pageSize + 1 :
|
|
7715
|
-
0;
|
|
7716
|
-
}
|
|
7717
|
-
/**
|
|
7718
|
-
* @hidden
|
|
7719
|
-
*
|
|
7720
|
-
* @readonly
|
|
7721
|
-
* @type {boolean}
|
|
7722
|
-
* @memberOf PagerInfoComponent
|
|
7723
|
-
*/
|
|
7724
|
-
get classes() {
|
|
7725
|
-
return true;
|
|
7726
|
-
}
|
|
7727
|
-
onChanges({ total, skip, pageSize }) {
|
|
7728
|
-
this.total = total;
|
|
7729
|
-
this.skip = skip;
|
|
7730
|
-
this.pageSize = pageSize;
|
|
7731
|
-
this.cd.markForCheck();
|
|
7732
|
-
}
|
|
7733
|
-
}
|
|
7734
|
-
PagerInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerInfoComponent, deps: [{ token: ContextService }, { token: i0.ChangeDetectorRef }, { token: PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7735
|
-
PagerInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerInfoComponent, selector: "kendo-pager-info", host: { properties: { "class.k-pager-info": "this.classes", "class.k-label": "this.classes" } }, usesInheritance: true, ngImport: i0, template: `{{currentPageText}} - {{maxItems}} {{textFor('pagerOf')}} {{total}} {{textFor('pagerItems')}}`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7736
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerInfoComponent, decorators: [{
|
|
7737
|
-
type: Component,
|
|
7738
|
-
args: [{
|
|
7739
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7740
|
-
selector: 'kendo-pager-info',
|
|
7741
|
-
template: `{{currentPageText}} - {{maxItems}} {{textFor('pagerOf')}} {{total}} {{textFor('pagerItems')}}`
|
|
7742
|
-
}]
|
|
7743
|
-
}], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }]; }, propDecorators: { classes: [{
|
|
7744
|
-
type: HostBinding,
|
|
7745
|
-
args: ["class.k-pager-info"]
|
|
7746
|
-
}, {
|
|
7747
|
-
type: HostBinding,
|
|
7748
|
-
args: ["class.k-label"]
|
|
7749
|
-
}] } });
|
|
7750
|
-
|
|
7751
|
-
/**
|
|
7752
|
-
* @hidden
|
|
7753
|
-
*/
|
|
7754
|
-
class PagerDropDownListDirective {
|
|
7755
|
-
constructor(host) {
|
|
7756
|
-
this.host = host;
|
|
7757
|
-
this.keydownHandler = (e) => {
|
|
7758
|
-
if (e.keyCode === Keys.Escape && this.host.isOpen) {
|
|
7759
|
-
e.stopPropagation();
|
|
7760
|
-
this.host.toggle(false);
|
|
7761
|
-
}
|
|
7762
|
-
};
|
|
7763
|
-
}
|
|
7764
|
-
ngAfterViewInit() {
|
|
7765
|
-
const wrapperElement = this.host.wrapper.nativeElement;
|
|
7766
|
-
wrapperElement.addEventListener('keydown', this.keydownHandler, true);
|
|
7767
|
-
}
|
|
7768
|
-
ngOnDestroy() {
|
|
7769
|
-
this.host.wrapper.nativeElement.removeEventListener('keydown', this.keydownHandler);
|
|
7770
|
-
}
|
|
7771
|
-
}
|
|
7772
|
-
PagerDropDownListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerDropDownListDirective, deps: [{ token: i1$4.DropDownListComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
7773
|
-
PagerDropDownListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: PagerDropDownListDirective, selector: "[kendoGridPagerDropDown]", ngImport: i0 });
|
|
7774
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerDropDownListDirective, decorators: [{
|
|
7775
|
-
type: Directive,
|
|
7776
|
-
args: [{ selector: '[kendoGridPagerDropDown]' }]
|
|
7777
|
-
}], ctorParameters: function () { return [{ type: i1$4.DropDownListComponent }]; } });
|
|
7778
|
-
|
|
7779
|
-
/**
|
|
7780
|
-
* Displays a drop-down list for the page size selection ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
|
|
7781
|
-
*/
|
|
7782
|
-
class PagerPageSizesComponent extends PagerElementComponent {
|
|
7783
|
-
constructor(ctx, cd, pagerContext, navigationService) {
|
|
7784
|
-
super(ctx, pagerContext, cd);
|
|
7785
|
-
this.pagerContext = pagerContext;
|
|
7786
|
-
this.navigationService = navigationService;
|
|
7787
|
-
this._pageSizes = [];
|
|
7788
|
-
}
|
|
7789
|
-
/**
|
|
7790
|
-
* The page sizes collection. Can be an Array of numbers and/or [`PageSizeItem`](slug:api_grid_pagesizeitem) objects
|
|
7791
|
-
* ([see example]({% slug paging_grid %}#toc-pager-templates))
|
|
7792
|
-
*/
|
|
7793
|
-
set pageSizes(pageSizes) {
|
|
7794
|
-
let normalizedItems = [];
|
|
7795
|
-
pageSizes.forEach(item => {
|
|
7796
|
-
if (typeof item === 'number') {
|
|
7797
|
-
normalizedItems.push({
|
|
7798
|
-
text: item.toString(),
|
|
7799
|
-
value: item
|
|
7800
|
-
});
|
|
7801
|
-
}
|
|
7802
|
-
else {
|
|
7803
|
-
normalizedItems.push(item);
|
|
7804
|
-
}
|
|
7805
|
-
});
|
|
7806
|
-
if (this.pageSize && !normalizedItems.some(item => item.value === this.pageSize)) {
|
|
7807
|
-
normalizedItems = [{ text: this.pageSize.toString(), value: this.pageSize }, ...normalizedItems];
|
|
7808
|
-
}
|
|
7809
|
-
this._pageSizes = normalizedItems;
|
|
7810
|
-
}
|
|
7811
|
-
get pageSizes() {
|
|
7812
|
-
return this._pageSizes;
|
|
7813
|
-
}
|
|
7814
|
-
/**
|
|
7815
|
-
* @hidden
|
|
7816
|
-
*
|
|
7817
|
-
* @readonly
|
|
7818
|
-
*/
|
|
7819
|
-
get classes() {
|
|
7820
|
-
return true;
|
|
7821
|
-
}
|
|
7822
|
-
/**
|
|
7823
|
-
* @hidden
|
|
7824
|
-
*
|
|
7825
|
-
* @readonly
|
|
7826
|
-
*/
|
|
7827
|
-
get showInitialPageSize() {
|
|
7828
|
-
return this.pageSizes
|
|
7829
|
-
.filter(item => {
|
|
7830
|
-
if (typeof item.value === 'number') {
|
|
7831
|
-
return item.value === Number(this.pageSize);
|
|
7832
|
-
}
|
|
7833
|
-
return this.total === Number(this.pageSize);
|
|
7834
|
-
})
|
|
7835
|
-
.length === 0;
|
|
7836
|
-
}
|
|
7837
|
-
/**
|
|
7838
|
-
* @hidden
|
|
7839
|
-
*/
|
|
7840
|
-
pageSizeChange(value) {
|
|
7841
|
-
this.pageSize = typeof value === 'number' ? value : this.total;
|
|
7842
|
-
this.pagerContext.changePageSize(this.pageSize);
|
|
7843
|
-
}
|
|
7844
|
-
/**
|
|
7845
|
-
* @hidden
|
|
7846
|
-
*/
|
|
7847
|
-
getValue(page) {
|
|
7848
|
-
return typeof page.value === 'number' ? page.value : this.total;
|
|
7849
|
-
}
|
|
7850
|
-
onChanges({ total, skip, pageSize }) {
|
|
7851
|
-
this.total = total;
|
|
7852
|
-
this.skip = skip;
|
|
7853
|
-
this.pageSize = typeof pageSize === 'number' ? pageSize : this.total;
|
|
7854
|
-
this.cd.markForCheck();
|
|
7855
|
-
}
|
|
7856
|
-
}
|
|
7857
|
-
PagerPageSizesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPageSizesComponent, deps: [{ token: ContextService }, { token: i0.ChangeDetectorRef }, { token: PagerContextService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7858
|
-
PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerPageSizesComponent, selector: "kendo-pager-page-sizes", inputs: { pageSizes: "pageSizes" }, host: { properties: { "class.k-pager-sizes": "this.classes", "class.k-label": "this.classes" } }, usesInheritance: true, ngImport: i0, template: `
|
|
7859
|
-
<kendo-dropdownlist
|
|
7860
|
-
class="k-dropdown"
|
|
7861
|
-
#dropdownlist
|
|
7851
|
+
[disabled]="disabled"
|
|
7852
|
+
[title]="textFor('pagerNextPage')"
|
|
7853
|
+
[attr.aria-label]="textFor('pagerNextPage')"
|
|
7854
|
+
(click)="currentPage !== totalPages ? changePage(currentPage) : false">
|
|
7855
|
+
</button>
|
|
7856
|
+
<button
|
|
7857
|
+
kendoButton
|
|
7858
|
+
[kendoGridFocusable]="!disabled"
|
|
7859
|
+
type="button"
|
|
7862
7860
|
[size]="size"
|
|
7863
|
-
|
|
7864
|
-
[
|
|
7865
|
-
|
|
7866
|
-
|
|
7867
|
-
|
|
7868
|
-
|
|
7869
|
-
[
|
|
7870
|
-
[
|
|
7871
|
-
(
|
|
7872
|
-
|
|
7873
|
-
`, isInline: true, components: [{ type:
|
|
7874
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type:
|
|
7861
|
+
[icon]="nextArrowIcons[1]"
|
|
7862
|
+
[svgIcon]="nextArrowSVGIcons[1]"
|
|
7863
|
+
fillMode="flat"
|
|
7864
|
+
rounded="none"
|
|
7865
|
+
class="k-pager-nav k-pager-last"
|
|
7866
|
+
[disabled]="disabled"
|
|
7867
|
+
[title]="textFor('pagerLastPage')"
|
|
7868
|
+
[attr.aria-label]="textFor('pagerLastPage')"
|
|
7869
|
+
(click)="currentPage !== totalPages ? changePage(totalPages-1) : false">
|
|
7870
|
+
</button>
|
|
7871
|
+
`, isInline: true, components: [{ type: i4$1.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7872
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerNextButtonsComponent, decorators: [{
|
|
7875
7873
|
type: Component,
|
|
7876
7874
|
args: [{
|
|
7877
7875
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7878
|
-
selector: 'kendo-pager-
|
|
7876
|
+
selector: 'kendo-pager-next-buttons',
|
|
7879
7877
|
template: `
|
|
7880
|
-
<
|
|
7881
|
-
|
|
7882
|
-
|
|
7878
|
+
<button
|
|
7879
|
+
kendoButton
|
|
7880
|
+
[kendoGridFocusable]="!disabled"
|
|
7881
|
+
type="button"
|
|
7883
7882
|
[size]="size"
|
|
7884
|
-
|
|
7885
|
-
[
|
|
7886
|
-
|
|
7887
|
-
|
|
7888
|
-
|
|
7889
|
-
|
|
7890
|
-
[
|
|
7891
|
-
[
|
|
7892
|
-
(
|
|
7893
|
-
|
|
7883
|
+
[icon]="nextArrowIcons[0]"
|
|
7884
|
+
[svgIcon]="nextArrowSVGIcons[0]"
|
|
7885
|
+
fillMode="flat"
|
|
7886
|
+
rounded="none"
|
|
7887
|
+
class="k-pager-nav"
|
|
7888
|
+
[disabled]="disabled"
|
|
7889
|
+
[title]="textFor('pagerNextPage')"
|
|
7890
|
+
[attr.aria-label]="textFor('pagerNextPage')"
|
|
7891
|
+
(click)="currentPage !== totalPages ? changePage(currentPage) : false">
|
|
7892
|
+
</button>
|
|
7893
|
+
<button
|
|
7894
|
+
kendoButton
|
|
7895
|
+
[kendoGridFocusable]="!disabled"
|
|
7896
|
+
type="button"
|
|
7897
|
+
[size]="size"
|
|
7898
|
+
[icon]="nextArrowIcons[1]"
|
|
7899
|
+
[svgIcon]="nextArrowSVGIcons[1]"
|
|
7900
|
+
fillMode="flat"
|
|
7901
|
+
rounded="none"
|
|
7902
|
+
class="k-pager-nav k-pager-last"
|
|
7903
|
+
[disabled]="disabled"
|
|
7904
|
+
[title]="textFor('pagerLastPage')"
|
|
7905
|
+
[attr.aria-label]="textFor('pagerLastPage')"
|
|
7906
|
+
(click)="currentPage !== totalPages ? changePage(totalPages-1) : false">
|
|
7907
|
+
</button>
|
|
7894
7908
|
`
|
|
7895
7909
|
}]
|
|
7896
|
-
}], ctorParameters: function () { return [{ type: ContextService }, { type:
|
|
7897
|
-
type: Input
|
|
7898
|
-
}], classes: [{
|
|
7899
|
-
type: HostBinding,
|
|
7900
|
-
args: ['class.k-pager-sizes']
|
|
7901
|
-
}, {
|
|
7902
|
-
type: HostBinding,
|
|
7903
|
-
args: ['class.k-label']
|
|
7904
|
-
}] } });
|
|
7910
|
+
}], ctorParameters: function () { return [{ type: ContextService }, { type: PagerContextService }, { type: i0.ChangeDetectorRef }, { type: NavigationService }]; } });
|
|
7905
7911
|
|
|
7906
7912
|
/**
|
|
7907
7913
|
* @hidden
|
|
@@ -7932,18 +7938,33 @@ class PagerComponent {
|
|
|
7932
7938
|
if (this.template || !element) {
|
|
7933
7939
|
return;
|
|
7934
7940
|
}
|
|
7935
|
-
|
|
7936
|
-
|
|
7937
|
-
|
|
7938
|
-
|
|
7939
|
-
|
|
7940
|
-
|
|
7941
|
-
|
|
7942
|
-
|
|
7943
|
-
|
|
7944
|
-
|
|
7945
|
-
|
|
7946
|
-
|
|
7941
|
+
this.zone.runOutsideAngular(() => {
|
|
7942
|
+
setTimeout(() => {
|
|
7943
|
+
const width = element.offsetWidth;
|
|
7944
|
+
if (this.numericButtons) {
|
|
7945
|
+
const selectElement = this.numericButtons.selectElement.nativeElement;
|
|
7946
|
+
const numbersElement = this.numericButtons.numbersElement.nativeElement;
|
|
7947
|
+
this.renderer.removeStyle(numbersElement, 'display');
|
|
7948
|
+
this.renderer.setStyle(selectElement, 'display', 'none');
|
|
7949
|
+
if (width < RESPONSIVE_BREAKPOINT_MEDIUM) {
|
|
7950
|
+
this.renderer.removeStyle(selectElement, 'display');
|
|
7951
|
+
this.renderer.setStyle(numbersElement, 'display', 'none');
|
|
7952
|
+
}
|
|
7953
|
+
}
|
|
7954
|
+
if (this.pagerInfo) {
|
|
7955
|
+
this.renderer.removeStyle(this.pagerInfo.nativeElement, 'display');
|
|
7956
|
+
if (width < RESPONSIVE_BREAKPOINT_LARGE) {
|
|
7957
|
+
this.renderer.setStyle(this.pagerInfo.nativeElement, 'display', 'none');
|
|
7958
|
+
}
|
|
7959
|
+
}
|
|
7960
|
+
if (this.pagerPageSizes) {
|
|
7961
|
+
this.renderer.removeStyle(this.pagerPageSizes.nativeElement, 'display');
|
|
7962
|
+
if (width < RESPONSIVE_BREAKPOINT_MEDIUM) {
|
|
7963
|
+
this.renderer.setStyle(this.pagerPageSizes.nativeElement, 'display', 'none');
|
|
7964
|
+
}
|
|
7965
|
+
}
|
|
7966
|
+
});
|
|
7967
|
+
});
|
|
7947
7968
|
};
|
|
7948
7969
|
}
|
|
7949
7970
|
set options(value) {
|
|
@@ -8062,12 +8083,10 @@ class PagerComponent {
|
|
|
8062
8083
|
}
|
|
8063
8084
|
const changesInTemplate = changes['template'];
|
|
8064
8085
|
if (changesInTemplate) {
|
|
8065
|
-
|
|
8066
|
-
changesInTemplate.currentValue ? this.clearResponsiveClasses() : this.resizeHandler();
|
|
8086
|
+
changesInTemplate.currentValue ? this.clearResponsiveStyling() : this.resizeHandler();
|
|
8067
8087
|
}
|
|
8068
8088
|
if (changes['options']) {
|
|
8069
|
-
|
|
8070
|
-
this.settings.responsive ? this.resizeHandler() : this.clearResponsiveClasses();
|
|
8089
|
+
this.settings.responsive ? this.resizeHandler() : this.clearResponsiveStyling();
|
|
8071
8090
|
}
|
|
8072
8091
|
}
|
|
8073
8092
|
ngOnDestroy() {
|
|
@@ -8093,11 +8112,6 @@ class PagerComponent {
|
|
|
8093
8112
|
}
|
|
8094
8113
|
});
|
|
8095
8114
|
}
|
|
8096
|
-
clearResponsiveClasses() {
|
|
8097
|
-
const element = this.element.nativeElement;
|
|
8098
|
-
this.renderer.removeClass(element, 'k-pager-mobile-sm');
|
|
8099
|
-
this.renderer.removeClass(element, 'k-pager-mobile-md');
|
|
8100
|
-
}
|
|
8101
8115
|
shouldTriggerPageChange(target, condition) {
|
|
8102
8116
|
return this.navigationService.pagerEnabled &&
|
|
8103
8117
|
target === this.element.nativeElement &&
|
|
@@ -8120,6 +8134,18 @@ class PagerComponent {
|
|
|
8120
8134
|
this.cellContext.focusGroup = this.focusGroup;
|
|
8121
8135
|
}
|
|
8122
8136
|
}
|
|
8137
|
+
clearResponsiveStyling() {
|
|
8138
|
+
this.zone.runOutsideAngular(() => {
|
|
8139
|
+
setTimeout(() => {
|
|
8140
|
+
if (this.numericButtons) {
|
|
8141
|
+
this.renderer.removeStyle(this.numericButtons.numbersElement.nativeElement, 'display');
|
|
8142
|
+
this.renderer.setStyle(this.numericButtons.selectElement.nativeElement, 'display', 'none');
|
|
8143
|
+
}
|
|
8144
|
+
this.pagerInfo && this.renderer.removeStyle(this.pagerInfo.nativeElement, 'display');
|
|
8145
|
+
this.pagerPageSizes && this.renderer.removeStyle(this.pagerPageSizes.nativeElement, 'display');
|
|
8146
|
+
});
|
|
8147
|
+
});
|
|
8148
|
+
}
|
|
8123
8149
|
}
|
|
8124
8150
|
PagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerComponent, deps: [{ token: PagerContextService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: ContextService }, { token: CELL_CONTEXT, optional: true }, { token: FocusRoot }, { token: FocusGroup }], target: i0.ɵɵFactoryTarget.Component });
|
|
8125
8151
|
PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerComponent, selector: "kendo-pager", inputs: { total: "total", skip: "skip", pageSize: "pageSize", options: "options", size: "size", template: "template" }, outputs: { pageChange: "pageChange" }, host: { listeners: { "focusin": "onFocusIn($event)", "focusout": "onFocusOut()", "keydown.escape": "onEscape()", "keydown.enter": "onEnter($event)", "keydown.arrowleft": "navigateToPreviousPage($event)", "keydown.pageup": "navigateToPreviousPage($event)", "keydown.arrowright": "navigateToNextPage($event)", "keydown.pagedown": "navigateToNextPage($event)", "keydown.home": "navigateToFirstPage($event)", "keydown.end": "navigateToLastPage($event)" }, properties: { "class.k-pager-wrap": "this.pagerWrapClass", "class.k-grid-pager": "this.gridPagerClass", "class.k-pager-sm": "this.sizeSmallClass", "class.k-pager-md": "this.sizeMediumClass", "class.k-focus": "this.isFocused", "attr.aria-label": "this.pagerAriaLabel" } }, providers: [{
|
|
@@ -8133,7 +8159,7 @@ PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
|
|
|
8133
8159
|
provide: FocusGroup,
|
|
8134
8160
|
deps: [FocusRoot],
|
|
8135
8161
|
useClass: FocusGroup
|
|
8136
|
-
}], usesOnChanges: true, ngImport: i0, template: `
|
|
8162
|
+
}], viewQueries: [{ propertyName: "pagerInfo", first: true, predicate: PagerInfoComponent, descendants: true, read: ElementRef }, { propertyName: "pagerPageSizes", first: true, predicate: PagerPageSizesComponent, descendants: true, read: ElementRef }, { propertyName: "numericButtons", first: true, predicate: PagerNumericButtonsComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
8137
8163
|
<div
|
|
8138
8164
|
*ngIf="navigationService.pagerEnabled"
|
|
8139
8165
|
class="k-sr-only"
|
|
@@ -8147,20 +8173,21 @@ PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
|
|
|
8147
8173
|
[ngTemplateOutletContext]="templateContext">
|
|
8148
8174
|
</ng-container>
|
|
8149
8175
|
<ng-container *ngIf="!template?.templateRef">
|
|
8150
|
-
<
|
|
8151
|
-
|
|
8152
|
-
|
|
8153
|
-
|
|
8154
|
-
|
|
8155
|
-
|
|
8156
|
-
|
|
8157
|
-
|
|
8176
|
+
<div class="k-pager-numbers-wrap">
|
|
8177
|
+
<kendo-pager-prev-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-prev-buttons>
|
|
8178
|
+
<kendo-pager-numeric-buttons
|
|
8179
|
+
[size]="size"
|
|
8180
|
+
*ngIf="settings.type === 'numeric'"
|
|
8181
|
+
[buttonCount]="settings.buttonCount">
|
|
8182
|
+
</kendo-pager-numeric-buttons>
|
|
8183
|
+
<kendo-pager-input [size]="size" *ngIf="settings.type === 'input'"></kendo-pager-input>
|
|
8184
|
+
<kendo-pager-next-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-next-buttons>
|
|
8185
|
+
</div>
|
|
8158
8186
|
<kendo-pager-info *ngIf='settings.info'></kendo-pager-info>
|
|
8159
8187
|
<kendo-pager-page-sizes
|
|
8160
8188
|
[size]="size"
|
|
8161
8189
|
*ngIf="settings.pageSizes"
|
|
8162
8190
|
[pageSizes]="$any(settings.pageSizes)"
|
|
8163
|
-
#pageSizes
|
|
8164
8191
|
></kendo-pager-page-sizes>
|
|
8165
8192
|
</ng-container>
|
|
8166
8193
|
<div
|
|
@@ -8202,20 +8229,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
8202
8229
|
[ngTemplateOutletContext]="templateContext">
|
|
8203
8230
|
</ng-container>
|
|
8204
8231
|
<ng-container *ngIf="!template?.templateRef">
|
|
8205
|
-
<
|
|
8206
|
-
|
|
8207
|
-
|
|
8208
|
-
|
|
8209
|
-
|
|
8210
|
-
|
|
8211
|
-
|
|
8212
|
-
|
|
8232
|
+
<div class="k-pager-numbers-wrap">
|
|
8233
|
+
<kendo-pager-prev-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-prev-buttons>
|
|
8234
|
+
<kendo-pager-numeric-buttons
|
|
8235
|
+
[size]="size"
|
|
8236
|
+
*ngIf="settings.type === 'numeric'"
|
|
8237
|
+
[buttonCount]="settings.buttonCount">
|
|
8238
|
+
</kendo-pager-numeric-buttons>
|
|
8239
|
+
<kendo-pager-input [size]="size" *ngIf="settings.type === 'input'"></kendo-pager-input>
|
|
8240
|
+
<kendo-pager-next-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-next-buttons>
|
|
8241
|
+
</div>
|
|
8213
8242
|
<kendo-pager-info *ngIf='settings.info'></kendo-pager-info>
|
|
8214
8243
|
<kendo-pager-page-sizes
|
|
8215
8244
|
[size]="size"
|
|
8216
8245
|
*ngIf="settings.pageSizes"
|
|
8217
8246
|
[pageSizes]="$any(settings.pageSizes)"
|
|
8218
|
-
#pageSizes
|
|
8219
8247
|
></kendo-pager-page-sizes>
|
|
8220
8248
|
</ng-container>
|
|
8221
8249
|
<div
|
|
@@ -8235,7 +8263,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
8235
8263
|
type: Inject,
|
|
8236
8264
|
args: [CELL_CONTEXT]
|
|
8237
8265
|
}] }, { type: FocusRoot }, { type: FocusGroup }];
|
|
8238
|
-
}, propDecorators: {
|
|
8266
|
+
}, propDecorators: { pagerInfo: [{
|
|
8267
|
+
type: ViewChild,
|
|
8268
|
+
args: [PagerInfoComponent, { read: ElementRef }]
|
|
8269
|
+
}], pagerPageSizes: [{
|
|
8270
|
+
type: ViewChild,
|
|
8271
|
+
args: [PagerPageSizesComponent, { read: ElementRef }]
|
|
8272
|
+
}], numericButtons: [{
|
|
8273
|
+
type: ViewChild,
|
|
8274
|
+
args: [PagerNumericButtonsComponent]
|
|
8275
|
+
}], total: [{
|
|
8239
8276
|
type: Input
|
|
8240
8277
|
}], skip: [{
|
|
8241
8278
|
type: Input
|
|
@@ -9584,7 +9621,7 @@ FilterMenuInputWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
9584
9621
|
(keydown.shift.tab)="onShiftTab($event)">
|
|
9585
9622
|
</kendo-dropdownlist>
|
|
9586
9623
|
<ng-content></ng-content>
|
|
9587
|
-
`, isInline: true, components: [{ type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
9624
|
+
`, isInline: true, components: [{ type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["showStickyHeader", "iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
9588
9625
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterMenuInputWrapperComponent, decorators: [{
|
|
9589
9626
|
type: Component,
|
|
9590
9627
|
args: [{
|
|
@@ -9780,7 +9817,7 @@ StringFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
9780
9817
|
[filter]="filter"
|
|
9781
9818
|
[menuTabbingService]="menuTabbingService">
|
|
9782
9819
|
</kendo-grid-string-filter-menu-input>
|
|
9783
|
-
`, isInline: true, components: [{ type: StringFilterMenuInputComponent, selector: "kendo-grid-string-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "isFirstDropDown", "menuTabbingService"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
9820
|
+
`, isInline: true, components: [{ type: StringFilterMenuInputComponent, selector: "kendo-grid-string-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "isFirstDropDown", "menuTabbingService"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["showStickyHeader", "iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
9784
9821
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterMenuComponent, decorators: [{
|
|
9785
9822
|
type: Component,
|
|
9786
9823
|
args: [{
|
|
@@ -10186,7 +10223,7 @@ NumericFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
10186
10223
|
[menuTabbingService]="menuTabbingService"
|
|
10187
10224
|
>
|
|
10188
10225
|
</kendo-grid-numeric-filter-menu-input>
|
|
10189
|
-
`, isInline: true, components: [{ type: NumericFilterMenuInputComponent, selector: "kendo-grid-numeric-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "filterDelay", "isFirstDropDown", "menuTabbingService", "step", "min", "max", "spinners", "decimals", "format"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
10226
|
+
`, isInline: true, components: [{ type: NumericFilterMenuInputComponent, selector: "kendo-grid-numeric-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "filterDelay", "isFirstDropDown", "menuTabbingService", "step", "min", "max", "spinners", "decimals", "format"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["showStickyHeader", "iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
10190
10227
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterMenuComponent, decorators: [{
|
|
10191
10228
|
type: Component,
|
|
10192
10229
|
args: [{
|
|
@@ -10641,7 +10678,7 @@ DateFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
10641
10678
|
[menuTabbingService]="menuTabbingService"
|
|
10642
10679
|
>
|
|
10643
10680
|
</kendo-grid-date-filter-menu-input>
|
|
10644
|
-
`, isInline: true, components: [{ type: DateFilterMenuInputComponent, selector: "kendo-grid-date-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "menuTabbingService", "format", "formatPlaceholder", "placeholder", "min", "max", "activeView", "bottomView", "topView", "weekNumber", "isFirstDropDown"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
10681
|
+
`, isInline: true, components: [{ type: DateFilterMenuInputComponent, selector: "kendo-grid-date-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "menuTabbingService", "format", "formatPlaceholder", "placeholder", "min", "max", "activeView", "bottomView", "topView", "weekNumber", "isFirstDropDown"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["showStickyHeader", "iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
|
|
10645
10682
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterMenuComponent, decorators: [{
|
|
10646
10683
|
type: Component,
|
|
10647
10684
|
args: [{
|
|
@@ -11117,10 +11154,10 @@ class FilterMenuContainerComponent {
|
|
|
11117
11154
|
e.preventDefault();
|
|
11118
11155
|
if (buttonType === 'reset') {
|
|
11119
11156
|
// eslint-disable-next-line no-unused-expressions
|
|
11120
|
-
this.
|
|
11157
|
+
this.menuTabbingService.firstFocusable.focus();
|
|
11121
11158
|
}
|
|
11122
11159
|
else {
|
|
11123
|
-
this.menuTabbingService.firstFocusable.focus();
|
|
11160
|
+
this.disabled ? this.menuTabbingService.firstFocusable.focus() : this.resetButton.nativeElement.focus();
|
|
11124
11161
|
}
|
|
11125
11162
|
}
|
|
11126
11163
|
}
|
|
@@ -11246,15 +11283,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11246
11283
|
args: ['filterButton', { static: false }]
|
|
11247
11284
|
}] } });
|
|
11248
11285
|
|
|
11286
|
+
let id$3 = 0;
|
|
11287
|
+
const getId$1 = (gridId) => `${gridId}-filter-menu-${id$3++}`;
|
|
11249
11288
|
/**
|
|
11250
11289
|
* @hidden
|
|
11251
11290
|
*/
|
|
11252
11291
|
class FilterMenuComponent {
|
|
11253
|
-
constructor(filterService, popupService, ctx, navigationService) {
|
|
11292
|
+
constructor(filterService, popupService, ctx, navigationService, renderer, cdr, idService) {
|
|
11254
11293
|
this.filterService = filterService;
|
|
11255
11294
|
this.popupService = popupService;
|
|
11256
11295
|
this.ctx = ctx;
|
|
11257
11296
|
this.navigationService = navigationService;
|
|
11297
|
+
this.renderer = renderer;
|
|
11298
|
+
this.cdr = cdr;
|
|
11299
|
+
this.idService = idService;
|
|
11258
11300
|
this.filterIcon = filterIcon;
|
|
11259
11301
|
this.tabIndex = '-1';
|
|
11260
11302
|
}
|
|
@@ -11269,9 +11311,36 @@ class FilterMenuComponent {
|
|
|
11269
11311
|
const columnName = this.column.title || this.column.field;
|
|
11270
11312
|
return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
|
|
11271
11313
|
}
|
|
11314
|
+
/**
|
|
11315
|
+
* @hidden
|
|
11316
|
+
*/
|
|
11317
|
+
get isNavigable() {
|
|
11318
|
+
return this.navigationService.tableEnabled;
|
|
11319
|
+
}
|
|
11272
11320
|
toggle(anchor, template) {
|
|
11321
|
+
var _a;
|
|
11273
11322
|
this.popupRef = this.popupService.open(anchor, template, this.popupRef);
|
|
11274
|
-
|
|
11323
|
+
// Needed as changes to 'popupRef' are not reflected
|
|
11324
|
+
// automatically when the Popup is closed by clicking outside the anchor
|
|
11325
|
+
const ariaRoot = this.isNavigable ? anchor.closest('.k-table-th') : anchor;
|
|
11326
|
+
if (this.popupRef) {
|
|
11327
|
+
this.popupRef.popup.instance.close.pipe(take(1)).subscribe(() => {
|
|
11328
|
+
this.popupRef = null;
|
|
11329
|
+
const ariaRoot = this.isNavigable ? anchor.closest('.k-table-th') : anchor;
|
|
11330
|
+
ariaRoot && this.renderer.removeAttribute(ariaRoot, 'aria-controls');
|
|
11331
|
+
ariaRoot && this.renderer.setAttribute(ariaRoot, 'aria-expanded', 'false');
|
|
11332
|
+
});
|
|
11333
|
+
const popupAriaElement = this.popupRef.popupElement.querySelector('.k-grid-filter-popup');
|
|
11334
|
+
if (popupAriaElement) {
|
|
11335
|
+
const popupId = getId$1((_a = this.idService) === null || _a === void 0 ? void 0 : _a.gridId());
|
|
11336
|
+
this.renderer.setAttribute(popupAriaElement, 'id', popupId);
|
|
11337
|
+
this.renderer.setAttribute(popupAriaElement, 'role', 'dialog');
|
|
11338
|
+
this.renderer.setAttribute(popupAriaElement, 'aria-label', this.filterLabel);
|
|
11339
|
+
ariaRoot && this.renderer.setAttribute(ariaRoot, 'aria-controls', popupId);
|
|
11340
|
+
ariaRoot && this.renderer.setAttribute(ariaRoot, 'aria-expanded', 'true');
|
|
11341
|
+
}
|
|
11342
|
+
}
|
|
11343
|
+
else {
|
|
11275
11344
|
if (this.navigationService.tableEnabled) {
|
|
11276
11345
|
this.navigationService.focusCell(0, this.column.leafIndex);
|
|
11277
11346
|
}
|
|
@@ -11283,6 +11352,8 @@ class FilterMenuComponent {
|
|
|
11283
11352
|
}
|
|
11284
11353
|
close() {
|
|
11285
11354
|
this.popupService.destroy();
|
|
11355
|
+
this.popupRef = null;
|
|
11356
|
+
this.cdr.markForCheck();
|
|
11286
11357
|
if (this.navigationService.tableEnabled) {
|
|
11287
11358
|
this.navigationService.focusCell(0, this.column.leafIndex);
|
|
11288
11359
|
}
|
|
@@ -11291,7 +11362,7 @@ class FilterMenuComponent {
|
|
|
11291
11362
|
}
|
|
11292
11363
|
}
|
|
11293
11364
|
}
|
|
11294
|
-
FilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterMenuComponent, deps: [{ token: FilterService }, { token: SinglePopupService }, { token: ContextService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
11365
|
+
FilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterMenuComponent, deps: [{ token: FilterService }, { token: SinglePopupService }, { token: ContextService }, { token: NavigationService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: IdService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
11295
11366
|
FilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FilterMenuComponent, selector: "kendo-grid-filter-menu", inputs: { column: "column", filter: "filter", tabIndex: "tabIndex" }, viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, static: true }, { propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
|
|
11296
11367
|
<a #anchor
|
|
11297
11368
|
class="k-grid-filter-menu k-grid-header-menu"
|
|
@@ -11300,7 +11371,9 @@ FilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
11300
11371
|
(click)="toggle(anchor, template)"
|
|
11301
11372
|
(keydown.enter)="$event.stopImmediatePropagation()"
|
|
11302
11373
|
href="#"
|
|
11303
|
-
[attr.title]="filterLabel"
|
|
11374
|
+
[attr.title]="filterLabel"
|
|
11375
|
+
[attr.aria-haspopup]="isNavigable ? undefined : 'dialog'"
|
|
11376
|
+
[attr.aria-expanded]="isNavigable ? undefined : false">
|
|
11304
11377
|
<kendo-icon-wrapper
|
|
11305
11378
|
name="filter"
|
|
11306
11379
|
[svgIcon]="filterIcon"></kendo-icon-wrapper>
|
|
@@ -11328,7 +11401,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11328
11401
|
(click)="toggle(anchor, template)"
|
|
11329
11402
|
(keydown.enter)="$event.stopImmediatePropagation()"
|
|
11330
11403
|
href="#"
|
|
11331
|
-
[attr.title]="filterLabel"
|
|
11404
|
+
[attr.title]="filterLabel"
|
|
11405
|
+
[attr.aria-haspopup]="isNavigable ? undefined : 'dialog'"
|
|
11406
|
+
[attr.aria-expanded]="isNavigable ? undefined : false">
|
|
11332
11407
|
<kendo-icon-wrapper
|
|
11333
11408
|
name="filter"
|
|
11334
11409
|
[svgIcon]="filterIcon"></kendo-icon-wrapper>
|
|
@@ -11345,7 +11420,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11345
11420
|
</ng-template>
|
|
11346
11421
|
`
|
|
11347
11422
|
}]
|
|
11348
|
-
}], ctorParameters: function () {
|
|
11423
|
+
}], ctorParameters: function () {
|
|
11424
|
+
return [{ type: FilterService }, { type: SinglePopupService }, { type: ContextService }, { type: NavigationService }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: IdService, decorators: [{
|
|
11425
|
+
type: Optional
|
|
11426
|
+
}] }];
|
|
11427
|
+
}, propDecorators: { column: [{
|
|
11349
11428
|
type: Input
|
|
11350
11429
|
}], filter: [{
|
|
11351
11430
|
type: Input
|
|
@@ -11403,7 +11482,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11403
11482
|
/**
|
|
11404
11483
|
* @hidden
|
|
11405
11484
|
*/
|
|
11406
|
-
const
|
|
11485
|
+
const ColumnMenuErrorMessages = {
|
|
11407
11486
|
autoSizeColumn: 'The auto size column does not work with enabled virtual columns',
|
|
11408
11487
|
autoSizeAllColumns: 'The auto size all columns does not work with enabled virtual columns'
|
|
11409
11488
|
};
|
|
@@ -11511,6 +11590,9 @@ class ColumnMenuItemComponent {
|
|
|
11511
11590
|
this.collapse = new EventEmitter();
|
|
11512
11591
|
this.contentState = 'collapsed';
|
|
11513
11592
|
}
|
|
11593
|
+
ngAfterViewInit() {
|
|
11594
|
+
this.contentTemplate && (this.contentId = `k-${guid()}`);
|
|
11595
|
+
}
|
|
11514
11596
|
ngOnChanges(changes) {
|
|
11515
11597
|
if (changes.expanded) {
|
|
11516
11598
|
this.updateContentState();
|
|
@@ -11545,13 +11627,14 @@ ColumnMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
11545
11627
|
[class.k-selected]="selected"
|
|
11546
11628
|
[class.k-disabled]="disabled"
|
|
11547
11629
|
role="button"
|
|
11548
|
-
[attr.aria-expanded]="expanded"
|
|
11630
|
+
[attr.aria-expanded]="expanded"
|
|
11631
|
+
[attr.aria-controls]="expanded ? contentId : undefined">
|
|
11549
11632
|
<kendo-icon-wrapper
|
|
11550
11633
|
[name]="icon"
|
|
11551
11634
|
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
11552
11635
|
{{ text }}
|
|
11553
11636
|
</div>
|
|
11554
|
-
<div *ngIf="contentTemplate" [@state]="contentState" [style.overflow]="'hidden'" class="k-columnmenu-item-content">
|
|
11637
|
+
<div *ngIf="contentTemplate" [attr.id]="contentId" [@state]="contentState" [style.overflow]="'hidden'" class="k-columnmenu-item-content">
|
|
11555
11638
|
<ng-container [ngTemplateOutlet]="contentTemplate.templateRef">
|
|
11556
11639
|
</ng-container>
|
|
11557
11640
|
<div>
|
|
@@ -11613,13 +11696,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11613
11696
|
[class.k-selected]="selected"
|
|
11614
11697
|
[class.k-disabled]="disabled"
|
|
11615
11698
|
role="button"
|
|
11616
|
-
[attr.aria-expanded]="expanded"
|
|
11699
|
+
[attr.aria-expanded]="expanded"
|
|
11700
|
+
[attr.aria-controls]="expanded ? contentId : undefined">
|
|
11617
11701
|
<kendo-icon-wrapper
|
|
11618
11702
|
[name]="icon"
|
|
11619
11703
|
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
11620
11704
|
{{ text }}
|
|
11621
11705
|
</div>
|
|
11622
|
-
<div *ngIf="contentTemplate" [@state]="contentState" [style.overflow]="'hidden'" class="k-columnmenu-item-content">
|
|
11706
|
+
<div *ngIf="contentTemplate" [attr.id]="contentId" [@state]="contentState" [style.overflow]="'hidden'" class="k-columnmenu-item-content">
|
|
11623
11707
|
<ng-container [ngTemplateOutlet]="contentTemplate.templateRef">
|
|
11624
11708
|
</ng-container>
|
|
11625
11709
|
<div>
|
|
@@ -11995,14 +12079,79 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11995
12079
|
type: Input
|
|
11996
12080
|
}] } });
|
|
11997
12081
|
|
|
12082
|
+
/**
|
|
12083
|
+
* @hidden
|
|
12084
|
+
*/
|
|
12085
|
+
class ColumnListKeyboardNavigation {
|
|
12086
|
+
constructor(renderer) {
|
|
12087
|
+
this.renderer = renderer;
|
|
12088
|
+
this.activeIndex = 0;
|
|
12089
|
+
}
|
|
12090
|
+
next() {
|
|
12091
|
+
this.toggle(this.activeIndex, false);
|
|
12092
|
+
this.activeIndex = Math.min(this.activeIndex + 1, this.items.length - 1);
|
|
12093
|
+
this.toggle(this.activeIndex, true);
|
|
12094
|
+
}
|
|
12095
|
+
prev() {
|
|
12096
|
+
this.toggle(this.activeIndex, false);
|
|
12097
|
+
this.activeIndex = Math.max(this.activeIndex - 1, 0);
|
|
12098
|
+
this.toggle(this.activeIndex, true);
|
|
12099
|
+
}
|
|
12100
|
+
toggle(index, active) {
|
|
12101
|
+
var _a;
|
|
12102
|
+
const element = (_a = this.items[index]) === null || _a === void 0 ? void 0 : _a.host.nativeElement;
|
|
12103
|
+
element && this.renderer.setAttribute(this.items[index].host.nativeElement, 'tabindex', active ? '0' : '-1');
|
|
12104
|
+
active && element && element.focus();
|
|
12105
|
+
}
|
|
12106
|
+
toggleCheckedState() {
|
|
12107
|
+
this.items[this.activeIndex].host.nativeElement.firstElementChild.click();
|
|
12108
|
+
}
|
|
12109
|
+
}
|
|
12110
|
+
ColumnListKeyboardNavigation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnListKeyboardNavigation, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
12111
|
+
ColumnListKeyboardNavigation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnListKeyboardNavigation });
|
|
12112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnListKeyboardNavigation, decorators: [{
|
|
12113
|
+
type: Injectable
|
|
12114
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; } });
|
|
12115
|
+
|
|
12116
|
+
/**
|
|
12117
|
+
* @hidden
|
|
12118
|
+
*/
|
|
12119
|
+
class ColumnMenuChooserItemCheckedDirective {
|
|
12120
|
+
constructor(host, renderer) {
|
|
12121
|
+
this.host = host;
|
|
12122
|
+
this.renderer = renderer;
|
|
12123
|
+
this.checkedChangeSub = new Subscription();
|
|
12124
|
+
}
|
|
12125
|
+
ngAfterViewInit() {
|
|
12126
|
+
this.checkedChangeSub.add(this.renderer.listen(this.host.nativeElement.firstElementChild, 'change', (e) => {
|
|
12127
|
+
this.kendoColumnMenuChooserItemChecked = e.target.checked;
|
|
12128
|
+
}));
|
|
12129
|
+
}
|
|
12130
|
+
ngOnDestroy() {
|
|
12131
|
+
this.checkedChangeSub.unsubscribe();
|
|
12132
|
+
}
|
|
12133
|
+
}
|
|
12134
|
+
ColumnMenuChooserItemCheckedDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuChooserItemCheckedDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
12135
|
+
ColumnMenuChooserItemCheckedDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: ColumnMenuChooserItemCheckedDirective, selector: "[kendoColumnMenuChooserItemChecked]", inputs: { kendoColumnMenuChooserItemChecked: "kendoColumnMenuChooserItemChecked" }, host: { properties: { "attr.aria-checked": "this.kendoColumnMenuChooserItemChecked" } }, ngImport: i0 });
|
|
12136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuChooserItemCheckedDirective, decorators: [{
|
|
12137
|
+
type: Directive,
|
|
12138
|
+
args: [{ selector: '[kendoColumnMenuChooserItemChecked]' }]
|
|
12139
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { kendoColumnMenuChooserItemChecked: [{
|
|
12140
|
+
type: HostBinding,
|
|
12141
|
+
args: ['attr.aria-checked']
|
|
12142
|
+
}, {
|
|
12143
|
+
type: Input
|
|
12144
|
+
}] } });
|
|
12145
|
+
|
|
11998
12146
|
/**
|
|
11999
12147
|
* @hidden
|
|
12000
12148
|
*/
|
|
12001
12149
|
class ColumnListComponent {
|
|
12002
|
-
constructor(element, ngZone, renderer) {
|
|
12150
|
+
constructor(element, ngZone, renderer, listNavigationService) {
|
|
12003
12151
|
this.element = element;
|
|
12004
12152
|
this.ngZone = ngZone;
|
|
12005
12153
|
this.renderer = renderer;
|
|
12154
|
+
this.listNavigationService = listNavigationService;
|
|
12006
12155
|
this.reset = new EventEmitter();
|
|
12007
12156
|
this.apply = new EventEmitter();
|
|
12008
12157
|
this.columnChange = new EventEmitter();
|
|
@@ -12010,10 +12159,28 @@ class ColumnListComponent {
|
|
|
12010
12159
|
this.allowHideAll = false;
|
|
12011
12160
|
this.actionsClass = 'k-actions k-actions-stretched k-actions-horizontal';
|
|
12012
12161
|
this.unlockedCount = 0;
|
|
12162
|
+
this.domSubscriptions = new Subscription();
|
|
12163
|
+
this.onKeydown = (e) => {
|
|
12164
|
+
if (e.keyCode !== Keys.Tab) {
|
|
12165
|
+
e.preventDefault();
|
|
12166
|
+
}
|
|
12167
|
+
if (e.keyCode === Keys.ArrowDown) {
|
|
12168
|
+
this.listNavigationService.next();
|
|
12169
|
+
}
|
|
12170
|
+
else if (e.keyCode === Keys.ArrowUp) {
|
|
12171
|
+
this.listNavigationService.prev();
|
|
12172
|
+
}
|
|
12173
|
+
else if (e.keyCode === Keys.Space && e.target.classList.contains('k-column-list-item')) {
|
|
12174
|
+
this.listNavigationService.toggleCheckedState();
|
|
12175
|
+
}
|
|
12176
|
+
};
|
|
12013
12177
|
}
|
|
12014
12178
|
get className() {
|
|
12015
12179
|
return true;
|
|
12016
12180
|
}
|
|
12181
|
+
isChecked(checkbox) {
|
|
12182
|
+
return checkbox.checked;
|
|
12183
|
+
}
|
|
12017
12184
|
set columns(value) {
|
|
12018
12185
|
this._columns = value.filter(column => column.includeInChooser !== false);
|
|
12019
12186
|
this.allColumns = value;
|
|
@@ -12031,12 +12198,21 @@ class ColumnListComponent {
|
|
|
12031
12198
|
return;
|
|
12032
12199
|
}
|
|
12033
12200
|
this.ngZone.runOutsideAngular(() => {
|
|
12034
|
-
this.domSubscriptions
|
|
12035
|
-
|
|
12201
|
+
this.domSubscriptions.add(this.renderer.listen(this.element.nativeElement, 'click', (e) => {
|
|
12202
|
+
const closestItem = e.target.closest('.k-column-list-item');
|
|
12203
|
+
if (closestItem) {
|
|
12204
|
+
const checkbox = closestItem.querySelector('.k-checkbox');
|
|
12205
|
+
const index = parseInt(checkbox.getAttribute('data-index'), 10);
|
|
12206
|
+
if (e.target === checkbox) {
|
|
12207
|
+
closestItem.focus();
|
|
12208
|
+
}
|
|
12209
|
+
else {
|
|
12210
|
+
e.preventDefault();
|
|
12211
|
+
checkbox.checked = !checkbox.checked;
|
|
12212
|
+
}
|
|
12036
12213
|
if (this.autoSync) {
|
|
12037
|
-
const index = parseInt(e.target.getAttribute('data-index'), 10);
|
|
12038
12214
|
const column = this.columns[index];
|
|
12039
|
-
const hidden = !
|
|
12215
|
+
const hidden = !checkbox.checked;
|
|
12040
12216
|
if (Boolean(column.hidden) !== hidden) {
|
|
12041
12217
|
this.ngZone.run(() => {
|
|
12042
12218
|
column.hidden = hidden;
|
|
@@ -12047,10 +12223,20 @@ class ColumnListComponent {
|
|
|
12047
12223
|
else {
|
|
12048
12224
|
this.updateDisabled();
|
|
12049
12225
|
}
|
|
12226
|
+
if (index !== this.listNavigationService.activeIndex) {
|
|
12227
|
+
this.listNavigationService.toggle(this.listNavigationService.activeIndex, false);
|
|
12228
|
+
this.listNavigationService.activeIndex = index;
|
|
12229
|
+
this.listNavigationService.toggle(index, true);
|
|
12230
|
+
}
|
|
12050
12231
|
}
|
|
12051
|
-
});
|
|
12232
|
+
}));
|
|
12233
|
+
this.domSubscriptions.add(this.renderer.listen(this.element.nativeElement, 'keydown', this.onKeydown));
|
|
12052
12234
|
});
|
|
12053
12235
|
}
|
|
12236
|
+
ngAfterViewInit() {
|
|
12237
|
+
this.listNavigationService.items = this.options.toArray();
|
|
12238
|
+
this.listNavigationService.toggle(0, true);
|
|
12239
|
+
}
|
|
12054
12240
|
ngOnChanges(changes) {
|
|
12055
12241
|
if (!this.service) {
|
|
12056
12242
|
return;
|
|
@@ -12063,9 +12249,7 @@ class ColumnListComponent {
|
|
|
12063
12249
|
}
|
|
12064
12250
|
}
|
|
12065
12251
|
ngOnDestroy() {
|
|
12066
|
-
|
|
12067
|
-
this.domSubscriptions();
|
|
12068
|
-
}
|
|
12252
|
+
this.domSubscriptions.unsubscribe();
|
|
12069
12253
|
}
|
|
12070
12254
|
cancelChanges() {
|
|
12071
12255
|
this.forEachCheckBox((element, index) => {
|
|
@@ -12093,6 +12277,9 @@ class ColumnListComponent {
|
|
|
12093
12277
|
if (this.service) {
|
|
12094
12278
|
this.service.menuTabbingService.firstFocusable.focus();
|
|
12095
12279
|
}
|
|
12280
|
+
else {
|
|
12281
|
+
this.listNavigationService.toggle(this.listNavigationService.activeIndex, true);
|
|
12282
|
+
}
|
|
12096
12283
|
}
|
|
12097
12284
|
}
|
|
12098
12285
|
forEachCheckBox(callback) {
|
|
@@ -12139,35 +12326,94 @@ class ColumnListComponent {
|
|
|
12139
12326
|
}
|
|
12140
12327
|
}
|
|
12141
12328
|
}
|
|
12142
|
-
ColumnListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnListComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
12143
|
-
ColumnListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: { columns: "columns", autoSync: "autoSync", allowHideAll: "allowHideAll", applyText: "applyText", resetText: "resetText", actionsClass: "actionsClass", isLast: "isLast", isExpanded: "isExpanded", service: "service" }, outputs: { reset: "reset", apply: "apply", columnChange: "columnChange" }, host: { properties: { "class.k-column-list-wrapper": "this.className" } }, viewQueries: [{ propertyName: "applyButton", first: true, predicate: ["applyButton"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
12144
|
-
<div
|
|
12145
|
-
|
|
12146
|
-
|
|
12329
|
+
ColumnListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnListComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: ColumnListKeyboardNavigation }], target: i0.ɵɵFactoryTarget.Component });
|
|
12330
|
+
ColumnListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: { columns: "columns", autoSync: "autoSync", ariaLabel: "ariaLabel", allowHideAll: "allowHideAll", applyText: "applyText", resetText: "resetText", actionsClass: "actionsClass", isLast: "isLast", isExpanded: "isExpanded", service: "service" }, outputs: { reset: "reset", apply: "apply", columnChange: "columnChange" }, host: { properties: { "class.k-column-list-wrapper": "this.className" } }, providers: [ColumnListKeyboardNavigation], viewQueries: [{ propertyName: "resetButton", first: true, predicate: ["resetButton"], descendants: true }, { propertyName: "applyButton", first: true, predicate: ["applyButton"], descendants: true }, { propertyName: "options", predicate: ColumnMenuChooserItemCheckedDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
12331
|
+
<div
|
|
12332
|
+
class="k-column-list"
|
|
12333
|
+
role="listbox"
|
|
12334
|
+
aria-multiselectable="true"
|
|
12335
|
+
[attr.aria-label]="ariaLabel">
|
|
12336
|
+
<label
|
|
12337
|
+
*ngFor="let column of columns; let index = index;"
|
|
12338
|
+
class='k-column-list-item'
|
|
12339
|
+
[kendoColumnMenuChooserItemChecked]="!column.hidden"
|
|
12340
|
+
role="option">
|
|
12341
|
+
<input
|
|
12342
|
+
class="k-checkbox k-checkbox-md k-rounded-md"
|
|
12343
|
+
type="checkbox"
|
|
12344
|
+
[attr.data-index]="index"
|
|
12345
|
+
[checked]="!column.hidden"
|
|
12346
|
+
tabindex="-1"
|
|
12347
|
+
[attr.aria-hidden]="true"
|
|
12348
|
+
[disabled]="isDisabled(column)" />
|
|
12349
|
+
<span class="k-checkbox-label">{{ column.displayTitle }}</span>
|
|
12147
12350
|
</label>
|
|
12148
12351
|
</div>
|
|
12149
12352
|
<div [ngClass]="actionsClass" *ngIf="!autoSync">
|
|
12150
|
-
<button
|
|
12151
|
-
|
|
12353
|
+
<button
|
|
12354
|
+
#applyButton
|
|
12355
|
+
type="button"
|
|
12356
|
+
class="k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle"
|
|
12357
|
+
(click)="applyChanges()"
|
|
12358
|
+
(keydown.enter)="$event.preventDefault(); $event.stopPropagation; applyChanges();"
|
|
12359
|
+
(keydown.space)="$event.preventDefault(); $event.stopPropagation; applyChanges();">{{ applyText }}</button>
|
|
12360
|
+
<button
|
|
12361
|
+
#resetButton
|
|
12362
|
+
type="button"
|
|
12363
|
+
(keydown.tab)="onTab($event)"
|
|
12364
|
+
class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
|
|
12365
|
+
(click)="cancelChanges()"
|
|
12366
|
+
(keydown.enter)="$event.preventDefault(); $event.stopPropagation; cancelChanges();"
|
|
12367
|
+
(keydown.space)="$event.preventDefault(); $event.stopPropagation; cancelChanges();">{{ resetText }}</button>
|
|
12152
12368
|
</div>
|
|
12153
|
-
`, isInline: true, directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
12369
|
+
`, isInline: true, directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: ColumnMenuChooserItemCheckedDirective, selector: "[kendoColumnMenuChooserItemChecked]", inputs: ["kendoColumnMenuChooserItemChecked"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
12154
12370
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnListComponent, decorators: [{
|
|
12155
12371
|
type: Component,
|
|
12156
12372
|
args: [{
|
|
12157
12373
|
selector: 'kendo-grid-columnlist',
|
|
12374
|
+
providers: [ColumnListKeyboardNavigation],
|
|
12158
12375
|
template: `
|
|
12159
|
-
<div
|
|
12160
|
-
|
|
12161
|
-
|
|
12376
|
+
<div
|
|
12377
|
+
class="k-column-list"
|
|
12378
|
+
role="listbox"
|
|
12379
|
+
aria-multiselectable="true"
|
|
12380
|
+
[attr.aria-label]="ariaLabel">
|
|
12381
|
+
<label
|
|
12382
|
+
*ngFor="let column of columns; let index = index;"
|
|
12383
|
+
class='k-column-list-item'
|
|
12384
|
+
[kendoColumnMenuChooserItemChecked]="!column.hidden"
|
|
12385
|
+
role="option">
|
|
12386
|
+
<input
|
|
12387
|
+
class="k-checkbox k-checkbox-md k-rounded-md"
|
|
12388
|
+
type="checkbox"
|
|
12389
|
+
[attr.data-index]="index"
|
|
12390
|
+
[checked]="!column.hidden"
|
|
12391
|
+
tabindex="-1"
|
|
12392
|
+
[attr.aria-hidden]="true"
|
|
12393
|
+
[disabled]="isDisabled(column)" />
|
|
12394
|
+
<span class="k-checkbox-label">{{ column.displayTitle }}</span>
|
|
12162
12395
|
</label>
|
|
12163
12396
|
</div>
|
|
12164
12397
|
<div [ngClass]="actionsClass" *ngIf="!autoSync">
|
|
12165
|
-
<button
|
|
12166
|
-
|
|
12398
|
+
<button
|
|
12399
|
+
#applyButton
|
|
12400
|
+
type="button"
|
|
12401
|
+
class="k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle"
|
|
12402
|
+
(click)="applyChanges()"
|
|
12403
|
+
(keydown.enter)="$event.preventDefault(); $event.stopPropagation; applyChanges();"
|
|
12404
|
+
(keydown.space)="$event.preventDefault(); $event.stopPropagation; applyChanges();">{{ applyText }}</button>
|
|
12405
|
+
<button
|
|
12406
|
+
#resetButton
|
|
12407
|
+
type="button"
|
|
12408
|
+
(keydown.tab)="onTab($event)"
|
|
12409
|
+
class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
|
|
12410
|
+
(click)="cancelChanges()"
|
|
12411
|
+
(keydown.enter)="$event.preventDefault(); $event.stopPropagation; cancelChanges();"
|
|
12412
|
+
(keydown.space)="$event.preventDefault(); $event.stopPropagation; cancelChanges();">{{ resetText }}</button>
|
|
12167
12413
|
</div>
|
|
12168
12414
|
`
|
|
12169
12415
|
}]
|
|
12170
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }]; }, propDecorators: { className: [{
|
|
12416
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: ColumnListKeyboardNavigation }]; }, propDecorators: { className: [{
|
|
12171
12417
|
type: HostBinding,
|
|
12172
12418
|
args: ["class.k-column-list-wrapper"]
|
|
12173
12419
|
}], reset: [{
|
|
@@ -12180,6 +12426,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
12180
12426
|
type: Input
|
|
12181
12427
|
}], autoSync: [{
|
|
12182
12428
|
type: Input
|
|
12429
|
+
}], ariaLabel: [{
|
|
12430
|
+
type: Input
|
|
12183
12431
|
}], allowHideAll: [{
|
|
12184
12432
|
type: Input
|
|
12185
12433
|
}], applyText: [{
|
|
@@ -12194,9 +12442,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
12194
12442
|
type: Input
|
|
12195
12443
|
}], service: [{
|
|
12196
12444
|
type: Input
|
|
12445
|
+
}], resetButton: [{
|
|
12446
|
+
type: ViewChild,
|
|
12447
|
+
args: ['resetButton', { static: false }]
|
|
12197
12448
|
}], applyButton: [{
|
|
12198
12449
|
type: ViewChild,
|
|
12199
12450
|
args: ['applyButton', { static: false }]
|
|
12451
|
+
}], options: [{
|
|
12452
|
+
type: ViewChildren,
|
|
12453
|
+
args: [ColumnMenuChooserItemCheckedDirective]
|
|
12200
12454
|
}] } });
|
|
12201
12455
|
|
|
12202
12456
|
/**
|
|
@@ -12289,6 +12543,7 @@ ColumnMenuChooserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
12289
12543
|
<kendo-grid-columnlist
|
|
12290
12544
|
[applyText]="ctx.localization.get('columnsApply')"
|
|
12291
12545
|
[resetText]="ctx.localization.get('columnsReset')"
|
|
12546
|
+
[ariaLabel]="ctx.localization.get('columns')"
|
|
12292
12547
|
[columns]="columns"
|
|
12293
12548
|
[autoSync]="false"
|
|
12294
12549
|
[allowHideAll]="false"
|
|
@@ -12300,7 +12555,7 @@ ColumnMenuChooserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
12300
12555
|
</kendo-grid-columnlist>
|
|
12301
12556
|
</ng-template>
|
|
12302
12557
|
</kendo-grid-columnmenu-item>
|
|
12303
|
-
`, isInline: true, components: [{ type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded"], outputs: ["itemClick", "expand", "collapse"] }, { type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "autoSync", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }], directives: [{ type: ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }] });
|
|
12558
|
+
`, isInline: true, components: [{ type: ColumnMenuItemComponent, selector: "kendo-grid-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded"], outputs: ["itemClick", "expand", "collapse"] }, { type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "autoSync", "ariaLabel", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }], directives: [{ type: ColumnMenuItemContentTemplateDirective, selector: "[kendoGridColumnMenuItemContentTemplate]" }] });
|
|
12304
12559
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuChooserComponent, decorators: [{
|
|
12305
12560
|
type: Component,
|
|
12306
12561
|
args: [{
|
|
@@ -12317,6 +12572,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
12317
12572
|
<kendo-grid-columnlist
|
|
12318
12573
|
[applyText]="ctx.localization.get('columnsApply')"
|
|
12319
12574
|
[resetText]="ctx.localization.get('columnsReset')"
|
|
12575
|
+
[ariaLabel]="ctx.localization.get('columns')"
|
|
12320
12576
|
[columns]="columns"
|
|
12321
12577
|
[autoSync]="false"
|
|
12322
12578
|
[allowHideAll]="false"
|
|
@@ -12720,7 +12976,7 @@ class ColumnMenuAutoSizeColumnComponent extends ColumnMenuItemBase {
|
|
|
12720
12976
|
ngOnInit() {
|
|
12721
12977
|
const isVirtualColumns = this.ctx.grid.columnMenuTemplate && this.ctx.grid.virtualColumns;
|
|
12722
12978
|
if (isVirtualColumns && isDevMode()) {
|
|
12723
|
-
console.warn(
|
|
12979
|
+
console.warn(ColumnMenuErrorMessages.autoSizeColumn);
|
|
12724
12980
|
}
|
|
12725
12981
|
}
|
|
12726
12982
|
/**
|
|
@@ -12787,7 +13043,7 @@ class ColumnMenuAutoSizeAllColumnsComponent extends ColumnMenuItemBase {
|
|
|
12787
13043
|
ngOnInit() {
|
|
12788
13044
|
const isVirtualColumns = this.ctx.grid.columnMenuTemplate && this.ctx.grid.virtualColumns;
|
|
12789
13045
|
if (isVirtualColumns && isDevMode()) {
|
|
12790
|
-
console.warn(
|
|
13046
|
+
console.warn(ColumnMenuErrorMessages.autoSizeAllColumns);
|
|
12791
13047
|
}
|
|
12792
13048
|
}
|
|
12793
13049
|
/**
|
|
@@ -12824,6 +13080,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
12824
13080
|
}], ctorParameters: function () { return [{ type: ContextService }]; } });
|
|
12825
13081
|
|
|
12826
13082
|
const POPUP_CLASS = 'k-grid-columnmenu-popup';
|
|
13083
|
+
let id$2 = 0;
|
|
13084
|
+
const getId = (gridId) => `${gridId}-column-menu-${id$2++}`;
|
|
12827
13085
|
/**
|
|
12828
13086
|
* Represents the [column menu](slug:columnmenu_grid#toc-customizing-the-position) component.
|
|
12829
13087
|
*
|
|
@@ -12836,7 +13094,7 @@ const POPUP_CLASS = 'k-grid-columnmenu-popup';
|
|
|
12836
13094
|
* </kendo-grid>
|
|
12837
13095
|
*/
|
|
12838
13096
|
class ColumnMenuComponent {
|
|
12839
|
-
constructor(navigationService, popupService, service, ctx, renderer, cdr, columnInfoService) {
|
|
13097
|
+
constructor(navigationService, popupService, service, ctx, renderer, cdr, columnInfoService, idService) {
|
|
12840
13098
|
this.navigationService = navigationService;
|
|
12841
13099
|
this.popupService = popupService;
|
|
12842
13100
|
this.service = service;
|
|
@@ -12844,6 +13102,7 @@ class ColumnMenuComponent {
|
|
|
12844
13102
|
this.renderer = renderer;
|
|
12845
13103
|
this.cdr = cdr;
|
|
12846
13104
|
this.columnInfoService = columnInfoService;
|
|
13105
|
+
this.idService = idService;
|
|
12847
13106
|
/**
|
|
12848
13107
|
* @hidden
|
|
12849
13108
|
*/
|
|
@@ -12889,7 +13148,7 @@ class ColumnMenuComponent {
|
|
|
12889
13148
|
*/
|
|
12890
13149
|
this.expandedPosition = false;
|
|
12891
13150
|
this.moreVerticalIcon = moreVerticalIcon;
|
|
12892
|
-
this.closeSubscription = service.closeMenu.subscribe(this.close.bind(this));
|
|
13151
|
+
this.closeSubscription = service.closeMenu.subscribe(this.close.bind(this, true));
|
|
12893
13152
|
}
|
|
12894
13153
|
/**
|
|
12895
13154
|
* @hidden
|
|
@@ -12915,6 +13174,12 @@ class ColumnMenuComponent {
|
|
|
12915
13174
|
get hasFilter() {
|
|
12916
13175
|
return hasFilter(this.settings, this.column);
|
|
12917
13176
|
}
|
|
13177
|
+
/**
|
|
13178
|
+
* @hidden
|
|
13179
|
+
*/
|
|
13180
|
+
get isNavigable() {
|
|
13181
|
+
return this.navigationService.tableEnabled;
|
|
13182
|
+
}
|
|
12918
13183
|
/**
|
|
12919
13184
|
* @hidden
|
|
12920
13185
|
*/
|
|
@@ -12931,7 +13196,7 @@ class ColumnMenuComponent {
|
|
|
12931
13196
|
* @hidden
|
|
12932
13197
|
*/
|
|
12933
13198
|
onApply(changed) {
|
|
12934
|
-
this.close();
|
|
13199
|
+
this.close(true);
|
|
12935
13200
|
if (changed.length) {
|
|
12936
13201
|
this.cdr.markForCheck();
|
|
12937
13202
|
this.columnInfoService.changeVisibility(changed);
|
|
@@ -12977,11 +13242,11 @@ class ColumnMenuComponent {
|
|
|
12977
13242
|
if (this.ctx.grid.virtualColumns && isDevMode()) {
|
|
12978
13243
|
if (this.settings.autoSizeAllColumns) {
|
|
12979
13244
|
this.settings.autoSizeAllColumns = false;
|
|
12980
|
-
console.warn(
|
|
13245
|
+
console.warn(ColumnMenuErrorMessages.autoSizeAllColumns);
|
|
12981
13246
|
}
|
|
12982
13247
|
if (this.settings.autoSizeColumn) {
|
|
12983
13248
|
this.settings.autoSizeColumn = false;
|
|
12984
|
-
console.warn(
|
|
13249
|
+
console.warn(ColumnMenuErrorMessages.autoSizeColumn);
|
|
12985
13250
|
}
|
|
12986
13251
|
}
|
|
12987
13252
|
this.service.menuTabbingService.isTabbedInterface = this.settings.view === 'tabbed' ? true : false;
|
|
@@ -13000,7 +13265,7 @@ class ColumnMenuComponent {
|
|
|
13000
13265
|
* @hidden
|
|
13001
13266
|
*/
|
|
13002
13267
|
toggle(e, anchor, template) {
|
|
13003
|
-
var _a;
|
|
13268
|
+
var _a, _b;
|
|
13004
13269
|
if (e) {
|
|
13005
13270
|
e.preventDefault();
|
|
13006
13271
|
e.stopImmediatePropagation();
|
|
@@ -13009,12 +13274,32 @@ class ColumnMenuComponent {
|
|
|
13009
13274
|
this.expandedColumns = this.getExpandedState(this.settings.columnChooser);
|
|
13010
13275
|
this.expandedPosition = this.getExpandedState(this.settings.setColumnPosition);
|
|
13011
13276
|
this.popupRef = this.popupService.open(anchor, template, this.popupRef, POPUP_CLASS);
|
|
13012
|
-
|
|
13013
|
-
|
|
13014
|
-
|
|
13015
|
-
|
|
13277
|
+
// Needed as changes to 'popupRef' and 'popupId' are not reflected
|
|
13278
|
+
// automatically when the Popup is closed by clicking outside the anchor
|
|
13279
|
+
const ariaRoot = this.isNavigable ? anchor.closest('.k-table-th') : anchor;
|
|
13280
|
+
if (this.popupRef) {
|
|
13281
|
+
this.popupRef.popup.instance.close.pipe(take(1)).subscribe(() => {
|
|
13282
|
+
this.popupRef = null;
|
|
13283
|
+
const ariaRoot = this.isNavigable ? anchor.closest('.k-table-th') : anchor;
|
|
13284
|
+
ariaRoot && this.renderer.removeAttribute(ariaRoot, 'aria-controls');
|
|
13285
|
+
ariaRoot && this.renderer.setAttribute(ariaRoot, 'aria-expanded', 'false');
|
|
13286
|
+
});
|
|
13287
|
+
const popupAriaElement = this.popupRef.popupElement.querySelector('.k-grid-columnmenu-popup');
|
|
13288
|
+
if (popupAriaElement) {
|
|
13289
|
+
const popupId = getId((_a = this.idService) === null || _a === void 0 ? void 0 : _a.gridId());
|
|
13290
|
+
this.renderer.setAttribute(popupAriaElement, 'id', popupId);
|
|
13291
|
+
this.renderer.setAttribute(popupAriaElement, 'role', 'dialog');
|
|
13292
|
+
this.renderer.setAttribute(popupAriaElement, 'aria-label', this.columnMenuTitle);
|
|
13293
|
+
ariaRoot && this.renderer.setAttribute(ariaRoot, 'aria-controls', popupId);
|
|
13294
|
+
ariaRoot && this.renderer.setAttribute(ariaRoot, 'aria-expanded', 'true');
|
|
13295
|
+
}
|
|
13296
|
+
if (this.settings.view === 'tabbed') {
|
|
13297
|
+
this.renderer.addClass(this.popupRef.popupElement.querySelector('.k-grid-columnmenu-popup'), 'k-column-menu-tabbed');
|
|
13298
|
+
this.cdr.detectChanges();
|
|
13299
|
+
(_b = this.tabStrip) === null || _b === void 0 ? void 0 : _b.selectTab(0);
|
|
13300
|
+
}
|
|
13016
13301
|
}
|
|
13017
|
-
|
|
13302
|
+
else {
|
|
13018
13303
|
if (this.navigationService.tableEnabled) {
|
|
13019
13304
|
this.navigationService.focusCell(0, this.column.leafIndex);
|
|
13020
13305
|
}
|
|
@@ -13026,9 +13311,13 @@ class ColumnMenuComponent {
|
|
|
13026
13311
|
/**
|
|
13027
13312
|
* @hidden
|
|
13028
13313
|
*/
|
|
13029
|
-
close() {
|
|
13314
|
+
close(triggerFocus = false) {
|
|
13030
13315
|
this.popupService.destroy();
|
|
13031
13316
|
this.popupRef = null;
|
|
13317
|
+
this.cdr.markForCheck();
|
|
13318
|
+
if (!triggerFocus) {
|
|
13319
|
+
return;
|
|
13320
|
+
}
|
|
13032
13321
|
if (this.navigationService.tableEnabled) {
|
|
13033
13322
|
this.navigationService.focusCell(0, this.column.leafIndex);
|
|
13034
13323
|
}
|
|
@@ -13048,7 +13337,7 @@ class ColumnMenuComponent {
|
|
|
13048
13337
|
return typeof (menuItemSettings) === 'object' ? menuItemSettings.expanded : false;
|
|
13049
13338
|
}
|
|
13050
13339
|
}
|
|
13051
|
-
ColumnMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuComponent, deps: [{ token: NavigationService }, { token: SinglePopupService }, { token: ColumnMenuService }, { token: ContextService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: ColumnInfoService }], target: i0.ɵɵFactoryTarget.Component });
|
|
13340
|
+
ColumnMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuComponent, deps: [{ token: NavigationService }, { token: SinglePopupService }, { token: ColumnMenuService }, { token: ContextService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: ColumnInfoService }, { token: IdService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
13052
13341
|
ColumnMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColumnMenuComponent, selector: "kendo-grid-column-menu", inputs: { standalone: "standalone", column: "column", settings: "settings", sort: "sort", filter: "filter", sortable: "sortable", columnMenuTemplate: "columnMenuTemplate", tabIndex: "tabIndex" }, host: { properties: { "class.k-grid-column-menu-standalone": "this.standalone" } }, providers: [
|
|
13053
13342
|
ColumnMenuService,
|
|
13054
13343
|
MenuTabbingService
|
|
@@ -13060,7 +13349,9 @@ ColumnMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
13060
13349
|
(keydown.enter)="$event.stopImmediatePropagation()"
|
|
13061
13350
|
href="#"
|
|
13062
13351
|
[tabindex]="tabIndex"
|
|
13063
|
-
[attr.title]="columnMenuTitle"
|
|
13352
|
+
[attr.title]="columnMenuTitle"
|
|
13353
|
+
[attr.aria-expanded]="isNavigable ? undefined: false"
|
|
13354
|
+
[attr.aria-haspopup]="isNavigable ? undefined : 'dialog'">
|
|
13064
13355
|
<kendo-icon-wrapper
|
|
13065
13356
|
name="more-vertical"
|
|
13066
13357
|
[svgIcon]="moreVerticalIcon"></kendo-icon-wrapper>
|
|
@@ -13073,7 +13364,7 @@ ColumnMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
13073
13364
|
</ng-template>
|
|
13074
13365
|
<ng-template #defaultTemplate>
|
|
13075
13366
|
<kendo-grid-columnmenu-container
|
|
13076
|
-
(keydown.escape)="close()"
|
|
13367
|
+
(keydown.escape)="close(true)"
|
|
13077
13368
|
(keydown.enter)="$event.stopImmediatePropagation()">
|
|
13078
13369
|
<kendo-grid-columnmenu-sort #sortItem [kendoGridColumnMenuItem]="sortItem" *ngIf="hasSort" [service]="service">
|
|
13079
13370
|
</kendo-grid-columnmenu-sort>
|
|
@@ -13125,7 +13416,7 @@ ColumnMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
13125
13416
|
</kendo-grid-columnmenu-container>
|
|
13126
13417
|
</ng-template>
|
|
13127
13418
|
<ng-template #tabbedInterfaceTemplate>
|
|
13128
|
-
<kendo-tabstrip #tabstrip (keydown.escape)="close()">
|
|
13419
|
+
<kendo-tabstrip #tabstrip (keydown.escape)="close(true)">
|
|
13129
13420
|
<kendo-tabstrip-tab *ngIf="hasFilter">
|
|
13130
13421
|
<ng-template kendoTabTitle>
|
|
13131
13422
|
<kendo-icon-wrapper
|
|
@@ -13212,7 +13503,7 @@ ColumnMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
13212
13503
|
</kendo-tabstrip-tab>
|
|
13213
13504
|
</kendo-tabstrip>
|
|
13214
13505
|
</ng-template>
|
|
13215
|
-
`, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: ColumnMenuContainerComponent, selector: "kendo-grid-columnmenu-container" }, { type: ColumnMenuSortComponent, selector: "kendo-grid-columnmenu-sort" }, { type: ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock" }, { type: ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick" }, { type: ColumnMenuPositionComponent, selector: "kendo-grid-columnmenu-position", inputs: ["expanded", "showLock", "showStick", "isLast"], outputs: ["expand", "collapse"] }, { type: ColumnMenuChooserComponent, selector: "kendo-grid-columnmenu-chooser", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { type: ColumnMenuAutoSizeColumnComponent, selector: "kendo-grid-columnmenu-autosize-column", inputs: ["column"] }, { type: ColumnMenuAutoSizeAllColumnsComponent, selector: "kendo-grid-columnmenu-autosize-all-columns" }, { type: ColumnMenuFilterComponent, selector: "kendo-grid-columnmenu-filter", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { type:
|
|
13506
|
+
`, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: ColumnMenuContainerComponent, selector: "kendo-grid-columnmenu-container" }, { type: ColumnMenuSortComponent, selector: "kendo-grid-columnmenu-sort" }, { type: ColumnMenuLockComponent, selector: "kendo-grid-columnmenu-lock" }, { type: ColumnMenuStickComponent, selector: "kendo-grid-columnmenu-stick" }, { type: ColumnMenuPositionComponent, selector: "kendo-grid-columnmenu-position", inputs: ["expanded", "showLock", "showStick", "isLast"], outputs: ["expand", "collapse"] }, { type: ColumnMenuChooserComponent, selector: "kendo-grid-columnmenu-chooser", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { type: ColumnMenuAutoSizeColumnComponent, selector: "kendo-grid-columnmenu-autosize-column", inputs: ["column"] }, { type: ColumnMenuAutoSizeAllColumnsComponent, selector: "kendo-grid-columnmenu-autosize-all-columns" }, { type: ColumnMenuFilterComponent, selector: "kendo-grid-columnmenu-filter", inputs: ["expanded", "isLast"], outputs: ["expand", "collapse"] }, { type: i17.TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "closeIcon", "closeIconClass", "closeSVGIcon"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { type: i17.TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon", "closeIconClass", "closeSVGIcon"], exportAs: ["kendoTabStripTab"] }, { type: FilterMenuContainerComponent, selector: "kendo-grid-filter-menu-container", inputs: ["column", "isLast", "isExpanded", "menuTabbingService", "filter", "actionsClass"], outputs: ["close"] }, { type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "autoSync", "ariaLabel", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ColumnMenuItemDirective, selector: "[kendoGridColumnMenuItem]", inputs: ["kendoGridColumnMenuItem"] }, { type: i17.TabTitleDirective, selector: "[kendoTabTitle]" }, { type: i17.TabContentDirective, selector: "[kendoTabContent]" }] });
|
|
13216
13507
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuComponent, decorators: [{
|
|
13217
13508
|
type: Component,
|
|
13218
13509
|
args: [{
|
|
@@ -13229,7 +13520,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
13229
13520
|
(keydown.enter)="$event.stopImmediatePropagation()"
|
|
13230
13521
|
href="#"
|
|
13231
13522
|
[tabindex]="tabIndex"
|
|
13232
|
-
[attr.title]="columnMenuTitle"
|
|
13523
|
+
[attr.title]="columnMenuTitle"
|
|
13524
|
+
[attr.aria-expanded]="isNavigable ? undefined: false"
|
|
13525
|
+
[attr.aria-haspopup]="isNavigable ? undefined : 'dialog'">
|
|
13233
13526
|
<kendo-icon-wrapper
|
|
13234
13527
|
name="more-vertical"
|
|
13235
13528
|
[svgIcon]="moreVerticalIcon"></kendo-icon-wrapper>
|
|
@@ -13242,7 +13535,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
13242
13535
|
</ng-template>
|
|
13243
13536
|
<ng-template #defaultTemplate>
|
|
13244
13537
|
<kendo-grid-columnmenu-container
|
|
13245
|
-
(keydown.escape)="close()"
|
|
13538
|
+
(keydown.escape)="close(true)"
|
|
13246
13539
|
(keydown.enter)="$event.stopImmediatePropagation()">
|
|
13247
13540
|
<kendo-grid-columnmenu-sort #sortItem [kendoGridColumnMenuItem]="sortItem" *ngIf="hasSort" [service]="service">
|
|
13248
13541
|
</kendo-grid-columnmenu-sort>
|
|
@@ -13294,7 +13587,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
13294
13587
|
</kendo-grid-columnmenu-container>
|
|
13295
13588
|
</ng-template>
|
|
13296
13589
|
<ng-template #tabbedInterfaceTemplate>
|
|
13297
|
-
<kendo-tabstrip #tabstrip (keydown.escape)="close()">
|
|
13590
|
+
<kendo-tabstrip #tabstrip (keydown.escape)="close(true)">
|
|
13298
13591
|
<kendo-tabstrip-tab *ngIf="hasFilter">
|
|
13299
13592
|
<ng-template kendoTabTitle>
|
|
13300
13593
|
<kendo-icon-wrapper
|
|
@@ -13383,7 +13676,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
13383
13676
|
</ng-template>
|
|
13384
13677
|
`
|
|
13385
13678
|
}]
|
|
13386
|
-
}], ctorParameters: function () {
|
|
13679
|
+
}], ctorParameters: function () {
|
|
13680
|
+
return [{ type: NavigationService }, { type: SinglePopupService }, { type: ColumnMenuService }, { type: ContextService }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: ColumnInfoService }, { type: IdService, decorators: [{
|
|
13681
|
+
type: Optional
|
|
13682
|
+
}] }];
|
|
13683
|
+
}, propDecorators: { standalone: [{
|
|
13387
13684
|
type: HostBinding,
|
|
13388
13685
|
args: ['class.k-grid-column-menu-standalone']
|
|
13389
13686
|
}, {
|
|
@@ -13553,7 +13850,7 @@ FilterCellOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
13553
13850
|
[size]="size"
|
|
13554
13851
|
(click)="clearClick()"
|
|
13555
13852
|
(keydown)="clearKeydown($event)"></button>
|
|
13556
|
-
`, isInline: true, components: [{ type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i4$1.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }] });
|
|
13853
|
+
`, isInline: true, components: [{ type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["showStickyHeader", "iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i4$1.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }] });
|
|
13557
13854
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterCellOperatorsComponent, decorators: [{
|
|
13558
13855
|
type: Component,
|
|
13559
13856
|
args: [{
|
|
@@ -13958,7 +14255,7 @@ BooleanFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
13958
14255
|
[value]="currentFilter?.value">
|
|
13959
14256
|
</kendo-dropdownlist>
|
|
13960
14257
|
</kendo-grid-filter-wrapper-cell>
|
|
13961
|
-
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }] });
|
|
14258
|
+
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i1$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["showStickyHeader", "iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }, { type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }] });
|
|
13962
14259
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BooleanFilterCellComponent, decorators: [{
|
|
13963
14260
|
type: Component,
|
|
13964
14261
|
args: [{
|
|
@@ -14326,7 +14623,7 @@ class LogicalCellDirective {
|
|
|
14326
14623
|
this.renderer.addClass(el, 'k-focus');
|
|
14327
14624
|
}
|
|
14328
14625
|
if (this.headerLabelText) {
|
|
14329
|
-
el.
|
|
14626
|
+
el.removeAttribute('aria-label');
|
|
14330
14627
|
}
|
|
14331
14628
|
}
|
|
14332
14629
|
else {
|
|
@@ -15024,7 +15321,7 @@ const modifierKeys = ['alt', 'ctrl', 'shift', 'meta'];
|
|
|
15024
15321
|
* @hidden
|
|
15025
15322
|
*/
|
|
15026
15323
|
class HeaderComponent {
|
|
15027
|
-
constructor(popupService, hint, cue, reorderService, idService, sortService, columnInfoService, cd, contextService) {
|
|
15324
|
+
constructor(popupService, hint, cue, reorderService, idService, sortService, columnInfoService, cd, contextService, navigationService) {
|
|
15028
15325
|
this.popupService = popupService;
|
|
15029
15326
|
this.hint = hint;
|
|
15030
15327
|
this.cue = cue;
|
|
@@ -15034,6 +15331,7 @@ class HeaderComponent {
|
|
|
15034
15331
|
this.columnInfoService = columnInfoService;
|
|
15035
15332
|
this.cd = cd;
|
|
15036
15333
|
this.contextService = contextService;
|
|
15334
|
+
this.navigationService = navigationService;
|
|
15037
15335
|
this.columns = [];
|
|
15038
15336
|
this.groups = [];
|
|
15039
15337
|
this.sort = new Array();
|
|
@@ -15168,6 +15466,9 @@ class HeaderComponent {
|
|
|
15168
15466
|
return 'descending';
|
|
15169
15467
|
}
|
|
15170
15468
|
}
|
|
15469
|
+
get isNavigable() {
|
|
15470
|
+
return this.navigationService.tableEnabled;
|
|
15471
|
+
}
|
|
15171
15472
|
/**
|
|
15172
15473
|
*
|
|
15173
15474
|
* @param column
|
|
@@ -15278,7 +15579,7 @@ class HeaderComponent {
|
|
|
15278
15579
|
}
|
|
15279
15580
|
addStickyStyles(column) {
|
|
15280
15581
|
const stickyStyles = this.columnInfoService.stickyColumnsStyles(column);
|
|
15281
|
-
return Object.assign(Object.assign({}, column.
|
|
15582
|
+
return Object.assign(Object.assign({}, column.headerStyle), stickyStyles);
|
|
15282
15583
|
}
|
|
15283
15584
|
toggleDirection(field, allowUnsort, initialDirection) {
|
|
15284
15585
|
const descriptor = this.sortDescriptor(field);
|
|
@@ -15395,7 +15696,7 @@ class HeaderComponent {
|
|
|
15395
15696
|
});
|
|
15396
15697
|
}
|
|
15397
15698
|
}
|
|
15398
|
-
HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HeaderComponent, deps: [{ token: SinglePopupService }, { token: DragHintService }, { token: DropCueService }, { token: ColumnReorderService }, { token: IdService }, { token: SortService }, { token: ColumnInfoService }, { token: i0.ChangeDetectorRef }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
15699
|
+
HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: HeaderComponent, deps: [{ token: SinglePopupService }, { token: DragHintService }, { token: DropCueService }, { token: ColumnReorderService }, { token: IdService }, { token: SortService }, { token: ColumnInfoService }, { token: i0.ChangeDetectorRef }, { token: ContextService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
15399
15700
|
HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: HeaderComponent, selector: "[kendoGridHeader]", inputs: { totalColumnLevels: "totalColumnLevels", columns: "columns", groups: "groups", detailTemplate: "detailTemplate", scrollable: "scrollable", filterable: "filterable", sort: "sort", filter: "filter", sortable: "sortable", groupable: "groupable", lockedColumnsCount: "lockedColumnsCount", resizable: "resizable", reorderable: "reorderable", columnMenu: "columnMenu", columnMenuTemplate: "columnMenuTemplate", totalColumnsCount: "totalColumnsCount", totalColumns: "totalColumns", tabIndex: "tabIndex", size: "size" }, host: { properties: { "class.k-grid-header": "this.headerClass", "class.k-table-thead": "this.hostClass" } }, viewQueries: [{ propertyName: "dropTargets", predicate: DropTargetDirective, descendants: true }, { propertyName: "filterMenus", predicate: FilterMenuComponent, descendants: true }, { propertyName: "columnMenus", predicate: ColumnMenuComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
15400
15701
|
<ng-container>
|
|
15401
15702
|
<tr *ngFor="let i of columnLevels; let levelIndex = index"
|
|
@@ -15447,7 +15748,9 @@ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
|
|
|
15447
15748
|
[ngStyle]="column.sticky ? addStickyStyles(column) : column.headerStyle"
|
|
15448
15749
|
[attr.rowspan]="column.rowspan(totalColumnLevels)"
|
|
15449
15750
|
[attr.colspan]="column.colspan"
|
|
15450
|
-
[attr.aria-haspopup]="(showFilterMenu || showColumnMenu(column)) ? 'dialog' : undefined"
|
|
15751
|
+
[attr.aria-haspopup]="isNavigable && (showFilterMenu || showColumnMenu(column)) ? 'dialog' : undefined"
|
|
15752
|
+
[attr.aria-expanded]="isNavigable && (showFilterMenu || showColumnMenu(column)) ? false : undefined"
|
|
15753
|
+
[attr.aria-keyshortcuts]="isNavigable ? 'Alt + ArrowDown' : undefined">
|
|
15451
15754
|
|
|
15452
15755
|
<ng-container *ngIf="!isSortable(getColumnComponent(column))">
|
|
15453
15756
|
<span class="k-cell-inner">
|
|
@@ -15669,7 +15972,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
15669
15972
|
[ngStyle]="column.sticky ? addStickyStyles(column) : column.headerStyle"
|
|
15670
15973
|
[attr.rowspan]="column.rowspan(totalColumnLevels)"
|
|
15671
15974
|
[attr.colspan]="column.colspan"
|
|
15672
|
-
[attr.aria-haspopup]="(showFilterMenu || showColumnMenu(column)) ? 'dialog' : undefined"
|
|
15975
|
+
[attr.aria-haspopup]="isNavigable && (showFilterMenu || showColumnMenu(column)) ? 'dialog' : undefined"
|
|
15976
|
+
[attr.aria-expanded]="isNavigable && (showFilterMenu || showColumnMenu(column)) ? false : undefined"
|
|
15977
|
+
[attr.aria-keyshortcuts]="isNavigable ? 'Alt + ArrowDown' : undefined">
|
|
15673
15978
|
|
|
15674
15979
|
<ng-container *ngIf="!isSortable(getColumnComponent(column))">
|
|
15675
15980
|
<span class="k-cell-inner">
|
|
@@ -15837,7 +16142,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
15837
16142
|
</ng-container>
|
|
15838
16143
|
`
|
|
15839
16144
|
}]
|
|
15840
|
-
}], ctorParameters: function () { return [{ type: SinglePopupService }, { type: DragHintService }, { type: DropCueService }, { type: ColumnReorderService }, { type: IdService }, { type: SortService }, { type: ColumnInfoService }, { type: i0.ChangeDetectorRef }, { type: ContextService }]; }, propDecorators: { totalColumnLevels: [{
|
|
16145
|
+
}], ctorParameters: function () { return [{ type: SinglePopupService }, { type: DragHintService }, { type: DropCueService }, { type: ColumnReorderService }, { type: IdService }, { type: SortService }, { type: ColumnInfoService }, { type: i0.ChangeDetectorRef }, { type: ContextService }, { type: NavigationService }]; }, propDecorators: { totalColumnLevels: [{
|
|
15841
16146
|
type: Input
|
|
15842
16147
|
}], columns: [{
|
|
15843
16148
|
type: Input
|
|
@@ -18809,7 +19114,7 @@ class FooterComponent {
|
|
|
18809
19114
|
}
|
|
18810
19115
|
addStickyStyles(column) {
|
|
18811
19116
|
const stickyStyles = this.columnInfoService.stickyColumnsStyles(column);
|
|
18812
|
-
return Object.assign(Object.assign({}, column.
|
|
19117
|
+
return Object.assign(Object.assign({}, column.footerStyle), stickyStyles);
|
|
18813
19118
|
}
|
|
18814
19119
|
}
|
|
18815
19120
|
FooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FooterComponent, deps: [{ token: ColumnInfoService }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -22927,7 +23232,16 @@ class ExpandGroupDirective {
|
|
|
22927
23232
|
this.expandedGroupKeys.push(key);
|
|
22928
23233
|
}
|
|
22929
23234
|
else {
|
|
22930
|
-
const index = this.expandedGroupKeys.
|
|
23235
|
+
const index = this.expandedGroupKeys.findIndex(group => {
|
|
23236
|
+
var _a;
|
|
23237
|
+
if (this.expandGroupBy) {
|
|
23238
|
+
return group === key;
|
|
23239
|
+
}
|
|
23240
|
+
else if (((_a = key.parentGroupKeys) === null || _a === void 0 ? void 0 : _a.length) === 0) {
|
|
23241
|
+
return group.value === key.value;
|
|
23242
|
+
}
|
|
23243
|
+
return JSON.stringify(group) === JSON.stringify(key);
|
|
23244
|
+
});
|
|
22931
23245
|
this.expandedGroupKeys.splice(index, 1);
|
|
22932
23246
|
}
|
|
22933
23247
|
this.expandedGroupKeysChange.emit(this.expandedGroupKeys.slice());
|
|
@@ -23045,7 +23359,7 @@ AutoCompleteFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
23045
23359
|
[value]="currentFilter?.value">
|
|
23046
23360
|
</kendo-autocomplete>
|
|
23047
23361
|
</kendo-grid-filter-wrapper-cell>
|
|
23048
|
-
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i1$4.AutoCompleteComponent, selector: "kendo-autocomplete", inputs: ["highlightFirst", "focusableId", "data", "value", "valueField", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "clearButton", "suggest", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoAutoComplete"] }], directives: [{ type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }] });
|
|
23362
|
+
`, isInline: true, components: [{ type: FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i1$4.AutoCompleteComponent, selector: "kendo-autocomplete", inputs: ["highlightFirst", "showStickyHeader", "focusableId", "data", "value", "valueField", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "clearButton", "suggest", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoAutoComplete"] }], directives: [{ type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }] });
|
|
23049
23363
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AutoCompleteFilterCellComponent, decorators: [{
|
|
23050
23364
|
type: Component,
|
|
23051
23365
|
args: [{
|
|
@@ -24156,6 +24470,7 @@ class ColumnChooserComponent {
|
|
|
24156
24470
|
* @hidden
|
|
24157
24471
|
*/
|
|
24158
24472
|
toggle(anchor, template) {
|
|
24473
|
+
var _a;
|
|
24159
24474
|
if (!this.popupRef) {
|
|
24160
24475
|
const direction = this.ctx.localization.rtl ? 'right' : 'left';
|
|
24161
24476
|
this.popupRef = this.popupService.open({
|
|
@@ -24165,13 +24480,30 @@ class ColumnChooserComponent {
|
|
|
24165
24480
|
anchorAlign: { vertical: 'bottom', horizontal: direction },
|
|
24166
24481
|
popupAlign: { vertical: 'top', horizontal: direction }
|
|
24167
24482
|
});
|
|
24168
|
-
|
|
24483
|
+
const popupElement = (_a = this.popupRef) === null || _a === void 0 ? void 0 : _a.popupElement;
|
|
24484
|
+
if (popupElement) {
|
|
24485
|
+
const popupId = `k-${guid()}`;
|
|
24486
|
+
const popupAriaElement = popupElement.querySelector('.k-popup');
|
|
24487
|
+
this.ngZone.runOutsideAngular(() => {
|
|
24488
|
+
this.escapeListener = this.renderer.listen(popupAriaElement, 'keydown', (e) => {
|
|
24489
|
+
if (e.keyCode === Keys.Escape) {
|
|
24490
|
+
this.close(true);
|
|
24491
|
+
}
|
|
24492
|
+
});
|
|
24493
|
+
});
|
|
24494
|
+
this.renderer.setAttribute(popupElement, 'dir', this.ctx.localization.rtl ? 'rtl' : 'ltr');
|
|
24495
|
+
this.renderer.setAttribute(popupAriaElement, 'id', popupId);
|
|
24496
|
+
this.renderer.setAttribute(popupAriaElement, 'role', 'dialog');
|
|
24497
|
+
this.popupId = popupId;
|
|
24498
|
+
}
|
|
24169
24499
|
if (!isDocumentAvailable()) {
|
|
24170
24500
|
return;
|
|
24171
24501
|
}
|
|
24172
24502
|
this.ngZone.runOutsideAngular(() => this.closeClick = this.renderer.listen('document', 'click', ({ target }) => {
|
|
24173
24503
|
if (!closest(target, node => node === this.popupRef.popupElement || node === anchor.element)) {
|
|
24174
|
-
this.
|
|
24504
|
+
this.ngZone.run(() => {
|
|
24505
|
+
this.close();
|
|
24506
|
+
});
|
|
24175
24507
|
}
|
|
24176
24508
|
}));
|
|
24177
24509
|
}
|
|
@@ -24183,7 +24515,7 @@ class ColumnChooserComponent {
|
|
|
24183
24515
|
* @hidden
|
|
24184
24516
|
*/
|
|
24185
24517
|
onApply(changed) {
|
|
24186
|
-
this.close();
|
|
24518
|
+
this.close(true);
|
|
24187
24519
|
if (changed.length) {
|
|
24188
24520
|
this.changeDetector.markForCheck();
|
|
24189
24521
|
this.columnInfoService.changeVisibility(changed);
|
|
@@ -24196,12 +24528,24 @@ class ColumnChooserComponent {
|
|
|
24196
24528
|
this.changeDetector.markForCheck();
|
|
24197
24529
|
this.columnInfoService.changeVisibility(changed);
|
|
24198
24530
|
}
|
|
24199
|
-
|
|
24531
|
+
/**
|
|
24532
|
+
* @hidden
|
|
24533
|
+
*/
|
|
24534
|
+
onShiftTab(e) {
|
|
24535
|
+
if (e.target.matches('.k-column-list-item')) {
|
|
24536
|
+
e.preventDefault();
|
|
24537
|
+
this.columnList.resetButton.nativeElement.focus();
|
|
24538
|
+
}
|
|
24539
|
+
}
|
|
24540
|
+
close(focusAnchor = false) {
|
|
24200
24541
|
if (this.popupRef) {
|
|
24201
24542
|
this.popupRef.close();
|
|
24202
24543
|
this.popupRef = null;
|
|
24544
|
+
this.changeDetector.markForCheck();
|
|
24545
|
+
this.escapeListener && this.escapeListener();
|
|
24203
24546
|
}
|
|
24204
24547
|
this.detachClose();
|
|
24548
|
+
focusAnchor && this.anchor.element.focus();
|
|
24205
24549
|
}
|
|
24206
24550
|
detachClose() {
|
|
24207
24551
|
if (this.closeClick) {
|
|
@@ -24211,7 +24555,7 @@ class ColumnChooserComponent {
|
|
|
24211
24555
|
}
|
|
24212
24556
|
}
|
|
24213
24557
|
ColumnChooserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnChooserComponent, deps: [{ token: ContextService }, { token: ColumnInfoService }, { token: i1$2.PopupService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
24214
|
-
ColumnChooserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColumnChooserComponent, selector: "kendo-grid-column-chooser", inputs: { autoSync: "autoSync", allowHideAll: "allowHideAll" }, ngImport: i0, template: `
|
|
24558
|
+
ColumnChooserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColumnChooserComponent, selector: "kendo-grid-column-chooser", inputs: { autoSync: "autoSync", allowHideAll: "allowHideAll" }, viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true }, { propertyName: "columnList", first: true, predicate: ["columnList"], descendants: true }], ngImport: i0, template: `
|
|
24215
24559
|
<button #anchor
|
|
24216
24560
|
kendoButton
|
|
24217
24561
|
type="button"
|
|
@@ -24219,20 +24563,27 @@ ColumnChooserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
24219
24563
|
fillMode="flat"
|
|
24220
24564
|
[attr.title]="ctx.localization.get('columns')"
|
|
24221
24565
|
icon="columns"
|
|
24222
|
-
[svgIcon]="columnsIcon"
|
|
24566
|
+
[svgIcon]="columnsIcon"
|
|
24567
|
+
[attr.aria-haspopup]="'dialog'"
|
|
24568
|
+
[attr.aria-expanded]="!!(popupRef)"
|
|
24569
|
+
[attr.aria-controls]="!!(popupRef) ? popupId : undefined"></button>
|
|
24223
24570
|
<ng-template #template>
|
|
24224
24571
|
<span class='k-column-chooser-title'>{{ ctx.localization.get('columns') }}</span>
|
|
24225
24572
|
<kendo-grid-columnlist
|
|
24573
|
+
#columnList
|
|
24226
24574
|
[columns]="columns"
|
|
24575
|
+
[ariaLabel]="ctx.localization.get('columns')"
|
|
24576
|
+
[isLast]="true"
|
|
24227
24577
|
[applyText]="ctx.localization.get('columnsApply')"
|
|
24228
24578
|
[resetText]="ctx.localization.get('columnsReset')"
|
|
24229
24579
|
[autoSync]="autoSync"
|
|
24230
24580
|
[allowHideAll]="allowHideAll"
|
|
24231
24581
|
(apply)="onApply($event)"
|
|
24232
|
-
(columnChange)="onChange($event)"
|
|
24582
|
+
(columnChange)="onChange($event)"
|
|
24583
|
+
(keydown.shift.tab)="onShiftTab($event)">
|
|
24233
24584
|
</kendo-grid-columnlist>
|
|
24234
24585
|
</ng-template>
|
|
24235
|
-
`, isInline: true, components: [{ type: i4$1.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "autoSync", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }] });
|
|
24586
|
+
`, isInline: true, components: [{ type: i4$1.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: ColumnListComponent, selector: "kendo-grid-columnlist", inputs: ["columns", "autoSync", "ariaLabel", "allowHideAll", "applyText", "resetText", "actionsClass", "isLast", "isExpanded", "service"], outputs: ["reset", "apply", "columnChange"] }] });
|
|
24236
24587
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnChooserComponent, decorators: [{
|
|
24237
24588
|
type: Component,
|
|
24238
24589
|
args: [{
|
|
@@ -24245,17 +24596,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24245
24596
|
fillMode="flat"
|
|
24246
24597
|
[attr.title]="ctx.localization.get('columns')"
|
|
24247
24598
|
icon="columns"
|
|
24248
|
-
[svgIcon]="columnsIcon"
|
|
24599
|
+
[svgIcon]="columnsIcon"
|
|
24600
|
+
[attr.aria-haspopup]="'dialog'"
|
|
24601
|
+
[attr.aria-expanded]="!!(popupRef)"
|
|
24602
|
+
[attr.aria-controls]="!!(popupRef) ? popupId : undefined"></button>
|
|
24249
24603
|
<ng-template #template>
|
|
24250
24604
|
<span class='k-column-chooser-title'>{{ ctx.localization.get('columns') }}</span>
|
|
24251
24605
|
<kendo-grid-columnlist
|
|
24606
|
+
#columnList
|
|
24252
24607
|
[columns]="columns"
|
|
24608
|
+
[ariaLabel]="ctx.localization.get('columns')"
|
|
24609
|
+
[isLast]="true"
|
|
24253
24610
|
[applyText]="ctx.localization.get('columnsApply')"
|
|
24254
24611
|
[resetText]="ctx.localization.get('columnsReset')"
|
|
24255
24612
|
[autoSync]="autoSync"
|
|
24256
24613
|
[allowHideAll]="allowHideAll"
|
|
24257
24614
|
(apply)="onApply($event)"
|
|
24258
|
-
(columnChange)="onChange($event)"
|
|
24615
|
+
(columnChange)="onChange($event)"
|
|
24616
|
+
(keydown.shift.tab)="onShiftTab($event)">
|
|
24259
24617
|
</kendo-grid-columnlist>
|
|
24260
24618
|
</ng-template>
|
|
24261
24619
|
`
|
|
@@ -24264,9 +24622,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
24264
24622
|
type: Input
|
|
24265
24623
|
}], allowHideAll: [{
|
|
24266
24624
|
type: Input
|
|
24625
|
+
}], anchor: [{
|
|
24626
|
+
type: ViewChild,
|
|
24627
|
+
args: ['anchor']
|
|
24628
|
+
}], columnList: [{
|
|
24629
|
+
type: ViewChild,
|
|
24630
|
+
args: ['columnList']
|
|
24267
24631
|
}] } });
|
|
24268
24632
|
|
|
24269
24633
|
const COMPONENTS = [
|
|
24634
|
+
ColumnMenuChooserItemCheckedDirective,
|
|
24270
24635
|
ColumnListComponent,
|
|
24271
24636
|
ColumnChooserComponent,
|
|
24272
24637
|
ColumnMenuChooserComponent,
|
|
@@ -24309,7 +24674,8 @@ class ColumnMenuModule {
|
|
|
24309
24674
|
}
|
|
24310
24675
|
}
|
|
24311
24676
|
ColumnMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
24312
|
-
ColumnMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuModule, declarations: [
|
|
24677
|
+
ColumnMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColumnMenuModule, declarations: [ColumnMenuChooserItemCheckedDirective,
|
|
24678
|
+
ColumnListComponent,
|
|
24313
24679
|
ColumnChooserComponent,
|
|
24314
24680
|
ColumnMenuChooserComponent,
|
|
24315
24681
|
ColumnMenuFilterComponent,
|
|
@@ -24324,7 +24690,8 @@ ColumnMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
|
|
|
24324
24690
|
ColumnMenuStickComponent,
|
|
24325
24691
|
ColumnMenuPositionComponent,
|
|
24326
24692
|
ColumnMenuAutoSizeColumnComponent,
|
|
24327
|
-
ColumnMenuAutoSizeAllColumnsComponent], imports: [CommonModule, FilterMenuModule, ButtonModule, TabStripModule], exports: [
|
|
24693
|
+
ColumnMenuAutoSizeAllColumnsComponent], imports: [CommonModule, FilterMenuModule, ButtonModule, TabStripModule], exports: [ColumnMenuChooserItemCheckedDirective,
|
|
24694
|
+
ColumnListComponent,
|
|
24328
24695
|
ColumnChooserComponent,
|
|
24329
24696
|
ColumnMenuChooserComponent,
|
|
24330
24697
|
ColumnMenuFilterComponent,
|