@progress/kendo-angular-grid 17.0.0-develop.34 → 17.0.0-develop.36

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,40 +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 { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
6
- import { Directive } from '@angular/core';
7
- import { Keys } from '@progress/kendo-angular-common';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@progress/kendo-angular-dropdowns";
10
- /**
11
- * @hidden
12
- */
13
- export class PagerDropDownListDirective {
14
- host;
15
- constructor(host) {
16
- this.host = host;
17
- }
18
- ngAfterViewInit() {
19
- const wrapperElement = this.host.wrapper.nativeElement;
20
- wrapperElement.addEventListener('keydown', this.keydownHandler, true);
21
- }
22
- ngOnDestroy() {
23
- this.host.wrapper.nativeElement.removeEventListener('keydown', this.keydownHandler);
24
- }
25
- keydownHandler = (e) => {
26
- if (e.keyCode === Keys.Escape && this.host.isOpen) {
27
- e.stopPropagation();
28
- this.host.toggle(false);
29
- }
30
- };
31
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerDropDownListDirective, deps: [{ token: i1.DropDownListComponent }], target: i0.ɵɵFactoryTarget.Directive });
32
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PagerDropDownListDirective, isStandalone: true, selector: "[kendoGridPagerDropDown]", ngImport: i0 });
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerDropDownListDirective, decorators: [{
35
- type: Directive,
36
- args: [{
37
- selector: '[kendoGridPagerDropDown]',
38
- standalone: true
39
- }]
40
- }], ctorParameters: function () { return [{ type: i1.DropDownListComponent }]; } });
@@ -1,116 +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 { ChangeDetectorRef, Directive, Input } from '@angular/core';
6
- import { PagerContextService } from "./pager-context.service";
7
- import { ContextService } from '../common/provider.service';
8
- import { caretAltLeftIcon, caretAltRightIcon, caretAltToLeftIcon, caretAltToRightIcon } from '@progress/kendo-svg-icons';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../common/provider.service";
11
- import * as i2 from "./pager-context.service";
12
- /**
13
- * @hidden
14
- */
15
- export class PagerElementComponent {
16
- ctx;
17
- pagerContext;
18
- cd;
19
- total;
20
- skip;
21
- pageSize;
22
- caretAltLeftIcon = caretAltLeftIcon;
23
- caretAltToLeftIcon = caretAltToLeftIcon;
24
- caretAltRightIcon = caretAltRightIcon;
25
- caretAltToRightIcon = caretAltToRightIcon;
26
- /**
27
- * Sets the pager element sizing option.
28
- * @default `medium`
29
- */
30
- size = 'medium';
31
- /**
32
- * @hidden
33
- *
34
- * @readonly
35
- * @type {number}
36
- * @memberOf PagerElementComponent
37
- */
38
- get currentPage() {
39
- return Math.floor((this.skip || 0) / this.pageSize) + 1;
40
- }
41
- /**
42
- * @hidden
43
- *
44
- * @readonly
45
- * @type {number}
46
- * @memberOf PagerElementComponent
47
- */
48
- get totalPages() {
49
- return Math.ceil((this.total || 0) / this.pageSize);
50
- }
51
- subscriptions;
52
- constructor(ctx, pagerContext, cd) {
53
- this.ctx = ctx;
54
- this.pagerContext = pagerContext;
55
- this.cd = cd;
56
- this.total = pagerContext.total;
57
- this.skip = pagerContext.skip;
58
- this.pageSize = pagerContext.pageSize;
59
- }
60
- /**
61
- * @hidden
62
- *
63
- * @param {string} key
64
- * @returns {string}
65
- *
66
- * @memberOf PagerElementComponent
67
- */
68
- textFor(key) {
69
- return this.ctx.localization.get(key);
70
- }
71
- /**
72
- * @hidden
73
- *
74
- * @param {number} page
75
- *
76
- * @memberOf PagerElementComponent
77
- */
78
- changePage(page) {
79
- this.pagerContext.changePage(page);
80
- return false;
81
- }
82
- /**
83
- * @hidden
84
- *
85
- * @memberOf PagerElementComponent
86
- */
87
- ngOnInit() {
88
- this.subscriptions = this.pagerContext.changes.subscribe(this.onChanges.bind(this));
89
- this.subscriptions.add(this.ctx.localization.changes.subscribe(() => this.cd.markForCheck()));
90
- }
91
- ngOnDestroy() {
92
- if (this.subscriptions) {
93
- this.subscriptions.unsubscribe();
94
- }
95
- }
96
- get prevArrowIcons() {
97
- return !this.ctx.localization.rtl ? ['caret-alt-to-left', 'caret-alt-left'] : ['caret-alt-to-right', 'caret-alt-right'];
98
- }
99
- get prevArrowSVGIcons() {
100
- return !this.ctx.localization.rtl ? [this.caretAltToLeftIcon, this.caretAltLeftIcon] : [this.caretAltToRightIcon, this.caretAltRightIcon];
101
- }
102
- get nextArrowIcons() {
103
- return !this.ctx.localization.rtl ? ['caret-alt-right', 'caret-alt-to-right'] : ['caret-alt-left', 'caret-alt-to-left'];
104
- }
105
- get nextArrowSVGIcons() {
106
- return !this.ctx.localization.rtl ? [this.caretAltRightIcon, this.caretAltToRightIcon] : [this.caretAltLeftIcon, this.caretAltToLeftIcon];
107
- }
108
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerElementComponent, deps: [{ token: i1.ContextService }, { token: i2.PagerContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
109
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PagerElementComponent, inputs: { size: "size" }, ngImport: i0 });
110
- }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerElementComponent, decorators: [{
112
- type: Directive,
113
- args: [{}]
114
- }], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i2.PagerContextService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { size: [{
115
- type: Input
116
- }] } });
@@ -1,77 +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
- // eslint-disable no-access-missing-member
6
- import { Component, ChangeDetectorRef, ChangeDetectionStrategy, HostBinding } 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 * as i0 from "@angular/core";
11
- import * as i1 from "../common/provider.service";
12
- import * as i2 from "./pager-context.service";
13
- /**
14
- * Displays information about the current page and the total number of records ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
15
- */
16
- export class PagerInfoComponent extends PagerElementComponent {
17
- pagerContext;
18
- /**
19
- * @hidden
20
- *
21
- * @readonly
22
- * @type {number}
23
- * @memberOf PagerInfoComponent
24
- */
25
- get maxItems() {
26
- return Math.min(this.currentPage * this.pageSize, this.total);
27
- }
28
- /**
29
- * @hidden
30
- *
31
- * @readonly
32
- * @type {number}
33
- * @memberOf PagerInfoComponent
34
- */
35
- get currentPageText() {
36
- return this.total ?
37
- (this.currentPage - 1) * this.pageSize + 1 :
38
- 0;
39
- }
40
- /**
41
- * @hidden
42
- *
43
- * @readonly
44
- * @type {boolean}
45
- * @memberOf PagerInfoComponent
46
- */
47
- get classes() {
48
- return true;
49
- }
50
- constructor(ctx, cd, pagerContext) {
51
- super(ctx, pagerContext, cd);
52
- this.pagerContext = pagerContext;
53
- }
54
- onChanges({ total, skip, pageSize }) {
55
- this.total = total;
56
- this.skip = skip;
57
- this.pageSize = pageSize;
58
- this.cd.markForCheck();
59
- }
60
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerInfoComponent, deps: [{ token: i1.ContextService }, { token: i0.ChangeDetectorRef }, { token: i2.PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
61
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PagerInfoComponent, isStandalone: true, 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 });
62
- }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerInfoComponent, decorators: [{
64
- type: Component,
65
- args: [{
66
- changeDetection: ChangeDetectionStrategy.OnPush,
67
- selector: 'kendo-pager-info',
68
- template: `{{currentPageText}} - {{maxItems}} {{textFor('pagerOf')}} {{total}} {{textFor('pagerItems')}}`,
69
- standalone: true
70
- }]
71
- }], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }]; }, propDecorators: { classes: [{
72
- type: HostBinding,
73
- args: ["class.k-pager-info"]
74
- }, {
75
- type: HostBinding,
76
- args: ["class.k-label"]
77
- }] } });
@@ -1,146 +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 { NumericTextBoxComponent } from '@progress/kendo-angular-inputs';
7
- import { Component, ChangeDetectorRef, ViewChild, NgZone } from '@angular/core';
8
- import { PagerElementComponent } from './pager-element.component';
9
- import { PagerContextService } from "./pager-context.service";
10
- import { EventsOutsideAngularDirective, Keys } from '@progress/kendo-angular-common';
11
- import { ContextService } from '../common/provider.service';
12
- import { FocusableDirective } from '../navigation/focusable.directive';
13
- import { PagerInputDirective } from './pager-input.directive';
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 an input element which allows the typing and rendering of page numbers ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
20
- */
21
- export class PagerInputComponent extends PagerElementComponent {
22
- pagerContext;
23
- zone;
24
- navigationService;
25
- numericInput;
26
- constructor(ctx, pagerContext, zone, navigationService, cd) {
27
- super(ctx, pagerContext, cd);
28
- this.pagerContext = pagerContext;
29
- this.zone = zone;
30
- this.navigationService = navigationService;
31
- }
32
- /**
33
- * @hidden
34
- *
35
- * @param {string} value
36
- *
37
- * @memberOf PagerInputComponent
38
- */
39
- handleKeyDown = (event) => {
40
- const incomingValue = this.numericInput.value || this.current;
41
- if (event.keyCode === Keys.Enter) {
42
- event.preventDefault();
43
- if (incomingValue !== this.current) {
44
- this.zone.run(() => {
45
- this.changePage(incomingValue - 1);
46
- });
47
- }
48
- }
49
- };
50
- /**
51
- * @hidden
52
- *
53
- * @param {string} value
54
- *
55
- * @memberOf PagerInputComponent
56
- */
57
- handleBlur = () => {
58
- const inputValue = this.numericInput.value;
59
- if (!inputValue) {
60
- this.numericInput.writeValue(this.current);
61
- return;
62
- }
63
- if (inputValue !== this.current) {
64
- this.zone.run(() => {
65
- this.changePage(inputValue - 1);
66
- });
67
- }
68
- };
69
- /**
70
- * @hidden
71
- */
72
- get current() {
73
- return this.hasPages ? this.currentPage : 0;
74
- }
75
- get hasPages() {
76
- return this.totalPages !== 0;
77
- }
78
- onChanges({ total, skip, pageSize }) {
79
- this.total = total;
80
- this.skip = skip;
81
- this.pageSize = pageSize;
82
- this.cd.markForCheck();
83
- }
84
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerInputComponent, deps: [{ token: i1.ContextService }, { token: i2.PagerContextService }, { token: i0.NgZone }, { token: i3.NavigationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
85
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PagerInputComponent, isStandalone: true, selector: "kendo-pager-input", viewQueries: [{ propertyName: "numericInput", first: true, predicate: NumericTextBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
86
- <span class="k-pager-input k-label">
87
- {{textFor('pagerPage')}}
88
- <kendo-numerictextbox
89
- kendoGridPagerInput
90
- [kendoGridFocusable]="hasPages"
91
- [spinners]="false"
92
- [decimals]="0"
93
- format="n0"
94
- [disabled]="!hasPages"
95
- [value]="current"
96
- [min]="hasPages ? 1 : 0"
97
- [max]="totalPages"
98
- [size]="size"
99
- [autoCorrect]="true"
100
- [title]="textFor('pagerPageNumberInputTitle')"
101
- [kendoEventsOutsideAngular]="{
102
- keydown: handleKeyDown,
103
- focusout: handleBlur
104
- }"
105
- >
106
- </kendo-numerictextbox>
107
- {{textFor('pagerOf')}} {{totalPages}}
108
- </span>
109
- `, isInline: true, dependencies: [{ kind: "component", type: NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { kind: "directive", type: PagerInputDirective, selector: "[kendoGridPagerInput]" }, { kind: "directive", type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
110
- }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerInputComponent, decorators: [{
112
- type: Component,
113
- args: [{
114
- selector: 'kendo-pager-input',
115
- template: `
116
- <span class="k-pager-input k-label">
117
- {{textFor('pagerPage')}}
118
- <kendo-numerictextbox
119
- kendoGridPagerInput
120
- [kendoGridFocusable]="hasPages"
121
- [spinners]="false"
122
- [decimals]="0"
123
- format="n0"
124
- [disabled]="!hasPages"
125
- [value]="current"
126
- [min]="hasPages ? 1 : 0"
127
- [max]="totalPages"
128
- [size]="size"
129
- [autoCorrect]="true"
130
- [title]="textFor('pagerPageNumberInputTitle')"
131
- [kendoEventsOutsideAngular]="{
132
- keydown: handleKeyDown,
133
- focusout: handleBlur
134
- }"
135
- >
136
- </kendo-numerictextbox>
137
- {{textFor('pagerOf')}} {{totalPages}}
138
- </span>
139
- `,
140
- standalone: true,
141
- imports: [NumericTextBoxComponent, PagerInputDirective, FocusableDirective, EventsOutsideAngularDirective]
142
- }]
143
- }], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i2.PagerContextService }, { type: i0.NgZone }, { type: i3.NavigationService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { numericInput: [{
144
- type: ViewChild,
145
- args: [NumericTextBoxComponent, { static: false }]
146
- }] } });
@@ -1,32 +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 { NumericTextBoxComponent } from '@progress/kendo-angular-inputs';
6
- import { Directive, Renderer2 } from '@angular/core';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@progress/kendo-angular-inputs";
9
- /**
10
- * @hidden
11
- */
12
- export class PagerInputDirective {
13
- host;
14
- renderer;
15
- constructor(host, renderer) {
16
- this.host = host;
17
- this.renderer = renderer;
18
- }
19
- ngAfterViewInit() {
20
- const inputElement = this.host.numericInput.nativeElement;
21
- this.renderer.addClass(inputElement, 'k-pager-nav');
22
- }
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerInputDirective, deps: [{ token: i1.NumericTextBoxComponent }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
24
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PagerInputDirective, isStandalone: true, selector: "[kendoGridPagerInput]", ngImport: i0 });
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerInputDirective, decorators: [{
27
- type: Directive,
28
- args: [{
29
- selector: '[kendoGridPagerInput]',
30
- standalone: true
31
- }]
32
- }], ctorParameters: function () { return [{ type: i1.NumericTextBoxComponent }, { type: i0.Renderer2 }]; } });
@@ -1,115 +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 next and to the last page ([see example](slug:pager_template_grid#toc-using-built-in-pager-components)).
18
- */
19
- export class PagerNextButtonsComponent extends PagerElementComponent {
20
- navigationService;
21
- /**
22
- * @hidden
23
- *
24
- * @readonly
25
- * @type {boolean}
26
- * @memberOf PagerNextButtonsComponent
27
- */
28
- get disabled() {
29
- return this.currentPage === this.totalPages || !this.total;
30
- }
31
- constructor(ctx, pagerContext, cd, navigationService) {
32
- super(ctx, pagerContext, cd);
33
- this.navigationService = navigationService;
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: PagerNextButtonsComponent, 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: PagerNextButtonsComponent, isStandalone: true, selector: "kendo-pager-next-buttons", usesInheritance: true, ngImport: i0, template: `
43
- <button
44
- kendoButton
45
- [kendoGridFocusable]="!disabled"
46
- type="button"
47
- [size]="size"
48
- [icon]="nextArrowIcons[0]"
49
- [svgIcon]="nextArrowSVGIcons[0]"
50
- fillMode="flat"
51
- rounded="none"
52
- class="k-pager-nav"
53
- [disabled]="disabled"
54
- [title]="textFor('pagerNextPage')"
55
- [attr.aria-label]="textFor('pagerNextPage')"
56
- (click)="currentPage !== totalPages ? changePage(currentPage) : false">
57
- </button>
58
- <button
59
- kendoButton
60
- [kendoGridFocusable]="!disabled"
61
- type="button"
62
- [size]="size"
63
- [icon]="nextArrowIcons[1]"
64
- [svgIcon]="nextArrowSVGIcons[1]"
65
- fillMode="flat"
66
- rounded="none"
67
- class="k-pager-nav k-pager-last"
68
- [disabled]="disabled"
69
- [title]="textFor('pagerLastPage')"
70
- [attr.aria-label]="textFor('pagerLastPage')"
71
- (click)="currentPage !== totalPages ? changePage(totalPages-1) : false">
72
- </button>
73
- `, 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 });
74
- }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerNextButtonsComponent, decorators: [{
76
- type: Component,
77
- args: [{
78
- changeDetection: ChangeDetectionStrategy.OnPush,
79
- selector: 'kendo-pager-next-buttons',
80
- template: `
81
- <button
82
- kendoButton
83
- [kendoGridFocusable]="!disabled"
84
- type="button"
85
- [size]="size"
86
- [icon]="nextArrowIcons[0]"
87
- [svgIcon]="nextArrowSVGIcons[0]"
88
- fillMode="flat"
89
- rounded="none"
90
- class="k-pager-nav"
91
- [disabled]="disabled"
92
- [title]="textFor('pagerNextPage')"
93
- [attr.aria-label]="textFor('pagerNextPage')"
94
- (click)="currentPage !== totalPages ? changePage(currentPage) : false">
95
- </button>
96
- <button
97
- kendoButton
98
- [kendoGridFocusable]="!disabled"
99
- type="button"
100
- [size]="size"
101
- [icon]="nextArrowIcons[1]"
102
- [svgIcon]="nextArrowSVGIcons[1]"
103
- fillMode="flat"
104
- rounded="none"
105
- class="k-pager-nav k-pager-last"
106
- [disabled]="disabled"
107
- [title]="textFor('pagerLastPage')"
108
- [attr.aria-label]="textFor('pagerLastPage')"
109
- (click)="currentPage !== totalPages ? changePage(totalPages-1) : false">
110
- </button>
111
- `,
112
- standalone: true,
113
- imports: [ButtonComponent, FocusableDirective]
114
- }]
115
- }], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i2.PagerContextService }, { type: i0.ChangeDetectorRef }, { type: i3.NavigationService }]; } });