@progress/kendo-angular-toolbar 18.1.0-develop.31 → 18.1.0-develop.32
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/esm2022/package-metadata.mjs +2 -2
- package/esm2022/scroll.service.mjs +9 -1
- package/esm2022/scrollable-button.component.mjs +2 -12
- package/esm2022/toolbar.component.mjs +75 -40
- package/fesm2022/progress-kendo-angular-toolbar.mjs +88 -55
- package/package.json +8 -8
- package/scroll.service.d.ts +1 -0
- package/scrollable-button.component.d.ts +0 -4
- package/toolbar.component.d.ts +6 -1
|
@@ -10,7 +10,7 @@ export const packageMetadata = {
|
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCode: 'KENDOUIANGULAR',
|
|
12
12
|
productCodes: ['KENDOUIANGULAR'],
|
|
13
|
-
publishDate:
|
|
14
|
-
version: '18.1.0-develop.
|
|
13
|
+
publishDate: 1739276318,
|
|
14
|
+
version: '18.1.0-develop.32',
|
|
15
15
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
16
16
|
};
|
|
@@ -68,6 +68,9 @@ export class ScrollService {
|
|
|
68
68
|
}
|
|
69
69
|
this.toggleScrollButtonsState();
|
|
70
70
|
}
|
|
71
|
+
updateScrollPosition(element) {
|
|
72
|
+
this.position = element.scrollLeft;
|
|
73
|
+
}
|
|
71
74
|
calculateListPosition(direction, scrollSpeed) {
|
|
72
75
|
if (direction === 'prev') {
|
|
73
76
|
if (!this.localization.rtl) {
|
|
@@ -79,7 +82,12 @@ export class ScrollService {
|
|
|
79
82
|
}
|
|
80
83
|
else if (direction === 'next' && this.position < this.scrollContainerOverflowSize) {
|
|
81
84
|
if (this.position + scrollSpeed > this.scrollContainerOverflowSize) {
|
|
82
|
-
this.
|
|
85
|
+
if (this.localization.rtl) {
|
|
86
|
+
this.position = -this.scrollContainerOverflowSize;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
this.position = this.scrollContainerOverflowSize;
|
|
90
|
+
}
|
|
83
91
|
return;
|
|
84
92
|
}
|
|
85
93
|
if (this.localization.rtl) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright © 2025 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, ElementRef, HostBinding, Input, Renderer2, NgZone, Output, EventEmitter
|
|
5
|
+
import { Component, ElementRef, HostBinding, Input, Renderer2, NgZone, Output, EventEmitter } from '@angular/core';
|
|
6
6
|
import { Subscription } from 'rxjs';
|
|
7
7
|
import { caretAltLeftIcon, caretAltRightIcon } from '@progress/kendo-svg-icons';
|
|
8
8
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
@@ -27,13 +27,6 @@ export class ToolbarScrollableButtonComponent {
|
|
|
27
27
|
get nextClass() {
|
|
28
28
|
return !this.prev;
|
|
29
29
|
}
|
|
30
|
-
/**
|
|
31
|
-
* @hidden
|
|
32
|
-
*/
|
|
33
|
-
onMouseDown(ev) {
|
|
34
|
-
ev.preventDefault();
|
|
35
|
-
ev.stopImmediatePropagation();
|
|
36
|
-
}
|
|
37
30
|
role = 'button';
|
|
38
31
|
prev = false;
|
|
39
32
|
overflow;
|
|
@@ -114,7 +107,7 @@ export class ToolbarScrollableButtonComponent {
|
|
|
114
107
|
}
|
|
115
108
|
}
|
|
116
109
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarScrollableButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
117
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolbarScrollableButtonComponent, isStandalone: true, selector: "[kendoToolbarScrollableButton]", inputs: { prev: "prev", overflow: "overflow" }, outputs: { onClick: "onClick" }, host: {
|
|
110
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolbarScrollableButtonComponent, isStandalone: true, selector: "[kendoToolbarScrollableButton]", inputs: { prev: "prev", overflow: "overflow" }, outputs: { onClick: "onClick" }, host: { properties: { "class.k-toolbar-prev": "this.prevClass", "class.k-toolbar-next": "this.nextClass", "attr.role": "this.role" } }, ngImport: i0, template: `
|
|
118
111
|
<kendo-icon-wrapper
|
|
119
112
|
[name]="iconClass"
|
|
120
113
|
[customFontClass]="customIconClass"
|
|
@@ -147,9 +140,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
147
140
|
}], nextClass: [{
|
|
148
141
|
type: HostBinding,
|
|
149
142
|
args: ['class.k-toolbar-next']
|
|
150
|
-
}], onMouseDown: [{
|
|
151
|
-
type: HostListener,
|
|
152
|
-
args: ['mousedown', ['$event']]
|
|
153
143
|
}], role: [{
|
|
154
144
|
type: HostBinding,
|
|
155
145
|
args: ['attr.role']
|
|
@@ -64,13 +64,20 @@ export class ToolBarComponent {
|
|
|
64
64
|
* @default false
|
|
65
65
|
*/
|
|
66
66
|
set overflow(overflow) {
|
|
67
|
+
if (this.isScrollMode) {
|
|
68
|
+
this.removeSubscriptions(['scrollButtonStateChangeSub', 'scrollContainerScrollSub']);
|
|
69
|
+
}
|
|
67
70
|
this._overflow = overflow;
|
|
71
|
+
if (this.isScrollMode) {
|
|
72
|
+
this.handleScrollModeUpdates();
|
|
73
|
+
}
|
|
74
|
+
this.setScrollableOverlayClasses();
|
|
68
75
|
this.zone.onStable.pipe(take(1)).subscribe(() => this.onResize());
|
|
69
76
|
}
|
|
70
77
|
get overflow() {
|
|
71
78
|
return this._overflow;
|
|
72
79
|
}
|
|
73
|
-
get
|
|
80
|
+
get showScrollButtons() {
|
|
74
81
|
const buttonsVisibility = this.normalizedOverflow.scrollButtons;
|
|
75
82
|
const showAuto = buttonsVisibility === 'auto' && this.showAutoButtons;
|
|
76
83
|
const showAlways = buttonsVisibility === 'visible';
|
|
@@ -247,6 +254,8 @@ export class ToolBarComponent {
|
|
|
247
254
|
_fillMode = DEFAULT_FILL_MODE;
|
|
248
255
|
overflowButtonClickedTime = null;
|
|
249
256
|
showAutoButtons = false;
|
|
257
|
+
scrollButtonStateChangeSub;
|
|
258
|
+
scrollContainerScrollSub;
|
|
250
259
|
/**
|
|
251
260
|
* @hidden
|
|
252
261
|
*/
|
|
@@ -255,10 +264,15 @@ export class ToolBarComponent {
|
|
|
255
264
|
}
|
|
256
265
|
subscriptions = new Subscription();
|
|
257
266
|
popupSubs = new Subscription();
|
|
267
|
+
focusedByPointer = false;
|
|
258
268
|
/**
|
|
259
269
|
* @hidden
|
|
260
270
|
*/
|
|
261
271
|
onFocus(ev) {
|
|
272
|
+
if (this.focusedByPointer) {
|
|
273
|
+
this.focusedByPointer = false;
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
262
276
|
this.navigationService.resetNavigation();
|
|
263
277
|
this.navigationService.focusFirst(ev);
|
|
264
278
|
// prevents ExpressionChangedAfterItHasBeenCheckedError when tools with popup are opened/closed asynchronously
|
|
@@ -379,37 +393,13 @@ export class ToolBarComponent {
|
|
|
379
393
|
});
|
|
380
394
|
}
|
|
381
395
|
if (this.isScrollMode) {
|
|
382
|
-
|
|
383
|
-
if (this.normalizedOverflow.scrollButtons === 'visible' && !this.scrollService.toolsOverflow) {
|
|
384
|
-
this.renderer.addClass(this.nextScrollButton.nativeElement, 'k-disabled');
|
|
385
|
-
this.renderer.addClass(this.prevScrollButton.nativeElement, 'k-disabled');
|
|
386
|
-
}
|
|
387
|
-
else {
|
|
388
|
-
const buttonToDisable = this.direction === 'rtl' ? this.nextScrollButton : this.prevScrollButton;
|
|
389
|
-
this.renderer.addClass(buttonToDisable.nativeElement, 'k-disabled');
|
|
390
|
-
}
|
|
391
|
-
}
|
|
392
|
-
if (this.hasScrollButtons.visible) {
|
|
393
|
-
this.subscriptions.add(this.scrollService.scrollButtonActiveStateChange.subscribe((activeButtonSettings) => {
|
|
394
|
-
if (this.show) {
|
|
395
|
-
const action = activeButtonSettings.active ? 'remove' : 'add';
|
|
396
|
-
const scrollButton = this[`${activeButtonSettings.buttonType}ScrollButton`].nativeElement;
|
|
397
|
-
this.renderer[`${action}Class`](scrollButton, 'k-disabled');
|
|
398
|
-
action === 'add' && this[`${activeButtonSettings.buttonType}ScrollButton`].nativeElement.blur();
|
|
399
|
-
}
|
|
400
|
-
}));
|
|
401
|
-
}
|
|
402
|
-
this.zone.runOutsideAngular(() => {
|
|
403
|
-
this.subscriptions.add(this.renderer.listen(this.scrollContainer.nativeElement, 'scroll', (e) => {
|
|
404
|
-
if (!this.hasScrollButtons.visible) {
|
|
405
|
-
this.setScrollableOverlayClasses();
|
|
406
|
-
}
|
|
407
|
-
else {
|
|
408
|
-
this.scrollService.onScroll(e);
|
|
409
|
-
}
|
|
410
|
-
}));
|
|
411
|
-
});
|
|
396
|
+
this.handleScrollModeUpdates();
|
|
412
397
|
}
|
|
398
|
+
this.subscriptions.add(this.renderer.listen(this.element.nativeElement, 'pointerdown', (ev) => {
|
|
399
|
+
if (!ev.target.closest('.k-toolbar-items')) {
|
|
400
|
+
this.focusedByPointer = true;
|
|
401
|
+
}
|
|
402
|
+
}));
|
|
413
403
|
this.navigationService.setRenderedTools(this.toolsService.renderedTools);
|
|
414
404
|
const stylingOptions = ['size', 'fillMode'];
|
|
415
405
|
stylingOptions.forEach(option => {
|
|
@@ -897,7 +887,7 @@ export class ToolBarComponent {
|
|
|
897
887
|
}
|
|
898
888
|
const scrollOffset = container.scrollLeft;
|
|
899
889
|
const defaultOffset = 1;
|
|
900
|
-
if (this.scrollService.toolsOverflow) {
|
|
890
|
+
if (this.scrollService.toolsOverflow && !this.hasScrollButtons.visible) {
|
|
901
891
|
this.renderer.addClass(wrapper, 'k-toolbar-scrollable-overlay');
|
|
902
892
|
if (scrollOffset === 0) {
|
|
903
893
|
this.renderer.removeClass(wrapper, 'k-toolbar-scrollable-end');
|
|
@@ -918,6 +908,51 @@ export class ToolBarComponent {
|
|
|
918
908
|
this.renderer.removeClass(wrapper, 'k-toolbar-scrollable-start');
|
|
919
909
|
}
|
|
920
910
|
}
|
|
911
|
+
handleScrollModeUpdates() {
|
|
912
|
+
if (isPresent(this.scrollContainer)) {
|
|
913
|
+
this.scrollService.updateScrollPosition(this.scrollContainer.nativeElement);
|
|
914
|
+
this.zone.runOutsideAngular(() => {
|
|
915
|
+
this.scrollContainerScrollSub = this.renderer.listen(this.scrollContainer.nativeElement, 'scroll', (e) => {
|
|
916
|
+
if (!this.hasScrollButtons.visible) {
|
|
917
|
+
this.setScrollableOverlayClasses();
|
|
918
|
+
}
|
|
919
|
+
else {
|
|
920
|
+
this.scrollService.onScroll(e);
|
|
921
|
+
}
|
|
922
|
+
});
|
|
923
|
+
this.subscriptions.add(this.scrollContainerScrollSub);
|
|
924
|
+
});
|
|
925
|
+
}
|
|
926
|
+
if (this.showScrollButtons && this.nextScrollButton && this.prevScrollButton) {
|
|
927
|
+
if (this.normalizedOverflow.scrollButtons === 'visible' && !this.scrollService.toolsOverflow) {
|
|
928
|
+
this.renderer.addClass(this.nextScrollButton.nativeElement, 'k-disabled');
|
|
929
|
+
this.renderer.addClass(this.prevScrollButton.nativeElement, 'k-disabled');
|
|
930
|
+
}
|
|
931
|
+
else {
|
|
932
|
+
const buttonToDisable = this.direction === 'rtl' ? this.nextScrollButton : this.prevScrollButton;
|
|
933
|
+
this.renderer.addClass(buttonToDisable.nativeElement, 'k-disabled');
|
|
934
|
+
}
|
|
935
|
+
}
|
|
936
|
+
if (this.hasScrollButtons.visible) {
|
|
937
|
+
this.scrollButtonStateChangeSub = this.scrollService.scrollButtonActiveStateChange.subscribe((activeButtonSettings) => {
|
|
938
|
+
if (this.showScrollButtons) {
|
|
939
|
+
const action = activeButtonSettings.active ? 'remove' : 'add';
|
|
940
|
+
const scrollButton = this[`${activeButtonSettings.buttonType}ScrollButton`]?.nativeElement;
|
|
941
|
+
scrollButton && this.renderer[`${action}Class`](scrollButton, 'k-disabled');
|
|
942
|
+
}
|
|
943
|
+
});
|
|
944
|
+
this.subscriptions.add(this.scrollButtonStateChangeSub);
|
|
945
|
+
this.scrollService.toggleScrollButtonsState();
|
|
946
|
+
}
|
|
947
|
+
}
|
|
948
|
+
removeSubscriptions(subsToRemove) {
|
|
949
|
+
subsToRemove.forEach((sub) => {
|
|
950
|
+
if (this[sub]) {
|
|
951
|
+
this.subscriptions.remove(this[sub]);
|
|
952
|
+
this[sub] = null;
|
|
953
|
+
}
|
|
954
|
+
});
|
|
955
|
+
}
|
|
921
956
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PopupService }, { token: i3.RefreshService }, { token: i4.NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i5.ToolbarToolsService }, { token: i6.ScrollService }], target: i0.ɵɵFactoryTarget.Component });
|
|
922
957
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarComponent, isStandalone: true, selector: "kendo-toolbar", inputs: { overflow: "overflow", resizable: "resizable", popupSettings: "popupSettings", fillMode: "fillMode", tabindex: "tabindex", size: "size", tabIndex: "tabIndex" }, outputs: { open: "open", close: "close" }, host: { listeners: { "focus": "onFocus($event)", "focusout": "onFocusOut($event)" }, properties: { "class.k-toolbar": "this.hostClass", "class.k-toolbar-scrollable": "this.scrollableClass", "class.k-toolbar-section": "this.sectionClass", "attr.role": "this.role", "attr.dir": "this.getDir", "class.k-toolbar-resizable": "this.resizableClass" } }, providers: [
|
|
923
958
|
RefreshService,
|
|
@@ -941,7 +976,7 @@ export class ToolBarComponent {
|
|
|
941
976
|
nextToolButton="Scroll right"
|
|
942
977
|
>
|
|
943
978
|
</ng-container>
|
|
944
|
-
<ng-container *ngIf="
|
|
979
|
+
<ng-container *ngIf="showScrollButtons && (hasScrollButtons.position === 'split' || hasScrollButtons.position === 'start')">
|
|
945
980
|
<span *ngIf="hasScrollButtons.position === 'split'" #prevScrollButton
|
|
946
981
|
kendoToolbarScrollableButton
|
|
947
982
|
[prev]="true"
|
|
@@ -985,7 +1020,7 @@ export class ToolBarComponent {
|
|
|
985
1020
|
</div>
|
|
986
1021
|
<div class="k-toolbar-separator k-toolbar-button-separator k-separator" #scrollSeparator></div>
|
|
987
1022
|
</ng-container>
|
|
988
|
-
<div class="k-toolbar-items k-toolbar-items-scroll" *ngIf="isScrollMode; else noScroll" #scrollContainer>
|
|
1023
|
+
<div class="k-toolbar-items k-toolbar-items-scroll" tabindex="-1" *ngIf="isScrollMode; else noScroll" #scrollContainer>
|
|
989
1024
|
<ng-container *ngFor="let tool of allTools; let index = index"
|
|
990
1025
|
kendoToolbarRenderer
|
|
991
1026
|
[tool]="tool"
|
|
@@ -1037,8 +1072,8 @@ export class ToolBarComponent {
|
|
|
1037
1072
|
(click)="showPopup()"
|
|
1038
1073
|
>
|
|
1039
1074
|
</button>
|
|
1040
|
-
<ng-container *ngIf="
|
|
1041
|
-
<div class="k-toolbar-separator k-toolbar-button-separator k-separator"></div>
|
|
1075
|
+
<ng-container *ngIf="showScrollButtons && (hasScrollButtons.position === 'split' || hasScrollButtons.position === 'end')">
|
|
1076
|
+
<div class="k-toolbar-separator k-toolbar-button-separator k-separator" #scrollSeparator></div>
|
|
1042
1077
|
<span *ngIf="hasScrollButtons.position === 'split'" #nextScrollButton
|
|
1043
1078
|
kendoToolbarScrollableButton
|
|
1044
1079
|
[prev]="false"
|
|
@@ -1157,7 +1192,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1157
1192
|
nextToolButton="Scroll right"
|
|
1158
1193
|
>
|
|
1159
1194
|
</ng-container>
|
|
1160
|
-
<ng-container *ngIf="
|
|
1195
|
+
<ng-container *ngIf="showScrollButtons && (hasScrollButtons.position === 'split' || hasScrollButtons.position === 'start')">
|
|
1161
1196
|
<span *ngIf="hasScrollButtons.position === 'split'" #prevScrollButton
|
|
1162
1197
|
kendoToolbarScrollableButton
|
|
1163
1198
|
[prev]="true"
|
|
@@ -1201,7 +1236,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1201
1236
|
</div>
|
|
1202
1237
|
<div class="k-toolbar-separator k-toolbar-button-separator k-separator" #scrollSeparator></div>
|
|
1203
1238
|
</ng-container>
|
|
1204
|
-
<div class="k-toolbar-items k-toolbar-items-scroll" *ngIf="isScrollMode; else noScroll" #scrollContainer>
|
|
1239
|
+
<div class="k-toolbar-items k-toolbar-items-scroll" tabindex="-1" *ngIf="isScrollMode; else noScroll" #scrollContainer>
|
|
1205
1240
|
<ng-container *ngFor="let tool of allTools; let index = index"
|
|
1206
1241
|
kendoToolbarRenderer
|
|
1207
1242
|
[tool]="tool"
|
|
@@ -1253,8 +1288,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1253
1288
|
(click)="showPopup()"
|
|
1254
1289
|
>
|
|
1255
1290
|
</button>
|
|
1256
|
-
<ng-container *ngIf="
|
|
1257
|
-
<div class="k-toolbar-separator k-toolbar-button-separator k-separator"></div>
|
|
1291
|
+
<ng-container *ngIf="showScrollButtons && (hasScrollButtons.position === 'split' || hasScrollButtons.position === 'end')">
|
|
1292
|
+
<div class="k-toolbar-separator k-toolbar-button-separator k-separator" #scrollSeparator></div>
|
|
1258
1293
|
<span *ngIf="hasScrollButtons.position === 'split'" #nextScrollButton
|
|
1259
1294
|
kendoToolbarScrollableButton
|
|
1260
1295
|
[prev]="false"
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
|
-
import { EventEmitter, Injectable, inject, ElementRef, Directive, ViewChild, Input, Output, forwardRef, Component, HostBinding,
|
|
6
|
+
import { EventEmitter, Injectable, inject, ElementRef, Directive, ViewChild, Input, Output, forwardRef, Component, HostBinding, ViewContainerRef, ContentChildren, HostListener, isDevMode, ViewChildren, NgModule } from '@angular/core';
|
|
7
7
|
import * as i2 from '@progress/kendo-angular-popup';
|
|
8
8
|
import { PopupService } from '@progress/kendo-angular-popup';
|
|
9
9
|
import { Keys, isDocumentAvailable, guid, ResizeSensorComponent, ResizeBatchService } from '@progress/kendo-angular-common';
|
|
@@ -25,8 +25,8 @@ const packageMetadata = {
|
|
|
25
25
|
productName: 'Kendo UI for Angular',
|
|
26
26
|
productCode: 'KENDOUIANGULAR',
|
|
27
27
|
productCodes: ['KENDOUIANGULAR'],
|
|
28
|
-
publishDate:
|
|
29
|
-
version: '18.1.0-develop.
|
|
28
|
+
publishDate: 1739276318,
|
|
29
|
+
version: '18.1.0-develop.32',
|
|
30
30
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
31
31
|
};
|
|
32
32
|
|
|
@@ -868,6 +868,9 @@ class ScrollService {
|
|
|
868
868
|
}
|
|
869
869
|
this.toggleScrollButtonsState();
|
|
870
870
|
}
|
|
871
|
+
updateScrollPosition(element) {
|
|
872
|
+
this.position = element.scrollLeft;
|
|
873
|
+
}
|
|
871
874
|
calculateListPosition(direction, scrollSpeed) {
|
|
872
875
|
if (direction === 'prev') {
|
|
873
876
|
if (!this.localization.rtl) {
|
|
@@ -879,7 +882,12 @@ class ScrollService {
|
|
|
879
882
|
}
|
|
880
883
|
else if (direction === 'next' && this.position < this.scrollContainerOverflowSize) {
|
|
881
884
|
if (this.position + scrollSpeed > this.scrollContainerOverflowSize) {
|
|
882
|
-
this.
|
|
885
|
+
if (this.localization.rtl) {
|
|
886
|
+
this.position = -this.scrollContainerOverflowSize;
|
|
887
|
+
}
|
|
888
|
+
else {
|
|
889
|
+
this.position = this.scrollContainerOverflowSize;
|
|
890
|
+
}
|
|
883
891
|
return;
|
|
884
892
|
}
|
|
885
893
|
if (this.localization.rtl) {
|
|
@@ -919,13 +927,6 @@ class ToolbarScrollableButtonComponent {
|
|
|
919
927
|
get nextClass() {
|
|
920
928
|
return !this.prev;
|
|
921
929
|
}
|
|
922
|
-
/**
|
|
923
|
-
* @hidden
|
|
924
|
-
*/
|
|
925
|
-
onMouseDown(ev) {
|
|
926
|
-
ev.preventDefault();
|
|
927
|
-
ev.stopImmediatePropagation();
|
|
928
|
-
}
|
|
929
930
|
role = 'button';
|
|
930
931
|
prev = false;
|
|
931
932
|
overflow;
|
|
@@ -1006,7 +1007,7 @@ class ToolbarScrollableButtonComponent {
|
|
|
1006
1007
|
}
|
|
1007
1008
|
}
|
|
1008
1009
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarScrollableButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1009
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolbarScrollableButtonComponent, isStandalone: true, selector: "[kendoToolbarScrollableButton]", inputs: { prev: "prev", overflow: "overflow" }, outputs: { onClick: "onClick" }, host: {
|
|
1010
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolbarScrollableButtonComponent, isStandalone: true, selector: "[kendoToolbarScrollableButton]", inputs: { prev: "prev", overflow: "overflow" }, outputs: { onClick: "onClick" }, host: { properties: { "class.k-toolbar-prev": "this.prevClass", "class.k-toolbar-next": "this.nextClass", "attr.role": "this.role" } }, ngImport: i0, template: `
|
|
1010
1011
|
<kendo-icon-wrapper
|
|
1011
1012
|
[name]="iconClass"
|
|
1012
1013
|
[customFontClass]="customIconClass"
|
|
@@ -1039,9 +1040,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1039
1040
|
}], nextClass: [{
|
|
1040
1041
|
type: HostBinding,
|
|
1041
1042
|
args: ['class.k-toolbar-next']
|
|
1042
|
-
}], onMouseDown: [{
|
|
1043
|
-
type: HostListener,
|
|
1044
|
-
args: ['mousedown', ['$event']]
|
|
1045
1043
|
}], role: [{
|
|
1046
1044
|
type: HostBinding,
|
|
1047
1045
|
args: ['attr.role']
|
|
@@ -1084,13 +1082,20 @@ class ToolBarComponent {
|
|
|
1084
1082
|
* @default false
|
|
1085
1083
|
*/
|
|
1086
1084
|
set overflow(overflow) {
|
|
1085
|
+
if (this.isScrollMode) {
|
|
1086
|
+
this.removeSubscriptions(['scrollButtonStateChangeSub', 'scrollContainerScrollSub']);
|
|
1087
|
+
}
|
|
1087
1088
|
this._overflow = overflow;
|
|
1089
|
+
if (this.isScrollMode) {
|
|
1090
|
+
this.handleScrollModeUpdates();
|
|
1091
|
+
}
|
|
1092
|
+
this.setScrollableOverlayClasses();
|
|
1088
1093
|
this.zone.onStable.pipe(take(1)).subscribe(() => this.onResize());
|
|
1089
1094
|
}
|
|
1090
1095
|
get overflow() {
|
|
1091
1096
|
return this._overflow;
|
|
1092
1097
|
}
|
|
1093
|
-
get
|
|
1098
|
+
get showScrollButtons() {
|
|
1094
1099
|
const buttonsVisibility = this.normalizedOverflow.scrollButtons;
|
|
1095
1100
|
const showAuto = buttonsVisibility === 'auto' && this.showAutoButtons;
|
|
1096
1101
|
const showAlways = buttonsVisibility === 'visible';
|
|
@@ -1267,6 +1272,8 @@ class ToolBarComponent {
|
|
|
1267
1272
|
_fillMode = DEFAULT_FILL_MODE;
|
|
1268
1273
|
overflowButtonClickedTime = null;
|
|
1269
1274
|
showAutoButtons = false;
|
|
1275
|
+
scrollButtonStateChangeSub;
|
|
1276
|
+
scrollContainerScrollSub;
|
|
1270
1277
|
/**
|
|
1271
1278
|
* @hidden
|
|
1272
1279
|
*/
|
|
@@ -1275,10 +1282,15 @@ class ToolBarComponent {
|
|
|
1275
1282
|
}
|
|
1276
1283
|
subscriptions = new Subscription();
|
|
1277
1284
|
popupSubs = new Subscription();
|
|
1285
|
+
focusedByPointer = false;
|
|
1278
1286
|
/**
|
|
1279
1287
|
* @hidden
|
|
1280
1288
|
*/
|
|
1281
1289
|
onFocus(ev) {
|
|
1290
|
+
if (this.focusedByPointer) {
|
|
1291
|
+
this.focusedByPointer = false;
|
|
1292
|
+
return;
|
|
1293
|
+
}
|
|
1282
1294
|
this.navigationService.resetNavigation();
|
|
1283
1295
|
this.navigationService.focusFirst(ev);
|
|
1284
1296
|
// prevents ExpressionChangedAfterItHasBeenCheckedError when tools with popup are opened/closed asynchronously
|
|
@@ -1399,37 +1411,13 @@ class ToolBarComponent {
|
|
|
1399
1411
|
});
|
|
1400
1412
|
}
|
|
1401
1413
|
if (this.isScrollMode) {
|
|
1402
|
-
|
|
1403
|
-
if (this.normalizedOverflow.scrollButtons === 'visible' && !this.scrollService.toolsOverflow) {
|
|
1404
|
-
this.renderer.addClass(this.nextScrollButton.nativeElement, 'k-disabled');
|
|
1405
|
-
this.renderer.addClass(this.prevScrollButton.nativeElement, 'k-disabled');
|
|
1406
|
-
}
|
|
1407
|
-
else {
|
|
1408
|
-
const buttonToDisable = this.direction === 'rtl' ? this.nextScrollButton : this.prevScrollButton;
|
|
1409
|
-
this.renderer.addClass(buttonToDisable.nativeElement, 'k-disabled');
|
|
1410
|
-
}
|
|
1411
|
-
}
|
|
1412
|
-
if (this.hasScrollButtons.visible) {
|
|
1413
|
-
this.subscriptions.add(this.scrollService.scrollButtonActiveStateChange.subscribe((activeButtonSettings) => {
|
|
1414
|
-
if (this.show) {
|
|
1415
|
-
const action = activeButtonSettings.active ? 'remove' : 'add';
|
|
1416
|
-
const scrollButton = this[`${activeButtonSettings.buttonType}ScrollButton`].nativeElement;
|
|
1417
|
-
this.renderer[`${action}Class`](scrollButton, 'k-disabled');
|
|
1418
|
-
action === 'add' && this[`${activeButtonSettings.buttonType}ScrollButton`].nativeElement.blur();
|
|
1419
|
-
}
|
|
1420
|
-
}));
|
|
1421
|
-
}
|
|
1422
|
-
this.zone.runOutsideAngular(() => {
|
|
1423
|
-
this.subscriptions.add(this.renderer.listen(this.scrollContainer.nativeElement, 'scroll', (e) => {
|
|
1424
|
-
if (!this.hasScrollButtons.visible) {
|
|
1425
|
-
this.setScrollableOverlayClasses();
|
|
1426
|
-
}
|
|
1427
|
-
else {
|
|
1428
|
-
this.scrollService.onScroll(e);
|
|
1429
|
-
}
|
|
1430
|
-
}));
|
|
1431
|
-
});
|
|
1414
|
+
this.handleScrollModeUpdates();
|
|
1432
1415
|
}
|
|
1416
|
+
this.subscriptions.add(this.renderer.listen(this.element.nativeElement, 'pointerdown', (ev) => {
|
|
1417
|
+
if (!ev.target.closest('.k-toolbar-items')) {
|
|
1418
|
+
this.focusedByPointer = true;
|
|
1419
|
+
}
|
|
1420
|
+
}));
|
|
1433
1421
|
this.navigationService.setRenderedTools(this.toolsService.renderedTools);
|
|
1434
1422
|
const stylingOptions = ['size', 'fillMode'];
|
|
1435
1423
|
stylingOptions.forEach(option => {
|
|
@@ -1917,7 +1905,7 @@ class ToolBarComponent {
|
|
|
1917
1905
|
}
|
|
1918
1906
|
const scrollOffset = container.scrollLeft;
|
|
1919
1907
|
const defaultOffset = 1;
|
|
1920
|
-
if (this.scrollService.toolsOverflow) {
|
|
1908
|
+
if (this.scrollService.toolsOverflow && !this.hasScrollButtons.visible) {
|
|
1921
1909
|
this.renderer.addClass(wrapper, 'k-toolbar-scrollable-overlay');
|
|
1922
1910
|
if (scrollOffset === 0) {
|
|
1923
1911
|
this.renderer.removeClass(wrapper, 'k-toolbar-scrollable-end');
|
|
@@ -1938,6 +1926,51 @@ class ToolBarComponent {
|
|
|
1938
1926
|
this.renderer.removeClass(wrapper, 'k-toolbar-scrollable-start');
|
|
1939
1927
|
}
|
|
1940
1928
|
}
|
|
1929
|
+
handleScrollModeUpdates() {
|
|
1930
|
+
if (isPresent(this.scrollContainer)) {
|
|
1931
|
+
this.scrollService.updateScrollPosition(this.scrollContainer.nativeElement);
|
|
1932
|
+
this.zone.runOutsideAngular(() => {
|
|
1933
|
+
this.scrollContainerScrollSub = this.renderer.listen(this.scrollContainer.nativeElement, 'scroll', (e) => {
|
|
1934
|
+
if (!this.hasScrollButtons.visible) {
|
|
1935
|
+
this.setScrollableOverlayClasses();
|
|
1936
|
+
}
|
|
1937
|
+
else {
|
|
1938
|
+
this.scrollService.onScroll(e);
|
|
1939
|
+
}
|
|
1940
|
+
});
|
|
1941
|
+
this.subscriptions.add(this.scrollContainerScrollSub);
|
|
1942
|
+
});
|
|
1943
|
+
}
|
|
1944
|
+
if (this.showScrollButtons && this.nextScrollButton && this.prevScrollButton) {
|
|
1945
|
+
if (this.normalizedOverflow.scrollButtons === 'visible' && !this.scrollService.toolsOverflow) {
|
|
1946
|
+
this.renderer.addClass(this.nextScrollButton.nativeElement, 'k-disabled');
|
|
1947
|
+
this.renderer.addClass(this.prevScrollButton.nativeElement, 'k-disabled');
|
|
1948
|
+
}
|
|
1949
|
+
else {
|
|
1950
|
+
const buttonToDisable = this.direction === 'rtl' ? this.nextScrollButton : this.prevScrollButton;
|
|
1951
|
+
this.renderer.addClass(buttonToDisable.nativeElement, 'k-disabled');
|
|
1952
|
+
}
|
|
1953
|
+
}
|
|
1954
|
+
if (this.hasScrollButtons.visible) {
|
|
1955
|
+
this.scrollButtonStateChangeSub = this.scrollService.scrollButtonActiveStateChange.subscribe((activeButtonSettings) => {
|
|
1956
|
+
if (this.showScrollButtons) {
|
|
1957
|
+
const action = activeButtonSettings.active ? 'remove' : 'add';
|
|
1958
|
+
const scrollButton = this[`${activeButtonSettings.buttonType}ScrollButton`]?.nativeElement;
|
|
1959
|
+
scrollButton && this.renderer[`${action}Class`](scrollButton, 'k-disabled');
|
|
1960
|
+
}
|
|
1961
|
+
});
|
|
1962
|
+
this.subscriptions.add(this.scrollButtonStateChangeSub);
|
|
1963
|
+
this.scrollService.toggleScrollButtonsState();
|
|
1964
|
+
}
|
|
1965
|
+
}
|
|
1966
|
+
removeSubscriptions(subsToRemove) {
|
|
1967
|
+
subsToRemove.forEach((sub) => {
|
|
1968
|
+
if (this[sub]) {
|
|
1969
|
+
this.subscriptions.remove(this[sub]);
|
|
1970
|
+
this[sub] = null;
|
|
1971
|
+
}
|
|
1972
|
+
});
|
|
1973
|
+
}
|
|
1941
1974
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PopupService }, { token: RefreshService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: ToolbarToolsService }, { token: ScrollService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1942
1975
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarComponent, isStandalone: true, selector: "kendo-toolbar", inputs: { overflow: "overflow", resizable: "resizable", popupSettings: "popupSettings", fillMode: "fillMode", tabindex: "tabindex", size: "size", tabIndex: "tabIndex" }, outputs: { open: "open", close: "close" }, host: { listeners: { "focus": "onFocus($event)", "focusout": "onFocusOut($event)" }, properties: { "class.k-toolbar": "this.hostClass", "class.k-toolbar-scrollable": "this.scrollableClass", "class.k-toolbar-section": "this.sectionClass", "attr.role": "this.role", "attr.dir": "this.getDir", "class.k-toolbar-resizable": "this.resizableClass" } }, providers: [
|
|
1943
1976
|
RefreshService,
|
|
@@ -1961,7 +1994,7 @@ class ToolBarComponent {
|
|
|
1961
1994
|
nextToolButton="Scroll right"
|
|
1962
1995
|
>
|
|
1963
1996
|
</ng-container>
|
|
1964
|
-
<ng-container *ngIf="
|
|
1997
|
+
<ng-container *ngIf="showScrollButtons && (hasScrollButtons.position === 'split' || hasScrollButtons.position === 'start')">
|
|
1965
1998
|
<span *ngIf="hasScrollButtons.position === 'split'" #prevScrollButton
|
|
1966
1999
|
kendoToolbarScrollableButton
|
|
1967
2000
|
[prev]="true"
|
|
@@ -2005,7 +2038,7 @@ class ToolBarComponent {
|
|
|
2005
2038
|
</div>
|
|
2006
2039
|
<div class="k-toolbar-separator k-toolbar-button-separator k-separator" #scrollSeparator></div>
|
|
2007
2040
|
</ng-container>
|
|
2008
|
-
<div class="k-toolbar-items k-toolbar-items-scroll" *ngIf="isScrollMode; else noScroll" #scrollContainer>
|
|
2041
|
+
<div class="k-toolbar-items k-toolbar-items-scroll" tabindex="-1" *ngIf="isScrollMode; else noScroll" #scrollContainer>
|
|
2009
2042
|
<ng-container *ngFor="let tool of allTools; let index = index"
|
|
2010
2043
|
kendoToolbarRenderer
|
|
2011
2044
|
[tool]="tool"
|
|
@@ -2057,8 +2090,8 @@ class ToolBarComponent {
|
|
|
2057
2090
|
(click)="showPopup()"
|
|
2058
2091
|
>
|
|
2059
2092
|
</button>
|
|
2060
|
-
<ng-container *ngIf="
|
|
2061
|
-
<div class="k-toolbar-separator k-toolbar-button-separator k-separator"></div>
|
|
2093
|
+
<ng-container *ngIf="showScrollButtons && (hasScrollButtons.position === 'split' || hasScrollButtons.position === 'end')">
|
|
2094
|
+
<div class="k-toolbar-separator k-toolbar-button-separator k-separator" #scrollSeparator></div>
|
|
2062
2095
|
<span *ngIf="hasScrollButtons.position === 'split'" #nextScrollButton
|
|
2063
2096
|
kendoToolbarScrollableButton
|
|
2064
2097
|
[prev]="false"
|
|
@@ -2177,7 +2210,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2177
2210
|
nextToolButton="Scroll right"
|
|
2178
2211
|
>
|
|
2179
2212
|
</ng-container>
|
|
2180
|
-
<ng-container *ngIf="
|
|
2213
|
+
<ng-container *ngIf="showScrollButtons && (hasScrollButtons.position === 'split' || hasScrollButtons.position === 'start')">
|
|
2181
2214
|
<span *ngIf="hasScrollButtons.position === 'split'" #prevScrollButton
|
|
2182
2215
|
kendoToolbarScrollableButton
|
|
2183
2216
|
[prev]="true"
|
|
@@ -2221,7 +2254,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2221
2254
|
</div>
|
|
2222
2255
|
<div class="k-toolbar-separator k-toolbar-button-separator k-separator" #scrollSeparator></div>
|
|
2223
2256
|
</ng-container>
|
|
2224
|
-
<div class="k-toolbar-items k-toolbar-items-scroll" *ngIf="isScrollMode; else noScroll" #scrollContainer>
|
|
2257
|
+
<div class="k-toolbar-items k-toolbar-items-scroll" tabindex="-1" *ngIf="isScrollMode; else noScroll" #scrollContainer>
|
|
2225
2258
|
<ng-container *ngFor="let tool of allTools; let index = index"
|
|
2226
2259
|
kendoToolbarRenderer
|
|
2227
2260
|
[tool]="tool"
|
|
@@ -2273,8 +2306,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2273
2306
|
(click)="showPopup()"
|
|
2274
2307
|
>
|
|
2275
2308
|
</button>
|
|
2276
|
-
<ng-container *ngIf="
|
|
2277
|
-
<div class="k-toolbar-separator k-toolbar-button-separator k-separator"></div>
|
|
2309
|
+
<ng-container *ngIf="showScrollButtons && (hasScrollButtons.position === 'split' || hasScrollButtons.position === 'end')">
|
|
2310
|
+
<div class="k-toolbar-separator k-toolbar-button-separator k-separator" #scrollSeparator></div>
|
|
2278
2311
|
<span *ngIf="hasScrollButtons.position === 'split'" #nextScrollButton
|
|
2279
2312
|
kendoToolbarScrollableButton
|
|
2280
2313
|
[prev]="false"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-toolbar",
|
|
3
|
-
"version": "18.1.0-develop.
|
|
3
|
+
"version": "18.1.0-develop.32",
|
|
4
4
|
"description": "Kendo UI Angular Toolbar component - a single UI element that organizes buttons and other navigation elements",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"package": {
|
|
26
26
|
"productName": "Kendo UI for Angular",
|
|
27
27
|
"productCode": "KENDOUIANGULAR",
|
|
28
|
-
"publishDate":
|
|
28
|
+
"publishDate": 1739276318,
|
|
29
29
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
30
30
|
}
|
|
31
31
|
},
|
|
@@ -35,16 +35,16 @@
|
|
|
35
35
|
"@angular/core": "16 - 19",
|
|
36
36
|
"@angular/platform-browser": "16 - 19",
|
|
37
37
|
"@progress/kendo-licensing": "^1.4.0",
|
|
38
|
-
"@progress/kendo-angular-buttons": "18.1.0-develop.
|
|
39
|
-
"@progress/kendo-angular-common": "18.1.0-develop.
|
|
40
|
-
"@progress/kendo-angular-l10n": "18.1.0-develop.
|
|
41
|
-
"@progress/kendo-angular-icons": "18.1.0-develop.
|
|
42
|
-
"@progress/kendo-angular-popup": "18.1.0-develop.
|
|
38
|
+
"@progress/kendo-angular-buttons": "18.1.0-develop.32",
|
|
39
|
+
"@progress/kendo-angular-common": "18.1.0-develop.32",
|
|
40
|
+
"@progress/kendo-angular-l10n": "18.1.0-develop.32",
|
|
41
|
+
"@progress/kendo-angular-icons": "18.1.0-develop.32",
|
|
42
|
+
"@progress/kendo-angular-popup": "18.1.0-develop.32",
|
|
43
43
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"tslib": "^2.3.1",
|
|
47
|
-
"@progress/kendo-angular-schematics": "18.1.0-develop.
|
|
47
|
+
"@progress/kendo-angular-schematics": "18.1.0-develop.32"
|
|
48
48
|
},
|
|
49
49
|
"schematics": "./schematics/collection.json",
|
|
50
50
|
"module": "fesm2022/progress-kendo-angular-toolbar.mjs",
|
package/scroll.service.d.ts
CHANGED
|
@@ -34,6 +34,7 @@ export declare class ScrollService {
|
|
|
34
34
|
toggleScrollButtonsState(): void;
|
|
35
35
|
onScroll(e: Event): void;
|
|
36
36
|
scrollTools(direction: string): void;
|
|
37
|
+
updateScrollPosition(element: HTMLElement): void;
|
|
37
38
|
calculateListPosition(direction: string, scrollSpeed: number): void;
|
|
38
39
|
private toggleButtonActiveState;
|
|
39
40
|
private isDisabled;
|
|
@@ -18,10 +18,6 @@ export declare class ToolbarScrollableButtonComponent implements AfterViewInit,
|
|
|
18
18
|
private localization;
|
|
19
19
|
get prevClass(): boolean;
|
|
20
20
|
get nextClass(): boolean;
|
|
21
|
-
/**
|
|
22
|
-
* @hidden
|
|
23
|
-
*/
|
|
24
|
-
onMouseDown(ev: any): void;
|
|
25
21
|
role: string;
|
|
26
22
|
prev: boolean;
|
|
27
23
|
overflow: ToolbarOverflowSettings;
|
package/toolbar.component.d.ts
CHANGED
|
@@ -43,7 +43,7 @@ export declare class ToolBarComponent {
|
|
|
43
43
|
*/
|
|
44
44
|
set overflow(overflow: boolean | OverflowMode | ToolbarOverflowSettings);
|
|
45
45
|
get overflow(): boolean | OverflowMode | ToolbarOverflowSettings;
|
|
46
|
-
get
|
|
46
|
+
get showScrollButtons(): boolean;
|
|
47
47
|
/**
|
|
48
48
|
* @hidden
|
|
49
49
|
*/
|
|
@@ -154,12 +154,15 @@ export declare class ToolBarComponent {
|
|
|
154
154
|
private _fillMode;
|
|
155
155
|
private overflowButtonClickedTime;
|
|
156
156
|
private showAutoButtons;
|
|
157
|
+
private scrollButtonStateChangeSub;
|
|
158
|
+
private scrollContainerScrollSub;
|
|
157
159
|
/**
|
|
158
160
|
* @hidden
|
|
159
161
|
*/
|
|
160
162
|
get normalizedOverflow(): ToolbarOverflowSettings;
|
|
161
163
|
private subscriptions;
|
|
162
164
|
private popupSubs;
|
|
165
|
+
private focusedByPointer;
|
|
163
166
|
/**
|
|
164
167
|
* @hidden
|
|
165
168
|
*/
|
|
@@ -254,6 +257,8 @@ export declare class ToolBarComponent {
|
|
|
254
257
|
private handleClasses;
|
|
255
258
|
private normalizePopupClasses;
|
|
256
259
|
private setScrollableOverlayClasses;
|
|
260
|
+
private handleScrollModeUpdates;
|
|
261
|
+
private removeSubscriptions;
|
|
257
262
|
static ɵfac: i0.ɵɵFactoryDeclaration<ToolBarComponent, never>;
|
|
258
263
|
static ɵcmp: i0.ɵɵComponentDeclaration<ToolBarComponent, "kendo-toolbar", ["kendoToolBar"], { "overflow": { "alias": "overflow"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; "popupSettings": { "alias": "popupSettings"; "required": false; }; "fillMode": { "alias": "fillMode"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "size": { "alias": "size"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "open": "open"; "close": "close"; }, ["allTools"], never, true, never>;
|
|
259
264
|
}
|