@progress/kendo-angular-treelist 12.0.2-develop.2 → 12.1.0-develop.1

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 (51) hide show
  1. package/common/provider.service.d.ts +6 -0
  2. package/esm2020/common/provider.service.mjs +9 -3
  3. package/esm2020/filtering/cell/filter-cell-operators.component.mjs +1 -1
  4. package/esm2020/filtering/cell/numeric-filter-cell.component.mjs +1 -1
  5. package/esm2020/filtering/cell/string-filter-cell.component.mjs +1 -1
  6. package/esm2020/filtering/filter-row.component.mjs +2 -2
  7. package/esm2020/index.mjs +1 -0
  8. package/esm2020/localization/messages.mjs +7 -1
  9. package/esm2020/navigation/focus-group.mjs +1 -0
  10. package/esm2020/navigation/focus-root.mjs +18 -8
  11. package/esm2020/navigation/focusable.directive.mjs +28 -11
  12. package/esm2020/navigation/navigation.service.mjs +1 -1
  13. package/esm2020/package-metadata.mjs +2 -2
  14. package/esm2020/pager/pager-input.component.mjs +16 -6
  15. package/esm2020/pager/pager-next-buttons.component.mjs +34 -15
  16. package/esm2020/pager/pager-numeric-buttons.component.mjs +12 -8
  17. package/esm2020/pager/pager-page-sizes.component.mjs +11 -5
  18. package/esm2020/pager/pager-prev-buttons.component.mjs +31 -14
  19. package/esm2020/pager/pager.component.mjs +232 -21
  20. package/esm2020/rendering/cell.component.mjs +3 -1
  21. package/esm2020/rendering/common/dom-queries.mjs +21 -1
  22. package/esm2020/rendering/header/header.component.mjs +10 -3
  23. package/esm2020/rendering/list.component.mjs +2 -2
  24. package/esm2020/rendering/table-body.component.mjs +6 -2
  25. package/esm2020/rendering/toolbar/toolbar-focusable.directive.mjs +63 -0
  26. package/esm2020/rendering/toolbar/toolbar-navigation.service.mjs +53 -0
  27. package/esm2020/rendering/toolbar/toolbar.component.mjs +44 -5
  28. package/esm2020/treelist.component.mjs +64 -11
  29. package/esm2020/treelist.module.mjs +8 -3
  30. package/esm2020/utils.mjs +4 -0
  31. package/fesm2015/progress-kendo-angular-treelist.mjs +636 -115
  32. package/fesm2020/progress-kendo-angular-treelist.mjs +631 -115
  33. package/index.d.ts +1 -0
  34. package/localization/messages.d.ts +20 -1
  35. package/navigation/focus-group.d.ts +2 -1
  36. package/navigation/focus-root.d.ts +8 -2
  37. package/navigation/focusable.directive.d.ts +7 -1
  38. package/package.json +15 -15
  39. package/pager/pager-input.component.d.ts +3 -1
  40. package/pager/pager-next-buttons.component.d.ts +12 -2
  41. package/pager/pager-page-sizes.component.d.ts +3 -2
  42. package/pager/pager-prev-buttons.component.d.ts +7 -1
  43. package/pager/pager.component.d.ts +35 -4
  44. package/rendering/common/dom-queries.d.ts +8 -0
  45. package/rendering/toolbar/toolbar-focusable.directive.d.ts +28 -0
  46. package/rendering/toolbar/toolbar-navigation.service.d.ts +21 -0
  47. package/rendering/toolbar/toolbar.component.d.ts +14 -4
  48. package/schematics/ngAdd/index.js +3 -3
  49. package/treelist.component.d.ts +7 -0
  50. package/treelist.module.d.ts +76 -75
  51. package/utils.d.ts +4 -0
@@ -2,7 +2,9 @@
2
2
  * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
+ import { Renderer2 } from '@angular/core';
5
6
  import type { TreeListComponent } from '../treelist.component';
7
+ import { TreeListToolbarNavigationService } from '../rendering/toolbar/toolbar-navigation.service';
6
8
  import * as i0 from "@angular/core";
7
9
  /**
8
10
  * @hidden
@@ -14,7 +16,11 @@ import * as i0 from "@angular/core";
14
16
  * and a avoids dependency cycles between components.
15
17
  */
16
18
  export declare class ContextService {
19
+ private renderer;
17
20
  treelist: TreeListComponent;
21
+ topToolbarNavigation: TreeListToolbarNavigationService;
22
+ bottomToolbarNavigation: TreeListToolbarNavigationService;
23
+ constructor(renderer: Renderer2);
18
24
  static ɵfac: i0.ɵɵFactoryDeclaration<ContextService, never>;
19
25
  static ɵprov: i0.ɵɵInjectableDeclaration<ContextService>;
20
26
  }
@@ -2,7 +2,8 @@
2
2
  * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Injectable } from '@angular/core';
5
+ import { Injectable, Renderer2 } from '@angular/core';
6
+ import { TreeListToolbarNavigationService } from '../rendering/toolbar/toolbar-navigation.service';
6
7
  import * as i0 from "@angular/core";
7
8
  /**
8
9
  * @hidden
@@ -14,9 +15,14 @@ import * as i0 from "@angular/core";
14
15
  * and a avoids dependency cycles between components.
15
16
  */
16
17
  export class ContextService {
18
+ constructor(renderer) {
19
+ this.renderer = renderer;
20
+ this.topToolbarNavigation = new TreeListToolbarNavigationService(this.renderer);
21
+ this.bottomToolbarNavigation = new TreeListToolbarNavigationService(this.renderer);
22
+ }
17
23
  }
18
- ContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
+ ContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ContextService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable });
19
25
  ContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ContextService });
20
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ContextService, decorators: [{
21
27
  type: Injectable
22
- }] });
28
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; } });
@@ -116,7 +116,7 @@ FilterCellOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
116
116
  (click)="clearClick()"
117
117
  (keydown)="clearKeydown($event)">
118
118
  </button>
119
- `, isInline: true, components: [{ type: i2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i3.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }] });
119
+ `, isInline: true, components: [{ type: i2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i3.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }] });
120
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterCellOperatorsComponent, decorators: [{
121
121
  type: Component,
122
122
  args: [{
@@ -68,7 +68,7 @@ NumericFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
68
68
  [step]="step">
69
69
  </kendo-numerictextbox>
70
70
  </kendo-treelist-filter-wrapper-cell>
71
- `, isInline: true, components: [{ type: i3.FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i4.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"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }], directives: [{ type: i5.FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { type: i6.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "value"] }] });
71
+ `, isInline: true, components: [{ type: i3.FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i4.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"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }], directives: [{ type: i5.FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { type: i6.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "value"] }] });
72
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterCellComponent, decorators: [{
73
73
  type: Component,
74
74
  args: [{
@@ -63,7 +63,7 @@ StringFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
63
63
  [filterDelay]="filterDelay"
64
64
  [ngModel]="currentFilter?.value" />
65
65
  </kendo-treelist-filter-wrapper-cell>
66
- `, isInline: true, components: [{ type: i3.FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }], directives: [{ type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { type: i6.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "value"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
66
+ `, isInline: true, components: [{ type: i3.FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }], directives: [{ type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { type: i6.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "value"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
67
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterCellComponent, decorators: [{
68
68
  type: Component,
69
69
  args: [{
@@ -25,7 +25,7 @@ export class FilterRowComponent {
25
25
  }
26
26
  FilterRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterRowComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
27
27
  FilterRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FilterRowComponent, selector: "[kendoTreeListFilterRow]", inputs: { columns: "columns", filter: "filter", logicalRowIndex: "logicalRowIndex", lockedColumnsCount: "lockedColumnsCount" }, host: { properties: { "class.k-filter-row": "this.filterRowClass" } }, ngImport: i0, template: `
28
- <td *ngFor="let column of columns; let columnIndex = index"
28
+ <td *ngFor="let column of columns; let columnIndex = index" role="gridcell"
29
29
  [attr.aria-label]="filterLabel"
30
30
  kendoTreeListFilterCell
31
31
  [column]="$any(column)"
@@ -43,7 +43,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
43
43
  args: [{
44
44
  selector: '[kendoTreeListFilterRow]',
45
45
  template: `
46
- <td *ngFor="let column of columns; let columnIndex = index"
46
+ <td *ngFor="let column of columns; let columnIndex = index" role="gridcell"
47
47
  [attr.aria-label]="filterLabel"
48
48
  kendoTreeListFilterCell
49
49
  [column]="$any(column)"
package/esm2020/index.mjs CHANGED
@@ -16,6 +16,7 @@ export { SpanColumnComponent } from './columns/span-column.component';
16
16
  export { ColumnGroupComponent } from './columns/column-group.component';
17
17
  export { ToolbarComponent } from './rendering/toolbar/toolbar.component';
18
18
  export { ToolbarTemplateDirective } from './rendering/toolbar/toolbar-template.directive';
19
+ export { TreeListToolbarFocusableDirective } from './rendering/toolbar/toolbar-focusable.directive';
19
20
  export { CellTemplateDirective } from './rendering/cell-template.directive';
20
21
  export { HeaderTemplateDirective } from './rendering/header/header-template.directive';
21
22
  export { FooterTemplateDirective } from './rendering/footer-template.directive';
@@ -11,7 +11,7 @@ import * as i0 from "@angular/core";
11
11
  export class Messages extends ComponentMessages {
12
12
  }
13
13
  Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
14
- Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: Messages, inputs: { groupPanelEmpty: "groupPanelEmpty", noRecords: "noRecords", pagerFirstPage: "pagerFirstPage", pagerLastPage: "pagerLastPage", pagerPreviousPage: "pagerPreviousPage", pagerNextPage: "pagerNextPage", pagerPage: "pagerPage", pagerPageNumberInputTitle: "pagerPageNumberInputTitle", pagerItemsPerPage: "pagerItemsPerPage", pagerOf: "pagerOf", pagerItemsTotal: "pagerItemsTotal", selectPage: "selectPage", filter: "filter", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterIsNullOperator: "filterIsNullOperator", filterIsNotNullOperator: "filterIsNotNullOperator", filterIsEmptyOperator: "filterIsEmptyOperator", filterIsNotEmptyOperator: "filterIsNotEmptyOperator", filterStartsWithOperator: "filterStartsWithOperator", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterEndsWithOperator: "filterEndsWithOperator", filterGteOperator: "filterGteOperator", filterGtOperator: "filterGtOperator", filterLteOperator: "filterLteOperator", filterLtOperator: "filterLtOperator", filterIsTrue: "filterIsTrue", filterIsFalse: "filterIsFalse", filterBooleanAll: "filterBooleanAll", filterAfterOrEqualOperator: "filterAfterOrEqualOperator", filterAfterOperator: "filterAfterOperator", filterBeforeOperator: "filterBeforeOperator", filterBeforeOrEqualOperator: "filterBeforeOrEqualOperator", filterFilterButton: "filterFilterButton", filterClearButton: "filterClearButton", filterAndLogic: "filterAndLogic", filterOrLogic: "filterOrLogic", loading: "loading", columnMenu: "columnMenu", columns: "columns", lock: "lock", unlock: "unlock", sortable: "sortable", sortAscending: "sortAscending", sortDescending: "sortDescending", sortedAscending: "sortedAscending", sortedDescending: "sortedDescending", sortedDefault: "sortedDefault", columnsApply: "columnsApply", columnsReset: "columnsReset" }, usesInheritance: true, ngImport: i0 });
14
+ Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: Messages, inputs: { groupPanelEmpty: "groupPanelEmpty", noRecords: "noRecords", pagerLabel: "pagerLabel", pagerFirstPage: "pagerFirstPage", pagerLastPage: "pagerLastPage", pagerPreviousPage: "pagerPreviousPage", pagerNextPage: "pagerNextPage", pagerPage: "pagerPage", pagerPageNumberInputTitle: "pagerPageNumberInputTitle", pagerItemsPerPage: "pagerItemsPerPage", pagerOf: "pagerOf", pagerItemsTotal: "pagerItemsTotal", selectPage: "selectPage", filter: "filter", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterIsNullOperator: "filterIsNullOperator", filterIsNotNullOperator: "filterIsNotNullOperator", filterIsEmptyOperator: "filterIsEmptyOperator", filterIsNotEmptyOperator: "filterIsNotEmptyOperator", filterStartsWithOperator: "filterStartsWithOperator", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterEndsWithOperator: "filterEndsWithOperator", filterGteOperator: "filterGteOperator", filterGtOperator: "filterGtOperator", filterLteOperator: "filterLteOperator", filterLtOperator: "filterLtOperator", filterIsTrue: "filterIsTrue", filterIsFalse: "filterIsFalse", filterBooleanAll: "filterBooleanAll", filterAfterOrEqualOperator: "filterAfterOrEqualOperator", filterAfterOperator: "filterAfterOperator", filterBeforeOperator: "filterBeforeOperator", filterBeforeOrEqualOperator: "filterBeforeOrEqualOperator", filterFilterButton: "filterFilterButton", filterClearButton: "filterClearButton", filterAndLogic: "filterAndLogic", filterOrLogic: "filterOrLogic", loading: "loading", columnMenu: "columnMenu", columns: "columns", lock: "lock", unlock: "unlock", sortable: "sortable", sortAscending: "sortAscending", sortDescending: "sortDescending", sortedAscending: "sortedAscending", sortedDescending: "sortedDescending", sortedDefault: "sortedDefault", columnsApply: "columnsApply", columnsReset: "columnsReset", topToolbarLabel: "topToolbarLabel", bottomToolbarLabel: "bottomToolbarLabel" }, usesInheritance: true, ngImport: i0 });
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Messages, decorators: [{
16
16
  type: Directive,
17
17
  args: [{}]
@@ -19,6 +19,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
19
19
  type: Input
20
20
  }], noRecords: [{
21
21
  type: Input
22
+ }], pagerLabel: [{
23
+ type: Input
22
24
  }], pagerFirstPage: [{
23
25
  type: Input
24
26
  }], pagerLastPage: [{
@@ -117,4 +119,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
117
119
  type: Input
118
120
  }], columnsReset: [{
119
121
  type: Input
122
+ }], topToolbarLabel: [{
123
+ type: Input
124
+ }], bottomToolbarLabel: [{
125
+ type: Input
120
126
  }] } });
@@ -34,6 +34,7 @@ export class FocusGroup {
34
34
  }
35
35
  ngOnDestroy() {
36
36
  this.root.unregisterGroup(this);
37
+ this.active = true;
37
38
  }
38
39
  /**
39
40
  * @hidden
@@ -2,38 +2,48 @@
2
2
  * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Injectable } from '@angular/core';
5
+ import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
6
6
  import * as i0 from "@angular/core";
7
+ /**
8
+ * @hidden
9
+ */
10
+ export const FOCUS_ROOT_ACTIVE = new InjectionToken('focus-root-initial-active-state');
7
11
  /**
8
12
  * @hidden
9
13
  */
10
14
  export class FocusRoot {
11
- constructor() {
15
+ constructor(active = false) {
16
+ this.active = active;
12
17
  this.groups = new Set();
13
18
  }
14
19
  registerGroup(group) {
15
- if (this.alive) {
20
+ if (this.active) {
16
21
  this.groups.add(group);
17
22
  }
18
23
  }
19
24
  unregisterGroup(group) {
20
- if (this.alive) {
25
+ if (this.active) {
21
26
  this.groups.delete(group);
22
27
  }
23
28
  }
24
29
  activate() {
25
- if (this.alive) {
30
+ if (this.active) {
26
31
  this.groups.forEach(f => f.activate());
27
32
  }
28
33
  }
29
34
  deactivate() {
30
- if (this.alive) {
35
+ if (this.active) {
31
36
  this.groups.forEach(f => f.deactivate());
32
37
  }
33
38
  }
34
39
  }
35
- FocusRoot.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FocusRoot, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
40
+ FocusRoot.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FocusRoot, deps: [{ token: FOCUS_ROOT_ACTIVE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
36
41
  FocusRoot.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FocusRoot });
37
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FocusRoot, decorators: [{
38
43
  type: Injectable
39
- }] });
44
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
45
+ type: Optional
46
+ }, {
47
+ type: Inject,
48
+ args: [FOCUS_ROOT_ACTIVE]
49
+ }] }]; } });
@@ -27,27 +27,42 @@ export class FocusableDirective {
27
27
  this.renderer = renderer;
28
28
  this.group = group;
29
29
  this.active = true;
30
+ this._enabled = true;
30
31
  }
31
32
  /**
32
33
  * @hidden
33
34
  */
34
- set addCellContext(value) { this.cellContext = value; }
35
+ set enabled(value) {
36
+ if (value !== this.enabled) {
37
+ this._enabled = value;
38
+ if (this.element) {
39
+ this.element.toggle(this.active && value);
40
+ }
41
+ }
42
+ }
43
+ get enabled() {
44
+ return this._enabled;
45
+ }
46
+ /**
47
+ * @hidden
48
+ */
49
+ set addCellContext(value) { this.cellContext = value; this.enabled = true; }
35
50
  /**
36
51
  * @hidden
37
52
  */
38
- set editCellContext(value) { this.cellContext = value; }
53
+ set editCellContext(value) { this.cellContext = value; this.enabled = true; }
39
54
  /**
40
55
  * @hidden
41
56
  */
42
- set removeCellContext(value) { this.cellContext = value; }
57
+ set removeCellContext(value) { this.cellContext = value; this.enabled = true; }
43
58
  /**
44
59
  * @hidden
45
60
  */
46
- set saveCellContext(value) { this.cellContext = value; }
61
+ set saveCellContext(value) { this.cellContext = value; this.enabled = true; }
47
62
  /**
48
63
  * @hidden
49
64
  */
50
- set cancelCellContext(value) { this.cellContext = value; }
65
+ set cancelCellContext(value) { this.cellContext = value; this.enabled = true; }
51
66
  ngOnInit() {
52
67
  if (this.cellContext && this.cellContext.focusGroup) {
53
68
  this.group = this.cellContext.focusGroup;
@@ -76,26 +91,26 @@ export class FocusableDirective {
76
91
  toggle(active) {
77
92
  if (this.element && active !== this.active) {
78
93
  this.active = active;
79
- this.element.toggle(active);
94
+ this.element.toggle(this.enabled && active);
80
95
  }
81
96
  }
82
97
  /**
83
98
  * @hidden
84
99
  */
85
100
  canFocus() {
86
- return this.element && this.element.canFocus();
101
+ return this.enabled && this.element && this.element.canFocus();
87
102
  }
88
103
  /**
89
104
  * @hidden
90
105
  */
91
106
  isNavigable() {
92
- return this.element && this.element.isNavigable();
107
+ return this.enabled && this.element && this.element.isNavigable();
93
108
  }
94
109
  /**
95
110
  * @hidden
96
111
  */
97
112
  focus() {
98
- if (this.element) {
113
+ if (this.enabled && this.element) {
99
114
  this.element.focus();
100
115
  }
101
116
  }
@@ -103,7 +118,7 @@ export class FocusableDirective {
103
118
  * @hidden
104
119
  */
105
120
  hasFocus() {
106
- return this.element && this.element.hasFocus();
121
+ return this.enabled && this.element && this.element.hasFocus();
107
122
  }
108
123
  /**
109
124
  * @hidden
@@ -113,7 +128,7 @@ export class FocusableDirective {
113
128
  }
114
129
  }
115
130
  FocusableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FocusableDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.FocusGroup, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
116
- FocusableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: { cellContext: ["kendoTreeListFocusable", "cellContext"], addCellContext: ["kendoTreeListAddCommand", "addCellContext"], editCellContext: ["kendoTreeListEditCommand", "editCellContext"], removeCellContext: ["kendoTreeListRemoveCommand", "removeCellContext"], saveCellContext: ["kendoTreeListSaveCommand", "saveCellContext"], cancelCellContext: ["kendoTreeListCancelCommand", "cancelCellContext"] }, ngImport: i0 });
131
+ FocusableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: { cellContext: ["kendoTreeListFocusable", "cellContext"], enabled: "enabled", addCellContext: ["kendoTreeListAddCommand", "addCellContext"], editCellContext: ["kendoTreeListEditCommand", "editCellContext"], removeCellContext: ["kendoTreeListRemoveCommand", "removeCellContext"], saveCellContext: ["kendoTreeListSaveCommand", "saveCellContext"], cancelCellContext: ["kendoTreeListCancelCommand", "cancelCellContext"] }, ngImport: i0 });
117
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FocusableDirective, decorators: [{
118
133
  type: Directive,
119
134
  args: [{
@@ -130,6 +145,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
130
145
  }] }]; }, propDecorators: { cellContext: [{
131
146
  type: Input,
132
147
  args: ['kendoTreeListFocusable']
148
+ }], enabled: [{
149
+ type: Input
133
150
  }], addCellContext: [{
134
151
  type: Input,
135
152
  args: ['kendoTreeListAddCommand']
@@ -132,7 +132,7 @@ export class NavigationService {
132
132
  }
133
133
  init(meta) {
134
134
  this.alive = true;
135
- this.focusRoot.alive = true;
135
+ this.focusRoot.active = true;
136
136
  this.metadata = meta;
137
137
  const onStableSubscriber = (...operators) => (args) => this.zone.isStable ?
138
138
  from([true]).pipe(map(() => args)) :
@@ -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: 1683809099,
13
- version: '12.0.2-develop.2',
12
+ publishDate: 1684149063,
13
+ version: '12.1.0-develop.1',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -9,18 +9,22 @@ import { PagerElementComponent } from './pager-element.component';
9
9
  import { LocalizationService } from "@progress/kendo-angular-l10n";
10
10
  import { PagerContextService } from "./pager-context.service";
11
11
  import { Keys } from '@progress/kendo-angular-common';
12
+ import { NavigationService } from '../navigation/navigation.service';
12
13
  import * as i0 from "@angular/core";
13
14
  import * as i1 from "@progress/kendo-angular-l10n";
14
15
  import * as i2 from "./pager-context.service";
15
- import * as i3 from "@progress/kendo-angular-inputs";
16
- import * as i4 from "@progress/kendo-angular-common";
16
+ import * as i3 from "../navigation/navigation.service";
17
+ import * as i4 from "@progress/kendo-angular-inputs";
18
+ import * as i5 from "../navigation/focusable.directive";
19
+ import * as i6 from "@progress/kendo-angular-common";
17
20
  /**
18
21
  * Displays an input element which allows the typing and rendering of page numbers.
19
22
  */
20
23
  export class PagerInputComponent extends PagerElementComponent {
21
- constructor(localization, pagerContext, zone, cd) {
24
+ constructor(localization, pagerContext, navigationService, zone, cd) {
22
25
  super(localization, pagerContext, cd);
23
26
  this.pagerContext = pagerContext;
27
+ this.navigationService = navigationService;
24
28
  this.zone = zone;
25
29
  /**
26
30
  * @hidden
@@ -76,11 +80,13 @@ export class PagerInputComponent extends PagerElementComponent {
76
80
  this.cd.markForCheck();
77
81
  }
78
82
  }
79
- PagerInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerInputComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PagerContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
83
+ PagerInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerInputComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PagerContextService }, { token: i3.NavigationService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
80
84
  PagerInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerInputComponent, selector: "kendo-treelist-pager-input", viewQueries: [{ propertyName: "numericInput", first: true, predicate: NumericTextBoxComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
81
85
  <span class="k-pager-input k-label">
82
86
  {{textFor('pagerPage')}}
83
87
  <kendo-numerictextbox
88
+ kendoTreeListFocusable
89
+ [enabled]="hasPages"
84
90
  [style.margin]="'0 1ex'"
85
91
  [style.width]="'3em'"
86
92
  [spinners]="false"
@@ -92,6 +98,7 @@ PagerInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
92
98
  [max]="totalPages"
93
99
  [autoCorrect]="true"
94
100
  [title]="textFor('pagerPageNumberInputTitle')"
101
+ [attr.aria-label]="textFor('pagerPageNumberInputTitle')"
95
102
  [kendoEventsOutsideAngular]="{
96
103
  keydown: handleKeyDown,
97
104
  focusout: handleBlur
@@ -99,7 +106,7 @@ PagerInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
99
106
  </kendo-numerictextbox>
100
107
  {{textFor('pagerOf')}} {{totalPages}}
101
108
  </span>
102
- `, isInline: true, components: [{ type: i3.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"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }], directives: [{ type: i4.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
109
+ `, isInline: true, components: [{ type: i4.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"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }], directives: [{ type: i5.FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { type: i6.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
103
110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerInputComponent, decorators: [{
104
111
  type: Component,
105
112
  args: [{
@@ -108,6 +115,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
108
115
  <span class="k-pager-input k-label">
109
116
  {{textFor('pagerPage')}}
110
117
  <kendo-numerictextbox
118
+ kendoTreeListFocusable
119
+ [enabled]="hasPages"
111
120
  [style.margin]="'0 1ex'"
112
121
  [style.width]="'3em'"
113
122
  [spinners]="false"
@@ -119,6 +128,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
119
128
  [max]="totalPages"
120
129
  [autoCorrect]="true"
121
130
  [title]="textFor('pagerPageNumberInputTitle')"
131
+ [attr.aria-label]="textFor('pagerPageNumberInputTitle')"
122
132
  [kendoEventsOutsideAngular]="{
123
133
  keydown: handleKeyDown,
124
134
  focusout: handleBlur
@@ -128,7 +138,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
128
138
  </span>
129
139
  `
130
140
  }]
131
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.PagerContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { numericInput: [{
141
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.PagerContextService }, { type: i3.NavigationService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { numericInput: [{
132
142
  type: ViewChild,
133
143
  args: [NumericTextBoxComponent, { static: true }]
134
144
  }] } });
@@ -3,21 +3,25 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  // eslint-disable no-access-missing-member
6
- import { Component, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
6
+ import { Component, ChangeDetectionStrategy, ChangeDetectorRef, Input } from '@angular/core';
7
7
  import { PagerContextService } from "./pager-context.service";
8
8
  import { PagerElementComponent } from './pager-element.component';
9
9
  import { LocalizationService } from '@progress/kendo-angular-l10n';
10
10
  import { caretAltRightIcon, caretAltToRightIcon } from '@progress/kendo-svg-icons';
11
+ import { NavigationService } from '../navigation/navigation.service';
11
12
  import * as i0 from "@angular/core";
12
13
  import * as i1 from "@progress/kendo-angular-l10n";
13
14
  import * as i2 from "./pager-context.service";
14
- import * as i3 from "@progress/kendo-angular-buttons";
15
+ import * as i3 from "../navigation/navigation.service";
16
+ import * as i4 from "@progress/kendo-angular-buttons";
17
+ import * as i5 from "../navigation/focusable.directive";
15
18
  /**
16
19
  * Displays buttons for navigating to the next and to the last page ([see example]({% slug paging_treelist %}#toc-pager-templates)).
17
20
  */
18
21
  export class PagerNextButtonsComponent extends PagerElementComponent {
19
- constructor(localization, pagerContext, cd) {
22
+ constructor(localization, pagerContext, cd, navigationService) {
20
23
  super(localization, pagerContext, cd);
24
+ this.navigationService = navigationService;
21
25
  this.caretAltRightIcon = caretAltRightIcon;
22
26
  this.caretAltToRightIcon = caretAltToRightIcon;
23
27
  }
@@ -31,6 +35,15 @@ export class PagerNextButtonsComponent extends PagerElementComponent {
31
35
  get disabled() {
32
36
  return this.currentPage === this.totalPages || !this.total;
33
37
  }
38
+ /**
39
+ * @hidden
40
+ */
41
+ onButtonClick(buttonName) {
42
+ if (this.currentPage !== this.totalPages) {
43
+ const skipToPage = buttonName === 'nextPage' ? this.currentPage : this.totalPages - 1;
44
+ this.changePage(skipToPage);
45
+ }
46
+ }
34
47
  onChanges({ total, skip, pageSize }) {
35
48
  this.total = total;
36
49
  this.skip = skip;
@@ -38,26 +51,28 @@ export class PagerNextButtonsComponent extends PagerElementComponent {
38
51
  this.cd.markForCheck();
39
52
  }
40
53
  }
41
- PagerNextButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerNextButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PagerContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
42
- PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerNextButtonsComponent, selector: "kendo-treelist-pager-next-buttons", usesInheritance: true, ngImport: i0, template: `
54
+ PagerNextButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerNextButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PagerContextService }, { token: i0.ChangeDetectorRef }, { token: i3.NavigationService }], target: i0.ɵɵFactoryTarget.Component });
55
+ PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerNextButtonsComponent, selector: "kendo-treelist-pager-next-buttons", inputs: { navigable: "navigable" }, usesInheritance: true, ngImport: i0, template: `
43
56
  <button
44
57
  kendoButton
45
58
  type="button"
59
+ kendoTreeListFocusable
60
+ [enabled]="!disabled"
46
61
  icon="caret-alt-right"
47
62
  [svgIcon]="caretAltRightIcon"
48
63
  fillMode="flat"
49
64
  rounded="none"
50
65
  class="k-pager-nav"
51
- [tabIndex]="-1"
52
66
  [disabled]="disabled"
53
67
  [title]="textFor('pagerNextPage')"
54
68
  [attr.aria-label]="textFor('pagerNextPage')"
55
- (click)="currentPage !== totalPages ? changePage(currentPage) : false">
69
+ (click)="onButtonClick('nextPage')">
56
70
  </button>
57
71
  <button
58
72
  kendoButton
59
73
  type="button"
60
- [tabIndex]="-1"
74
+ kendoTreeListFocusable
75
+ [enabled]="!disabled"
61
76
  icon="caret-alt-to-right"
62
77
  [svgIcon]="caretAltToRightIcon"
63
78
  fillMode="flat"
@@ -66,9 +81,9 @@ PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
66
81
  [disabled]="disabled"
67
82
  [title]="textFor('pagerLastPage')"
68
83
  [attr.aria-label]="textFor('pagerLastPage')"
69
- (click)="currentPage !== totalPages ? changePage(totalPages-1) : false">
84
+ (click)="onButtonClick('lastPage')">
70
85
  </button>
71
- `, isInline: true, components: [{ type: i3.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
86
+ `, isInline: true, components: [{ type: i4.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i5.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 });
72
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerNextButtonsComponent, decorators: [{
73
88
  type: Component,
74
89
  args: [{
@@ -78,21 +93,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
78
93
  <button
79
94
  kendoButton
80
95
  type="button"
96
+ kendoTreeListFocusable
97
+ [enabled]="!disabled"
81
98
  icon="caret-alt-right"
82
99
  [svgIcon]="caretAltRightIcon"
83
100
  fillMode="flat"
84
101
  rounded="none"
85
102
  class="k-pager-nav"
86
- [tabIndex]="-1"
87
103
  [disabled]="disabled"
88
104
  [title]="textFor('pagerNextPage')"
89
105
  [attr.aria-label]="textFor('pagerNextPage')"
90
- (click)="currentPage !== totalPages ? changePage(currentPage) : false">
106
+ (click)="onButtonClick('nextPage')">
91
107
  </button>
92
108
  <button
93
109
  kendoButton
94
110
  type="button"
95
- [tabIndex]="-1"
111
+ kendoTreeListFocusable
112
+ [enabled]="!disabled"
96
113
  icon="caret-alt-to-right"
97
114
  [svgIcon]="caretAltToRightIcon"
98
115
  fillMode="flat"
@@ -101,8 +118,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
101
118
  [disabled]="disabled"
102
119
  [title]="textFor('pagerLastPage')"
103
120
  [attr.aria-label]="textFor('pagerLastPage')"
104
- (click)="currentPage !== totalPages ? changePage(totalPages-1) : false">
121
+ (click)="onButtonClick('lastPage')">
105
122
  </button>
106
123
  `
107
124
  }]
108
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.PagerContextService }, { type: i0.ChangeDetectorRef }]; } });
125
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.PagerContextService }, { type: i0.ChangeDetectorRef }, { type: i3.NavigationService }]; }, propDecorators: { navigable: [{
126
+ type: Input
127
+ }] } });