@progress/kendo-angular-grid 17.0.0-develop.33 → 17.0.0-develop.35

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.
Files changed (48) hide show
  1. package/{pager → common}/pager-settings.d.ts +13 -0
  2. package/directives.d.ts +2 -18
  3. package/esm2022/directives.mjs +2 -28
  4. package/esm2022/grid.component.mjs +172 -37
  5. package/esm2022/grid.module.mjs +91 -97
  6. package/esm2022/index.mjs +0 -13
  7. package/esm2022/localization/messages.mjs +13 -7
  8. package/esm2022/navigation/navigation.service.mjs +2 -2
  9. package/esm2022/package-metadata.mjs +2 -2
  10. package/esm2022/rendering/common/spacer.component.mjs +2 -2
  11. package/fesm2022/progress-kendo-angular-grid.mjs +353 -1716
  12. package/grid.component.d.ts +4 -5
  13. package/grid.module.d.ts +85 -94
  14. package/index.d.ts +1 -16
  15. package/localization/messages.d.ts +10 -6
  16. package/navigation/navigation.service.d.ts +1 -1
  17. package/package.json +18 -17
  18. package/rendering/common/spacer.component.d.ts +1 -1
  19. package/schematics/ngAdd/index.js +4 -4
  20. package/esm2022/pager/pager-context.service.mjs +0 -42
  21. package/esm2022/pager/pager-dropdown.directive.mjs +0 -40
  22. package/esm2022/pager/pager-element.component.mjs +0 -116
  23. package/esm2022/pager/pager-info.component.mjs +0 -77
  24. package/esm2022/pager/pager-input.component.mjs +0 -146
  25. package/esm2022/pager/pager-input.directive.mjs +0 -32
  26. package/esm2022/pager/pager-next-buttons.component.mjs +0 -115
  27. package/esm2022/pager/pager-numeric-buttons.component.mjs +0 -267
  28. package/esm2022/pager/pager-page-sizes.component.mjs +0 -147
  29. package/esm2022/pager/pager-prev-buttons.component.mjs +0 -117
  30. package/esm2022/pager/pager-template.directive.mjs +0 -49
  31. package/esm2022/pager/pager.component.mjs +0 -471
  32. package/esm2022/pager/pager.module.mjs +0 -51
  33. package/esm2022/pager/pagesize-item.interface.mjs +0 -5
  34. package/pager/pager-context.service.d.ts +0 -30
  35. package/pager/pager-dropdown.directive.d.ts +0 -18
  36. package/pager/pager-element.component.d.ts +0 -79
  37. package/pager/pager-info.component.d.ts +0 -43
  38. package/pager/pager-input.component.d.ts +0 -45
  39. package/pager/pager-input.directive.d.ts +0 -18
  40. package/pager/pager-next-buttons.component.d.ts +0 -28
  41. package/pager/pager-numeric-buttons.component.d.ts +0 -52
  42. package/pager/pager-page-sizes.component.d.ts +0 -49
  43. package/pager/pager-prev-buttons.component.d.ts +0 -28
  44. package/pager/pager-template.directive.d.ts +0 -38
  45. package/pager/pager.component.d.ts +0 -80
  46. package/pager/pager.module.d.ts +0 -37
  47. package/pager/pagesize-item.interface.d.ts +0 -14
  48. /package/esm2022/{pager → common}/pager-settings.mjs +0 -0
@@ -1,267 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from '@angular/core';
6
- import { ContextService } from '../common/provider.service';
7
- import { PagerContextService } from './pager-context.service';
8
- import { PagerElementComponent } from './pager-element.component';
9
- import { NgClass, NgIf, NgFor } from '@angular/common';
10
- import { FocusableDirective } from '../navigation/focusable.directive';
11
- import { ButtonComponent } from '@progress/kendo-angular-buttons';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "../common/provider.service";
14
- import * as i2 from "./pager-context.service";
15
- /**
16
- * Displays numeric buttons to enable navigation between the pages ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
17
- */
18
- export class PagerNumericButtonsComponent extends PagerElementComponent {
19
- pagerContext;
20
- selectElement;
21
- numbersElement;
22
- /**
23
- * The count of the displayed buttons.
24
- *
25
- * @type {number}
26
- * @memberOf PagerNumericButtonsComponent
27
- */
28
- buttonCount;
29
- /**
30
- * @hidden
31
- *
32
- * @readonly
33
- * @type {number[]}
34
- * @memberOf PagerNumericButtonsComponent
35
- */
36
- get buttons() {
37
- const result = [];
38
- for (let idx = this.start; idx <= this.end; idx++) {
39
- result.push(idx);
40
- }
41
- return result;
42
- }
43
- /**
44
- * @hidden
45
- */
46
- get end() {
47
- return Math.min((this.start + this.buttonCount) - 1, this.totalPages);
48
- }
49
- /**
50
- * @hidden
51
- */
52
- get start() {
53
- const page = this.currentPage;
54
- const buttonCount = this.buttonCount;
55
- if (page > buttonCount) {
56
- const reminder = (page % buttonCount);
57
- return (reminder === 0) ? (page - buttonCount) + 1 : (page - reminder) + 1;
58
- }
59
- return 1;
60
- }
61
- constructor(ctx, cd, pagerContext) {
62
- super(ctx, pagerContext, cd);
63
- this.pagerContext = pagerContext;
64
- }
65
- /**
66
- * @hidden
67
- */
68
- pageLabel(num) {
69
- const pageText = this.textFor('pagerPage');
70
- if (pageText) {
71
- return pageText + ' ' + num;
72
- }
73
- return num.toString();
74
- }
75
- /**
76
- * @hidden
77
- */
78
- onSelectChange(e) {
79
- const target = e.target;
80
- const valueAsNumber = Number(target.value);
81
- if (!Number.isNaN(valueAsNumber)) {
82
- this.changePage(valueAsNumber - 1);
83
- }
84
- else {
85
- if (target.value === 'previousButtons') {
86
- this.changePage(this.start - 2);
87
- }
88
- else {
89
- this.changePage(this.end);
90
- }
91
- }
92
- }
93
- onChanges({ total, skip, pageSize }) {
94
- this.total = total;
95
- this.skip = skip;
96
- this.pageSize = pageSize;
97
- this.cd.markForCheck();
98
- }
99
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerNumericButtonsComponent, deps: [{ token: i1.ContextService }, { token: i0.ChangeDetectorRef }, { token: i2.PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
100
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PagerNumericButtonsComponent, isStandalone: true, 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: `
101
- <select
102
- #select
103
- class="k-dropdown-list k-dropdown k-picker k-picker-solid k-rounded-md"
104
- kendoGridFocusable
105
- [style.display]="'none'"
106
- [attr.title]="textFor('selectPage')"
107
- [attr.aria-label]="textFor('selectPage')"
108
- [ngClass]="{
109
- 'k-picker-sm': size === 'small',
110
- 'k-picker-md': size === 'medium' || !size
111
- }"
112
- (change)="onSelectChange($event)">
113
- <option *ngIf="start > 1"
114
- value="previousButtons"
115
- [selected]="false"
116
- [attr.aria-label]="pageLabel(start - 1)">...
117
- </option>
118
- <option *ngFor="let num of buttons"
119
- [value]="num.toString()"
120
- [selected]="num === currentPage"
121
- [attr.aria-label]="pageLabel(num)"
122
- [attr.aria-current]="currentPage === num ? 'page' : undefined"
123
- [ngClass]="{'k-selected':currentPage === num}">
124
- {{num}}
125
- </option>
126
- <option *ngIf="end < totalPages"
127
- value="nextButtons"
128
- [selected]="false"
129
- [attr.aria-label]="pageLabel(end + 1)">...
130
- </option>
131
- </select>
132
- <div class="k-pager-numbers" #numbers>
133
- <button *ngIf="start > 1"
134
- type="button"
135
- kendoGridFocusable
136
- kendoButton
137
- [size]="size"
138
- fillMode="flat"
139
- themeColor="primary"
140
- class="k-pager-nav"
141
- rounded="none"
142
- [attr.aria-label]="pageLabel(start - 1)"
143
- [attr.title]="pageLabel(start - 1)"
144
- (click)="changePage(start - 2)">...</button>
145
- <button *ngFor="let num of buttons"
146
- type="button"
147
- kendoGridFocusable
148
- kendoButton
149
- [size]="size"
150
- fillMode="flat"
151
- themeColor="primary"
152
- class="k-pager-nav"
153
- rounded="none"
154
- [attr.aria-label]="pageLabel(num)"
155
- [attr.title]="pageLabel(num)"
156
- [attr.aria-current]="currentPage === num ? 'page' : undefined"
157
- [selected]="currentPage === num"
158
- (click)="changePage(num - 1)">
159
- {{num}}
160
- </button>
161
- <button *ngIf="end < totalPages"
162
- type="button"
163
- kendoGridFocusable
164
- kendoButton
165
- class="k-pager-nav"
166
- [size]="size"
167
- fillMode="flat"
168
- themeColor="primary"
169
- rounded="none"
170
- [attr.aria-label]="pageLabel(end + 1)"
171
- [attr.title]="pageLabel(end + 1)"
172
- (click)="changePage(end)">...</button>
173
- </div>
174
- `, isInline: true, dependencies: [{ kind: "directive", type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
175
- }
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerNumericButtonsComponent, decorators: [{
177
- type: Component,
178
- args: [{
179
- changeDetection: ChangeDetectionStrategy.OnPush,
180
- selector: 'kendo-pager-numeric-buttons',
181
- template: `
182
- <select
183
- #select
184
- class="k-dropdown-list k-dropdown k-picker k-picker-solid k-rounded-md"
185
- kendoGridFocusable
186
- [style.display]="'none'"
187
- [attr.title]="textFor('selectPage')"
188
- [attr.aria-label]="textFor('selectPage')"
189
- [ngClass]="{
190
- 'k-picker-sm': size === 'small',
191
- 'k-picker-md': size === 'medium' || !size
192
- }"
193
- (change)="onSelectChange($event)">
194
- <option *ngIf="start > 1"
195
- value="previousButtons"
196
- [selected]="false"
197
- [attr.aria-label]="pageLabel(start - 1)">...
198
- </option>
199
- <option *ngFor="let num of buttons"
200
- [value]="num.toString()"
201
- [selected]="num === currentPage"
202
- [attr.aria-label]="pageLabel(num)"
203
- [attr.aria-current]="currentPage === num ? 'page' : undefined"
204
- [ngClass]="{'k-selected':currentPage === num}">
205
- {{num}}
206
- </option>
207
- <option *ngIf="end < totalPages"
208
- value="nextButtons"
209
- [selected]="false"
210
- [attr.aria-label]="pageLabel(end + 1)">...
211
- </option>
212
- </select>
213
- <div class="k-pager-numbers" #numbers>
214
- <button *ngIf="start > 1"
215
- type="button"
216
- kendoGridFocusable
217
- kendoButton
218
- [size]="size"
219
- fillMode="flat"
220
- themeColor="primary"
221
- class="k-pager-nav"
222
- rounded="none"
223
- [attr.aria-label]="pageLabel(start - 1)"
224
- [attr.title]="pageLabel(start - 1)"
225
- (click)="changePage(start - 2)">...</button>
226
- <button *ngFor="let num of buttons"
227
- type="button"
228
- kendoGridFocusable
229
- kendoButton
230
- [size]="size"
231
- fillMode="flat"
232
- themeColor="primary"
233
- class="k-pager-nav"
234
- rounded="none"
235
- [attr.aria-label]="pageLabel(num)"
236
- [attr.title]="pageLabel(num)"
237
- [attr.aria-current]="currentPage === num ? 'page' : undefined"
238
- [selected]="currentPage === num"
239
- (click)="changePage(num - 1)">
240
- {{num}}
241
- </button>
242
- <button *ngIf="end < totalPages"
243
- type="button"
244
- kendoGridFocusable
245
- kendoButton
246
- class="k-pager-nav"
247
- [size]="size"
248
- fillMode="flat"
249
- themeColor="primary"
250
- rounded="none"
251
- [attr.aria-label]="pageLabel(end + 1)"
252
- [attr.title]="pageLabel(end + 1)"
253
- (click)="changePage(end)">...</button>
254
- </div>
255
- `,
256
- standalone: true,
257
- imports: [FocusableDirective, NgClass, NgIf, NgFor, ButtonComponent]
258
- }]
259
- }], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }]; }, propDecorators: { selectElement: [{
260
- type: ViewChild,
261
- args: ['select', { read: ElementRef }]
262
- }], numbersElement: [{
263
- type: ViewChild,
264
- args: ['numbers', { read: ElementRef }]
265
- }], buttonCount: [{
266
- type: Input
267
- }] } });
@@ -1,147 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { NavigationService } from './../navigation/navigation.service';
6
- import { Component, ChangeDetectorRef, ChangeDetectionStrategy, HostBinding, Input } from '@angular/core';
7
- import { PagerElementComponent } from './pager-element.component';
8
- import { PagerContextService } from './pager-context.service';
9
- import { ContextService } from '../common/provider.service';
10
- import { FocusableDirective } from '../navigation/focusable.directive';
11
- import { PagerDropDownListDirective } from './pager-dropdown.directive';
12
- import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
13
- import { LabelComponent } from '@progress/kendo-angular-label';
14
- import * as i0 from "@angular/core";
15
- import * as i1 from "../common/provider.service";
16
- import * as i2 from "./pager-context.service";
17
- import * as i3 from "./../navigation/navigation.service";
18
- /**
19
- * Displays a drop-down list for the page size selection ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
20
- */
21
- export class PagerPageSizesComponent extends PagerElementComponent {
22
- pagerContext;
23
- navigationService;
24
- /**
25
- * The page sizes collection. Can be an Array of numbers and/or [`PageSizeItem`](slug:api_grid_pagesizeitem) objects
26
- * ([see example](slug:pager_template_grid))
27
- */
28
- set pageSizes(pageSizes) {
29
- let normalizedItems = [];
30
- pageSizes.forEach(item => {
31
- if (typeof item === 'number') {
32
- normalizedItems.push({
33
- text: item.toString(),
34
- value: item
35
- });
36
- }
37
- else {
38
- normalizedItems.push(item);
39
- }
40
- });
41
- if (this.pageSize && !normalizedItems.some(item => item.value === this.pageSize)) {
42
- normalizedItems = [{ text: this.pageSize.toString(), value: this.pageSize }, ...normalizedItems];
43
- }
44
- this._pageSizes = normalizedItems;
45
- }
46
- get pageSizes() {
47
- return this._pageSizes;
48
- }
49
- /**
50
- * @hidden
51
- *
52
- * @readonly
53
- */
54
- get classes() {
55
- return true;
56
- }
57
- /**
58
- * @hidden
59
- *
60
- * @readonly
61
- */
62
- get showInitialPageSize() {
63
- return this.pageSizes
64
- .filter(item => {
65
- if (typeof item.value === 'number') {
66
- return item.value === Number(this.pageSize);
67
- }
68
- return this.total === Number(this.pageSize);
69
- })
70
- .length === 0;
71
- }
72
- _pageSizes = [];
73
- constructor(ctx, cd, pagerContext, navigationService) {
74
- super(ctx, pagerContext, cd);
75
- this.pagerContext = pagerContext;
76
- this.navigationService = navigationService;
77
- }
78
- /**
79
- * @hidden
80
- */
81
- pageSizeChange(value) {
82
- this.pageSize = typeof value === 'number' ? value : this.total;
83
- this.pagerContext.changePageSize(this.pageSize);
84
- }
85
- /**
86
- * @hidden
87
- */
88
- getValue(page) {
89
- return typeof page.value === 'number' ? page.value : this.total;
90
- }
91
- onChanges({ total, skip, pageSize }) {
92
- this.total = total;
93
- this.skip = skip;
94
- this.pageSize = typeof pageSize === 'number' ? pageSize : this.total;
95
- this.cd.markForCheck();
96
- }
97
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerPageSizesComponent, deps: [{ token: i1.ContextService }, { token: i0.ChangeDetectorRef }, { token: i2.PagerContextService }, { token: i3.NavigationService }], target: i0.ɵɵFactoryTarget.Component });
98
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PagerPageSizesComponent, isStandalone: true, 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: `
99
- <kendo-dropdownlist
100
- class="k-dropdown"
101
- #dropdownlist
102
- [size]="size"
103
- kendoGridPagerDropDown
104
- [tabindex]="0"
105
- kendoGridFocusable
106
- [data]="pageSizes"
107
- textField="text"
108
- valueField="value"
109
- [valuePrimitive]="true"
110
- [value]="pageSize"
111
- (valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
112
- <kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
113
- `, isInline: true, dependencies: [{ kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: PagerDropDownListDirective, selector: "[kendoGridPagerDropDown]" }, { kind: "directive", type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
114
- }
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
116
- type: Component,
117
- args: [{
118
- changeDetection: ChangeDetectionStrategy.OnPush,
119
- selector: 'kendo-pager-page-sizes',
120
- template: `
121
- <kendo-dropdownlist
122
- class="k-dropdown"
123
- #dropdownlist
124
- [size]="size"
125
- kendoGridPagerDropDown
126
- [tabindex]="0"
127
- kendoGridFocusable
128
- [data]="pageSizes"
129
- textField="text"
130
- valueField="value"
131
- [valuePrimitive]="true"
132
- [value]="pageSize"
133
- (valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
134
- <kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
135
- `,
136
- standalone: true,
137
- imports: [DropDownListComponent, PagerDropDownListDirective, FocusableDirective, LabelComponent]
138
- }]
139
- }], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }, { type: i3.NavigationService }]; }, propDecorators: { pageSizes: [{
140
- type: Input
141
- }], classes: [{
142
- type: HostBinding,
143
- args: ['class.k-pager-sizes']
144
- }, {
145
- type: HostBinding,
146
- args: ['class.k-label']
147
- }] } });
@@ -1,117 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { NavigationService } from './../navigation/navigation.service';
6
- import { Component, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
7
- import { PagerContextService } from "./pager-context.service";
8
- import { PagerElementComponent } from './pager-element.component';
9
- import { ContextService } from '../common/provider.service';
10
- import { FocusableDirective } from '../navigation/focusable.directive';
11
- import { ButtonComponent } from '@progress/kendo-angular-buttons';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "../common/provider.service";
14
- import * as i2 from "./pager-context.service";
15
- import * as i3 from "./../navigation/navigation.service";
16
- /**
17
- * Displays buttons for navigating to the first and to the previous page ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
18
- */
19
- export class PagerPrevButtonsComponent extends PagerElementComponent {
20
- navigationService;
21
- constructor(ctx, pagerContext, cd, navigationService) {
22
- super(ctx, pagerContext, cd);
23
- this.navigationService = navigationService;
24
- }
25
- /**
26
- * @hidden
27
- *
28
- * @readonly
29
- * @type {boolean}
30
- * @memberOf PagerPrevButtonsComponent
31
- */
32
- get disabled() {
33
- return this.currentPage === 1 || !this.total;
34
- }
35
- onChanges({ total, skip, pageSize }) {
36
- this.total = total;
37
- this.skip = skip;
38
- this.pageSize = pageSize;
39
- this.cd.markForCheck();
40
- }
41
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerPrevButtonsComponent, deps: [{ token: i1.ContextService }, { token: i2.PagerContextService }, { token: i0.ChangeDetectorRef }, { token: i3.NavigationService }], target: i0.ɵɵFactoryTarget.Component });
42
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PagerPrevButtonsComponent, isStandalone: true, selector: "kendo-pager-prev-buttons", usesInheritance: true, ngImport: i0, template: `
43
- <button
44
- [kendoGridFocusable]="!disabled"
45
- kendoButton
46
- type="button"
47
- [title]="textFor('pagerFirstPage')"
48
- [attr.aria-label]="textFor('pagerFirstPage')"
49
- (click)="currentPage !== 1 ? changePage(0) : false"
50
- role="button"
51
- [icon]="prevArrowIcons[0]"
52
- [svgIcon]="prevArrowSVGIcons[0]"
53
- class="k-pager-nav k-pager-first"
54
- [disabled]="disabled"
55
- fillMode="flat"
56
- rounded="none"
57
- [size]="size">
58
- </button>
59
- <button
60
- kendoButton
61
- [kendoGridFocusable]="!disabled"
62
- type="button"
63
- class="k-pager-nav"
64
- [disabled]="disabled"
65
- [icon]="prevArrowIcons[1]"
66
- [svgIcon]="prevArrowSVGIcons[1]"
67
- fillMode="flat"
68
- rounded="none"
69
- [size]="size"
70
- [title]="textFor('pagerPreviousPage')"
71
- [attr.aria-label]="textFor('pagerPreviousPage')"
72
- (click)="currentPage !== 1 ? changePage(currentPage-2) : false">
73
- </button>
74
- `, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
75
- }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerPrevButtonsComponent, decorators: [{
77
- type: Component,
78
- args: [{
79
- changeDetection: ChangeDetectionStrategy.OnPush,
80
- selector: 'kendo-pager-prev-buttons',
81
- template: `
82
- <button
83
- [kendoGridFocusable]="!disabled"
84
- kendoButton
85
- type="button"
86
- [title]="textFor('pagerFirstPage')"
87
- [attr.aria-label]="textFor('pagerFirstPage')"
88
- (click)="currentPage !== 1 ? changePage(0) : false"
89
- role="button"
90
- [icon]="prevArrowIcons[0]"
91
- [svgIcon]="prevArrowSVGIcons[0]"
92
- class="k-pager-nav k-pager-first"
93
- [disabled]="disabled"
94
- fillMode="flat"
95
- rounded="none"
96
- [size]="size">
97
- </button>
98
- <button
99
- kendoButton
100
- [kendoGridFocusable]="!disabled"
101
- type="button"
102
- class="k-pager-nav"
103
- [disabled]="disabled"
104
- [icon]="prevArrowIcons[1]"
105
- [svgIcon]="prevArrowSVGIcons[1]"
106
- fillMode="flat"
107
- rounded="none"
108
- [size]="size"
109
- [title]="textFor('pagerPreviousPage')"
110
- [attr.aria-label]="textFor('pagerPreviousPage')"
111
- (click)="currentPage !== 1 ? changePage(currentPage-2) : false">
112
- </button>
113
- `,
114
- standalone: true,
115
- imports: [ButtonComponent, FocusableDirective]
116
- }]
117
- }], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i2.PagerContextService }, { type: i0.ChangeDetectorRef }, { type: i3.NavigationService }]; } });
@@ -1,49 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, TemplateRef, Optional } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Represents the pager template which helps to customize the pager appearance in the Grid. To define a pager
9
- * template, nest an `<ng-template>` tag with the `kendoPagerTemplate` directive inside `<kendo-grid>` tag
10
- * [see example](slug:pager_template_grid).
11
- *
12
- * The template context provides the following fields:
13
- * * `currentPage`&mdash;The index of the displayed page.
14
- * * `pageSize`&mdash;The value of the current `pageSize`.
15
- * * `skip`&mdash;The current skip value.
16
- * * `total`&mdash;The total number of records.
17
- * * `totalPages`&mdash;The total number of available pages.
18
- *
19
- * @example
20
- * ```html
21
- * <kendo-grid ... [pageable]="true">
22
- * <ng-template kendoPagerTemplate let-totalPages="totalPages" let-currentPage="currentPage">
23
- * <kendo-pager-prev-buttons></kendo-pager-prev-buttons>
24
- * <kendo-pager-next-buttons></kendo-pager-next-buttons>
25
- * <kendo-pager-info></kendo-pager-info>
26
- * Current page: {{currentPage}}
27
- * </ng-template>
28
- * <kendo-grid-column field="ProductID"></kendo-grid-column>
29
- * <kendo-grid-column field="ProductName"></kendo-grid-column>
30
- * </kendo-grid>
31
- * ```
32
- */
33
- export class PagerTemplateDirective {
34
- templateRef;
35
- constructor(templateRef) {
36
- this.templateRef = templateRef;
37
- }
38
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
39
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PagerTemplateDirective, isStandalone: true, selector: "[kendoPagerTemplate]", ngImport: i0 });
40
- }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerTemplateDirective, decorators: [{
42
- type: Directive,
43
- args: [{
44
- selector: '[kendoPagerTemplate]',
45
- standalone: true
46
- }]
47
- }], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
48
- type: Optional
49
- }] }]; } });