@progress/kendo-angular-grid 13.4.0-develop.3 → 13.4.0-develop.4
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/esm2020/package-metadata.mjs +2 -2
- package/esm2020/pager/pager-numeric-buttons.component.mjs +14 -8
- package/esm2020/pager/pager.component.mjs +76 -42
- package/fesm2015/progress-kendo-angular-grid.mjs +443 -406
- package/fesm2020/progress-kendo-angular-grid.mjs +443 -406
- package/package.json +16 -16
- package/pager/pager-numeric-buttons.component.d.ts +2 -1
- package/pager/pager.component.d.ts +5 -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,14 +24,14 @@ 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
37
|
import * as i16 from '@progress/kendo-angular-layout';
|
|
@@ -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: 1692620937,
|
|
4478
|
+
version: '13.4.0-develop.4',
|
|
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
|
*/
|
|
@@ -7683,226 +7909,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
7683
7909
|
}]
|
|
7684
7910
|
}], ctorParameters: function () { return [{ type: ContextService }, { type: PagerContextService }, { type: i0.ChangeDetectorRef }, { type: NavigationService }]; } });
|
|
7685
7911
|
|
|
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
|
|
7862
|
-
[size]="size"
|
|
7863
|
-
kendoGridPagerDropDown
|
|
7864
|
-
[tabindex]="0"
|
|
7865
|
-
kendoGridFocusable
|
|
7866
|
-
[data]="pageSizes"
|
|
7867
|
-
textField="text"
|
|
7868
|
-
valueField="value"
|
|
7869
|
-
[valuePrimitive]="true"
|
|
7870
|
-
[value]="pageSize"
|
|
7871
|
-
(valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
|
|
7872
|
-
<kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
|
|
7873
|
-
`, 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 });
|
|
7874
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
|
|
7875
|
-
type: Component,
|
|
7876
|
-
args: [{
|
|
7877
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7878
|
-
selector: 'kendo-pager-page-sizes',
|
|
7879
|
-
template: `
|
|
7880
|
-
<kendo-dropdownlist
|
|
7881
|
-
class="k-dropdown"
|
|
7882
|
-
#dropdownlist
|
|
7883
|
-
[size]="size"
|
|
7884
|
-
kendoGridPagerDropDown
|
|
7885
|
-
[tabindex]="0"
|
|
7886
|
-
kendoGridFocusable
|
|
7887
|
-
[data]="pageSizes"
|
|
7888
|
-
textField="text"
|
|
7889
|
-
valueField="value"
|
|
7890
|
-
[valuePrimitive]="true"
|
|
7891
|
-
[value]="pageSize"
|
|
7892
|
-
(valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
|
|
7893
|
-
<kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
|
|
7894
|
-
`
|
|
7895
|
-
}]
|
|
7896
|
-
}], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }, { type: NavigationService }]; }, propDecorators: { pageSizes: [{
|
|
7897
|
-
type: Input
|
|
7898
|
-
}], classes: [{
|
|
7899
|
-
type: HostBinding,
|
|
7900
|
-
args: ['class.k-pager-sizes']
|
|
7901
|
-
}, {
|
|
7902
|
-
type: HostBinding,
|
|
7903
|
-
args: ['class.k-label']
|
|
7904
|
-
}] } });
|
|
7905
|
-
|
|
7906
7912
|
/**
|
|
7907
7913
|
* @hidden
|
|
7908
7914
|
*/
|
|
@@ -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
|