@progress/kendo-angular-treelist 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.
- package/directives.d.ts +4 -17
- package/esm2022/directives.mjs +3 -24
- package/esm2022/filtering/cell/row-filtering.module.mjs +3 -2
- package/esm2022/filtering/menu/filter-menu.module.mjs +3 -2
- package/esm2022/filtering/shared-filtering.module.mjs +3 -2
- package/esm2022/index.mjs +0 -9
- package/esm2022/localization/messages.mjs +9 -3
- package/esm2022/navigation/navigation.service.mjs +2 -2
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/rendering/common/spacer.component.mjs +2 -2
- package/esm2022/rendering/header/header.module.mjs +25 -24
- package/esm2022/shared.module.mjs +3 -2
- package/esm2022/treelist.component.mjs +145 -26
- package/esm2022/treelist.module.mjs +73 -79
- package/fesm2022/progress-kendo-angular-treelist.mjs +317 -1617
- package/filtering/cell/row-filtering.module.d.ts +2 -1
- package/filtering/menu/filter-menu.module.d.ts +2 -1
- package/filtering/shared-filtering.module.d.ts +7 -6
- package/index.d.ts +1 -11
- package/localization/messages.d.ts +6 -2
- package/navigation/navigation.service.d.ts +1 -1
- package/package.json +16 -16
- package/rendering/common/spacer.component.d.ts +1 -1
- package/rendering/header/header.module.d.ts +26 -25
- package/schematics/ngAdd/index.js +3 -3
- package/shared.module.d.ts +3 -2
- package/treelist.component.d.ts +3 -2
- package/treelist.module.d.ts +70 -77
- package/constants.d.ts +0 -12
- package/esm2022/constants.mjs +0 -12
- package/esm2022/pager/pager-context.service.mjs +0 -44
- package/esm2022/pager/pager-element.component.mjs +0 -111
- package/esm2022/pager/pager-info.component.mjs +0 -76
- package/esm2022/pager/pager-input.component.mjs +0 -148
- package/esm2022/pager/pager-next-buttons.component.mjs +0 -131
- package/esm2022/pager/pager-numeric-buttons.component.mjs +0 -254
- package/esm2022/pager/pager-page-sizes.component.mjs +0 -141
- package/esm2022/pager/pager-prev-buttons.component.mjs +0 -127
- package/esm2022/pager/pager-template.directive.mjs +0 -49
- package/esm2022/pager/pager.component.mjs +0 -429
- package/esm2022/pager/pager.module.mjs +0 -43
- package/esm2022/pager/pagesize-item.interface.mjs +0 -5
- package/pager/pager-context.service.d.ts +0 -32
- package/pager/pager-element.component.d.ts +0 -74
- package/pager/pager-info.component.d.ts +0 -43
- package/pager/pager-input.component.d.ts +0 -45
- package/pager/pager-next-buttons.component.d.ts +0 -36
- package/pager/pager-numeric-buttons.component.d.ts +0 -52
- package/pager/pager-page-sizes.component.d.ts +0 -48
- package/pager/pager-prev-buttons.component.d.ts +0 -32
- package/pager/pager-template.directive.d.ts +0 -38
- package/pager/pager.component.d.ts +0 -73
- package/pager/pager.module.d.ts +0 -27
- package/pager/pagesize-item.interface.d.ts +0 -14
- /package/{pager → common}/pager-settings.d.ts +0 -0
- /package/esm2022/{pager → common}/pager-settings.mjs +0 -0
@@ -1,131 +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, ChangeDetectionStrategy, ChangeDetectorRef, Input } from '@angular/core';
|
7
|
-
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
8
|
-
import { ButtonComponent } from '@progress/kendo-angular-buttons';
|
9
|
-
import { PagerContextService } from "./pager-context.service";
|
10
|
-
import { PagerElementComponent } from './pager-element.component';
|
11
|
-
import { NavigationService } from '../navigation/navigation.service';
|
12
|
-
import { FocusableDirective } from '../navigation/focusable.directive';
|
13
|
-
import * as i0 from "@angular/core";
|
14
|
-
import * as i1 from "@progress/kendo-angular-l10n";
|
15
|
-
import * as i2 from "./pager-context.service";
|
16
|
-
import * as i3 from "../navigation/navigation.service";
|
17
|
-
/**
|
18
|
-
* Displays buttons for navigating to the next and to the last page ([see example](slug:pager_template_treelist)).
|
19
|
-
*/
|
20
|
-
export class PagerNextButtonsComponent extends PagerElementComponent {
|
21
|
-
navigationService;
|
22
|
-
/**
|
23
|
-
* @hidden
|
24
|
-
*
|
25
|
-
* @readonly
|
26
|
-
* @type {boolean}
|
27
|
-
* @memberOf PagerNextButtonsComponent
|
28
|
-
*/
|
29
|
-
get disabled() {
|
30
|
-
return this.currentPage === this.totalPages || !this.total;
|
31
|
-
}
|
32
|
-
/**
|
33
|
-
* @hidden
|
34
|
-
*/
|
35
|
-
navigable;
|
36
|
-
constructor(localization, pagerContext, cd, navigationService) {
|
37
|
-
super(localization, pagerContext, cd);
|
38
|
-
this.navigationService = navigationService;
|
39
|
-
}
|
40
|
-
/**
|
41
|
-
* @hidden
|
42
|
-
*/
|
43
|
-
onButtonClick(buttonName) {
|
44
|
-
if (this.currentPage !== this.totalPages) {
|
45
|
-
const skipToPage = buttonName === 'nextPage' ? this.currentPage : this.totalPages - 1;
|
46
|
-
this.changePage(skipToPage);
|
47
|
-
}
|
48
|
-
}
|
49
|
-
onChanges({ total, skip, pageSize }) {
|
50
|
-
this.total = total;
|
51
|
-
this.skip = skip;
|
52
|
-
this.pageSize = pageSize;
|
53
|
-
this.cd.markForCheck();
|
54
|
-
}
|
55
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerNextButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PagerContextService }, { token: i0.ChangeDetectorRef }, { token: i3.NavigationService }], target: i0.ɵɵFactoryTarget.Component });
|
56
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PagerNextButtonsComponent, isStandalone: true, selector: "kendo-treelist-pager-next-buttons", inputs: { navigable: "navigable" }, usesInheritance: true, ngImport: i0, template: `
|
57
|
-
<button
|
58
|
-
kendoButton
|
59
|
-
type="button"
|
60
|
-
kendoTreeListFocusable
|
61
|
-
[enabled]="!disabled"
|
62
|
-
[icon]="nextArrowIcons[0]"
|
63
|
-
[svgIcon]="nextArrowSVGIcons[0]"
|
64
|
-
fillMode="flat"
|
65
|
-
rounded="none"
|
66
|
-
class="k-pager-nav"
|
67
|
-
[disabled]="disabled"
|
68
|
-
[title]="textFor('pagerNextPage')"
|
69
|
-
[attr.aria-label]="textFor('pagerNextPage')"
|
70
|
-
(click)="onButtonClick('nextPage')">
|
71
|
-
</button>
|
72
|
-
<button
|
73
|
-
kendoButton
|
74
|
-
type="button"
|
75
|
-
kendoTreeListFocusable
|
76
|
-
[enabled]="!disabled"
|
77
|
-
[icon]="nextArrowIcons[1]"
|
78
|
-
[svgIcon]="nextArrowSVGIcons[1]"
|
79
|
-
fillMode="flat"
|
80
|
-
rounded="none"
|
81
|
-
class="k-pager-nav k-pager-last"
|
82
|
-
[disabled]="disabled"
|
83
|
-
[title]="textFor('pagerLastPage')"
|
84
|
-
[attr.aria-label]="textFor('pagerLastPage')"
|
85
|
-
(click)="onButtonClick('lastPage')">
|
86
|
-
</button>
|
87
|
-
`, 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: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
88
|
-
}
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerNextButtonsComponent, decorators: [{
|
90
|
-
type: Component,
|
91
|
-
args: [{
|
92
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
93
|
-
selector: 'kendo-treelist-pager-next-buttons',
|
94
|
-
template: `
|
95
|
-
<button
|
96
|
-
kendoButton
|
97
|
-
type="button"
|
98
|
-
kendoTreeListFocusable
|
99
|
-
[enabled]="!disabled"
|
100
|
-
[icon]="nextArrowIcons[0]"
|
101
|
-
[svgIcon]="nextArrowSVGIcons[0]"
|
102
|
-
fillMode="flat"
|
103
|
-
rounded="none"
|
104
|
-
class="k-pager-nav"
|
105
|
-
[disabled]="disabled"
|
106
|
-
[title]="textFor('pagerNextPage')"
|
107
|
-
[attr.aria-label]="textFor('pagerNextPage')"
|
108
|
-
(click)="onButtonClick('nextPage')">
|
109
|
-
</button>
|
110
|
-
<button
|
111
|
-
kendoButton
|
112
|
-
type="button"
|
113
|
-
kendoTreeListFocusable
|
114
|
-
[enabled]="!disabled"
|
115
|
-
[icon]="nextArrowIcons[1]"
|
116
|
-
[svgIcon]="nextArrowSVGIcons[1]"
|
117
|
-
fillMode="flat"
|
118
|
-
rounded="none"
|
119
|
-
class="k-pager-nav k-pager-last"
|
120
|
-
[disabled]="disabled"
|
121
|
-
[title]="textFor('pagerLastPage')"
|
122
|
-
[attr.aria-label]="textFor('pagerLastPage')"
|
123
|
-
(click)="onButtonClick('lastPage')">
|
124
|
-
</button>
|
125
|
-
`,
|
126
|
-
standalone: true,
|
127
|
-
imports: [ButtonComponent, FocusableDirective]
|
128
|
-
}]
|
129
|
-
}], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.PagerContextService }, { type: i0.ChangeDetectorRef }, { type: i3.NavigationService }]; }, propDecorators: { navigable: [{
|
130
|
-
type: Input
|
131
|
-
}] } });
|
@@ -1,254 +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 @typescript-eslint/no-inferrable-types */
|
6
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from '@angular/core';
|
7
|
-
import { NgIf, NgFor, NgClass } from '@angular/common';
|
8
|
-
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
9
|
-
import { ButtonComponent } from '@progress/kendo-angular-buttons';
|
10
|
-
import { PagerContextService } from './pager-context.service';
|
11
|
-
import { PagerElementComponent } from './pager-element.component';
|
12
|
-
import { FocusableDirective } from '../navigation/focusable.directive';
|
13
|
-
import * as i0 from "@angular/core";
|
14
|
-
import * as i1 from "@progress/kendo-angular-l10n";
|
15
|
-
import * as i2 from "./pager-context.service";
|
16
|
-
/**
|
17
|
-
* Displays numeric buttons to enable navigation between the pages ([see example](slug:pager_template_treelist)).
|
18
|
-
*/
|
19
|
-
export class PagerNumericButtonsComponent extends PagerElementComponent {
|
20
|
-
pagerContext;
|
21
|
-
selectElement;
|
22
|
-
numbersElement;
|
23
|
-
/**
|
24
|
-
* The count of the displayed buttons.
|
25
|
-
*
|
26
|
-
* @type {number}
|
27
|
-
* @memberOf PagerNumericButtonsComponent
|
28
|
-
*/
|
29
|
-
buttonCount;
|
30
|
-
/**
|
31
|
-
* @hidden
|
32
|
-
*
|
33
|
-
* @readonly
|
34
|
-
* @type {number[]}
|
35
|
-
* @memberOf PagerNumericButtonsComponent
|
36
|
-
*/
|
37
|
-
get buttons() {
|
38
|
-
const result = [];
|
39
|
-
for (let idx = this.start; idx <= this.end; idx++) {
|
40
|
-
result.push(idx);
|
41
|
-
}
|
42
|
-
return result;
|
43
|
-
}
|
44
|
-
/**
|
45
|
-
* @hidden
|
46
|
-
*/
|
47
|
-
get end() {
|
48
|
-
return Math.min((this.start + this.buttonCount) - 1, this.totalPages);
|
49
|
-
}
|
50
|
-
/**
|
51
|
-
* @hidden
|
52
|
-
*/
|
53
|
-
get start() {
|
54
|
-
const page = this.currentPage;
|
55
|
-
const buttonCount = this.buttonCount;
|
56
|
-
if (page > buttonCount) {
|
57
|
-
const reminder = (page % buttonCount);
|
58
|
-
return (reminder === 0) ? (page - buttonCount) + 1 : (page - reminder) + 1;
|
59
|
-
}
|
60
|
-
return 1;
|
61
|
-
}
|
62
|
-
constructor(localization, cd, pagerContext) {
|
63
|
-
super(localization, pagerContext, cd);
|
64
|
-
this.pagerContext = pagerContext;
|
65
|
-
}
|
66
|
-
/**
|
67
|
-
* @hidden
|
68
|
-
*/
|
69
|
-
pageLabel(num) {
|
70
|
-
const pageText = this.textFor('pagerPage');
|
71
|
-
if (pageText) {
|
72
|
-
return pageText + ' ' + num;
|
73
|
-
}
|
74
|
-
return num.toString();
|
75
|
-
}
|
76
|
-
/**
|
77
|
-
* @hidden
|
78
|
-
*/
|
79
|
-
onSelectChange(e) {
|
80
|
-
const target = e.target;
|
81
|
-
const valueAsNumber = Number(target.value);
|
82
|
-
if (!Number.isNaN(valueAsNumber)) {
|
83
|
-
this.changePage(valueAsNumber - 1);
|
84
|
-
}
|
85
|
-
else {
|
86
|
-
if (target.value === 'previousButtons') {
|
87
|
-
this.changePage(this.start - 2);
|
88
|
-
}
|
89
|
-
else {
|
90
|
-
this.changePage(this.end);
|
91
|
-
}
|
92
|
-
}
|
93
|
-
}
|
94
|
-
onChanges({ total, skip, pageSize }) {
|
95
|
-
this.total = total;
|
96
|
-
this.skip = skip;
|
97
|
-
this.pageSize = pageSize;
|
98
|
-
this.cd.markForCheck();
|
99
|
-
}
|
100
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerNumericButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
|
101
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PagerNumericButtonsComponent, isStandalone: true, selector: "kendo-treelist-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: `
|
102
|
-
<select
|
103
|
-
class="k-dropdown-list k-dropdown k-picker k-picker-solid k-picker-md k-rounded-md"
|
104
|
-
kendoTreeListFocusable
|
105
|
-
[style.display]="'none'"
|
106
|
-
#select
|
107
|
-
[attr.title]="textFor('selectPage')"
|
108
|
-
[attr.aria-label]="textFor('selectPage')"
|
109
|
-
(change)="onSelectChange($event)">
|
110
|
-
<option *ngIf="start > 1"
|
111
|
-
value="previousButtons"
|
112
|
-
[selected]="false"
|
113
|
-
[attr.aria-label]="pageLabel(start - 1)">...
|
114
|
-
</option>
|
115
|
-
<option *ngFor="let num of buttons"
|
116
|
-
[value]="num.toString()"
|
117
|
-
[selected]="num === currentPage"
|
118
|
-
[attr.aria-label]="pageLabel(num)"
|
119
|
-
[attr.aria-current]="currentPage === num ? 'page' : undefined"
|
120
|
-
[ngClass]="{'k-selected':currentPage === num}">
|
121
|
-
{{num}}
|
122
|
-
</option>
|
123
|
-
<option *ngIf="end < totalPages"
|
124
|
-
value="nextButtons"
|
125
|
-
[selected]="false"
|
126
|
-
[attr.aria-label]="pageLabel(end + 1)">...
|
127
|
-
</option>
|
128
|
-
</select>
|
129
|
-
<div class="k-pager-numbers" #numbers>
|
130
|
-
<button *ngIf="start > 1"
|
131
|
-
type="button"
|
132
|
-
kendoTreeListFocusable
|
133
|
-
kendoButton
|
134
|
-
fillMode="flat"
|
135
|
-
themeColor="primary"
|
136
|
-
class="k-pager-nav"
|
137
|
-
rounded="none"
|
138
|
-
[attr.aria-label]="pageLabel(start - 1)"
|
139
|
-
[attr.title]="pageLabel(start - 1)"
|
140
|
-
(click)="changePage(start - 2)">...</button>
|
141
|
-
<button *ngFor="let num of buttons"
|
142
|
-
type="button"
|
143
|
-
kendoTreeListFocusable
|
144
|
-
kendoButton
|
145
|
-
fillMode="flat"
|
146
|
-
themeColor="primary"
|
147
|
-
class="k-pager-nav"
|
148
|
-
rounded="none"
|
149
|
-
[attr.aria-label]="pageLabel(num)"
|
150
|
-
[attr.title]="pageLabel(num)"
|
151
|
-
[attr.aria-current]="currentPage === num ? 'page' : undefined"
|
152
|
-
[selected]="currentPage === num"
|
153
|
-
(click)="changePage(num - 1)">
|
154
|
-
{{num}}
|
155
|
-
</button>
|
156
|
-
<button *ngIf="end < totalPages"
|
157
|
-
type="button"
|
158
|
-
kendoTreeListFocusable
|
159
|
-
kendoButton
|
160
|
-
class="k-pager-nav"
|
161
|
-
fillMode="flat"
|
162
|
-
themeColor="primary"
|
163
|
-
rounded="none"
|
164
|
-
[attr.aria-label]="pageLabel(end + 1)"
|
165
|
-
[attr.title]="pageLabel(end + 1)"
|
166
|
-
(click)="changePage(end)">...</button>
|
167
|
-
</div>
|
168
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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 });
|
169
|
-
}
|
170
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerNumericButtonsComponent, decorators: [{
|
171
|
-
type: Component,
|
172
|
-
args: [{
|
173
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
174
|
-
selector: 'kendo-treelist-pager-numeric-buttons',
|
175
|
-
template: `
|
176
|
-
<select
|
177
|
-
class="k-dropdown-list k-dropdown k-picker k-picker-solid k-picker-md k-rounded-md"
|
178
|
-
kendoTreeListFocusable
|
179
|
-
[style.display]="'none'"
|
180
|
-
#select
|
181
|
-
[attr.title]="textFor('selectPage')"
|
182
|
-
[attr.aria-label]="textFor('selectPage')"
|
183
|
-
(change)="onSelectChange($event)">
|
184
|
-
<option *ngIf="start > 1"
|
185
|
-
value="previousButtons"
|
186
|
-
[selected]="false"
|
187
|
-
[attr.aria-label]="pageLabel(start - 1)">...
|
188
|
-
</option>
|
189
|
-
<option *ngFor="let num of buttons"
|
190
|
-
[value]="num.toString()"
|
191
|
-
[selected]="num === currentPage"
|
192
|
-
[attr.aria-label]="pageLabel(num)"
|
193
|
-
[attr.aria-current]="currentPage === num ? 'page' : undefined"
|
194
|
-
[ngClass]="{'k-selected':currentPage === num}">
|
195
|
-
{{num}}
|
196
|
-
</option>
|
197
|
-
<option *ngIf="end < totalPages"
|
198
|
-
value="nextButtons"
|
199
|
-
[selected]="false"
|
200
|
-
[attr.aria-label]="pageLabel(end + 1)">...
|
201
|
-
</option>
|
202
|
-
</select>
|
203
|
-
<div class="k-pager-numbers" #numbers>
|
204
|
-
<button *ngIf="start > 1"
|
205
|
-
type="button"
|
206
|
-
kendoTreeListFocusable
|
207
|
-
kendoButton
|
208
|
-
fillMode="flat"
|
209
|
-
themeColor="primary"
|
210
|
-
class="k-pager-nav"
|
211
|
-
rounded="none"
|
212
|
-
[attr.aria-label]="pageLabel(start - 1)"
|
213
|
-
[attr.title]="pageLabel(start - 1)"
|
214
|
-
(click)="changePage(start - 2)">...</button>
|
215
|
-
<button *ngFor="let num of buttons"
|
216
|
-
type="button"
|
217
|
-
kendoTreeListFocusable
|
218
|
-
kendoButton
|
219
|
-
fillMode="flat"
|
220
|
-
themeColor="primary"
|
221
|
-
class="k-pager-nav"
|
222
|
-
rounded="none"
|
223
|
-
[attr.aria-label]="pageLabel(num)"
|
224
|
-
[attr.title]="pageLabel(num)"
|
225
|
-
[attr.aria-current]="currentPage === num ? 'page' : undefined"
|
226
|
-
[selected]="currentPage === num"
|
227
|
-
(click)="changePage(num - 1)">
|
228
|
-
{{num}}
|
229
|
-
</button>
|
230
|
-
<button *ngIf="end < totalPages"
|
231
|
-
type="button"
|
232
|
-
kendoTreeListFocusable
|
233
|
-
kendoButton
|
234
|
-
class="k-pager-nav"
|
235
|
-
fillMode="flat"
|
236
|
-
themeColor="primary"
|
237
|
-
rounded="none"
|
238
|
-
[attr.aria-label]="pageLabel(end + 1)"
|
239
|
-
[attr.title]="pageLabel(end + 1)"
|
240
|
-
(click)="changePage(end)">...</button>
|
241
|
-
</div>
|
242
|
-
`,
|
243
|
-
standalone: true,
|
244
|
-
imports: [FocusableDirective, NgIf, NgFor, NgClass, ButtonComponent]
|
245
|
-
}]
|
246
|
-
}], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }]; }, propDecorators: { selectElement: [{
|
247
|
-
type: ViewChild,
|
248
|
-
args: ['select', { read: ElementRef }]
|
249
|
-
}], numbersElement: [{
|
250
|
-
type: ViewChild,
|
251
|
-
args: ['numbers', { read: ElementRef }]
|
252
|
-
}], buttonCount: [{
|
253
|
-
type: Input
|
254
|
-
}] } });
|
@@ -1,141 +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, Input, ElementRef } from '@angular/core';
|
7
|
-
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
8
|
-
import { LabelComponent } from '@progress/kendo-angular-label';
|
9
|
-
import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
|
10
|
-
import { PagerElementComponent } from './pager-element.component';
|
11
|
-
import { PagerContextService } from "./pager-context.service";
|
12
|
-
import { FocusableDirective } from '../navigation/focusable.directive';
|
13
|
-
import * as i0 from "@angular/core";
|
14
|
-
import * as i1 from "@progress/kendo-angular-l10n";
|
15
|
-
import * as i2 from "./pager-context.service";
|
16
|
-
/**
|
17
|
-
* Displays a drop-down list for the page size selection ([see example](slug:pager_template_treelist)).
|
18
|
-
*/
|
19
|
-
export class PagerPageSizesComponent extends PagerElementComponent {
|
20
|
-
elem;
|
21
|
-
pagerContext;
|
22
|
-
/**
|
23
|
-
* The page sizes collection. Can be an Array of numbers and/or PageSizeItem objects.
|
24
|
-
* [More information and example]({% slug api_treelist_pagerpagesizescomponent %})
|
25
|
-
*/
|
26
|
-
set pageSizes(pageSizes) {
|
27
|
-
let normalizedItems = [];
|
28
|
-
pageSizes.forEach(item => {
|
29
|
-
if (typeof item === 'number') {
|
30
|
-
normalizedItems.push({
|
31
|
-
text: item.toString(),
|
32
|
-
value: item
|
33
|
-
});
|
34
|
-
}
|
35
|
-
else {
|
36
|
-
normalizedItems.push(item);
|
37
|
-
}
|
38
|
-
});
|
39
|
-
if (this.pageSize && !normalizedItems.some(item => item.value === this.pageSize)) {
|
40
|
-
normalizedItems = [{ text: this.pageSize.toString(), value: this.pageSize }, ...normalizedItems];
|
41
|
-
}
|
42
|
-
this._pageSizes = normalizedItems;
|
43
|
-
}
|
44
|
-
get pageSizes() {
|
45
|
-
return this._pageSizes;
|
46
|
-
}
|
47
|
-
/**
|
48
|
-
* @hidden
|
49
|
-
*
|
50
|
-
* @readonly
|
51
|
-
*/
|
52
|
-
get classes() {
|
53
|
-
return true;
|
54
|
-
}
|
55
|
-
/**
|
56
|
-
* @hidden
|
57
|
-
*
|
58
|
-
* @readonly
|
59
|
-
*/
|
60
|
-
get showInitialPageSize() {
|
61
|
-
return this.pageSizes
|
62
|
-
.filter(item => {
|
63
|
-
if (typeof item.value === 'number') {
|
64
|
-
return item.value === Number(this.pageSize);
|
65
|
-
}
|
66
|
-
return this.total === Number(this.pageSize);
|
67
|
-
})
|
68
|
-
.length === 0;
|
69
|
-
}
|
70
|
-
_pageSizes = [];
|
71
|
-
constructor(elem, localization, cd, pagerContext) {
|
72
|
-
super(localization, pagerContext, cd);
|
73
|
-
this.elem = elem;
|
74
|
-
this.pagerContext = pagerContext;
|
75
|
-
}
|
76
|
-
/**
|
77
|
-
* @hidden
|
78
|
-
*/
|
79
|
-
pageSizeChange(value) {
|
80
|
-
this.pageSize = typeof value === 'number' ? value : this.total;
|
81
|
-
this.pagerContext.changePageSize(this.pageSize);
|
82
|
-
}
|
83
|
-
/**
|
84
|
-
* @hidden
|
85
|
-
*/
|
86
|
-
getValue(page) {
|
87
|
-
return typeof page.value === 'number' ? page.value : this.total;
|
88
|
-
}
|
89
|
-
onChanges({ total, skip, pageSize }) {
|
90
|
-
this.total = total;
|
91
|
-
this.skip = skip;
|
92
|
-
this.pageSize = typeof pageSize === 'number' ? pageSize : this.total;
|
93
|
-
this.cd.markForCheck();
|
94
|
-
}
|
95
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerPageSizesComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
|
96
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PagerPageSizesComponent, isStandalone: true, selector: "kendo-treelist-pager-page-sizes", inputs: { pageSizes: "pageSizes" }, host: { properties: { "class.k-pager-sizes": "this.classes", "class.k-label": "this.classes" } }, usesInheritance: true, ngImport: i0, template: `
|
97
|
-
<kendo-dropdownlist
|
98
|
-
#dropdownlist
|
99
|
-
class="k-dropdown"
|
100
|
-
[data]="pageSizes"
|
101
|
-
textField="text"
|
102
|
-
valueField="value"
|
103
|
-
kendoTreeListFocusable
|
104
|
-
[valuePrimitive]="true"
|
105
|
-
[value]="pageSize"
|
106
|
-
[attr.aria-label]="textFor('pagerItemsPerPage')"
|
107
|
-
(valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
|
108
|
-
<kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
|
109
|
-
`, 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: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
110
|
-
}
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
|
112
|
-
type: Component,
|
113
|
-
args: [{
|
114
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
115
|
-
selector: 'kendo-treelist-pager-page-sizes',
|
116
|
-
template: `
|
117
|
-
<kendo-dropdownlist
|
118
|
-
#dropdownlist
|
119
|
-
class="k-dropdown"
|
120
|
-
[data]="pageSizes"
|
121
|
-
textField="text"
|
122
|
-
valueField="value"
|
123
|
-
kendoTreeListFocusable
|
124
|
-
[valuePrimitive]="true"
|
125
|
-
[value]="pageSize"
|
126
|
-
[attr.aria-label]="textFor('pagerItemsPerPage')"
|
127
|
-
(valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
|
128
|
-
<kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
|
129
|
-
`,
|
130
|
-
standalone: true,
|
131
|
-
imports: [DropDownListComponent, FocusableDirective, LabelComponent]
|
132
|
-
}]
|
133
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }]; }, propDecorators: { pageSizes: [{
|
134
|
-
type: Input
|
135
|
-
}], classes: [{
|
136
|
-
type: HostBinding,
|
137
|
-
args: ["class.k-pager-sizes"]
|
138
|
-
}, {
|
139
|
-
type: HostBinding,
|
140
|
-
args: ["class.k-label"]
|
141
|
-
}] } });
|
@@ -1,127 +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, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
|
7
|
-
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
8
|
-
import { ButtonComponent } from '@progress/kendo-angular-buttons';
|
9
|
-
import { PagerContextService } from "./pager-context.service";
|
10
|
-
import { PagerElementComponent } from './pager-element.component';
|
11
|
-
import { NavigationService } from '../navigation/navigation.service';
|
12
|
-
import { FocusableDirective } from '../navigation/focusable.directive';
|
13
|
-
import * as i0 from "@angular/core";
|
14
|
-
import * as i1 from "@progress/kendo-angular-l10n";
|
15
|
-
import * as i2 from "./pager-context.service";
|
16
|
-
import * as i3 from "../navigation/navigation.service";
|
17
|
-
/**
|
18
|
-
* Displays buttons for navigating to the first and to the previous page ([see example](slug:pager_template_treelist)).
|
19
|
-
*/
|
20
|
-
export class PagerPrevButtonsComponent extends PagerElementComponent {
|
21
|
-
navigationService;
|
22
|
-
constructor(localization, pagerContext, cd, navigationService) {
|
23
|
-
super(localization, pagerContext, cd);
|
24
|
-
this.navigationService = navigationService;
|
25
|
-
}
|
26
|
-
/**
|
27
|
-
* @hidden
|
28
|
-
*
|
29
|
-
* @readonly
|
30
|
-
* @type {boolean}
|
31
|
-
* @memberOf PagerPrevButtonsComponent
|
32
|
-
*/
|
33
|
-
get disabled() {
|
34
|
-
return this.currentPage === 1 || !this.total;
|
35
|
-
}
|
36
|
-
/**
|
37
|
-
* @hidden
|
38
|
-
*/
|
39
|
-
onButtonClick(buttonName) {
|
40
|
-
if (this.currentPage !== 1) {
|
41
|
-
const skipToPage = buttonName === 'prevPage' ? this.currentPage - 2 : 0;
|
42
|
-
this.changePage(skipToPage);
|
43
|
-
}
|
44
|
-
}
|
45
|
-
onChanges({ total, skip, pageSize }) {
|
46
|
-
this.total = total;
|
47
|
-
this.skip = skip;
|
48
|
-
this.pageSize = pageSize;
|
49
|
-
this.cd.markForCheck();
|
50
|
-
}
|
51
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerPrevButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PagerContextService }, { token: i0.ChangeDetectorRef }, { token: i3.NavigationService }], target: i0.ɵɵFactoryTarget.Component });
|
52
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PagerPrevButtonsComponent, isStandalone: true, selector: "kendo-treelist-pager-prev-buttons", usesInheritance: true, ngImport: i0, template: `
|
53
|
-
<button
|
54
|
-
kendoButton
|
55
|
-
type="button"
|
56
|
-
kendoTreeListFocusable
|
57
|
-
[enabled]="!disabled"
|
58
|
-
[title]="textFor('pagerFirstPage')"
|
59
|
-
[attr.aria-label]="textFor('pagerFirstPage')"
|
60
|
-
(click)="onButtonClick('firstPage')"
|
61
|
-
role="button"
|
62
|
-
[icon]="prevArrowIcons[0]"
|
63
|
-
[svgIcon]="prevArrowSVGIcons[0]"
|
64
|
-
class="k-pager-nav k-pager-first"
|
65
|
-
[disabled]="disabled"
|
66
|
-
fillMode="flat"
|
67
|
-
rounded="none">
|
68
|
-
</button>
|
69
|
-
<button
|
70
|
-
kendoButton
|
71
|
-
type="button"
|
72
|
-
kendoTreeListFocusable
|
73
|
-
[enabled]="!disabled"
|
74
|
-
class="k-pager-nav"
|
75
|
-
[disabled]="disabled"
|
76
|
-
[icon]="prevArrowIcons[1]"
|
77
|
-
[svgIcon]="prevArrowSVGIcons[1]"
|
78
|
-
fillMode="flat"
|
79
|
-
rounded="none"
|
80
|
-
[title]="textFor('pagerPreviousPage')"
|
81
|
-
[attr.aria-label]="textFor('pagerPreviousPage')"
|
82
|
-
(click)="onButtonClick('prevPage')">
|
83
|
-
</button>
|
84
|
-
`, 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: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
85
|
-
}
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PagerPrevButtonsComponent, decorators: [{
|
87
|
-
type: Component,
|
88
|
-
args: [{
|
89
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
90
|
-
selector: 'kendo-treelist-pager-prev-buttons',
|
91
|
-
template: `
|
92
|
-
<button
|
93
|
-
kendoButton
|
94
|
-
type="button"
|
95
|
-
kendoTreeListFocusable
|
96
|
-
[enabled]="!disabled"
|
97
|
-
[title]="textFor('pagerFirstPage')"
|
98
|
-
[attr.aria-label]="textFor('pagerFirstPage')"
|
99
|
-
(click)="onButtonClick('firstPage')"
|
100
|
-
role="button"
|
101
|
-
[icon]="prevArrowIcons[0]"
|
102
|
-
[svgIcon]="prevArrowSVGIcons[0]"
|
103
|
-
class="k-pager-nav k-pager-first"
|
104
|
-
[disabled]="disabled"
|
105
|
-
fillMode="flat"
|
106
|
-
rounded="none">
|
107
|
-
</button>
|
108
|
-
<button
|
109
|
-
kendoButton
|
110
|
-
type="button"
|
111
|
-
kendoTreeListFocusable
|
112
|
-
[enabled]="!disabled"
|
113
|
-
class="k-pager-nav"
|
114
|
-
[disabled]="disabled"
|
115
|
-
[icon]="prevArrowIcons[1]"
|
116
|
-
[svgIcon]="prevArrowSVGIcons[1]"
|
117
|
-
fillMode="flat"
|
118
|
-
rounded="none"
|
119
|
-
[title]="textFor('pagerPreviousPage')"
|
120
|
-
[attr.aria-label]="textFor('pagerPreviousPage')"
|
121
|
-
(click)="onButtonClick('prevPage')">
|
122
|
-
</button>
|
123
|
-
`,
|
124
|
-
standalone: true,
|
125
|
-
imports: [ButtonComponent, FocusableDirective]
|
126
|
-
}]
|
127
|
-
}], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.PagerContextService }, { type: i0.ChangeDetectorRef }, { type: i3.NavigationService }]; } });
|