@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, Optional, Inject, Directive, SkipSelf, QueryList, isDevMode, ContentChildren, ContentChild, forwardRef, Host, Output, SecurityContext, HostListener, ChangeDetectionStrategy, ViewChild, ViewChildren, Self, TemplateRef, Pipe, ViewEncapsulation, NgModule } from '@angular/core';
|
|
6
|
+
import { InjectionToken, Component, HostBinding, Input, EventEmitter, Injectable, Optional, Inject, Directive, SkipSelf, QueryList, isDevMode, ContentChildren, ContentChild, forwardRef, Host, 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 { IconsModule } from '@progress/kendo-angular-icons';
|
|
|
24
24
|
import { plusIcon, cancelIcon, lockIcon, unlockIcon, insertMiddleIcon, caretAltLeftIcon, caretAltToLeftIcon, caretAltRightIcon, caretAltToRightIcon, sortDescSmallIcon, sortAscSmallIcon, filterIcon, stickIcon, unstickIcon, setColumnPositionIcon, columnsIcon, maxWidthIcon, displayInlineFlexIcon, slidersIcon, moreVerticalIcon, filterClearIcon, reorderIcon, caretAltDownIcon, minusIcon } from '@progress/kendo-svg-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';
|
|
@@ -4442,8 +4442,8 @@ const packageMetadata = {
|
|
|
4442
4442
|
name: '@progress/kendo-angular-grid',
|
|
4443
4443
|
productName: 'Kendo UI for Angular',
|
|
4444
4444
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
4445
|
-
publishDate:
|
|
4446
|
-
version: '13.4.0-develop.
|
|
4445
|
+
publishDate: 1692620937,
|
|
4446
|
+
version: '13.4.0-develop.4',
|
|
4447
4447
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
4448
4448
|
};
|
|
4449
4449
|
|
|
@@ -7059,23 +7059,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
7059
7059
|
type: Input
|
|
7060
7060
|
}] } });
|
|
7061
7061
|
|
|
7062
|
+
// eslint-disable no-access-missing-member
|
|
7062
7063
|
/**
|
|
7063
|
-
* Displays
|
|
7064
|
+
* Displays information about the current page and the total number of records ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
|
|
7064
7065
|
*/
|
|
7065
|
-
class
|
|
7066
|
-
constructor(ctx,
|
|
7066
|
+
class PagerInfoComponent extends PagerElementComponent {
|
|
7067
|
+
constructor(ctx, cd, pagerContext) {
|
|
7067
7068
|
super(ctx, pagerContext, cd);
|
|
7068
|
-
this.
|
|
7069
|
+
this.pagerContext = pagerContext;
|
|
7070
|
+
}
|
|
7071
|
+
/**
|
|
7072
|
+
* @hidden
|
|
7073
|
+
*
|
|
7074
|
+
* @readonly
|
|
7075
|
+
* @type {number}
|
|
7076
|
+
* @memberOf PagerInfoComponent
|
|
7077
|
+
*/
|
|
7078
|
+
get maxItems() {
|
|
7079
|
+
return Math.min(this.currentPage * this.pageSize, this.total);
|
|
7080
|
+
}
|
|
7081
|
+
/**
|
|
7082
|
+
* @hidden
|
|
7083
|
+
*
|
|
7084
|
+
* @readonly
|
|
7085
|
+
* @type {number}
|
|
7086
|
+
* @memberOf PagerInfoComponent
|
|
7087
|
+
*/
|
|
7088
|
+
get currentPageText() {
|
|
7089
|
+
return this.total ?
|
|
7090
|
+
(this.currentPage - 1) * this.pageSize + 1 :
|
|
7091
|
+
0;
|
|
7069
7092
|
}
|
|
7070
7093
|
/**
|
|
7071
7094
|
* @hidden
|
|
7072
7095
|
*
|
|
7073
7096
|
* @readonly
|
|
7074
7097
|
* @type {boolean}
|
|
7075
|
-
* @memberOf
|
|
7098
|
+
* @memberOf PagerInfoComponent
|
|
7076
7099
|
*/
|
|
7077
|
-
get
|
|
7078
|
-
return
|
|
7100
|
+
get classes() {
|
|
7101
|
+
return true;
|
|
7079
7102
|
}
|
|
7080
7103
|
onChanges({ total, skip, pageSize }) {
|
|
7081
7104
|
this.total = total;
|
|
@@ -7084,168 +7107,266 @@ class PagerPrevButtonsComponent extends PagerElementComponent {
|
|
|
7084
7107
|
this.cd.markForCheck();
|
|
7085
7108
|
}
|
|
7086
7109
|
}
|
|
7087
|
-
|
|
7088
|
-
|
|
7089
|
-
|
|
7090
|
-
[kendoGridFocusable]="!disabled"
|
|
7091
|
-
kendoButton
|
|
7092
|
-
type="button"
|
|
7093
|
-
[title]="textFor('pagerFirstPage')"
|
|
7094
|
-
[attr.aria-label]="textFor('pagerFirstPage')"
|
|
7095
|
-
(click)="currentPage !== 1 ? changePage(0) : false"
|
|
7096
|
-
role="button"
|
|
7097
|
-
[icon]="prevArrowIcons[0]"
|
|
7098
|
-
[svgIcon]="prevArrowSVGIcons[0]"
|
|
7099
|
-
class="k-pager-nav k-pager-first"
|
|
7100
|
-
[disabled]="disabled"
|
|
7101
|
-
fillMode="flat"
|
|
7102
|
-
rounded="none"
|
|
7103
|
-
[size]="size">
|
|
7104
|
-
</button>
|
|
7105
|
-
<button
|
|
7106
|
-
kendoButton
|
|
7107
|
-
[kendoGridFocusable]="!disabled"
|
|
7108
|
-
type="button"
|
|
7109
|
-
class="k-pager-nav"
|
|
7110
|
-
[disabled]="disabled"
|
|
7111
|
-
[icon]="prevArrowIcons[1]"
|
|
7112
|
-
[svgIcon]="prevArrowSVGIcons[1]"
|
|
7113
|
-
fillMode="flat"
|
|
7114
|
-
rounded="none"
|
|
7115
|
-
[size]="size"
|
|
7116
|
-
[title]="textFor('pagerPreviousPage')"
|
|
7117
|
-
[attr.aria-label]="textFor('pagerPreviousPage')"
|
|
7118
|
-
(click)="currentPage !== 1 ? changePage(currentPage-2) : false">
|
|
7119
|
-
</button>
|
|
7120
|
-
`, 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 });
|
|
7121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPrevButtonsComponent, decorators: [{
|
|
7110
|
+
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 });
|
|
7111
|
+
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 });
|
|
7112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerInfoComponent, decorators: [{
|
|
7122
7113
|
type: Component,
|
|
7123
7114
|
args: [{
|
|
7124
7115
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7125
|
-
selector: 'kendo-pager-
|
|
7126
|
-
template: `
|
|
7127
|
-
<button
|
|
7128
|
-
[kendoGridFocusable]="!disabled"
|
|
7129
|
-
kendoButton
|
|
7130
|
-
type="button"
|
|
7131
|
-
[title]="textFor('pagerFirstPage')"
|
|
7132
|
-
[attr.aria-label]="textFor('pagerFirstPage')"
|
|
7133
|
-
(click)="currentPage !== 1 ? changePage(0) : false"
|
|
7134
|
-
role="button"
|
|
7135
|
-
[icon]="prevArrowIcons[0]"
|
|
7136
|
-
[svgIcon]="prevArrowSVGIcons[0]"
|
|
7137
|
-
class="k-pager-nav k-pager-first"
|
|
7138
|
-
[disabled]="disabled"
|
|
7139
|
-
fillMode="flat"
|
|
7140
|
-
rounded="none"
|
|
7141
|
-
[size]="size">
|
|
7142
|
-
</button>
|
|
7143
|
-
<button
|
|
7144
|
-
kendoButton
|
|
7145
|
-
[kendoGridFocusable]="!disabled"
|
|
7146
|
-
type="button"
|
|
7147
|
-
class="k-pager-nav"
|
|
7148
|
-
[disabled]="disabled"
|
|
7149
|
-
[icon]="prevArrowIcons[1]"
|
|
7150
|
-
[svgIcon]="prevArrowSVGIcons[1]"
|
|
7151
|
-
fillMode="flat"
|
|
7152
|
-
rounded="none"
|
|
7153
|
-
[size]="size"
|
|
7154
|
-
[title]="textFor('pagerPreviousPage')"
|
|
7155
|
-
[attr.aria-label]="textFor('pagerPreviousPage')"
|
|
7156
|
-
(click)="currentPage !== 1 ? changePage(currentPage-2) : false">
|
|
7157
|
-
</button>
|
|
7158
|
-
`
|
|
7116
|
+
selector: 'kendo-pager-info',
|
|
7117
|
+
template: `{{currentPageText}} - {{maxItems}} {{textFor('pagerOf')}} {{total}} {{textFor('pagerItems')}}`
|
|
7159
7118
|
}]
|
|
7160
|
-
}], ctorParameters: function () { return [{ type: ContextService }, { type:
|
|
7119
|
+
}], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }]; }, propDecorators: { classes: [{
|
|
7120
|
+
type: HostBinding,
|
|
7121
|
+
args: ["class.k-pager-info"]
|
|
7122
|
+
}, {
|
|
7123
|
+
type: HostBinding,
|
|
7124
|
+
args: ["class.k-label"]
|
|
7125
|
+
}] } });
|
|
7161
7126
|
|
|
7162
7127
|
/**
|
|
7163
|
-
*
|
|
7128
|
+
* @hidden
|
|
7164
7129
|
*/
|
|
7165
|
-
class
|
|
7166
|
-
constructor(
|
|
7130
|
+
class PagerDropDownListDirective {
|
|
7131
|
+
constructor(host) {
|
|
7132
|
+
this.host = host;
|
|
7133
|
+
this.keydownHandler = (e) => {
|
|
7134
|
+
if (e.keyCode === Keys.Escape && this.host.isOpen) {
|
|
7135
|
+
e.stopPropagation();
|
|
7136
|
+
this.host.toggle(false);
|
|
7137
|
+
}
|
|
7138
|
+
};
|
|
7139
|
+
}
|
|
7140
|
+
ngAfterViewInit() {
|
|
7141
|
+
const wrapperElement = this.host.wrapper.nativeElement;
|
|
7142
|
+
wrapperElement.addEventListener('keydown', this.keydownHandler, true);
|
|
7143
|
+
}
|
|
7144
|
+
ngOnDestroy() {
|
|
7145
|
+
this.host.wrapper.nativeElement.removeEventListener('keydown', this.keydownHandler);
|
|
7146
|
+
}
|
|
7147
|
+
}
|
|
7148
|
+
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 });
|
|
7149
|
+
PagerDropDownListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: PagerDropDownListDirective, selector: "[kendoGridPagerDropDown]", ngImport: i0 });
|
|
7150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerDropDownListDirective, decorators: [{
|
|
7151
|
+
type: Directive,
|
|
7152
|
+
args: [{ selector: '[kendoGridPagerDropDown]' }]
|
|
7153
|
+
}], ctorParameters: function () { return [{ type: i1$4.DropDownListComponent }]; } });
|
|
7154
|
+
|
|
7155
|
+
/**
|
|
7156
|
+
* Displays a drop-down list for the page size selection ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
|
|
7157
|
+
*/
|
|
7158
|
+
class PagerPageSizesComponent extends PagerElementComponent {
|
|
7159
|
+
constructor(ctx, cd, pagerContext, navigationService) {
|
|
7167
7160
|
super(ctx, pagerContext, cd);
|
|
7168
7161
|
this.pagerContext = pagerContext;
|
|
7169
|
-
this.
|
|
7162
|
+
this.navigationService = navigationService;
|
|
7163
|
+
this._pageSizes = [];
|
|
7170
7164
|
}
|
|
7171
7165
|
/**
|
|
7172
|
-
*
|
|
7173
|
-
*
|
|
7174
|
-
* @readonly
|
|
7175
|
-
* @type {number[]}
|
|
7176
|
-
* @memberOf PagerNumericButtonsComponent
|
|
7166
|
+
* The page sizes collection. Can be an Array of numbers and/or [`PageSizeItem`](slug:api_grid_pagesizeitem) objects
|
|
7167
|
+
* ([see example]({% slug paging_grid %}#toc-pager-templates))
|
|
7177
7168
|
*/
|
|
7178
|
-
|
|
7179
|
-
|
|
7180
|
-
|
|
7181
|
-
|
|
7169
|
+
set pageSizes(pageSizes) {
|
|
7170
|
+
let normalizedItems = [];
|
|
7171
|
+
pageSizes.forEach(item => {
|
|
7172
|
+
if (typeof item === 'number') {
|
|
7173
|
+
normalizedItems.push({
|
|
7174
|
+
text: item.toString(),
|
|
7175
|
+
value: item
|
|
7176
|
+
});
|
|
7177
|
+
}
|
|
7178
|
+
else {
|
|
7179
|
+
normalizedItems.push(item);
|
|
7180
|
+
}
|
|
7181
|
+
});
|
|
7182
|
+
if (this.pageSize && !normalizedItems.some(item => item.value === this.pageSize)) {
|
|
7183
|
+
normalizedItems = [{ text: this.pageSize.toString(), value: this.pageSize }, ...normalizedItems];
|
|
7182
7184
|
}
|
|
7183
|
-
|
|
7185
|
+
this._pageSizes = normalizedItems;
|
|
7186
|
+
}
|
|
7187
|
+
get pageSizes() {
|
|
7188
|
+
return this._pageSizes;
|
|
7184
7189
|
}
|
|
7185
7190
|
/**
|
|
7186
7191
|
* @hidden
|
|
7192
|
+
*
|
|
7193
|
+
* @readonly
|
|
7187
7194
|
*/
|
|
7188
|
-
get
|
|
7189
|
-
return
|
|
7195
|
+
get classes() {
|
|
7196
|
+
return true;
|
|
7190
7197
|
}
|
|
7191
7198
|
/**
|
|
7192
7199
|
* @hidden
|
|
7200
|
+
*
|
|
7201
|
+
* @readonly
|
|
7193
7202
|
*/
|
|
7194
|
-
get
|
|
7195
|
-
|
|
7196
|
-
|
|
7197
|
-
|
|
7198
|
-
|
|
7199
|
-
|
|
7200
|
-
|
|
7201
|
-
|
|
7203
|
+
get showInitialPageSize() {
|
|
7204
|
+
return this.pageSizes
|
|
7205
|
+
.filter(item => {
|
|
7206
|
+
if (typeof item.value === 'number') {
|
|
7207
|
+
return item.value === Number(this.pageSize);
|
|
7208
|
+
}
|
|
7209
|
+
return this.total === Number(this.pageSize);
|
|
7210
|
+
})
|
|
7211
|
+
.length === 0;
|
|
7202
7212
|
}
|
|
7203
7213
|
/**
|
|
7204
7214
|
* @hidden
|
|
7205
7215
|
*/
|
|
7206
|
-
|
|
7207
|
-
|
|
7208
|
-
|
|
7209
|
-
return pageText + ' ' + num;
|
|
7210
|
-
}
|
|
7211
|
-
return num.toString();
|
|
7216
|
+
pageSizeChange(value) {
|
|
7217
|
+
this.pageSize = typeof value === 'number' ? value : this.total;
|
|
7218
|
+
this.pagerContext.changePageSize(this.pageSize);
|
|
7212
7219
|
}
|
|
7213
7220
|
/**
|
|
7214
7221
|
* @hidden
|
|
7215
7222
|
*/
|
|
7216
|
-
|
|
7217
|
-
|
|
7218
|
-
const valueAsNumber = Number(target.value);
|
|
7219
|
-
if (!Number.isNaN(valueAsNumber)) {
|
|
7220
|
-
this.changePage(valueAsNumber - 1);
|
|
7221
|
-
}
|
|
7222
|
-
else {
|
|
7223
|
-
if (target.value === 'previousButtons') {
|
|
7224
|
-
this.changePage(this.start - 2);
|
|
7225
|
-
}
|
|
7226
|
-
else {
|
|
7227
|
-
this.changePage(this.end);
|
|
7228
|
-
}
|
|
7229
|
-
}
|
|
7223
|
+
getValue(page) {
|
|
7224
|
+
return typeof page.value === 'number' ? page.value : this.total;
|
|
7230
7225
|
}
|
|
7231
7226
|
onChanges({ total, skip, pageSize }) {
|
|
7232
7227
|
this.total = total;
|
|
7233
7228
|
this.skip = skip;
|
|
7234
|
-
this.pageSize = pageSize;
|
|
7229
|
+
this.pageSize = typeof pageSize === 'number' ? pageSize : this.total;
|
|
7235
7230
|
this.cd.markForCheck();
|
|
7236
7231
|
}
|
|
7237
7232
|
}
|
|
7238
|
-
|
|
7239
|
-
|
|
7240
|
-
<
|
|
7241
|
-
class="k-dropdown
|
|
7242
|
-
|
|
7243
|
-
[
|
|
7244
|
-
|
|
7245
|
-
[
|
|
7246
|
-
|
|
7247
|
-
|
|
7248
|
-
|
|
7233
|
+
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 });
|
|
7234
|
+
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: `
|
|
7235
|
+
<kendo-dropdownlist
|
|
7236
|
+
class="k-dropdown"
|
|
7237
|
+
#dropdownlist
|
|
7238
|
+
[size]="size"
|
|
7239
|
+
kendoGridPagerDropDown
|
|
7240
|
+
[tabindex]="0"
|
|
7241
|
+
kendoGridFocusable
|
|
7242
|
+
[data]="pageSizes"
|
|
7243
|
+
textField="text"
|
|
7244
|
+
valueField="value"
|
|
7245
|
+
[valuePrimitive]="true"
|
|
7246
|
+
[value]="pageSize"
|
|
7247
|
+
(valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
|
|
7248
|
+
<kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
|
|
7249
|
+
`, 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 });
|
|
7250
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
|
|
7251
|
+
type: Component,
|
|
7252
|
+
args: [{
|
|
7253
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7254
|
+
selector: 'kendo-pager-page-sizes',
|
|
7255
|
+
template: `
|
|
7256
|
+
<kendo-dropdownlist
|
|
7257
|
+
class="k-dropdown"
|
|
7258
|
+
#dropdownlist
|
|
7259
|
+
[size]="size"
|
|
7260
|
+
kendoGridPagerDropDown
|
|
7261
|
+
[tabindex]="0"
|
|
7262
|
+
kendoGridFocusable
|
|
7263
|
+
[data]="pageSizes"
|
|
7264
|
+
textField="text"
|
|
7265
|
+
valueField="value"
|
|
7266
|
+
[valuePrimitive]="true"
|
|
7267
|
+
[value]="pageSize"
|
|
7268
|
+
(valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
|
|
7269
|
+
<kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
|
|
7270
|
+
`
|
|
7271
|
+
}]
|
|
7272
|
+
}], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }, { type: NavigationService }]; }, propDecorators: { pageSizes: [{
|
|
7273
|
+
type: Input
|
|
7274
|
+
}], classes: [{
|
|
7275
|
+
type: HostBinding,
|
|
7276
|
+
args: ['class.k-pager-sizes']
|
|
7277
|
+
}, {
|
|
7278
|
+
type: HostBinding,
|
|
7279
|
+
args: ['class.k-label']
|
|
7280
|
+
}] } });
|
|
7281
|
+
|
|
7282
|
+
/**
|
|
7283
|
+
* Displays numeric buttons to enable navigation between the pages ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
|
|
7284
|
+
*/
|
|
7285
|
+
class PagerNumericButtonsComponent extends PagerElementComponent {
|
|
7286
|
+
constructor(ctx, cd, pagerContext) {
|
|
7287
|
+
super(ctx, pagerContext, cd);
|
|
7288
|
+
this.pagerContext = pagerContext;
|
|
7289
|
+
}
|
|
7290
|
+
/**
|
|
7291
|
+
* @hidden
|
|
7292
|
+
*
|
|
7293
|
+
* @readonly
|
|
7294
|
+
* @type {number[]}
|
|
7295
|
+
* @memberOf PagerNumericButtonsComponent
|
|
7296
|
+
*/
|
|
7297
|
+
get buttons() {
|
|
7298
|
+
const result = [];
|
|
7299
|
+
for (let idx = this.start; idx <= this.end; idx++) {
|
|
7300
|
+
result.push(idx);
|
|
7301
|
+
}
|
|
7302
|
+
return result;
|
|
7303
|
+
}
|
|
7304
|
+
/**
|
|
7305
|
+
* @hidden
|
|
7306
|
+
*/
|
|
7307
|
+
get end() {
|
|
7308
|
+
return Math.min((this.start + this.buttonCount) - 1, this.totalPages);
|
|
7309
|
+
}
|
|
7310
|
+
/**
|
|
7311
|
+
* @hidden
|
|
7312
|
+
*/
|
|
7313
|
+
get start() {
|
|
7314
|
+
const page = this.currentPage;
|
|
7315
|
+
const buttonCount = this.buttonCount;
|
|
7316
|
+
if (page > buttonCount) {
|
|
7317
|
+
const reminder = (page % buttonCount);
|
|
7318
|
+
return (reminder === 0) ? (page - buttonCount) + 1 : (page - reminder) + 1;
|
|
7319
|
+
}
|
|
7320
|
+
return 1;
|
|
7321
|
+
}
|
|
7322
|
+
/**
|
|
7323
|
+
* @hidden
|
|
7324
|
+
*/
|
|
7325
|
+
pageLabel(num) {
|
|
7326
|
+
const pageText = this.textFor('pagerPage');
|
|
7327
|
+
if (pageText) {
|
|
7328
|
+
return pageText + ' ' + num;
|
|
7329
|
+
}
|
|
7330
|
+
return num.toString();
|
|
7331
|
+
}
|
|
7332
|
+
/**
|
|
7333
|
+
* @hidden
|
|
7334
|
+
*/
|
|
7335
|
+
onSelectChange(e) {
|
|
7336
|
+
const target = e.target;
|
|
7337
|
+
const valueAsNumber = Number(target.value);
|
|
7338
|
+
if (!Number.isNaN(valueAsNumber)) {
|
|
7339
|
+
this.changePage(valueAsNumber - 1);
|
|
7340
|
+
}
|
|
7341
|
+
else {
|
|
7342
|
+
if (target.value === 'previousButtons') {
|
|
7343
|
+
this.changePage(this.start - 2);
|
|
7344
|
+
}
|
|
7345
|
+
else {
|
|
7346
|
+
this.changePage(this.end);
|
|
7347
|
+
}
|
|
7348
|
+
}
|
|
7349
|
+
}
|
|
7350
|
+
onChanges({ total, skip, pageSize }) {
|
|
7351
|
+
this.total = total;
|
|
7352
|
+
this.skip = skip;
|
|
7353
|
+
this.pageSize = pageSize;
|
|
7354
|
+
this.cd.markForCheck();
|
|
7355
|
+
}
|
|
7356
|
+
}
|
|
7357
|
+
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 });
|
|
7358
|
+
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: `
|
|
7359
|
+
<select
|
|
7360
|
+
#select
|
|
7361
|
+
class="k-dropdown-list k-dropdown k-picker k-picker-solid k-rounded-md"
|
|
7362
|
+
kendoGridFocusable
|
|
7363
|
+
[style.display]="'none'"
|
|
7364
|
+
[attr.title]="textFor('selectPage')"
|
|
7365
|
+
[attr.aria-label]="textFor('selectPage')"
|
|
7366
|
+
[ngClass]="{
|
|
7367
|
+
'k-picker-sm': size === 'small',
|
|
7368
|
+
'k-picker-md': size === 'medium' || !size
|
|
7369
|
+
}"
|
|
7249
7370
|
(change)="onSelectChange($event)">
|
|
7250
7371
|
<option *ngIf="start > 1"
|
|
7251
7372
|
value="previousButtons"
|
|
@@ -7266,7 +7387,7 @@ PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
|
|
|
7266
7387
|
[attr.aria-label]="pageLabel(end + 1)">...
|
|
7267
7388
|
</option>
|
|
7268
7389
|
</select>
|
|
7269
|
-
<div class="k-pager-numbers">
|
|
7390
|
+
<div class="k-pager-numbers" #numbers>
|
|
7270
7391
|
<button *ngIf="start > 1"
|
|
7271
7392
|
type="button"
|
|
7272
7393
|
kendoGridFocusable
|
|
@@ -7316,8 +7437,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
7316
7437
|
selector: 'kendo-pager-numeric-buttons',
|
|
7317
7438
|
template: `
|
|
7318
7439
|
<select
|
|
7440
|
+
#select
|
|
7319
7441
|
class="k-dropdown-list k-dropdown k-picker k-picker-solid k-rounded-md"
|
|
7320
7442
|
kendoGridFocusable
|
|
7443
|
+
[style.display]="'none'"
|
|
7321
7444
|
[attr.title]="textFor('selectPage')"
|
|
7322
7445
|
[attr.aria-label]="textFor('selectPage')"
|
|
7323
7446
|
[ngClass]="{
|
|
@@ -7344,7 +7467,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
7344
7467
|
[attr.aria-label]="pageLabel(end + 1)">...
|
|
7345
7468
|
</option>
|
|
7346
7469
|
</select>
|
|
7347
|
-
<div class="k-pager-numbers">
|
|
7470
|
+
<div class="k-pager-numbers" #numbers>
|
|
7348
7471
|
<button *ngIf="start > 1"
|
|
7349
7472
|
type="button"
|
|
7350
7473
|
kendoGridFocusable
|
|
@@ -7388,13 +7511,116 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
7388
7511
|
</div>
|
|
7389
7512
|
`
|
|
7390
7513
|
}]
|
|
7391
|
-
}], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }]; }, propDecorators: {
|
|
7392
|
-
type:
|
|
7393
|
-
args: ['
|
|
7514
|
+
}], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }]; }, propDecorators: { selectElement: [{
|
|
7515
|
+
type: ViewChild,
|
|
7516
|
+
args: ['select', { read: ElementRef }]
|
|
7517
|
+
}], numbersElement: [{
|
|
7518
|
+
type: ViewChild,
|
|
7519
|
+
args: ['numbers', { read: ElementRef }]
|
|
7394
7520
|
}], buttonCount: [{
|
|
7395
7521
|
type: Input
|
|
7396
7522
|
}] } });
|
|
7397
7523
|
|
|
7524
|
+
/**
|
|
7525
|
+
* Displays buttons for navigating to the first and to the previous page ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
|
|
7526
|
+
*/
|
|
7527
|
+
class PagerPrevButtonsComponent extends PagerElementComponent {
|
|
7528
|
+
constructor(ctx, pagerContext, cd, navigationService) {
|
|
7529
|
+
super(ctx, pagerContext, cd);
|
|
7530
|
+
this.navigationService = navigationService;
|
|
7531
|
+
}
|
|
7532
|
+
/**
|
|
7533
|
+
* @hidden
|
|
7534
|
+
*
|
|
7535
|
+
* @readonly
|
|
7536
|
+
* @type {boolean}
|
|
7537
|
+
* @memberOf PagerPrevButtonsComponent
|
|
7538
|
+
*/
|
|
7539
|
+
get disabled() {
|
|
7540
|
+
return this.currentPage === 1 || !this.total;
|
|
7541
|
+
}
|
|
7542
|
+
onChanges({ total, skip, pageSize }) {
|
|
7543
|
+
this.total = total;
|
|
7544
|
+
this.skip = skip;
|
|
7545
|
+
this.pageSize = pageSize;
|
|
7546
|
+
this.cd.markForCheck();
|
|
7547
|
+
}
|
|
7548
|
+
}
|
|
7549
|
+
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 });
|
|
7550
|
+
PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerPrevButtonsComponent, selector: "kendo-pager-prev-buttons", usesInheritance: true, ngImport: i0, template: `
|
|
7551
|
+
<button
|
|
7552
|
+
[kendoGridFocusable]="!disabled"
|
|
7553
|
+
kendoButton
|
|
7554
|
+
type="button"
|
|
7555
|
+
[title]="textFor('pagerFirstPage')"
|
|
7556
|
+
[attr.aria-label]="textFor('pagerFirstPage')"
|
|
7557
|
+
(click)="currentPage !== 1 ? changePage(0) : false"
|
|
7558
|
+
role="button"
|
|
7559
|
+
[icon]="prevArrowIcons[0]"
|
|
7560
|
+
[svgIcon]="prevArrowSVGIcons[0]"
|
|
7561
|
+
class="k-pager-nav k-pager-first"
|
|
7562
|
+
[disabled]="disabled"
|
|
7563
|
+
fillMode="flat"
|
|
7564
|
+
rounded="none"
|
|
7565
|
+
[size]="size">
|
|
7566
|
+
</button>
|
|
7567
|
+
<button
|
|
7568
|
+
kendoButton
|
|
7569
|
+
[kendoGridFocusable]="!disabled"
|
|
7570
|
+
type="button"
|
|
7571
|
+
class="k-pager-nav"
|
|
7572
|
+
[disabled]="disabled"
|
|
7573
|
+
[icon]="prevArrowIcons[1]"
|
|
7574
|
+
[svgIcon]="prevArrowSVGIcons[1]"
|
|
7575
|
+
fillMode="flat"
|
|
7576
|
+
rounded="none"
|
|
7577
|
+
[size]="size"
|
|
7578
|
+
[title]="textFor('pagerPreviousPage')"
|
|
7579
|
+
[attr.aria-label]="textFor('pagerPreviousPage')"
|
|
7580
|
+
(click)="currentPage !== 1 ? changePage(currentPage-2) : false">
|
|
7581
|
+
</button>
|
|
7582
|
+
`, 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 });
|
|
7583
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPrevButtonsComponent, decorators: [{
|
|
7584
|
+
type: Component,
|
|
7585
|
+
args: [{
|
|
7586
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7587
|
+
selector: 'kendo-pager-prev-buttons',
|
|
7588
|
+
template: `
|
|
7589
|
+
<button
|
|
7590
|
+
[kendoGridFocusable]="!disabled"
|
|
7591
|
+
kendoButton
|
|
7592
|
+
type="button"
|
|
7593
|
+
[title]="textFor('pagerFirstPage')"
|
|
7594
|
+
[attr.aria-label]="textFor('pagerFirstPage')"
|
|
7595
|
+
(click)="currentPage !== 1 ? changePage(0) : false"
|
|
7596
|
+
role="button"
|
|
7597
|
+
[icon]="prevArrowIcons[0]"
|
|
7598
|
+
[svgIcon]="prevArrowSVGIcons[0]"
|
|
7599
|
+
class="k-pager-nav k-pager-first"
|
|
7600
|
+
[disabled]="disabled"
|
|
7601
|
+
fillMode="flat"
|
|
7602
|
+
rounded="none"
|
|
7603
|
+
[size]="size">
|
|
7604
|
+
</button>
|
|
7605
|
+
<button
|
|
7606
|
+
kendoButton
|
|
7607
|
+
[kendoGridFocusable]="!disabled"
|
|
7608
|
+
type="button"
|
|
7609
|
+
class="k-pager-nav"
|
|
7610
|
+
[disabled]="disabled"
|
|
7611
|
+
[icon]="prevArrowIcons[1]"
|
|
7612
|
+
[svgIcon]="prevArrowSVGIcons[1]"
|
|
7613
|
+
fillMode="flat"
|
|
7614
|
+
rounded="none"
|
|
7615
|
+
[size]="size"
|
|
7616
|
+
[title]="textFor('pagerPreviousPage')"
|
|
7617
|
+
[attr.aria-label]="textFor('pagerPreviousPage')"
|
|
7618
|
+
(click)="currentPage !== 1 ? changePage(currentPage-2) : false">
|
|
7619
|
+
</button>
|
|
7620
|
+
`
|
|
7621
|
+
}]
|
|
7622
|
+
}], ctorParameters: function () { return [{ type: ContextService }, { type: PagerContextService }, { type: i0.ChangeDetectorRef }, { type: NavigationService }]; } });
|
|
7623
|
+
|
|
7398
7624
|
/**
|
|
7399
7625
|
* @hidden
|
|
7400
7626
|
*/
|
|
@@ -7637,226 +7863,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
7637
7863
|
}]
|
|
7638
7864
|
}], ctorParameters: function () { return [{ type: ContextService }, { type: PagerContextService }, { type: i0.ChangeDetectorRef }, { type: NavigationService }]; } });
|
|
7639
7865
|
|
|
7640
|
-
// eslint-disable no-access-missing-member
|
|
7641
|
-
/**
|
|
7642
|
-
* Displays information about the current page and the total number of records ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
|
|
7643
|
-
*/
|
|
7644
|
-
class PagerInfoComponent extends PagerElementComponent {
|
|
7645
|
-
constructor(ctx, cd, pagerContext) {
|
|
7646
|
-
super(ctx, pagerContext, cd);
|
|
7647
|
-
this.pagerContext = pagerContext;
|
|
7648
|
-
}
|
|
7649
|
-
/**
|
|
7650
|
-
* @hidden
|
|
7651
|
-
*
|
|
7652
|
-
* @readonly
|
|
7653
|
-
* @type {number}
|
|
7654
|
-
* @memberOf PagerInfoComponent
|
|
7655
|
-
*/
|
|
7656
|
-
get maxItems() {
|
|
7657
|
-
return Math.min(this.currentPage * this.pageSize, this.total);
|
|
7658
|
-
}
|
|
7659
|
-
/**
|
|
7660
|
-
* @hidden
|
|
7661
|
-
*
|
|
7662
|
-
* @readonly
|
|
7663
|
-
* @type {number}
|
|
7664
|
-
* @memberOf PagerInfoComponent
|
|
7665
|
-
*/
|
|
7666
|
-
get currentPageText() {
|
|
7667
|
-
return this.total ?
|
|
7668
|
-
(this.currentPage - 1) * this.pageSize + 1 :
|
|
7669
|
-
0;
|
|
7670
|
-
}
|
|
7671
|
-
/**
|
|
7672
|
-
* @hidden
|
|
7673
|
-
*
|
|
7674
|
-
* @readonly
|
|
7675
|
-
* @type {boolean}
|
|
7676
|
-
* @memberOf PagerInfoComponent
|
|
7677
|
-
*/
|
|
7678
|
-
get classes() {
|
|
7679
|
-
return true;
|
|
7680
|
-
}
|
|
7681
|
-
onChanges({ total, skip, pageSize }) {
|
|
7682
|
-
this.total = total;
|
|
7683
|
-
this.skip = skip;
|
|
7684
|
-
this.pageSize = pageSize;
|
|
7685
|
-
this.cd.markForCheck();
|
|
7686
|
-
}
|
|
7687
|
-
}
|
|
7688
|
-
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 });
|
|
7689
|
-
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 });
|
|
7690
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerInfoComponent, decorators: [{
|
|
7691
|
-
type: Component,
|
|
7692
|
-
args: [{
|
|
7693
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7694
|
-
selector: 'kendo-pager-info',
|
|
7695
|
-
template: `{{currentPageText}} - {{maxItems}} {{textFor('pagerOf')}} {{total}} {{textFor('pagerItems')}}`
|
|
7696
|
-
}]
|
|
7697
|
-
}], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }]; }, propDecorators: { classes: [{
|
|
7698
|
-
type: HostBinding,
|
|
7699
|
-
args: ["class.k-pager-info"]
|
|
7700
|
-
}, {
|
|
7701
|
-
type: HostBinding,
|
|
7702
|
-
args: ["class.k-label"]
|
|
7703
|
-
}] } });
|
|
7704
|
-
|
|
7705
|
-
/**
|
|
7706
|
-
* @hidden
|
|
7707
|
-
*/
|
|
7708
|
-
class PagerDropDownListDirective {
|
|
7709
|
-
constructor(host) {
|
|
7710
|
-
this.host = host;
|
|
7711
|
-
this.keydownHandler = (e) => {
|
|
7712
|
-
if (e.keyCode === Keys.Escape && this.host.isOpen) {
|
|
7713
|
-
e.stopPropagation();
|
|
7714
|
-
this.host.toggle(false);
|
|
7715
|
-
}
|
|
7716
|
-
};
|
|
7717
|
-
}
|
|
7718
|
-
ngAfterViewInit() {
|
|
7719
|
-
const wrapperElement = this.host.wrapper.nativeElement;
|
|
7720
|
-
wrapperElement.addEventListener('keydown', this.keydownHandler, true);
|
|
7721
|
-
}
|
|
7722
|
-
ngOnDestroy() {
|
|
7723
|
-
this.host.wrapper.nativeElement.removeEventListener('keydown', this.keydownHandler);
|
|
7724
|
-
}
|
|
7725
|
-
}
|
|
7726
|
-
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 });
|
|
7727
|
-
PagerDropDownListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: PagerDropDownListDirective, selector: "[kendoGridPagerDropDown]", ngImport: i0 });
|
|
7728
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerDropDownListDirective, decorators: [{
|
|
7729
|
-
type: Directive,
|
|
7730
|
-
args: [{ selector: '[kendoGridPagerDropDown]' }]
|
|
7731
|
-
}], ctorParameters: function () { return [{ type: i1$4.DropDownListComponent }]; } });
|
|
7732
|
-
|
|
7733
|
-
/**
|
|
7734
|
-
* Displays a drop-down list for the page size selection ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
|
|
7735
|
-
*/
|
|
7736
|
-
class PagerPageSizesComponent extends PagerElementComponent {
|
|
7737
|
-
constructor(ctx, cd, pagerContext, navigationService) {
|
|
7738
|
-
super(ctx, pagerContext, cd);
|
|
7739
|
-
this.pagerContext = pagerContext;
|
|
7740
|
-
this.navigationService = navigationService;
|
|
7741
|
-
this._pageSizes = [];
|
|
7742
|
-
}
|
|
7743
|
-
/**
|
|
7744
|
-
* The page sizes collection. Can be an Array of numbers and/or [`PageSizeItem`](slug:api_grid_pagesizeitem) objects
|
|
7745
|
-
* ([see example]({% slug paging_grid %}#toc-pager-templates))
|
|
7746
|
-
*/
|
|
7747
|
-
set pageSizes(pageSizes) {
|
|
7748
|
-
let normalizedItems = [];
|
|
7749
|
-
pageSizes.forEach(item => {
|
|
7750
|
-
if (typeof item === 'number') {
|
|
7751
|
-
normalizedItems.push({
|
|
7752
|
-
text: item.toString(),
|
|
7753
|
-
value: item
|
|
7754
|
-
});
|
|
7755
|
-
}
|
|
7756
|
-
else {
|
|
7757
|
-
normalizedItems.push(item);
|
|
7758
|
-
}
|
|
7759
|
-
});
|
|
7760
|
-
if (this.pageSize && !normalizedItems.some(item => item.value === this.pageSize)) {
|
|
7761
|
-
normalizedItems = [{ text: this.pageSize.toString(), value: this.pageSize }, ...normalizedItems];
|
|
7762
|
-
}
|
|
7763
|
-
this._pageSizes = normalizedItems;
|
|
7764
|
-
}
|
|
7765
|
-
get pageSizes() {
|
|
7766
|
-
return this._pageSizes;
|
|
7767
|
-
}
|
|
7768
|
-
/**
|
|
7769
|
-
* @hidden
|
|
7770
|
-
*
|
|
7771
|
-
* @readonly
|
|
7772
|
-
*/
|
|
7773
|
-
get classes() {
|
|
7774
|
-
return true;
|
|
7775
|
-
}
|
|
7776
|
-
/**
|
|
7777
|
-
* @hidden
|
|
7778
|
-
*
|
|
7779
|
-
* @readonly
|
|
7780
|
-
*/
|
|
7781
|
-
get showInitialPageSize() {
|
|
7782
|
-
return this.pageSizes
|
|
7783
|
-
.filter(item => {
|
|
7784
|
-
if (typeof item.value === 'number') {
|
|
7785
|
-
return item.value === Number(this.pageSize);
|
|
7786
|
-
}
|
|
7787
|
-
return this.total === Number(this.pageSize);
|
|
7788
|
-
})
|
|
7789
|
-
.length === 0;
|
|
7790
|
-
}
|
|
7791
|
-
/**
|
|
7792
|
-
* @hidden
|
|
7793
|
-
*/
|
|
7794
|
-
pageSizeChange(value) {
|
|
7795
|
-
this.pageSize = typeof value === 'number' ? value : this.total;
|
|
7796
|
-
this.pagerContext.changePageSize(this.pageSize);
|
|
7797
|
-
}
|
|
7798
|
-
/**
|
|
7799
|
-
* @hidden
|
|
7800
|
-
*/
|
|
7801
|
-
getValue(page) {
|
|
7802
|
-
return typeof page.value === 'number' ? page.value : this.total;
|
|
7803
|
-
}
|
|
7804
|
-
onChanges({ total, skip, pageSize }) {
|
|
7805
|
-
this.total = total;
|
|
7806
|
-
this.skip = skip;
|
|
7807
|
-
this.pageSize = typeof pageSize === 'number' ? pageSize : this.total;
|
|
7808
|
-
this.cd.markForCheck();
|
|
7809
|
-
}
|
|
7810
|
-
}
|
|
7811
|
-
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 });
|
|
7812
|
-
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: `
|
|
7813
|
-
<kendo-dropdownlist
|
|
7814
|
-
class="k-dropdown"
|
|
7815
|
-
#dropdownlist
|
|
7816
|
-
[size]="size"
|
|
7817
|
-
kendoGridPagerDropDown
|
|
7818
|
-
[tabindex]="0"
|
|
7819
|
-
kendoGridFocusable
|
|
7820
|
-
[data]="pageSizes"
|
|
7821
|
-
textField="text"
|
|
7822
|
-
valueField="value"
|
|
7823
|
-
[valuePrimitive]="true"
|
|
7824
|
-
[value]="pageSize"
|
|
7825
|
-
(valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
|
|
7826
|
-
<kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
|
|
7827
|
-
`, 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 });
|
|
7828
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
|
|
7829
|
-
type: Component,
|
|
7830
|
-
args: [{
|
|
7831
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7832
|
-
selector: 'kendo-pager-page-sizes',
|
|
7833
|
-
template: `
|
|
7834
|
-
<kendo-dropdownlist
|
|
7835
|
-
class="k-dropdown"
|
|
7836
|
-
#dropdownlist
|
|
7837
|
-
[size]="size"
|
|
7838
|
-
kendoGridPagerDropDown
|
|
7839
|
-
[tabindex]="0"
|
|
7840
|
-
kendoGridFocusable
|
|
7841
|
-
[data]="pageSizes"
|
|
7842
|
-
textField="text"
|
|
7843
|
-
valueField="value"
|
|
7844
|
-
[valuePrimitive]="true"
|
|
7845
|
-
[value]="pageSize"
|
|
7846
|
-
(valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
|
|
7847
|
-
<kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
|
|
7848
|
-
`
|
|
7849
|
-
}]
|
|
7850
|
-
}], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }, { type: NavigationService }]; }, propDecorators: { pageSizes: [{
|
|
7851
|
-
type: Input
|
|
7852
|
-
}], classes: [{
|
|
7853
|
-
type: HostBinding,
|
|
7854
|
-
args: ['class.k-pager-sizes']
|
|
7855
|
-
}, {
|
|
7856
|
-
type: HostBinding,
|
|
7857
|
-
args: ['class.k-label']
|
|
7858
|
-
}] } });
|
|
7859
|
-
|
|
7860
7866
|
/**
|
|
7861
7867
|
* @hidden
|
|
7862
7868
|
*/
|
|
@@ -7886,18 +7892,33 @@ class PagerComponent {
|
|
|
7886
7892
|
if (this.template || !element) {
|
|
7887
7893
|
return;
|
|
7888
7894
|
}
|
|
7889
|
-
|
|
7890
|
-
|
|
7891
|
-
|
|
7892
|
-
|
|
7893
|
-
|
|
7894
|
-
|
|
7895
|
-
|
|
7896
|
-
|
|
7897
|
-
|
|
7898
|
-
|
|
7899
|
-
|
|
7900
|
-
|
|
7895
|
+
this.zone.runOutsideAngular(() => {
|
|
7896
|
+
setTimeout(() => {
|
|
7897
|
+
const width = element.offsetWidth;
|
|
7898
|
+
if (this.numericButtons) {
|
|
7899
|
+
const selectElement = this.numericButtons.selectElement.nativeElement;
|
|
7900
|
+
const numbersElement = this.numericButtons.numbersElement.nativeElement;
|
|
7901
|
+
this.renderer.removeStyle(numbersElement, 'display');
|
|
7902
|
+
this.renderer.setStyle(selectElement, 'display', 'none');
|
|
7903
|
+
if (width < RESPONSIVE_BREAKPOINT_MEDIUM) {
|
|
7904
|
+
this.renderer.removeStyle(selectElement, 'display');
|
|
7905
|
+
this.renderer.setStyle(numbersElement, 'display', 'none');
|
|
7906
|
+
}
|
|
7907
|
+
}
|
|
7908
|
+
if (this.pagerInfo) {
|
|
7909
|
+
this.renderer.removeStyle(this.pagerInfo.nativeElement, 'display');
|
|
7910
|
+
if (width < RESPONSIVE_BREAKPOINT_LARGE) {
|
|
7911
|
+
this.renderer.setStyle(this.pagerInfo.nativeElement, 'display', 'none');
|
|
7912
|
+
}
|
|
7913
|
+
}
|
|
7914
|
+
if (this.pagerPageSizes) {
|
|
7915
|
+
this.renderer.removeStyle(this.pagerPageSizes.nativeElement, 'display');
|
|
7916
|
+
if (width < RESPONSIVE_BREAKPOINT_MEDIUM) {
|
|
7917
|
+
this.renderer.setStyle(this.pagerPageSizes.nativeElement, 'display', 'none');
|
|
7918
|
+
}
|
|
7919
|
+
}
|
|
7920
|
+
});
|
|
7921
|
+
});
|
|
7901
7922
|
};
|
|
7902
7923
|
}
|
|
7903
7924
|
set options(value) {
|
|
@@ -8016,12 +8037,10 @@ class PagerComponent {
|
|
|
8016
8037
|
}
|
|
8017
8038
|
const changesInTemplate = changes['template'];
|
|
8018
8039
|
if (changesInTemplate) {
|
|
8019
|
-
|
|
8020
|
-
changesInTemplate.currentValue ? this.clearResponsiveClasses() : this.resizeHandler();
|
|
8040
|
+
changesInTemplate.currentValue ? this.clearResponsiveStyling() : this.resizeHandler();
|
|
8021
8041
|
}
|
|
8022
8042
|
if (changes['options']) {
|
|
8023
|
-
|
|
8024
|
-
this.settings.responsive ? this.resizeHandler() : this.clearResponsiveClasses();
|
|
8043
|
+
this.settings.responsive ? this.resizeHandler() : this.clearResponsiveStyling();
|
|
8025
8044
|
}
|
|
8026
8045
|
}
|
|
8027
8046
|
ngOnDestroy() {
|
|
@@ -8047,11 +8066,6 @@ class PagerComponent {
|
|
|
8047
8066
|
}
|
|
8048
8067
|
});
|
|
8049
8068
|
}
|
|
8050
|
-
clearResponsiveClasses() {
|
|
8051
|
-
const element = this.element.nativeElement;
|
|
8052
|
-
this.renderer.removeClass(element, 'k-pager-mobile-sm');
|
|
8053
|
-
this.renderer.removeClass(element, 'k-pager-mobile-md');
|
|
8054
|
-
}
|
|
8055
8069
|
shouldTriggerPageChange(target, condition) {
|
|
8056
8070
|
return this.navigationService.pagerEnabled &&
|
|
8057
8071
|
target === this.element.nativeElement &&
|
|
@@ -8074,6 +8088,18 @@ class PagerComponent {
|
|
|
8074
8088
|
this.cellContext.focusGroup = this.focusGroup;
|
|
8075
8089
|
}
|
|
8076
8090
|
}
|
|
8091
|
+
clearResponsiveStyling() {
|
|
8092
|
+
this.zone.runOutsideAngular(() => {
|
|
8093
|
+
setTimeout(() => {
|
|
8094
|
+
if (this.numericButtons) {
|
|
8095
|
+
this.renderer.removeStyle(this.numericButtons.numbersElement.nativeElement, 'display');
|
|
8096
|
+
this.renderer.setStyle(this.numericButtons.selectElement.nativeElement, 'display', 'none');
|
|
8097
|
+
}
|
|
8098
|
+
this.pagerInfo && this.renderer.removeStyle(this.pagerInfo.nativeElement, 'display');
|
|
8099
|
+
this.pagerPageSizes && this.renderer.removeStyle(this.pagerPageSizes.nativeElement, 'display');
|
|
8100
|
+
});
|
|
8101
|
+
});
|
|
8102
|
+
}
|
|
8077
8103
|
}
|
|
8078
8104
|
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 });
|
|
8079
8105
|
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: [{
|
|
@@ -8087,7 +8113,7 @@ PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
|
|
|
8087
8113
|
provide: FocusGroup,
|
|
8088
8114
|
deps: [FocusRoot],
|
|
8089
8115
|
useClass: FocusGroup
|
|
8090
|
-
}], usesOnChanges: true, ngImport: i0, template: `
|
|
8116
|
+
}], 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: `
|
|
8091
8117
|
<div
|
|
8092
8118
|
*ngIf="navigationService.pagerEnabled"
|
|
8093
8119
|
class="k-sr-only"
|
|
@@ -8101,20 +8127,21 @@ PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
|
|
|
8101
8127
|
[ngTemplateOutletContext]="templateContext">
|
|
8102
8128
|
</ng-container>
|
|
8103
8129
|
<ng-container *ngIf="!template?.templateRef">
|
|
8104
|
-
<
|
|
8105
|
-
|
|
8106
|
-
|
|
8107
|
-
|
|
8108
|
-
|
|
8109
|
-
|
|
8110
|
-
|
|
8111
|
-
|
|
8130
|
+
<div class="k-pager-numbers-wrap">
|
|
8131
|
+
<kendo-pager-prev-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-prev-buttons>
|
|
8132
|
+
<kendo-pager-numeric-buttons
|
|
8133
|
+
[size]="size"
|
|
8134
|
+
*ngIf="settings.type === 'numeric'"
|
|
8135
|
+
[buttonCount]="settings.buttonCount">
|
|
8136
|
+
</kendo-pager-numeric-buttons>
|
|
8137
|
+
<kendo-pager-input [size]="size" *ngIf="settings.type === 'input'"></kendo-pager-input>
|
|
8138
|
+
<kendo-pager-next-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-next-buttons>
|
|
8139
|
+
</div>
|
|
8112
8140
|
<kendo-pager-info *ngIf='settings.info'></kendo-pager-info>
|
|
8113
8141
|
<kendo-pager-page-sizes
|
|
8114
8142
|
[size]="size"
|
|
8115
8143
|
*ngIf="settings.pageSizes"
|
|
8116
8144
|
[pageSizes]="$any(settings.pageSizes)"
|
|
8117
|
-
#pageSizes
|
|
8118
8145
|
></kendo-pager-page-sizes>
|
|
8119
8146
|
</ng-container>
|
|
8120
8147
|
<div
|
|
@@ -8156,20 +8183,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
8156
8183
|
[ngTemplateOutletContext]="templateContext">
|
|
8157
8184
|
</ng-container>
|
|
8158
8185
|
<ng-container *ngIf="!template?.templateRef">
|
|
8159
|
-
<
|
|
8160
|
-
|
|
8161
|
-
|
|
8162
|
-
|
|
8163
|
-
|
|
8164
|
-
|
|
8165
|
-
|
|
8166
|
-
|
|
8186
|
+
<div class="k-pager-numbers-wrap">
|
|
8187
|
+
<kendo-pager-prev-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-prev-buttons>
|
|
8188
|
+
<kendo-pager-numeric-buttons
|
|
8189
|
+
[size]="size"
|
|
8190
|
+
*ngIf="settings.type === 'numeric'"
|
|
8191
|
+
[buttonCount]="settings.buttonCount">
|
|
8192
|
+
</kendo-pager-numeric-buttons>
|
|
8193
|
+
<kendo-pager-input [size]="size" *ngIf="settings.type === 'input'"></kendo-pager-input>
|
|
8194
|
+
<kendo-pager-next-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-next-buttons>
|
|
8195
|
+
</div>
|
|
8167
8196
|
<kendo-pager-info *ngIf='settings.info'></kendo-pager-info>
|
|
8168
8197
|
<kendo-pager-page-sizes
|
|
8169
8198
|
[size]="size"
|
|
8170
8199
|
*ngIf="settings.pageSizes"
|
|
8171
8200
|
[pageSizes]="$any(settings.pageSizes)"
|
|
8172
|
-
#pageSizes
|
|
8173
8201
|
></kendo-pager-page-sizes>
|
|
8174
8202
|
</ng-container>
|
|
8175
8203
|
<div
|
|
@@ -8187,7 +8215,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
8187
8215
|
}, {
|
|
8188
8216
|
type: Inject,
|
|
8189
8217
|
args: [CELL_CONTEXT]
|
|
8190
|
-
}] }, { type: FocusRoot }, { type: FocusGroup }]; }, propDecorators: {
|
|
8218
|
+
}] }, { type: FocusRoot }, { type: FocusGroup }]; }, propDecorators: { pagerInfo: [{
|
|
8219
|
+
type: ViewChild,
|
|
8220
|
+
args: [PagerInfoComponent, { read: ElementRef }]
|
|
8221
|
+
}], pagerPageSizes: [{
|
|
8222
|
+
type: ViewChild,
|
|
8223
|
+
args: [PagerPageSizesComponent, { read: ElementRef }]
|
|
8224
|
+
}], numericButtons: [{
|
|
8225
|
+
type: ViewChild,
|
|
8226
|
+
args: [PagerNumericButtonsComponent]
|
|
8227
|
+
}], total: [{
|
|
8191
8228
|
type: Input
|
|
8192
8229
|
}], skip: [{
|
|
8193
8230
|
type: Input
|