@progress/kendo-angular-treelist 13.4.0-develop.3 → 13.4.0-develop.5

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.
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-treelist',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1692370860,
13
- version: '13.4.0-develop.3',
12
+ publishDate: 1692699737,
13
+ version: '13.4.0-develop.5',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /* eslint-disable @typescript-eslint/no-inferrable-types */
6
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input } from '@angular/core';
6
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from '@angular/core';
7
7
  import { LocalizationService } from '@progress/kendo-angular-l10n';
8
8
  import { PagerContextService } from './pager-context.service';
9
9
  import { PagerElementComponent } from './pager-element.component';
@@ -20,7 +20,6 @@ export class PagerNumericButtonsComponent extends PagerElementComponent {
20
20
  constructor(localization, cd, pagerContext) {
21
21
  super(localization, pagerContext, cd);
22
22
  this.pagerContext = pagerContext;
23
- this.numbersWrapClass = true;
24
23
  }
25
24
  /**
26
25
  * @hidden
@@ -90,10 +89,12 @@ export class PagerNumericButtonsComponent extends PagerElementComponent {
90
89
  }
91
90
  }
92
91
  PagerNumericButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerNumericButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
93
- PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerNumericButtonsComponent, selector: "kendo-treelist-pager-numeric-buttons", inputs: { buttonCount: "buttonCount" }, host: { properties: { "class.k-pager-numbers-wrap": "this.numbersWrapClass" } }, usesInheritance: true, ngImport: i0, template: `
92
+ PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerNumericButtonsComponent, 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: `
94
93
  <select
95
94
  class="k-dropdown-list k-dropdown k-picker k-picker-solid k-picker-md k-rounded-md"
96
95
  kendoTreeListFocusable
96
+ [style.display]="'none'"
97
+ #select
97
98
  [attr.title]="textFor('selectPage')"
98
99
  [attr.aria-label]="textFor('selectPage')"
99
100
  (change)="onSelectChange($event)">
@@ -116,7 +117,7 @@ PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
116
117
  [attr.aria-label]="pageLabel(end + 1)">...
117
118
  </option>
118
119
  </select>
119
- <div class="k-pager-numbers">
120
+ <div class="k-pager-numbers" #numbers>
120
121
  <button *ngIf="start > 1"
121
122
  type="button"
122
123
  kendoTreeListFocusable
@@ -165,6 +166,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
165
166
  <select
166
167
  class="k-dropdown-list k-dropdown k-picker k-picker-solid k-picker-md k-rounded-md"
167
168
  kendoTreeListFocusable
169
+ [style.display]="'none'"
170
+ #select
168
171
  [attr.title]="textFor('selectPage')"
169
172
  [attr.aria-label]="textFor('selectPage')"
170
173
  (change)="onSelectChange($event)">
@@ -187,7 +190,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
187
190
  [attr.aria-label]="pageLabel(end + 1)">...
188
191
  </option>
189
192
  </select>
190
- <div class="k-pager-numbers">
193
+ <div class="k-pager-numbers" #numbers>
191
194
  <button *ngIf="start > 1"
192
195
  type="button"
193
196
  kendoTreeListFocusable
@@ -228,9 +231,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
228
231
  </div>
229
232
  `
230
233
  }]
231
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }]; }, propDecorators: { numbersWrapClass: [{
232
- type: HostBinding,
233
- args: ['class.k-pager-numbers-wrap']
234
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }]; }, propDecorators: { selectElement: [{
235
+ type: ViewChild,
236
+ args: ['select', { read: ElementRef }]
237
+ }], numbersElement: [{
238
+ type: ViewChild,
239
+ args: ['numbers', { read: ElementRef }]
234
240
  }], buttonCount: [{
235
241
  type: Input
236
242
  }] } });
@@ -16,6 +16,9 @@ import { FOCUS_ROOT_ACTIVE, FocusRoot } from '../navigation/focus-root';
16
16
  import { NavigationService } from '../navigation/navigation.service';
17
17
  import { FocusGroup } from '../navigation/focus-group';
18
18
  import { findFocusableChild, findLastFocusableChild } from '../rendering/common/dom-queries';
19
+ import { PagerInfoComponent } from './pager-info.component';
20
+ import { PagerPageSizesComponent } from './pager-page-sizes.component';
21
+ import { PagerNumericButtonsComponent } from './pager-numeric-buttons.component';
19
22
  import * as i0 from "@angular/core";
20
23
  import * as i1 from "../navigation/navigation.service";
21
24
  import * as i2 from "@progress/kendo-angular-l10n";
@@ -61,18 +64,33 @@ export class PagerComponent {
61
64
  if (this.template || !element) {
62
65
  return;
63
66
  }
64
- const width = element.offsetWidth;
65
- if (width < RESPONSIVE_BREAKPOINT_MEDIUM) {
66
- this.renderer.removeClass(element, 'k-pager-mobile-md');
67
- this.renderer.addClass(element, 'k-pager-mobile-sm');
68
- }
69
- else if (width >= RESPONSIVE_BREAKPOINT_MEDIUM && width < RESPONSIVE_BREAKPOINT_LARGE) {
70
- this.renderer.addClass(element, 'k-pager-mobile-md');
71
- this.renderer.removeClass(element, 'k-pager-mobile-sm');
72
- }
73
- else {
74
- this.clearResponsiveClasses();
75
- }
67
+ this.zone.runOutsideAngular(() => {
68
+ setTimeout(() => {
69
+ const width = element.offsetWidth;
70
+ if (this.numericButtons) {
71
+ const selectElement = this.numericButtons.selectElement.nativeElement;
72
+ const numbersElement = this.numericButtons.numbersElement.nativeElement;
73
+ this.renderer.removeStyle(numbersElement, 'display');
74
+ this.renderer.setStyle(selectElement, 'display', 'none');
75
+ if (width < RESPONSIVE_BREAKPOINT_MEDIUM) {
76
+ this.renderer.removeStyle(selectElement, 'display');
77
+ this.renderer.setStyle(numbersElement, 'display', 'none');
78
+ }
79
+ }
80
+ if (this.pagerInfo) {
81
+ this.renderer.removeStyle(this.pagerInfo.nativeElement, 'display');
82
+ if (width < RESPONSIVE_BREAKPOINT_LARGE) {
83
+ this.renderer.setStyle(this.pagerInfo.nativeElement, 'display', 'none');
84
+ }
85
+ }
86
+ if (this.pagerPageSizes) {
87
+ this.renderer.removeStyle(this.pagerPageSizes.nativeElement, 'display');
88
+ if (width < RESPONSIVE_BREAKPOINT_MEDIUM) {
89
+ this.renderer.setStyle(this.pagerPageSizes.nativeElement, 'display', 'none');
90
+ }
91
+ }
92
+ });
93
+ });
76
94
  };
77
95
  }
78
96
  set options(value) {
@@ -118,14 +136,12 @@ export class PagerComponent {
118
136
  allCount: this.allCount || this.total
119
137
  });
120
138
  }
121
- const templateChanges = changes['template'];
122
- if (templateChanges) {
123
- // eslint-disable-next-line no-unused-expressions
124
- templateChanges.currentValue ? this.clearResponsiveClasses() : this.resizeHandler();
139
+ const changesInTemplate = changes['template'];
140
+ if (changesInTemplate) {
141
+ changesInTemplate.currentValue ? this.clearResponsiveStyling() : this.resizeHandler();
125
142
  }
126
143
  if (changes['options']) {
127
- // eslint-disable-next-line no-unused-expressions
128
- this.settings.responsive ? this.resizeHandler() : this.clearResponsiveClasses();
144
+ this.settings.responsive ? this.resizeHandler() : this.clearResponsiveStyling();
129
145
  }
130
146
  }
131
147
  ngOnDestroy() {
@@ -235,10 +251,17 @@ export class PagerComponent {
235
251
  shouldTriggerPageChange(target, condition) {
236
252
  return this.navigationService.enabled && target === this.element.nativeElement && condition;
237
253
  }
238
- clearResponsiveClasses() {
239
- const element = this.element.nativeElement;
240
- this.renderer.removeClass(element, 'k-pager-mobile-sm');
241
- this.renderer.removeClass(element, 'k-pager-mobile-md');
254
+ clearResponsiveStyling() {
255
+ this.zone.runOutsideAngular(() => {
256
+ setTimeout(() => {
257
+ if (this.numericButtons) {
258
+ this.renderer.removeStyle(this.numericButtons.numbersElement.nativeElement, 'display');
259
+ this.renderer.setStyle(this.numericButtons.selectElement.nativeElement, 'display', 'none');
260
+ }
261
+ this.pagerInfo && this.renderer.removeStyle(this.pagerInfo.nativeElement, 'display');
262
+ this.pagerPageSizes && this.renderer.removeStyle(this.pagerPageSizes.nativeElement, 'display');
263
+ });
264
+ });
242
265
  }
243
266
  }
244
267
  PagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerComponent, deps: [{ token: i1.NavigationService }, { token: i2.LocalizationService }, { token: i3.PagerContextService }, { token: i4.FocusGroup }, { token: i5.FocusRoot }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
@@ -253,7 +276,7 @@ PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
253
276
  provide: FocusGroup,
254
277
  deps: [FocusRoot],
255
278
  useClass: FocusGroup
256
- }], viewQueries: [{ propertyName: "prevButtons", first: true, predicate: ["prevButtons"], descendants: true }, { propertyName: "nextButtons", first: true, predicate: ["nextButtons"], descendants: true }, { propertyName: "numericButtons", first: true, predicate: ["numericButtons"], descendants: true }, { propertyName: "pagerInput", first: true, predicate: ["pagerInput"], descendants: true }, { propertyName: "pageSizes", first: true, predicate: ["pageSizes"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
279
+ }], 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: `
257
280
  <div
258
281
  *ngIf="navigationService.enabled"
259
282
  class="k-sr-only"
@@ -267,16 +290,20 @@ PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
267
290
  [ngTemplateOutletContext]="templateContext">
268
291
  </ng-container>
269
292
  <ng-container *ngIf="!template?.templateRef">
270
- <kendo-treelist-pager-prev-buttons *ngIf="settings.previousNext"></kendo-treelist-pager-prev-buttons>
271
- <kendo-treelist-pager-numeric-buttons
272
- *ngIf="settings.type === 'numeric'"
273
- [buttonCount]="settings.buttonCount"
274
- >
275
- </kendo-treelist-pager-numeric-buttons>
276
- <kendo-treelist-pager-input *ngIf="settings.type === 'input'"></kendo-treelist-pager-input>
277
- <kendo-treelist-pager-next-buttons *ngIf="settings.previousNext"></kendo-treelist-pager-next-buttons>
293
+ <div class="k-pager-numbers-wrap">
294
+ <kendo-treelist-pager-prev-buttons *ngIf="settings.previousNext"></kendo-treelist-pager-prev-buttons>
295
+ <kendo-treelist-pager-numeric-buttons
296
+ *ngIf="settings.type === 'numeric'"
297
+ [buttonCount]="settings.buttonCount">
298
+ </kendo-treelist-pager-numeric-buttons>
299
+ <kendo-treelist-pager-input *ngIf="settings.type === 'input'"></kendo-treelist-pager-input>
300
+ <kendo-treelist-pager-next-buttons *ngIf="settings.previousNext"></kendo-treelist-pager-next-buttons>
301
+ </div>
278
302
  <kendo-treelist-pager-info *ngIf='settings.info'></kendo-treelist-pager-info>
279
- <kendo-treelist-pager-page-sizes *ngIf="settings.pageSizes" [pageSizes]="$any(settings.pageSizes)"></kendo-treelist-pager-page-sizes>
303
+ <kendo-treelist-pager-page-sizes
304
+ *ngIf="settings.pageSizes"
305
+ [pageSizes]="$any(settings.pageSizes)">
306
+ </kendo-treelist-pager-page-sizes>
280
307
  </ng-container>
281
308
  <div
282
309
  *ngIf="navigationService.enabled"
@@ -317,16 +344,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
317
344
  [ngTemplateOutletContext]="templateContext">
318
345
  </ng-container>
319
346
  <ng-container *ngIf="!template?.templateRef">
320
- <kendo-treelist-pager-prev-buttons *ngIf="settings.previousNext"></kendo-treelist-pager-prev-buttons>
321
- <kendo-treelist-pager-numeric-buttons
322
- *ngIf="settings.type === 'numeric'"
323
- [buttonCount]="settings.buttonCount"
324
- >
325
- </kendo-treelist-pager-numeric-buttons>
326
- <kendo-treelist-pager-input *ngIf="settings.type === 'input'"></kendo-treelist-pager-input>
327
- <kendo-treelist-pager-next-buttons *ngIf="settings.previousNext"></kendo-treelist-pager-next-buttons>
347
+ <div class="k-pager-numbers-wrap">
348
+ <kendo-treelist-pager-prev-buttons *ngIf="settings.previousNext"></kendo-treelist-pager-prev-buttons>
349
+ <kendo-treelist-pager-numeric-buttons
350
+ *ngIf="settings.type === 'numeric'"
351
+ [buttonCount]="settings.buttonCount">
352
+ </kendo-treelist-pager-numeric-buttons>
353
+ <kendo-treelist-pager-input *ngIf="settings.type === 'input'"></kendo-treelist-pager-input>
354
+ <kendo-treelist-pager-next-buttons *ngIf="settings.previousNext"></kendo-treelist-pager-next-buttons>
355
+ </div>
328
356
  <kendo-treelist-pager-info *ngIf='settings.info'></kendo-treelist-pager-info>
329
- <kendo-treelist-pager-page-sizes *ngIf="settings.pageSizes" [pageSizes]="$any(settings.pageSizes)"></kendo-treelist-pager-page-sizes>
357
+ <kendo-treelist-pager-page-sizes
358
+ *ngIf="settings.pageSizes"
359
+ [pageSizes]="$any(settings.pageSizes)">
360
+ </kendo-treelist-pager-page-sizes>
330
361
  </ng-container>
331
362
  <div
332
363
  *ngIf="navigationService.enabled"
@@ -338,21 +369,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
338
369
  <kendo-resize-sensor *ngIf="settings.responsive" (resize)="resizeHandler()"></kendo-resize-sensor>
339
370
  `
340
371
  }]
341
- }], ctorParameters: function () { return [{ type: i1.NavigationService }, { type: i2.LocalizationService }, { type: i3.PagerContextService }, { type: i4.FocusGroup }, { type: i5.FocusRoot }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { prevButtons: [{
372
+ }], ctorParameters: function () { return [{ type: i1.NavigationService }, { type: i2.LocalizationService }, { type: i3.PagerContextService }, { type: i4.FocusGroup }, { type: i5.FocusRoot }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { pagerInfo: [{
342
373
  type: ViewChild,
343
- args: ['prevButtons']
344
- }], nextButtons: [{
374
+ args: [PagerInfoComponent, { read: ElementRef }]
375
+ }], pagerPageSizes: [{
345
376
  type: ViewChild,
346
- args: ['nextButtons']
377
+ args: [PagerPageSizesComponent, { read: ElementRef }]
347
378
  }], numericButtons: [{
348
379
  type: ViewChild,
349
- args: ['numericButtons']
350
- }], pagerInput: [{
351
- type: ViewChild,
352
- args: ['pagerInput']
353
- }], pageSizes: [{
354
- type: ViewChild,
355
- args: ['pageSizes']
380
+ args: [PagerNumericButtonsComponent]
356
381
  }], allCount: [{
357
382
  type: Input
358
383
  }], total: [{
@@ -851,6 +851,7 @@ export class TreeListComponent {
851
851
  this.attachElementEventHandlers();
852
852
  this.updateNavigationMetadata();
853
853
  this.applyAutoSize();
854
+ this.subscriptions.add(this.pagerTemplateChildren.changes.subscribe(() => this.changeDetectorRef.markForCheck()));
854
855
  }
855
856
  ngAfterContentChecked() {
856
857
  if (this.dataChanged) {