@progress/kendo-angular-treelist 12.0.2-develop.3 → 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.
- package/common/provider.service.d.ts +6 -0
- package/esm2020/common/provider.service.mjs +9 -3
- package/esm2020/filtering/cell/filter-cell-operators.component.mjs +1 -1
- package/esm2020/filtering/cell/numeric-filter-cell.component.mjs +1 -1
- package/esm2020/filtering/cell/string-filter-cell.component.mjs +1 -1
- package/esm2020/filtering/filter-row.component.mjs +2 -2
- package/esm2020/index.mjs +1 -0
- package/esm2020/localization/messages.mjs +7 -1
- package/esm2020/navigation/focus-group.mjs +1 -0
- package/esm2020/navigation/focus-root.mjs +18 -8
- package/esm2020/navigation/focusable.directive.mjs +28 -11
- package/esm2020/navigation/navigation.service.mjs +1 -1
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/pager/pager-input.component.mjs +16 -6
- package/esm2020/pager/pager-next-buttons.component.mjs +34 -15
- package/esm2020/pager/pager-numeric-buttons.component.mjs +12 -8
- package/esm2020/pager/pager-page-sizes.component.mjs +11 -5
- package/esm2020/pager/pager-prev-buttons.component.mjs +31 -14
- package/esm2020/pager/pager.component.mjs +232 -21
- package/esm2020/rendering/cell.component.mjs +3 -1
- package/esm2020/rendering/common/dom-queries.mjs +21 -1
- package/esm2020/rendering/header/header.component.mjs +10 -3
- package/esm2020/rendering/list.component.mjs +2 -2
- package/esm2020/rendering/table-body.component.mjs +6 -2
- package/esm2020/rendering/toolbar/toolbar-focusable.directive.mjs +63 -0
- package/esm2020/rendering/toolbar/toolbar-navigation.service.mjs +53 -0
- package/esm2020/rendering/toolbar/toolbar.component.mjs +44 -5
- package/esm2020/treelist.component.mjs +64 -11
- package/esm2020/treelist.module.mjs +8 -3
- package/esm2020/utils.mjs +4 -0
- package/fesm2015/progress-kendo-angular-treelist.mjs +636 -115
- package/fesm2020/progress-kendo-angular-treelist.mjs +631 -115
- package/index.d.ts +1 -0
- package/localization/messages.d.ts +20 -1
- package/navigation/focus-group.d.ts +2 -1
- package/navigation/focus-root.d.ts +8 -2
- package/navigation/focusable.directive.d.ts +7 -1
- package/package.json +15 -15
- package/pager/pager-input.component.d.ts +3 -1
- package/pager/pager-next-buttons.component.d.ts +12 -2
- package/pager/pager-page-sizes.component.d.ts +3 -2
- package/pager/pager-prev-buttons.component.d.ts +7 -1
- package/pager/pager.component.d.ts +35 -4
- package/rendering/common/dom-queries.d.ts +8 -0
- package/rendering/toolbar/toolbar-focusable.directive.d.ts +28 -0
- package/rendering/toolbar/toolbar-navigation.service.d.ts +21 -0
- package/rendering/toolbar/toolbar.component.d.ts +14 -4
- package/schematics/ngAdd/index.js +3 -3
- package/treelist.component.d.ts +7 -0
- package/treelist.module.d.ts +76 -75
- 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
|
}] } });
|
|
@@ -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.
|
|
20
|
+
if (this.active) {
|
|
16
21
|
this.groups.add(group);
|
|
17
22
|
}
|
|
18
23
|
}
|
|
19
24
|
unregisterGroup(group) {
|
|
20
|
-
if (this.
|
|
25
|
+
if (this.active) {
|
|
21
26
|
this.groups.delete(group);
|
|
22
27
|
}
|
|
23
28
|
}
|
|
24
29
|
activate() {
|
|
25
|
-
if (this.
|
|
30
|
+
if (this.active) {
|
|
26
31
|
this.groups.forEach(f => f.activate());
|
|
27
32
|
}
|
|
28
33
|
}
|
|
29
34
|
deactivate() {
|
|
30
|
-
if (this.
|
|
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
|
|
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.
|
|
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:
|
|
13
|
-
version: '12.0
|
|
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 "
|
|
16
|
-
import * as i4 from "@progress/kendo-angular-
|
|
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:
|
|
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 "
|
|
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)="
|
|
69
|
+
(click)="onButtonClick('nextPage')">
|
|
56
70
|
</button>
|
|
57
71
|
<button
|
|
58
72
|
kendoButton
|
|
59
73
|
type="button"
|
|
60
|
-
|
|
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)="
|
|
84
|
+
(click)="onButtonClick('lastPage')">
|
|
70
85
|
</button>
|
|
71
|
-
`, isInline: true, components: [{ type:
|
|
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)="
|
|
106
|
+
(click)="onButtonClick('nextPage')">
|
|
91
107
|
</button>
|
|
92
108
|
<button
|
|
93
109
|
kendoButton
|
|
94
110
|
type="button"
|
|
95
|
-
|
|
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)="
|
|
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
|
+
}] } });
|