@progress/kendo-angular-grid 13.4.0-develop.2 → 13.4.0-develop.4

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.
@@ -222,7 +222,7 @@ export class ColumnMenuComponent {
222
222
  this.expandedPosition = this.getExpandedState(this.settings.setColumnPosition);
223
223
  this.popupRef = this.popupService.open(anchor, template, this.popupRef, POPUP_CLASS);
224
224
  if (this.popupRef && this.settings.view === 'tabbed') {
225
- this.renderer.addClass(this.popupRef.popupElement.firstChild, 'k-column-menu-tabbed');
225
+ this.renderer.addClass(this.popupRef.popupElement.querySelector('.k-grid-columnmenu-popup'), 'k-column-menu-tabbed');
226
226
  this.cdr.detectChanges();
227
227
  this.tabStrip?.selectTab(0);
228
228
  }
@@ -75,7 +75,7 @@ AutoCompleteFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
75
75
  [value]="currentFilter?.value">
76
76
  </kendo-autocomplete>
77
77
  </kendo-grid-filter-wrapper-cell>
78
- `, isInline: true, components: [{ type: i5.FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i6.AutoCompleteComponent, selector: "kendo-autocomplete", inputs: ["highlightFirst", "focusableId", "data", "value", "valueField", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "clearButton", "suggest", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoAutoComplete"] }], directives: [{ type: i7.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }] });
78
+ `, isInline: true, components: [{ type: i5.FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i6.AutoCompleteComponent, selector: "kendo-autocomplete", inputs: ["highlightFirst", "showStickyHeader", "focusableId", "data", "value", "valueField", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "clearButton", "suggest", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoAutoComplete"] }], directives: [{ type: i7.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }] });
79
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AutoCompleteFilterCellComponent, decorators: [{
80
80
  type: Component,
81
81
  args: [{
@@ -80,7 +80,7 @@ BooleanFilterCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
80
80
  [value]="currentFilter?.value">
81
81
  </kendo-dropdownlist>
82
82
  </kendo-grid-filter-wrapper-cell>
83
- `, isInline: true, components: [{ type: i4.FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i5.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"] }], directives: [{ type: i6.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }, { type: i7.FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }] });
83
+ `, isInline: true, components: [{ type: i4.FilterCellWrapperComponent, selector: "kendo-grid-filter-wrapper-cell", inputs: ["showOperators"] }, { type: i5.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["showStickyHeader", "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"] }], directives: [{ type: i6.FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "value"] }, { type: i7.FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }] });
84
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BooleanFilterCellComponent, decorators: [{
85
85
  type: Component,
86
86
  args: [{
@@ -151,7 +151,7 @@ FilterCellOperatorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
151
151
  [size]="size"
152
152
  (click)="clearClick()"
153
153
  (keydown)="clearKeydown($event)"></button>
154
- `, isInline: true, components: [{ type: i3.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: i4.ButtonComponent, 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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }] });
154
+ `, isInline: true, components: [{ type: i3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["showStickyHeader", "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: i4.ButtonComponent, 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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }] });
155
155
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterCellOperatorsComponent, decorators: [{
156
156
  type: Component,
157
157
  args: [{
@@ -124,7 +124,7 @@ DateFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
124
124
  [menuTabbingService]="menuTabbingService"
125
125
  >
126
126
  </kendo-grid-date-filter-menu-input>
127
- `, isInline: true, components: [{ type: i2.DateFilterMenuInputComponent, selector: "kendo-grid-date-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "menuTabbingService", "format", "formatPlaceholder", "placeholder", "min", "max", "activeView", "bottomView", "topView", "weekNumber", "isFirstDropDown"] }, { type: i3.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"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
127
+ `, isInline: true, components: [{ type: i2.DateFilterMenuInputComponent, selector: "kendo-grid-date-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "menuTabbingService", "format", "formatPlaceholder", "placeholder", "min", "max", "activeView", "bottomView", "topView", "weekNumber", "isFirstDropDown"] }, { type: i3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["showStickyHeader", "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"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
128
128
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateFilterMenuComponent, decorators: [{
129
129
  type: Component,
130
130
  args: [{
@@ -95,7 +95,7 @@ FilterMenuInputWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
95
95
  (keydown.shift.tab)="onShiftTab($event)">
96
96
  </kendo-dropdownlist>
97
97
  <ng-content></ng-content>
98
- `, 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"] }], directives: [{ type: i3.FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
98
+ `, isInline: true, components: [{ type: i2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["showStickyHeader", "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"] }], directives: [{ type: i3.FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
99
99
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FilterMenuInputWrapperComponent, decorators: [{
100
100
  type: Component,
101
101
  args: [{
@@ -125,7 +125,7 @@ NumericFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
125
125
  [menuTabbingService]="menuTabbingService"
126
126
  >
127
127
  </kendo-grid-numeric-filter-menu-input>
128
- `, isInline: true, components: [{ type: i2.NumericFilterMenuInputComponent, selector: "kendo-grid-numeric-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "filterDelay", "isFirstDropDown", "menuTabbingService", "step", "min", "max", "spinners", "decimals", "format"] }, { type: i3.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"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
128
+ `, isInline: true, components: [{ type: i2.NumericFilterMenuInputComponent, selector: "kendo-grid-numeric-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "filterDelay", "isFirstDropDown", "menuTabbingService", "step", "min", "max", "spinners", "decimals", "format"] }, { type: i3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["showStickyHeader", "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"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
129
129
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NumericFilterMenuComponent, decorators: [{
130
130
  type: Component,
131
131
  args: [{
@@ -103,7 +103,7 @@ StringFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
103
103
  [filter]="filter"
104
104
  [menuTabbingService]="menuTabbingService">
105
105
  </kendo-grid-string-filter-menu-input>
106
- `, isInline: true, components: [{ type: i2.StringFilterMenuInputComponent, selector: "kendo-grid-string-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "isFirstDropDown", "menuTabbingService"] }, { type: i3.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"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
106
+ `, isInline: true, components: [{ type: i2.StringFilterMenuInputComponent, selector: "kendo-grid-string-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "isFirstDropDown", "menuTabbingService"] }, { type: i3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["showStickyHeader", "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"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
107
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StringFilterMenuComponent, decorators: [{
108
108
  type: Component,
109
109
  args: [{
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-grid',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1692303317,
13
- version: '13.4.0-develop.2',
12
+ publishDate: 1692620937,
13
+ version: '13.4.0-develop.4',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -2,7 +2,7 @@
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 { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input } from '@angular/core';
5
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from '@angular/core';
6
6
  import { ContextService } from '../common/provider.service';
7
7
  import { PagerContextService } from './pager-context.service';
8
8
  import { PagerElementComponent } from './pager-element.component';
@@ -19,7 +19,6 @@ export class PagerNumericButtonsComponent extends PagerElementComponent {
19
19
  constructor(ctx, cd, pagerContext) {
20
20
  super(ctx, pagerContext, cd);
21
21
  this.pagerContext = pagerContext;
22
- this.numbersWrapClass = true;
23
22
  }
24
23
  /**
25
24
  * @hidden
@@ -89,10 +88,12 @@ export class PagerNumericButtonsComponent extends PagerElementComponent {
89
88
  }
90
89
  }
91
90
  PagerNumericButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerNumericButtonsComponent, deps: [{ token: i1.ContextService }, { token: i0.ChangeDetectorRef }, { token: i2.PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
92
- PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerNumericButtonsComponent, selector: "kendo-pager-numeric-buttons", inputs: { buttonCount: "buttonCount" }, host: { properties: { "class.k-pager-numbers-wrap": "this.numbersWrapClass" } }, usesInheritance: true, ngImport: i0, template: `
91
+ PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerNumericButtonsComponent, selector: "kendo-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: `
93
92
  <select
93
+ #select
94
94
  class="k-dropdown-list k-dropdown k-picker k-picker-solid k-rounded-md"
95
95
  kendoGridFocusable
96
+ [style.display]="'none'"
96
97
  [attr.title]="textFor('selectPage')"
97
98
  [attr.aria-label]="textFor('selectPage')"
98
99
  [ngClass]="{
@@ -119,7 +120,7 @@ PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
119
120
  [attr.aria-label]="pageLabel(end + 1)">...
120
121
  </option>
121
122
  </select>
122
- <div class="k-pager-numbers">
123
+ <div class="k-pager-numbers" #numbers>
123
124
  <button *ngIf="start > 1"
124
125
  type="button"
125
126
  kendoGridFocusable
@@ -169,8 +170,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
169
170
  selector: 'kendo-pager-numeric-buttons',
170
171
  template: `
171
172
  <select
173
+ #select
172
174
  class="k-dropdown-list k-dropdown k-picker k-picker-solid k-rounded-md"
173
175
  kendoGridFocusable
176
+ [style.display]="'none'"
174
177
  [attr.title]="textFor('selectPage')"
175
178
  [attr.aria-label]="textFor('selectPage')"
176
179
  [ngClass]="{
@@ -197,7 +200,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
197
200
  [attr.aria-label]="pageLabel(end + 1)">...
198
201
  </option>
199
202
  </select>
200
- <div class="k-pager-numbers">
203
+ <div class="k-pager-numbers" #numbers>
201
204
  <button *ngIf="start > 1"
202
205
  type="button"
203
206
  kendoGridFocusable
@@ -241,9 +244,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
241
244
  </div>
242
245
  `
243
246
  }]
244
- }], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }]; }, propDecorators: { numbersWrapClass: [{
245
- type: HostBinding,
246
- args: ['class.k-pager-numbers-wrap']
247
+ }], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }]; }, propDecorators: { selectElement: [{
248
+ type: ViewChild,
249
+ args: ['select', { read: ElementRef }]
250
+ }], numbersElement: [{
251
+ type: ViewChild,
252
+ args: ['numbers', { read: ElementRef }]
247
253
  }], buttonCount: [{
248
254
  type: Input
249
255
  }] } });
@@ -109,7 +109,7 @@ PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
109
109
  [value]="pageSize"
110
110
  (valueChange)="pageSizeChange($event)"></kendo-dropdownlist>
111
111
  <kendo-label [for]="dropdownlist" [text]="textFor('pagerItemsPerPage')"></kendo-label>
112
- `, isInline: true, components: [{ type: i4.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: i5.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }], directives: [{ type: i6.PagerDropDownListDirective, selector: "[kendoGridPagerDropDown]" }, { type: i7.FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
112
+ `, isInline: true, components: [{ type: i4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["showStickyHeader", "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: i5.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }], directives: [{ type: i6.PagerDropDownListDirective, selector: "[kendoGridPagerDropDown]" }, { type: i7.FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
113
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
114
114
  type: Component,
115
115
  args: [{
@@ -2,7 +2,7 @@
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 { Component, Input, EventEmitter, Output, HostBinding, ElementRef, Renderer2, HostListener, NgZone, Optional, Inject } from '@angular/core';
5
+ import { Component, Input, EventEmitter, Output, HostBinding, ElementRef, Renderer2, HostListener, NgZone, Optional, Inject, ViewChild } from '@angular/core';
6
6
  import { normalize } from './pager-settings';
7
7
  import { PagerTemplateDirective } from './pager-template.directive';
8
8
  import { anyChanged, replaceMessagePlaceholder } from '../utils';
@@ -16,6 +16,9 @@ import { FocusGroup } from '../navigation/focus-group';
16
16
  import { FocusRoot, FOCUS_ROOT_ACTIVE } from '../navigation/focus-root';
17
17
  import { findFocusableChild, findLastFocusableChild } from '../rendering/common/dom-queries';
18
18
  import { ContextService } from '../common/provider.service';
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 "./pager-context.service";
21
24
  import * as i2 from "../navigation/navigation.service";
@@ -59,18 +62,33 @@ export class PagerComponent {
59
62
  if (this.template || !element) {
60
63
  return;
61
64
  }
62
- const width = element.offsetWidth;
63
- if (width < RESPONSIVE_BREAKPOINT_MEDIUM) {
64
- this.renderer.removeClass(element, 'k-pager-mobile-md');
65
- this.renderer.addClass(element, 'k-pager-mobile-sm');
66
- }
67
- else if (width >= RESPONSIVE_BREAKPOINT_MEDIUM && width < RESPONSIVE_BREAKPOINT_LARGE) {
68
- this.renderer.addClass(element, 'k-pager-mobile-md');
69
- this.renderer.removeClass(element, 'k-pager-mobile-sm');
70
- }
71
- else {
72
- this.clearResponsiveClasses();
73
- }
65
+ this.zone.runOutsideAngular(() => {
66
+ setTimeout(() => {
67
+ const width = element.offsetWidth;
68
+ if (this.numericButtons) {
69
+ const selectElement = this.numericButtons.selectElement.nativeElement;
70
+ const numbersElement = this.numericButtons.numbersElement.nativeElement;
71
+ this.renderer.removeStyle(numbersElement, 'display');
72
+ this.renderer.setStyle(selectElement, 'display', 'none');
73
+ if (width < RESPONSIVE_BREAKPOINT_MEDIUM) {
74
+ this.renderer.removeStyle(selectElement, 'display');
75
+ this.renderer.setStyle(numbersElement, 'display', 'none');
76
+ }
77
+ }
78
+ if (this.pagerInfo) {
79
+ this.renderer.removeStyle(this.pagerInfo.nativeElement, 'display');
80
+ if (width < RESPONSIVE_BREAKPOINT_LARGE) {
81
+ this.renderer.setStyle(this.pagerInfo.nativeElement, 'display', 'none');
82
+ }
83
+ }
84
+ if (this.pagerPageSizes) {
85
+ this.renderer.removeStyle(this.pagerPageSizes.nativeElement, 'display');
86
+ if (width < RESPONSIVE_BREAKPOINT_MEDIUM) {
87
+ this.renderer.setStyle(this.pagerPageSizes.nativeElement, 'display', 'none');
88
+ }
89
+ }
90
+ });
91
+ });
74
92
  };
75
93
  }
76
94
  set options(value) {
@@ -189,12 +207,10 @@ export class PagerComponent {
189
207
  }
190
208
  const changesInTemplate = changes['template'];
191
209
  if (changesInTemplate) {
192
- // eslint-disable-next-line no-unused-expressions
193
- changesInTemplate.currentValue ? this.clearResponsiveClasses() : this.resizeHandler();
210
+ changesInTemplate.currentValue ? this.clearResponsiveStyling() : this.resizeHandler();
194
211
  }
195
212
  if (changes['options']) {
196
- // eslint-disable-next-line no-unused-expressions
197
- this.settings.responsive ? this.resizeHandler() : this.clearResponsiveClasses();
213
+ this.settings.responsive ? this.resizeHandler() : this.clearResponsiveStyling();
198
214
  }
199
215
  }
200
216
  ngOnDestroy() {
@@ -220,11 +236,6 @@ export class PagerComponent {
220
236
  }
221
237
  });
222
238
  }
223
- clearResponsiveClasses() {
224
- const element = this.element.nativeElement;
225
- this.renderer.removeClass(element, 'k-pager-mobile-sm');
226
- this.renderer.removeClass(element, 'k-pager-mobile-md');
227
- }
228
239
  shouldTriggerPageChange(target, condition) {
229
240
  return this.navigationService.pagerEnabled &&
230
241
  target === this.element.nativeElement &&
@@ -247,6 +258,18 @@ export class PagerComponent {
247
258
  this.cellContext.focusGroup = this.focusGroup;
248
259
  }
249
260
  }
261
+ clearResponsiveStyling() {
262
+ this.zone.runOutsideAngular(() => {
263
+ setTimeout(() => {
264
+ if (this.numericButtons) {
265
+ this.renderer.removeStyle(this.numericButtons.numbersElement.nativeElement, 'display');
266
+ this.renderer.setStyle(this.numericButtons.selectElement.nativeElement, 'display', 'none');
267
+ }
268
+ this.pagerInfo && this.renderer.removeStyle(this.pagerInfo.nativeElement, 'display');
269
+ this.pagerPageSizes && this.renderer.removeStyle(this.pagerPageSizes.nativeElement, 'display');
270
+ });
271
+ });
272
+ }
250
273
  }
251
274
  PagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerComponent, deps: [{ token: i1.PagerContextService }, { token: i2.NavigationService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i3.ContextService }, { token: CELL_CONTEXT, optional: true }, { token: i4.FocusRoot }, { token: i5.FocusGroup }], target: i0.ɵɵFactoryTarget.Component });
252
275
  PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerComponent, selector: "kendo-pager", inputs: { total: "total", skip: "skip", pageSize: "pageSize", options: "options", size: "size", template: "template" }, outputs: { pageChange: "pageChange" }, host: { listeners: { "focusin": "onFocusIn($event)", "focusout": "onFocusOut()", "keydown.escape": "onEscape()", "keydown.enter": "onEnter($event)", "keydown.arrowleft": "navigateToPreviousPage($event)", "keydown.pageup": "navigateToPreviousPage($event)", "keydown.arrowright": "navigateToNextPage($event)", "keydown.pagedown": "navigateToNextPage($event)", "keydown.home": "navigateToFirstPage($event)", "keydown.end": "navigateToLastPage($event)" }, properties: { "class.k-pager-wrap": "this.pagerWrapClass", "class.k-grid-pager": "this.gridPagerClass", "class.k-pager-sm": "this.sizeSmallClass", "class.k-pager-md": "this.sizeMediumClass", "class.k-focus": "this.isFocused", "attr.aria-label": "this.pagerAriaLabel" } }, providers: [{
@@ -260,7 +283,7 @@ PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
260
283
  provide: FocusGroup,
261
284
  deps: [FocusRoot],
262
285
  useClass: FocusGroup
263
- }], usesOnChanges: true, ngImport: i0, template: `
286
+ }], 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: `
264
287
  <div
265
288
  *ngIf="navigationService.pagerEnabled"
266
289
  class="k-sr-only"
@@ -274,20 +297,21 @@ PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
274
297
  [ngTemplateOutletContext]="templateContext">
275
298
  </ng-container>
276
299
  <ng-container *ngIf="!template?.templateRef">
277
- <kendo-pager-prev-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-prev-buttons>
278
- <kendo-pager-numeric-buttons
279
- [size]="size"
280
- *ngIf="settings.type === 'numeric'"
281
- [buttonCount]="settings.buttonCount">
282
- </kendo-pager-numeric-buttons>
283
- <kendo-pager-input [size]="size" *ngIf="settings.type === 'input'"></kendo-pager-input>
284
- <kendo-pager-next-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-next-buttons>
300
+ <div class="k-pager-numbers-wrap">
301
+ <kendo-pager-prev-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-prev-buttons>
302
+ <kendo-pager-numeric-buttons
303
+ [size]="size"
304
+ *ngIf="settings.type === 'numeric'"
305
+ [buttonCount]="settings.buttonCount">
306
+ </kendo-pager-numeric-buttons>
307
+ <kendo-pager-input [size]="size" *ngIf="settings.type === 'input'"></kendo-pager-input>
308
+ <kendo-pager-next-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-next-buttons>
309
+ </div>
285
310
  <kendo-pager-info *ngIf='settings.info'></kendo-pager-info>
286
311
  <kendo-pager-page-sizes
287
312
  [size]="size"
288
313
  *ngIf="settings.pageSizes"
289
314
  [pageSizes]="$any(settings.pageSizes)"
290
- #pageSizes
291
315
  ></kendo-pager-page-sizes>
292
316
  </ng-container>
293
317
  <div
@@ -329,20 +353,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
329
353
  [ngTemplateOutletContext]="templateContext">
330
354
  </ng-container>
331
355
  <ng-container *ngIf="!template?.templateRef">
332
- <kendo-pager-prev-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-prev-buttons>
333
- <kendo-pager-numeric-buttons
334
- [size]="size"
335
- *ngIf="settings.type === 'numeric'"
336
- [buttonCount]="settings.buttonCount">
337
- </kendo-pager-numeric-buttons>
338
- <kendo-pager-input [size]="size" *ngIf="settings.type === 'input'"></kendo-pager-input>
339
- <kendo-pager-next-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-next-buttons>
356
+ <div class="k-pager-numbers-wrap">
357
+ <kendo-pager-prev-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-prev-buttons>
358
+ <kendo-pager-numeric-buttons
359
+ [size]="size"
360
+ *ngIf="settings.type === 'numeric'"
361
+ [buttonCount]="settings.buttonCount">
362
+ </kendo-pager-numeric-buttons>
363
+ <kendo-pager-input [size]="size" *ngIf="settings.type === 'input'"></kendo-pager-input>
364
+ <kendo-pager-next-buttons [size]="size" *ngIf="settings.previousNext"></kendo-pager-next-buttons>
365
+ </div>
340
366
  <kendo-pager-info *ngIf='settings.info'></kendo-pager-info>
341
367
  <kendo-pager-page-sizes
342
368
  [size]="size"
343
369
  *ngIf="settings.pageSizes"
344
370
  [pageSizes]="$any(settings.pageSizes)"
345
- #pageSizes
346
371
  ></kendo-pager-page-sizes>
347
372
  </ng-container>
348
373
  <div
@@ -360,7 +385,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
360
385
  }, {
361
386
  type: Inject,
362
387
  args: [CELL_CONTEXT]
363
- }] }, { type: i4.FocusRoot }, { type: i5.FocusGroup }]; }, propDecorators: { total: [{
388
+ }] }, { type: i4.FocusRoot }, { type: i5.FocusGroup }]; }, propDecorators: { pagerInfo: [{
389
+ type: ViewChild,
390
+ args: [PagerInfoComponent, { read: ElementRef }]
391
+ }], pagerPageSizes: [{
392
+ type: ViewChild,
393
+ args: [PagerPageSizesComponent, { read: ElementRef }]
394
+ }], numericButtons: [{
395
+ type: ViewChild,
396
+ args: [PagerNumericButtonsComponent]
397
+ }], total: [{
364
398
  type: Input
365
399
  }], skip: [{
366
400
  type: Input