@progress/kendo-angular-toolbar 18.1.0-develop.30 → 18.1.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.
- package/esm2022/localization/messages.mjs +2 -14
- package/esm2022/navigation.service.mjs +3 -5
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/renderer.component.mjs +0 -8
- package/esm2022/toolbar.component.mjs +124 -716
- package/esm2022/tools/toolbar-button.component.mjs +2 -62
- package/esm2022/tools/toolbar-buttongroup.component.mjs +6 -87
- package/esm2022/tools/toolbar-dropdownbutton.component.mjs +11 -67
- package/esm2022/tools/toolbar-separator.component.mjs +0 -8
- package/esm2022/tools/toolbar-splitbutton.component.mjs +5 -61
- package/esm2022/tools/toolbar-tool.component.mjs +1 -9
- package/esm2022/tools/tools.service.mjs +0 -3
- package/esm2022/util.mjs +0 -17
- package/fesm2022/progress-kendo-angular-toolbar.mjs +155 -1300
- package/index.d.ts +0 -3
- package/localization/messages.d.ts +2 -10
- package/package.json +9 -9
- package/render-location.d.ts +1 -1
- package/toolbar.component.d.ts +6 -77
- package/tools/toolbar-button.component.d.ts +0 -1
- package/tools/toolbar-buttongroup.component.d.ts +0 -1
- package/tools/toolbar-dropdownbutton.component.d.ts +1 -2
- package/tools/toolbar-splitbutton.component.d.ts +0 -1
- package/tools/toolbar-tool.component.d.ts +0 -6
- package/tools/tools.service.d.ts +0 -1
- package/util.d.ts +0 -5
- package/common/overflow-mode.d.ts +0 -8
- package/common/overflow-settings.d.ts +0 -53
- package/common/scroll-buttons.d.ts +0 -12
- package/esm2022/common/overflow-mode.mjs +0 -5
- package/esm2022/common/overflow-settings.mjs +0 -5
- package/esm2022/common/scroll-buttons.mjs +0 -5
- package/esm2022/scroll.service.mjs +0 -102
- package/esm2022/scrollable-button.component.mjs +0 -162
- package/scroll.service.d.ts +0 -42
- package/scrollable-button.component.d.ts +0 -44
|
@@ -12,7 +12,7 @@ import { packageMetadata } from './package-metadata';
|
|
|
12
12
|
import { RefreshService } from './refresh.service';
|
|
13
13
|
import { NavigationService } from './navigation.service';
|
|
14
14
|
import { ToolBarToolComponent } from './tools/toolbar-tool.component';
|
|
15
|
-
import { innerWidth, closest, isPresent, getStylingClasses, SIZES
|
|
15
|
+
import { innerWidth, closest, isPresent, getStylingClasses, SIZES } from './util';
|
|
16
16
|
import { Keys } from '@progress/kendo-angular-common';
|
|
17
17
|
import { PreventableEvent } from './common/preventable-event';
|
|
18
18
|
import { ToolBarRendererComponent } from './renderer.component';
|
|
@@ -20,20 +20,17 @@ import { Subscription, fromEvent, Subject, merge } from 'rxjs';
|
|
|
20
20
|
import { take, takeUntil } from 'rxjs/operators';
|
|
21
21
|
import { filter } from 'rxjs/operators';
|
|
22
22
|
import { isDocumentAvailable } from '@progress/kendo-angular-common';
|
|
23
|
-
import {
|
|
24
|
-
import { ButtonComponent
|
|
23
|
+
import { moreVerticalIcon } from '@progress/kendo-svg-icons';
|
|
24
|
+
import { ButtonComponent } from '@progress/kendo-angular-buttons';
|
|
25
25
|
import { NgFor, NgIf, NgClass, NgTemplateOutlet } from '@angular/common';
|
|
26
26
|
import { LocalizedToolbarMessagesDirective } from './localization/localized-toolbar-messages.directive';
|
|
27
27
|
import { ToolbarToolsService } from './tools/tools.service';
|
|
28
|
-
import { ScrollService } from './scroll.service';
|
|
29
|
-
import { ToolbarScrollableButtonComponent } from './scrollable-button.component';
|
|
30
28
|
import * as i0 from "@angular/core";
|
|
31
29
|
import * as i1 from "@progress/kendo-angular-l10n";
|
|
32
30
|
import * as i2 from "@progress/kendo-angular-popup";
|
|
33
31
|
import * as i3 from "./refresh.service";
|
|
34
32
|
import * as i4 from "./navigation.service";
|
|
35
33
|
import * as i5 from "./tools/tools.service";
|
|
36
|
-
import * as i6 from "./scroll.service";
|
|
37
34
|
const DEFAULT_SIZE = 'medium';
|
|
38
35
|
const DEFAULT_FILL_MODE = 'solid';
|
|
39
36
|
const immediateResizeThreshold = 300;
|
|
@@ -55,27 +52,13 @@ export class ToolBarComponent {
|
|
|
55
52
|
renderer;
|
|
56
53
|
_cdr;
|
|
57
54
|
toolsService;
|
|
58
|
-
scrollService;
|
|
59
55
|
get overflowClass() {
|
|
60
56
|
return `k-button-${SIZES[this.size]}`;
|
|
61
57
|
}
|
|
62
58
|
/**
|
|
63
|
-
*
|
|
64
|
-
* @default false
|
|
59
|
+
* Hides the overflowing tools in a popup.
|
|
65
60
|
*/
|
|
66
|
-
|
|
67
|
-
this._overflow = overflow;
|
|
68
|
-
this.zone.onStable.pipe(take(1)).subscribe(() => this.onResize());
|
|
69
|
-
}
|
|
70
|
-
get overflow() {
|
|
71
|
-
return this._overflow;
|
|
72
|
-
}
|
|
73
|
-
get show() {
|
|
74
|
-
const buttonsVisibility = this.normalizedOverflow.scrollButtons;
|
|
75
|
-
const showAuto = buttonsVisibility === 'auto' && this.showAutoButtons;
|
|
76
|
-
const showAlways = buttonsVisibility === 'visible';
|
|
77
|
-
return this.isScrollMode && (showAuto || showAlways);
|
|
78
|
-
}
|
|
61
|
+
overflow = false;
|
|
79
62
|
/**
|
|
80
63
|
* @hidden
|
|
81
64
|
*/
|
|
@@ -83,39 +66,10 @@ export class ToolBarComponent {
|
|
|
83
66
|
this.overflow = value;
|
|
84
67
|
}
|
|
85
68
|
get resizable() {
|
|
86
|
-
return this.
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* @hidden
|
|
90
|
-
*/
|
|
91
|
-
get hasScrollButtons() {
|
|
92
|
-
const visible = this.normalizedOverflow.mode === 'scroll' && this.normalizedOverflow.scrollButtons !== 'hidden';
|
|
93
|
-
const position = this.normalizedOverflow.scrollButtonsPosition;
|
|
94
|
-
return {
|
|
95
|
-
visible,
|
|
96
|
-
position
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* @hidden
|
|
101
|
-
*/
|
|
102
|
-
get isScrollMode() {
|
|
103
|
-
return this.normalizedOverflow.mode === 'scroll';
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* @hidden
|
|
107
|
-
*/
|
|
108
|
-
get showMenu() {
|
|
109
|
-
return this.normalizedOverflow.mode === 'menu' || this.normalizedOverflow.mode === 'section';
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* @hidden
|
|
113
|
-
*/
|
|
114
|
-
get overflowEnabled() {
|
|
115
|
-
return this.normalizedOverflow.mode !== 'none';
|
|
69
|
+
return this.overflow;
|
|
116
70
|
}
|
|
117
71
|
/**
|
|
118
|
-
* Configures the popup of the ToolBar overflow button ([see example](slug
|
|
72
|
+
* Configures the popup of the ToolBar overflow button ([see example]({% slug responsive_toolbar %}#toc-popup-customization)).
|
|
119
73
|
*
|
|
120
74
|
* The available options are:
|
|
121
75
|
* - `animate: Boolean`—Controls the popup animation. By default, the open and close animations are enabled.
|
|
@@ -182,15 +136,8 @@ export class ToolBarComponent {
|
|
|
182
136
|
allTools;
|
|
183
137
|
overflowButton;
|
|
184
138
|
popupTemplate;
|
|
185
|
-
popupSectionTemplate;
|
|
186
|
-
scrollContainer;
|
|
187
139
|
resizeSensor;
|
|
188
140
|
container;
|
|
189
|
-
prevScrollButton;
|
|
190
|
-
nextScrollButton;
|
|
191
|
-
startButtonGroup;
|
|
192
|
-
endButtonGroup;
|
|
193
|
-
scrollSeparator;
|
|
194
141
|
popupRef;
|
|
195
142
|
direction;
|
|
196
143
|
get appendTo() {
|
|
@@ -219,40 +166,17 @@ export class ToolBarComponent {
|
|
|
219
166
|
get popupOpen() {
|
|
220
167
|
return this._open;
|
|
221
168
|
}
|
|
222
|
-
/**
|
|
223
|
-
* @hidden
|
|
224
|
-
*/
|
|
225
|
-
prevButtonIcon = caretAltLeftIcon;
|
|
226
|
-
/**
|
|
227
|
-
* @hidden
|
|
228
|
-
*/
|
|
229
|
-
nextButtonIcon = caretAltRightIcon;
|
|
230
169
|
hostClass = true;
|
|
231
|
-
get scrollableClass() {
|
|
232
|
-
return this.isScrollMode;
|
|
233
|
-
}
|
|
234
|
-
get sectionClass() {
|
|
235
|
-
return this.normalizedOverflow.mode === 'section';
|
|
236
|
-
}
|
|
237
|
-
_overflow = false;
|
|
238
170
|
_popupSettings;
|
|
239
171
|
cachedOverflowAnchorWidth;
|
|
240
172
|
_open;
|
|
241
173
|
toolbarKeydownListener;
|
|
242
174
|
overflowKeydownListener;
|
|
243
|
-
sectionKeydownListener;
|
|
244
175
|
cancelRenderedToolsSubscription$ = new Subject();
|
|
245
176
|
cachedGap;
|
|
246
177
|
_size = DEFAULT_SIZE;
|
|
247
178
|
_fillMode = DEFAULT_FILL_MODE;
|
|
248
179
|
overflowButtonClickedTime = null;
|
|
249
|
-
showAutoButtons = false;
|
|
250
|
-
/**
|
|
251
|
-
* @hidden
|
|
252
|
-
*/
|
|
253
|
-
get normalizedOverflow() {
|
|
254
|
-
return normalizeOverflowSettings(this.overflow);
|
|
255
|
-
}
|
|
256
180
|
subscriptions = new Subscription();
|
|
257
181
|
popupSubs = new Subscription();
|
|
258
182
|
/**
|
|
@@ -280,11 +204,12 @@ export class ToolBarComponent {
|
|
|
280
204
|
return this.direction;
|
|
281
205
|
}
|
|
282
206
|
get resizableClass() {
|
|
283
|
-
return this.
|
|
207
|
+
return this.overflow;
|
|
284
208
|
}
|
|
209
|
+
moreVerticalIcon = moreVerticalIcon;
|
|
285
210
|
constructor(localization, popupService, refreshService, navigationService,
|
|
286
211
|
// Needs to be public as it is being accessed in the Editor component
|
|
287
|
-
element, zone, renderer, _cdr, toolsService
|
|
212
|
+
element, zone, renderer, _cdr, toolsService) {
|
|
288
213
|
this.localization = localization;
|
|
289
214
|
this.popupService = popupService;
|
|
290
215
|
this.refreshService = refreshService;
|
|
@@ -294,19 +219,13 @@ export class ToolBarComponent {
|
|
|
294
219
|
this.renderer = renderer;
|
|
295
220
|
this._cdr = _cdr;
|
|
296
221
|
this.toolsService = toolsService;
|
|
297
|
-
this.scrollService = scrollService;
|
|
298
222
|
validatePackage(packageMetadata);
|
|
299
223
|
this.direction = localization.rtl ? 'rtl' : 'ltr';
|
|
300
|
-
this.scrollService.owner = this;
|
|
301
224
|
}
|
|
302
225
|
ngAfterContentInit() {
|
|
303
226
|
this.toolsService.allTools = this.allTools.toArray();
|
|
304
227
|
this.subscriptions.add(this.allTools.changes.subscribe(() => {
|
|
305
|
-
this.toolsService.reset();
|
|
306
228
|
this.toolsService.allTools = this.allTools.toArray();
|
|
307
|
-
this.allTools.forEach((tool) => {
|
|
308
|
-
this.refreshService.refresh(tool);
|
|
309
|
-
});
|
|
310
229
|
this.zone.onStable.pipe(take(1)).subscribe(() => this.onResize());
|
|
311
230
|
}));
|
|
312
231
|
}
|
|
@@ -363,11 +282,9 @@ export class ToolBarComponent {
|
|
|
363
282
|
}
|
|
364
283
|
});
|
|
365
284
|
});
|
|
366
|
-
if (this.
|
|
285
|
+
if (this.overflow) {
|
|
367
286
|
this.subscriptions.add(merge(this.resizeSensor.resize, this.toolsService.renderedToolsChange).subscribe(() => this.onResize()));
|
|
368
|
-
|
|
369
|
-
this.navigationService.overflowButton = this.overflowButton;
|
|
370
|
-
}
|
|
287
|
+
this.navigationService.overflowButton = this.overflowButton;
|
|
371
288
|
// because of https://github.com/telerik/kendo-angular-buttons/pull/276
|
|
372
289
|
// button icons are not rendered until onResize() is called
|
|
373
290
|
this.zone.runOutsideAngular(() => {
|
|
@@ -378,38 +295,6 @@ export class ToolBarComponent {
|
|
|
378
295
|
});
|
|
379
296
|
});
|
|
380
297
|
}
|
|
381
|
-
if (this.isScrollMode) {
|
|
382
|
-
if (this.show) {
|
|
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
|
-
});
|
|
412
|
-
}
|
|
413
298
|
this.navigationService.setRenderedTools(this.toolsService.renderedTools);
|
|
414
299
|
const stylingOptions = ['size', 'fillMode'];
|
|
415
300
|
stylingOptions.forEach(option => {
|
|
@@ -443,10 +328,6 @@ export class ToolBarComponent {
|
|
|
443
328
|
this.cancelRenderedToolsSubscription$.next();
|
|
444
329
|
this.subscriptions.unsubscribe();
|
|
445
330
|
}
|
|
446
|
-
/**
|
|
447
|
-
* @hidden
|
|
448
|
-
*/
|
|
449
|
-
showOverflowSeparator = false;
|
|
450
331
|
/**
|
|
451
332
|
* @hidden
|
|
452
333
|
*/
|
|
@@ -459,31 +340,6 @@ export class ToolBarComponent {
|
|
|
459
340
|
get cdr() {
|
|
460
341
|
return this._cdr;
|
|
461
342
|
}
|
|
462
|
-
/**
|
|
463
|
-
* @hidden
|
|
464
|
-
*/
|
|
465
|
-
get sectionSizeClass() {
|
|
466
|
-
return this.size === 'none' ? '' : `k-toolbar-items-list-${SIZES[this.size]}`;
|
|
467
|
-
}
|
|
468
|
-
/**
|
|
469
|
-
* @hidden
|
|
470
|
-
*/
|
|
471
|
-
getScrollButtonTitle(buttonType) {
|
|
472
|
-
let currentButton;
|
|
473
|
-
if (this.localization.rtl) {
|
|
474
|
-
currentButton = buttonType === 'prev' ? 'nextToolButton' : 'previousToolButton';
|
|
475
|
-
}
|
|
476
|
-
else {
|
|
477
|
-
currentButton = buttonType === 'prev' ? 'previousToolButton' : 'nextToolButton';
|
|
478
|
-
}
|
|
479
|
-
return this.localization.get(currentButton);
|
|
480
|
-
}
|
|
481
|
-
/**
|
|
482
|
-
* @hidden
|
|
483
|
-
*/
|
|
484
|
-
scrollTools(dir) {
|
|
485
|
-
this.scrollService.scrollTools(dir);
|
|
486
|
-
}
|
|
487
343
|
/**
|
|
488
344
|
* @hidden
|
|
489
345
|
*/
|
|
@@ -491,17 +347,6 @@ export class ToolBarComponent {
|
|
|
491
347
|
this.navigationService.click(data);
|
|
492
348
|
this.element.nativeElement.setAttribute('tabindex', '-1');
|
|
493
349
|
}
|
|
494
|
-
/**
|
|
495
|
-
* @hidden
|
|
496
|
-
*/
|
|
497
|
-
overflowButtonIcon(iconType) {
|
|
498
|
-
if (iconType === 'svg') {
|
|
499
|
-
return this.normalizedOverflow.mode === 'section' ? moreHorizontalIcon : moreVerticalIcon;
|
|
500
|
-
}
|
|
501
|
-
else {
|
|
502
|
-
return this.normalizedOverflow.mode === 'section' ? 'more-horizontal' : 'more-vertical';
|
|
503
|
-
}
|
|
504
|
-
}
|
|
505
350
|
/**
|
|
506
351
|
* @hidden
|
|
507
352
|
*/
|
|
@@ -520,30 +365,17 @@ export class ToolBarComponent {
|
|
|
520
365
|
this.popupRef = null;
|
|
521
366
|
}
|
|
522
367
|
if (this.popupOpen) {
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
}
|
|
533
|
-
|
|
534
|
-
settings = {
|
|
535
|
-
anchor: this.overflowButton,
|
|
536
|
-
anchorAlign: this.popupSettings.anchorAlign,
|
|
537
|
-
popupAlign: this.popupSettings.popupAlign,
|
|
538
|
-
content: this.popupTemplate,
|
|
539
|
-
appendTo: this.appendTo,
|
|
540
|
-
animate: this.popupSettings.animate,
|
|
541
|
-
popupClass: this.normalizePopupClasses(this.popupSettings.popupClass),
|
|
542
|
-
positionMode: 'absolute'
|
|
543
|
-
};
|
|
544
|
-
}
|
|
545
|
-
this.popupRef = this.popupService.open(settings);
|
|
546
|
-
this.setPopupContentDimensions(isSection);
|
|
368
|
+
this.popupRef = this.popupService.open({
|
|
369
|
+
anchor: this.overflowButton,
|
|
370
|
+
anchorAlign: this.popupSettings.anchorAlign,
|
|
371
|
+
popupAlign: this.popupSettings.popupAlign,
|
|
372
|
+
content: this.popupTemplate,
|
|
373
|
+
appendTo: this.appendTo,
|
|
374
|
+
animate: this.popupSettings.animate,
|
|
375
|
+
popupClass: this.normalizePopupClasses(this.popupSettings.popupClass),
|
|
376
|
+
positionMode: 'absolute'
|
|
377
|
+
});
|
|
378
|
+
this.setPopupContentDimensions();
|
|
547
379
|
this.popupSubs.add(this.popupRef.popupOpen.subscribe(this.onPopupOpen.bind(this)));
|
|
548
380
|
this.popupSubs.add(this.popupRef.popupClose.subscribe(this.onPopupClose.bind(this)));
|
|
549
381
|
}
|
|
@@ -553,51 +385,15 @@ export class ToolBarComponent {
|
|
|
553
385
|
*/
|
|
554
386
|
onResize() {
|
|
555
387
|
if (isDocumentAvailable()) {
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
this.displayAnchor();
|
|
561
|
-
const isImmediateResize = (Date.now() - this.overflowButtonClickedTime) < immediateResizeThreshold;
|
|
562
|
-
if (this.popupOpen && !isImmediateResize) {
|
|
563
|
-
this.toggle();
|
|
564
|
-
}
|
|
565
|
-
}
|
|
566
|
-
else if (this.isScrollMode) {
|
|
567
|
-
if (this.normalizedOverflow.scrollButtons === 'auto') {
|
|
568
|
-
const containerWidth = innerWidth(this.element.nativeElement);
|
|
569
|
-
let scrollButtonsWidth = 0;
|
|
570
|
-
if (this.showAutoButtons) {
|
|
571
|
-
const separatorWidth = this.scrollSeparator.nativeElement.getBoundingClientRect().width + 2 * this.gap;
|
|
572
|
-
if (this.hasScrollButtons.position === 'split') {
|
|
573
|
-
scrollButtonsWidth = innerWidth(this.prevScrollButton.nativeElement) + innerWidth(this.nextScrollButton.nativeElement) + 2 * separatorWidth;
|
|
574
|
-
}
|
|
575
|
-
else if (this.hasScrollButtons.position === 'end') {
|
|
576
|
-
scrollButtonsWidth = innerWidth(this.endButtonGroup.nativeElement) + separatorWidth;
|
|
577
|
-
}
|
|
578
|
-
else {
|
|
579
|
-
scrollButtonsWidth = innerWidth(this.startButtonGroup.nativeElement) + separatorWidth;
|
|
580
|
-
}
|
|
581
|
-
}
|
|
582
|
-
const shouldShowButtons = (this.childrenWidth + scrollButtonsWidth) > containerWidth;
|
|
583
|
-
if (shouldShowButtons !== this.showAutoButtons) {
|
|
584
|
-
this.showAutoButtons = shouldShowButtons;
|
|
585
|
-
this.cdr.detectChanges();
|
|
586
|
-
}
|
|
587
|
-
this.scrollService.toggleScrollButtonsState();
|
|
588
|
-
}
|
|
589
|
-
else if (!this.hasScrollButtons.visible) {
|
|
590
|
-
this.setScrollableOverlayClasses();
|
|
591
|
-
}
|
|
592
|
-
else if (!this.scrollService.toolsOverflow) {
|
|
593
|
-
this.renderer.addClass(this.nextScrollButton.nativeElement, 'k-disabled');
|
|
594
|
-
this.renderer.addClass(this.prevScrollButton.nativeElement, 'k-disabled');
|
|
595
|
-
}
|
|
596
|
-
else {
|
|
597
|
-
this.scrollService.toggleScrollButtonsState();
|
|
598
|
-
}
|
|
599
|
-
}
|
|
388
|
+
const containerWidth = innerWidth(this.element.nativeElement) - this.overflowAnchorWidth;
|
|
389
|
+
this.shrink(containerWidth, this.childrenWidth);
|
|
390
|
+
this.stretch(containerWidth, this.childrenWidth);
|
|
391
|
+
this.displayAnchor();
|
|
600
392
|
this.resizeSensor?.acceptSize();
|
|
393
|
+
const isImmediateResize = (Date.now() - this.overflowButtonClickedTime) < immediateResizeThreshold;
|
|
394
|
+
if (this.popupOpen && !isImmediateResize) {
|
|
395
|
+
this.toggle();
|
|
396
|
+
}
|
|
601
397
|
}
|
|
602
398
|
}
|
|
603
399
|
/**
|
|
@@ -605,94 +401,45 @@ export class ToolBarComponent {
|
|
|
605
401
|
*/
|
|
606
402
|
onPopupOpen() {
|
|
607
403
|
this.zone.runOutsideAngular(() => {
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
case Keys.Escape: {
|
|
638
|
-
this.zone.run(() => this.toggle(false));
|
|
639
|
-
const eventArgs = new PreventableEvent();
|
|
640
|
-
this.close.emit(eventArgs);
|
|
641
|
-
break;
|
|
642
|
-
}
|
|
643
|
-
case Keys.Tab:
|
|
644
|
-
this.zone.run(() => {
|
|
645
|
-
this.toggle(false);
|
|
646
|
-
this.navigationService.resetNavigation();
|
|
647
|
-
});
|
|
648
|
-
break;
|
|
649
|
-
default:
|
|
650
|
-
break;
|
|
651
|
-
}
|
|
652
|
-
});
|
|
653
|
-
}
|
|
654
|
-
else {
|
|
655
|
-
this.overflowKeydownListener = this.renderer.listen(this.popupRef.popupElement, 'keydown', (ev) => {
|
|
656
|
-
switch (ev.keyCode) {
|
|
657
|
-
case Keys.ArrowUp:
|
|
658
|
-
this.zone.run(() => {
|
|
659
|
-
ev.preventDefault();
|
|
660
|
-
this.navigationService.focusPrev(ev);
|
|
661
|
-
});
|
|
662
|
-
break;
|
|
663
|
-
case Keys.ArrowDown:
|
|
664
|
-
this.zone.run(() => {
|
|
404
|
+
this.overflowKeydownListener = this.renderer.listen(this.popupRef.popupElement, 'keydown', (ev) => {
|
|
405
|
+
switch (ev.keyCode) {
|
|
406
|
+
case Keys.ArrowUp:
|
|
407
|
+
this.zone.run(() => {
|
|
408
|
+
ev.preventDefault();
|
|
409
|
+
this.navigationService.focusPrev(ev);
|
|
410
|
+
});
|
|
411
|
+
break;
|
|
412
|
+
case Keys.ArrowDown:
|
|
413
|
+
this.zone.run(() => {
|
|
414
|
+
ev.preventDefault();
|
|
415
|
+
this.navigationService.focusNext(ev);
|
|
416
|
+
});
|
|
417
|
+
break;
|
|
418
|
+
case Keys.Escape:
|
|
419
|
+
this.zone.run(() => this.toggle(false));
|
|
420
|
+
const eventArgs = new PreventableEvent();
|
|
421
|
+
this.close.emit(eventArgs);
|
|
422
|
+
break;
|
|
423
|
+
case Keys.Tab:
|
|
424
|
+
this.zone.run(() => {
|
|
425
|
+
this.toggle(false);
|
|
426
|
+
this.navigationService.resetNavigation();
|
|
427
|
+
});
|
|
428
|
+
break;
|
|
429
|
+
case Keys.Enter:
|
|
430
|
+
case Keys.Space:
|
|
431
|
+
this.zone.run(() => {
|
|
432
|
+
if (ev.target.closest('.k-menu-item')) {
|
|
665
433
|
ev.preventDefault();
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
case Keys.Tab:
|
|
676
|
-
this.zone.run(() => {
|
|
677
|
-
this.toggle(false);
|
|
678
|
-
this.navigationService.resetNavigation();
|
|
679
|
-
});
|
|
680
|
-
break;
|
|
681
|
-
case Keys.Enter:
|
|
682
|
-
case Keys.Space:
|
|
683
|
-
this.zone.run(() => {
|
|
684
|
-
if (ev.target.closest('.k-menu-item')) {
|
|
685
|
-
ev.preventDefault();
|
|
686
|
-
ev.target.click();
|
|
687
|
-
ev.target.focus();
|
|
688
|
-
}
|
|
689
|
-
});
|
|
690
|
-
break;
|
|
691
|
-
default:
|
|
692
|
-
break;
|
|
693
|
-
}
|
|
694
|
-
});
|
|
695
|
-
}
|
|
434
|
+
ev.target.click();
|
|
435
|
+
ev.target.focus();
|
|
436
|
+
}
|
|
437
|
+
});
|
|
438
|
+
break;
|
|
439
|
+
default:
|
|
440
|
+
break;
|
|
441
|
+
}
|
|
442
|
+
});
|
|
696
443
|
});
|
|
697
444
|
this.cancelRenderedToolsSubscription$.next();
|
|
698
445
|
this.navigationService.setRenderedTools(this.toolsService.overflowTools);
|
|
@@ -715,9 +462,6 @@ export class ToolBarComponent {
|
|
|
715
462
|
if (this.overflowKeydownListener) {
|
|
716
463
|
this.overflowKeydownListener();
|
|
717
464
|
}
|
|
718
|
-
if (this.sectionKeydownListener) {
|
|
719
|
-
this.sectionKeydownListener();
|
|
720
|
-
}
|
|
721
465
|
this.renderer.removeAttribute(this.overflowButton.nativeElement, 'aria-controls');
|
|
722
466
|
}
|
|
723
467
|
/**
|
|
@@ -731,11 +475,6 @@ export class ToolBarComponent {
|
|
|
731
475
|
displayAnchor() {
|
|
732
476
|
const visibility = this.allTools.filter(t => t.overflows && t.responsive).length > 0 ? 'visible' : 'hidden';
|
|
733
477
|
this.overflowButton && this.renderer.setStyle(this.overflowButton.nativeElement, 'visibility', visibility);
|
|
734
|
-
const isVisible = visibility === 'visible';
|
|
735
|
-
if (isVisible !== this.showOverflowSeparator) {
|
|
736
|
-
this.showOverflowSeparator = isVisible;
|
|
737
|
-
this.cdr.detectChanges();
|
|
738
|
-
}
|
|
739
478
|
}
|
|
740
479
|
get popupWidth() {
|
|
741
480
|
if (!this.popupSettings || !this.popupSettings.width) {
|
|
@@ -750,7 +489,7 @@ export class ToolBarComponent {
|
|
|
750
489
|
return isNaN(this.popupSettings.height) ? this.popupSettings.height : `${this.popupSettings.height}px`;
|
|
751
490
|
}
|
|
752
491
|
get overflowAnchorWidth() {
|
|
753
|
-
if (!this.
|
|
492
|
+
if (!this.overflow) {
|
|
754
493
|
return 0;
|
|
755
494
|
}
|
|
756
495
|
if (!this.cachedOverflowAnchorWidth) {
|
|
@@ -817,7 +556,7 @@ export class ToolBarComponent {
|
|
|
817
556
|
return r.tool === tool;
|
|
818
557
|
});
|
|
819
558
|
const width = renderedElement.width;
|
|
820
|
-
tool.overflows = this.
|
|
559
|
+
tool.overflows = this.overflow;
|
|
821
560
|
this.refreshService.refresh(tool);
|
|
822
561
|
return width;
|
|
823
562
|
}
|
|
@@ -839,17 +578,11 @@ export class ToolBarComponent {
|
|
|
839
578
|
this.refreshService.refresh(tool);
|
|
840
579
|
return renderedElement.width; // returns 0 if `overflows` is true
|
|
841
580
|
}
|
|
842
|
-
setPopupContentDimensions(
|
|
581
|
+
setPopupContentDimensions() {
|
|
843
582
|
const popupContentContainer = this.popupRef.popup.instance.contentContainer.nativeElement;
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
}
|
|
848
|
-
else {
|
|
849
|
-
popupContentContainer.style.width = this.popupWidth;
|
|
850
|
-
popupContentContainer.style.height = this.popupHeight;
|
|
851
|
-
popupContentContainer.style.overflow = 'auto';
|
|
852
|
-
}
|
|
583
|
+
popupContentContainer.style.width = this.popupWidth;
|
|
584
|
+
popupContentContainer.style.height = this.popupHeight;
|
|
585
|
+
popupContentContainer.style.overflow = 'auto';
|
|
853
586
|
}
|
|
854
587
|
destroyPopup() {
|
|
855
588
|
if (this.popupRef) {
|
|
@@ -869,10 +602,7 @@ export class ToolBarComponent {
|
|
|
869
602
|
}
|
|
870
603
|
}
|
|
871
604
|
normalizePopupClasses(classList) {
|
|
872
|
-
let classes = ['k-toolbar-popup'];
|
|
873
|
-
if (this.normalizedOverflow.mode === 'menu') {
|
|
874
|
-
classes.push('k-menu-popup');
|
|
875
|
-
}
|
|
605
|
+
let classes = ['k-menu-popup', 'k-toolbar-popup'];
|
|
876
606
|
if (!classList) {
|
|
877
607
|
return classes;
|
|
878
608
|
}
|
|
@@ -889,204 +619,62 @@ export class ToolBarComponent {
|
|
|
889
619
|
}
|
|
890
620
|
return classes;
|
|
891
621
|
}
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
const container = this.scrollContainer?.nativeElement;
|
|
895
|
-
if (!container) {
|
|
896
|
-
return;
|
|
897
|
-
}
|
|
898
|
-
const scrollOffset = container.scrollLeft;
|
|
899
|
-
const defaultOffset = 1;
|
|
900
|
-
if (this.scrollService.toolsOverflow) {
|
|
901
|
-
this.renderer.addClass(wrapper, 'k-toolbar-scrollable-overlay');
|
|
902
|
-
if (scrollOffset === 0) {
|
|
903
|
-
this.renderer.removeClass(wrapper, 'k-toolbar-scrollable-end');
|
|
904
|
-
this.renderer.addClass(wrapper, 'k-toolbar-scrollable-start');
|
|
905
|
-
}
|
|
906
|
-
else if ((scrollOffset > 0 && scrollOffset < this.scrollService.scrollContainerOverflowSize - defaultOffset) || (scrollOffset < 0 && Math.abs(scrollOffset) < this.scrollService.scrollContainerOverflowSize - defaultOffset)) {
|
|
907
|
-
this.renderer.removeClass(wrapper, 'k-toolbar-scrollable-end');
|
|
908
|
-
this.renderer.removeClass(wrapper, 'k-toolbar-scrollable-start');
|
|
909
|
-
}
|
|
910
|
-
else {
|
|
911
|
-
this.renderer.removeClass(wrapper, 'k-toolbar-scrollable-start');
|
|
912
|
-
this.renderer.addClass(wrapper, 'k-toolbar-scrollable-end');
|
|
913
|
-
}
|
|
914
|
-
}
|
|
915
|
-
else {
|
|
916
|
-
this.renderer.removeClass(wrapper, 'k-toolbar-scrollable-overlay');
|
|
917
|
-
this.renderer.removeClass(wrapper, 'k-toolbar-scrollable-end');
|
|
918
|
-
this.renderer.removeClass(wrapper, 'k-toolbar-scrollable-start');
|
|
919
|
-
}
|
|
920
|
-
}
|
|
921
|
-
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
|
-
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: [
|
|
622
|
+
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 }], target: i0.ɵɵFactoryTarget.Component });
|
|
623
|
+
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", "attr.role": "this.role", "attr.dir": "this.getDir", "class.k-toolbar-resizable": "this.resizableClass" } }, providers: [
|
|
923
624
|
RefreshService,
|
|
924
625
|
NavigationService,
|
|
925
626
|
LocalizationService,
|
|
926
627
|
ToolbarToolsService,
|
|
927
|
-
ScrollService,
|
|
928
628
|
{
|
|
929
629
|
provide: L10N_PREFIX,
|
|
930
630
|
useValue: 'kendo.toolbar'
|
|
931
631
|
}
|
|
932
|
-
], queries: [{ propertyName: "allTools", predicate: ToolBarToolComponent }], viewQueries: [{ propertyName: "overflowButton", first: true, predicate: ["overflowButton"], descendants: true, read: ElementRef }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "
|
|
632
|
+
], queries: [{ propertyName: "allTools", predicate: ToolBarToolComponent }], viewQueries: [{ propertyName: "overflowButton", first: true, predicate: ["overflowButton"], descendants: true, read: ElementRef }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "resizeSensor", first: true, predicate: ["resizeSensor"], descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], exportAs: ["kendoToolBar"], usesOnChanges: true, ngImport: i0, template: `
|
|
933
633
|
<ng-container kendoToolbarLocalizedMessages
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
i18n-previousToolButton="kendo.toolbar.previousToolButton|The title for the **Previous Tool** button when the Toolbar is scrollable."
|
|
938
|
-
previousToolButton="Scroll left"
|
|
939
|
-
|
|
940
|
-
i18n-nextToolButton="kendo.toolbar.nextToolButton|The title for the **Next Tool** button when the Toolbar is scrollable."
|
|
941
|
-
nextToolButton="Scroll right"
|
|
634
|
+
i18n-moreToolsTitle="kendo.toolbar.moreToolsTitle|The title of the **more tools** button in a responsive ToolBar"
|
|
635
|
+
moreToolsTitle="More tools"
|
|
942
636
|
>
|
|
943
637
|
</ng-container>
|
|
944
|
-
<ng-container *
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
(onClick)="scrollTools($event)">
|
|
957
|
-
</span>
|
|
958
|
-
<div class="k-button-group k-button-group-solid" *ngIf="hasScrollButtons.position === 'start'" #startButtonGroup>
|
|
959
|
-
<span #prevScrollButton
|
|
960
|
-
kendoToolbarScrollableButton
|
|
961
|
-
[prev]="true"
|
|
962
|
-
[overflow]="normalizedOverflow"
|
|
963
|
-
[title]="getScrollButtonTitle('prev')"
|
|
964
|
-
class="k-toolbar-prev k-icon-button k-button k-button-solid k-button-solid-base k-rounded-md"
|
|
965
|
-
[ngClass]="{
|
|
966
|
-
'k-button-sm': size === 'small',
|
|
967
|
-
'k-button-md': size === 'medium' || !size,
|
|
968
|
-
'k-button-lg': size === 'large'
|
|
969
|
-
}"
|
|
970
|
-
(onClick)="scrollTools($event)">
|
|
971
|
-
</span>
|
|
972
|
-
<span #nextScrollButton
|
|
973
|
-
kendoToolbarScrollableButton
|
|
974
|
-
[prev]="false"
|
|
975
|
-
[overflow]="normalizedOverflow"
|
|
976
|
-
[title]="getScrollButtonTitle('next')"
|
|
977
|
-
class="k-toolbar-next k-icon-button k-button k-button-solid k-button-solid-base k-rounded-md"
|
|
978
|
-
[ngClass]="{
|
|
979
|
-
'k-button-sm': size === 'small',
|
|
980
|
-
'k-button-md': size === 'medium' || !size,
|
|
981
|
-
'k-button-lg': size === 'large'
|
|
982
|
-
}"
|
|
983
|
-
(onClick)="scrollTools($event)">
|
|
984
|
-
</span>
|
|
985
|
-
</div>
|
|
986
|
-
<div class="k-toolbar-separator k-toolbar-button-separator k-separator" #scrollSeparator></div>
|
|
638
|
+
<ng-container *ngFor="let tool of allTools; let index = index"
|
|
639
|
+
kendoToolbarRenderer
|
|
640
|
+
[tool]="tool"
|
|
641
|
+
location="toolbar"
|
|
642
|
+
[resizable]="overflow"
|
|
643
|
+
(rendererClick)="onRendererClick($event)"
|
|
644
|
+
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.toolbarTemplate : wrapper">
|
|
645
|
+
<ng-template #wrapper>
|
|
646
|
+
<div class="k-toolbar-item">
|
|
647
|
+
<ng-container [ngTemplateOutlet]="tool.toolbarTemplate"></ng-container>
|
|
648
|
+
</div>
|
|
649
|
+
</ng-template>
|
|
987
650
|
</ng-container>
|
|
988
|
-
<div class="k-toolbar-items k-toolbar-items-scroll" *ngIf="isScrollMode; else noScroll" #scrollContainer>
|
|
989
|
-
<ng-container *ngFor="let tool of allTools; let index = index"
|
|
990
|
-
kendoToolbarRenderer
|
|
991
|
-
[tool]="tool"
|
|
992
|
-
location="toolbar"
|
|
993
|
-
[resizable]="resizable"
|
|
994
|
-
(rendererClick)="onRendererClick($event)"
|
|
995
|
-
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.toolbarTemplate : wrapper">
|
|
996
|
-
<ng-template #wrapper>
|
|
997
|
-
<div class="k-toolbar-item">
|
|
998
|
-
<ng-container [ngTemplateOutlet]="tool.toolbarTemplate"></ng-container>
|
|
999
|
-
</div>
|
|
1000
|
-
</ng-template>
|
|
1001
|
-
</ng-container>
|
|
1002
|
-
</div>
|
|
1003
|
-
<ng-template #noScroll>
|
|
1004
|
-
<ng-container *ngFor="let tool of allTools; let index = index"
|
|
1005
|
-
kendoToolbarRenderer
|
|
1006
|
-
[tool]="tool"
|
|
1007
|
-
location="toolbar"
|
|
1008
|
-
[resizable]="resizable"
|
|
1009
|
-
(rendererClick)="onRendererClick($event)"
|
|
1010
|
-
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.toolbarTemplate : wrapper">
|
|
1011
|
-
<ng-template #wrapper>
|
|
1012
|
-
<div class="k-toolbar-item">
|
|
1013
|
-
<ng-container [ngTemplateOutlet]="tool.toolbarTemplate"></ng-container>
|
|
1014
|
-
</div>
|
|
1015
|
-
</ng-template>
|
|
1016
|
-
</ng-container>
|
|
1017
|
-
</ng-template>
|
|
1018
|
-
<div class="k-toolbar-separator k-toolbar-button-separator k-separator" *ngIf="showOverflowSeparator"></div>
|
|
1019
651
|
<button
|
|
1020
652
|
kendoButton
|
|
1021
653
|
fillMode="flat"
|
|
1022
654
|
#overflowButton
|
|
1023
655
|
type="button"
|
|
1024
|
-
|
|
1025
|
-
[svgIcon]="
|
|
656
|
+
icon="more-vertical"
|
|
657
|
+
[svgIcon]="moreVerticalIcon"
|
|
1026
658
|
tabindex="-1"
|
|
1027
659
|
[title]="moreToolsTitle"
|
|
1028
660
|
[attr.aria-label]="moreToolsTitle"
|
|
1029
661
|
[attr.aria-expanded]="popupOpen"
|
|
1030
662
|
[id]="overflowBtnId"
|
|
1031
|
-
|
|
1032
|
-
*ngIf="
|
|
663
|
+
aria-haspopup="menu"
|
|
664
|
+
*ngIf="overflow"
|
|
1033
665
|
[style.visibility]="'hidden'"
|
|
1034
666
|
[style.position]="'relative'"
|
|
667
|
+
[style.margin-inline-start]="'auto'"
|
|
1035
668
|
class="k-toolbar-overflow-button"
|
|
1036
669
|
[ngClass]="overflowClass"
|
|
1037
670
|
(click)="showPopup()"
|
|
1038
671
|
>
|
|
1039
672
|
</button>
|
|
1040
|
-
<ng-container *ngIf="show && (hasScrollButtons.position === 'split' || hasScrollButtons.position === 'end')">
|
|
1041
|
-
<div class="k-toolbar-separator k-toolbar-button-separator k-separator"></div>
|
|
1042
|
-
<span *ngIf="hasScrollButtons.position === 'split'" #nextScrollButton
|
|
1043
|
-
kendoToolbarScrollableButton
|
|
1044
|
-
[prev]="false"
|
|
1045
|
-
[overflow]="normalizedOverflow"
|
|
1046
|
-
[title]="getScrollButtonTitle('next')"
|
|
1047
|
-
class="k-toolbar-next k-icon-button k-button k-button-solid k-button-solid-base k-rounded-md"
|
|
1048
|
-
[ngClass]="{
|
|
1049
|
-
'k-button-sm': size === 'small',
|
|
1050
|
-
'k-button-md': size === 'medium' || !size,
|
|
1051
|
-
'k-button-lg': size === 'large'
|
|
1052
|
-
}"
|
|
1053
|
-
(onClick)="scrollTools($event)">
|
|
1054
|
-
</span>
|
|
1055
|
-
<div class="k-button-group k-button-group-solid" *ngIf="hasScrollButtons.position === 'end'" #endButtonGroup>
|
|
1056
|
-
<span #prevScrollButton
|
|
1057
|
-
kendoToolbarScrollableButton
|
|
1058
|
-
[prev]="true"
|
|
1059
|
-
[overflow]="normalizedOverflow"
|
|
1060
|
-
[title]="getScrollButtonTitle('prev')"
|
|
1061
|
-
class="k-toolbar-prev k-icon-button k-button k-button-solid k-button-solid-base k-rounded-md"
|
|
1062
|
-
[ngClass]="{
|
|
1063
|
-
'k-button-sm': size === 'small',
|
|
1064
|
-
'k-button-md': size === 'medium' || !size,
|
|
1065
|
-
'k-button-lg': size === 'large'
|
|
1066
|
-
}"
|
|
1067
|
-
(onClick)="scrollTools($event)">
|
|
1068
|
-
</span>
|
|
1069
|
-
<span #nextScrollButton
|
|
1070
|
-
kendoToolbarScrollableButton
|
|
1071
|
-
[prev]="false"
|
|
1072
|
-
[overflow]="normalizedOverflow"
|
|
1073
|
-
[title]="getScrollButtonTitle('next')"
|
|
1074
|
-
class="k-toolbar-next k-icon-button k-button k-button-solid k-button-solid-base k-rounded-md"
|
|
1075
|
-
[ngClass]="{
|
|
1076
|
-
'k-button-sm': size === 'small',
|
|
1077
|
-
'k-button-md': size === 'medium' || !size,
|
|
1078
|
-
'k-button-lg': size === 'large'
|
|
1079
|
-
}"
|
|
1080
|
-
(onClick)="scrollTools($event)">
|
|
1081
|
-
</span>
|
|
1082
|
-
</div>
|
|
1083
|
-
</ng-container>
|
|
1084
673
|
<ng-template #popupTemplate>
|
|
1085
674
|
<div
|
|
1086
675
|
class="k-menu-group k-menu-group-md"
|
|
1087
676
|
role="menu"
|
|
1088
677
|
[id]="popupId"
|
|
1089
|
-
[attr.dir]="direction === 'rtl' ? 'rtl' : null"
|
|
1090
678
|
[attr.aria-labelledby]="overflowBtnId">
|
|
1091
679
|
<ng-container *ngFor="let tool of overflowTools; let index = index">
|
|
1092
680
|
<ng-template
|
|
@@ -1094,7 +682,7 @@ export class ToolBarComponent {
|
|
|
1094
682
|
kendoToolbarRenderer
|
|
1095
683
|
[tool]="tool"
|
|
1096
684
|
location="overflow"
|
|
1097
|
-
[resizable]="
|
|
685
|
+
[resizable]="overflow"
|
|
1098
686
|
(rendererClick)="onRendererClick($event)"
|
|
1099
687
|
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.popupTemplate : popupWrapper"></ng-template>
|
|
1100
688
|
<ng-template #popupWrapper>
|
|
@@ -1105,29 +693,9 @@ export class ToolBarComponent {
|
|
|
1105
693
|
</ng-container>
|
|
1106
694
|
</div>
|
|
1107
695
|
</ng-template>
|
|
1108
|
-
<ng-template #popupSectionTemplate>
|
|
1109
|
-
<span class="k-toolbar-items-list k-toolbar-items-list-solid"
|
|
1110
|
-
[ngClass]="sectionSizeClass"
|
|
1111
|
-
role="toolbar"
|
|
1112
|
-
[id]="popupId"
|
|
1113
|
-
[attr.dir]="direction === 'rtl' ? 'rtl' : null"
|
|
1114
|
-
[attr.aria-labelledby]="overflowBtnId">
|
|
1115
|
-
<ng-container *ngFor="let tool of overflowTools; let index = index"
|
|
1116
|
-
kendoToolbarRenderer
|
|
1117
|
-
[tool]="tool"
|
|
1118
|
-
location="section"
|
|
1119
|
-
[resizable]="resizable"
|
|
1120
|
-
(rendererClick)="onRendererClick($event)"
|
|
1121
|
-
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.sectionTemplate : wrapper">
|
|
1122
|
-
<ng-template #wrapper>
|
|
1123
|
-
<ng-container [ngTemplateOutlet]="tool.sectionTemplate"></ng-container>
|
|
1124
|
-
</ng-template>
|
|
1125
|
-
</ng-container>
|
|
1126
|
-
</span>
|
|
1127
|
-
</ng-template>
|
|
1128
696
|
<ng-container #container></ng-container>
|
|
1129
|
-
<kendo-resize-sensor *ngIf="
|
|
1130
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: LocalizedToolbarMessagesDirective, selector: "[kendoToolbarLocalizedMessages]" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: ToolBarRendererComponent, selector: "[kendoToolbarRenderer]", inputs: ["tool", "location", "resizable"], outputs: ["rendererClick"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }
|
|
697
|
+
<kendo-resize-sensor *ngIf="overflow" #resizeSensor></kendo-resize-sensor>
|
|
698
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: LocalizedToolbarMessagesDirective, selector: "[kendoToolbarLocalizedMessages]" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: ToolBarRendererComponent, selector: "[kendoToolbarRenderer]", inputs: ["tool", "location", "resizable"], outputs: ["rendererClick"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }] });
|
|
1131
699
|
}
|
|
1132
700
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarComponent, decorators: [{
|
|
1133
701
|
type: Component,
|
|
@@ -1138,7 +706,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1138
706
|
NavigationService,
|
|
1139
707
|
LocalizationService,
|
|
1140
708
|
ToolbarToolsService,
|
|
1141
|
-
ScrollService,
|
|
1142
709
|
{
|
|
1143
710
|
provide: L10N_PREFIX,
|
|
1144
711
|
useValue: 'kendo.toolbar'
|
|
@@ -1147,162 +714,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1147
714
|
selector: 'kendo-toolbar',
|
|
1148
715
|
template: `
|
|
1149
716
|
<ng-container kendoToolbarLocalizedMessages
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
i18n-previousToolButton="kendo.toolbar.previousToolButton|The title for the **Previous Tool** button when the Toolbar is scrollable."
|
|
1154
|
-
previousToolButton="Scroll left"
|
|
1155
|
-
|
|
1156
|
-
i18n-nextToolButton="kendo.toolbar.nextToolButton|The title for the **Next Tool** button when the Toolbar is scrollable."
|
|
1157
|
-
nextToolButton="Scroll right"
|
|
717
|
+
i18n-moreToolsTitle="kendo.toolbar.moreToolsTitle|The title of the **more tools** button in a responsive ToolBar"
|
|
718
|
+
moreToolsTitle="More tools"
|
|
1158
719
|
>
|
|
1159
720
|
</ng-container>
|
|
1160
|
-
<ng-container *
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
(onClick)="scrollTools($event)">
|
|
1173
|
-
</span>
|
|
1174
|
-
<div class="k-button-group k-button-group-solid" *ngIf="hasScrollButtons.position === 'start'" #startButtonGroup>
|
|
1175
|
-
<span #prevScrollButton
|
|
1176
|
-
kendoToolbarScrollableButton
|
|
1177
|
-
[prev]="true"
|
|
1178
|
-
[overflow]="normalizedOverflow"
|
|
1179
|
-
[title]="getScrollButtonTitle('prev')"
|
|
1180
|
-
class="k-toolbar-prev k-icon-button k-button k-button-solid k-button-solid-base k-rounded-md"
|
|
1181
|
-
[ngClass]="{
|
|
1182
|
-
'k-button-sm': size === 'small',
|
|
1183
|
-
'k-button-md': size === 'medium' || !size,
|
|
1184
|
-
'k-button-lg': size === 'large'
|
|
1185
|
-
}"
|
|
1186
|
-
(onClick)="scrollTools($event)">
|
|
1187
|
-
</span>
|
|
1188
|
-
<span #nextScrollButton
|
|
1189
|
-
kendoToolbarScrollableButton
|
|
1190
|
-
[prev]="false"
|
|
1191
|
-
[overflow]="normalizedOverflow"
|
|
1192
|
-
[title]="getScrollButtonTitle('next')"
|
|
1193
|
-
class="k-toolbar-next k-icon-button k-button k-button-solid k-button-solid-base k-rounded-md"
|
|
1194
|
-
[ngClass]="{
|
|
1195
|
-
'k-button-sm': size === 'small',
|
|
1196
|
-
'k-button-md': size === 'medium' || !size,
|
|
1197
|
-
'k-button-lg': size === 'large'
|
|
1198
|
-
}"
|
|
1199
|
-
(onClick)="scrollTools($event)">
|
|
1200
|
-
</span>
|
|
1201
|
-
</div>
|
|
1202
|
-
<div class="k-toolbar-separator k-toolbar-button-separator k-separator" #scrollSeparator></div>
|
|
721
|
+
<ng-container *ngFor="let tool of allTools; let index = index"
|
|
722
|
+
kendoToolbarRenderer
|
|
723
|
+
[tool]="tool"
|
|
724
|
+
location="toolbar"
|
|
725
|
+
[resizable]="overflow"
|
|
726
|
+
(rendererClick)="onRendererClick($event)"
|
|
727
|
+
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.toolbarTemplate : wrapper">
|
|
728
|
+
<ng-template #wrapper>
|
|
729
|
+
<div class="k-toolbar-item">
|
|
730
|
+
<ng-container [ngTemplateOutlet]="tool.toolbarTemplate"></ng-container>
|
|
731
|
+
</div>
|
|
732
|
+
</ng-template>
|
|
1203
733
|
</ng-container>
|
|
1204
|
-
<div class="k-toolbar-items k-toolbar-items-scroll" *ngIf="isScrollMode; else noScroll" #scrollContainer>
|
|
1205
|
-
<ng-container *ngFor="let tool of allTools; let index = index"
|
|
1206
|
-
kendoToolbarRenderer
|
|
1207
|
-
[tool]="tool"
|
|
1208
|
-
location="toolbar"
|
|
1209
|
-
[resizable]="resizable"
|
|
1210
|
-
(rendererClick)="onRendererClick($event)"
|
|
1211
|
-
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.toolbarTemplate : wrapper">
|
|
1212
|
-
<ng-template #wrapper>
|
|
1213
|
-
<div class="k-toolbar-item">
|
|
1214
|
-
<ng-container [ngTemplateOutlet]="tool.toolbarTemplate"></ng-container>
|
|
1215
|
-
</div>
|
|
1216
|
-
</ng-template>
|
|
1217
|
-
</ng-container>
|
|
1218
|
-
</div>
|
|
1219
|
-
<ng-template #noScroll>
|
|
1220
|
-
<ng-container *ngFor="let tool of allTools; let index = index"
|
|
1221
|
-
kendoToolbarRenderer
|
|
1222
|
-
[tool]="tool"
|
|
1223
|
-
location="toolbar"
|
|
1224
|
-
[resizable]="resizable"
|
|
1225
|
-
(rendererClick)="onRendererClick($event)"
|
|
1226
|
-
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.toolbarTemplate : wrapper">
|
|
1227
|
-
<ng-template #wrapper>
|
|
1228
|
-
<div class="k-toolbar-item">
|
|
1229
|
-
<ng-container [ngTemplateOutlet]="tool.toolbarTemplate"></ng-container>
|
|
1230
|
-
</div>
|
|
1231
|
-
</ng-template>
|
|
1232
|
-
</ng-container>
|
|
1233
|
-
</ng-template>
|
|
1234
|
-
<div class="k-toolbar-separator k-toolbar-button-separator k-separator" *ngIf="showOverflowSeparator"></div>
|
|
1235
734
|
<button
|
|
1236
735
|
kendoButton
|
|
1237
736
|
fillMode="flat"
|
|
1238
737
|
#overflowButton
|
|
1239
738
|
type="button"
|
|
1240
|
-
|
|
1241
|
-
[svgIcon]="
|
|
739
|
+
icon="more-vertical"
|
|
740
|
+
[svgIcon]="moreVerticalIcon"
|
|
1242
741
|
tabindex="-1"
|
|
1243
742
|
[title]="moreToolsTitle"
|
|
1244
743
|
[attr.aria-label]="moreToolsTitle"
|
|
1245
744
|
[attr.aria-expanded]="popupOpen"
|
|
1246
745
|
[id]="overflowBtnId"
|
|
1247
|
-
|
|
1248
|
-
*ngIf="
|
|
746
|
+
aria-haspopup="menu"
|
|
747
|
+
*ngIf="overflow"
|
|
1249
748
|
[style.visibility]="'hidden'"
|
|
1250
749
|
[style.position]="'relative'"
|
|
750
|
+
[style.margin-inline-start]="'auto'"
|
|
1251
751
|
class="k-toolbar-overflow-button"
|
|
1252
752
|
[ngClass]="overflowClass"
|
|
1253
753
|
(click)="showPopup()"
|
|
1254
754
|
>
|
|
1255
755
|
</button>
|
|
1256
|
-
<ng-container *ngIf="show && (hasScrollButtons.position === 'split' || hasScrollButtons.position === 'end')">
|
|
1257
|
-
<div class="k-toolbar-separator k-toolbar-button-separator k-separator"></div>
|
|
1258
|
-
<span *ngIf="hasScrollButtons.position === 'split'" #nextScrollButton
|
|
1259
|
-
kendoToolbarScrollableButton
|
|
1260
|
-
[prev]="false"
|
|
1261
|
-
[overflow]="normalizedOverflow"
|
|
1262
|
-
[title]="getScrollButtonTitle('next')"
|
|
1263
|
-
class="k-toolbar-next k-icon-button k-button k-button-solid k-button-solid-base k-rounded-md"
|
|
1264
|
-
[ngClass]="{
|
|
1265
|
-
'k-button-sm': size === 'small',
|
|
1266
|
-
'k-button-md': size === 'medium' || !size,
|
|
1267
|
-
'k-button-lg': size === 'large'
|
|
1268
|
-
}"
|
|
1269
|
-
(onClick)="scrollTools($event)">
|
|
1270
|
-
</span>
|
|
1271
|
-
<div class="k-button-group k-button-group-solid" *ngIf="hasScrollButtons.position === 'end'" #endButtonGroup>
|
|
1272
|
-
<span #prevScrollButton
|
|
1273
|
-
kendoToolbarScrollableButton
|
|
1274
|
-
[prev]="true"
|
|
1275
|
-
[overflow]="normalizedOverflow"
|
|
1276
|
-
[title]="getScrollButtonTitle('prev')"
|
|
1277
|
-
class="k-toolbar-prev k-icon-button k-button k-button-solid k-button-solid-base k-rounded-md"
|
|
1278
|
-
[ngClass]="{
|
|
1279
|
-
'k-button-sm': size === 'small',
|
|
1280
|
-
'k-button-md': size === 'medium' || !size,
|
|
1281
|
-
'k-button-lg': size === 'large'
|
|
1282
|
-
}"
|
|
1283
|
-
(onClick)="scrollTools($event)">
|
|
1284
|
-
</span>
|
|
1285
|
-
<span #nextScrollButton
|
|
1286
|
-
kendoToolbarScrollableButton
|
|
1287
|
-
[prev]="false"
|
|
1288
|
-
[overflow]="normalizedOverflow"
|
|
1289
|
-
[title]="getScrollButtonTitle('next')"
|
|
1290
|
-
class="k-toolbar-next k-icon-button k-button k-button-solid k-button-solid-base k-rounded-md"
|
|
1291
|
-
[ngClass]="{
|
|
1292
|
-
'k-button-sm': size === 'small',
|
|
1293
|
-
'k-button-md': size === 'medium' || !size,
|
|
1294
|
-
'k-button-lg': size === 'large'
|
|
1295
|
-
}"
|
|
1296
|
-
(onClick)="scrollTools($event)">
|
|
1297
|
-
</span>
|
|
1298
|
-
</div>
|
|
1299
|
-
</ng-container>
|
|
1300
756
|
<ng-template #popupTemplate>
|
|
1301
757
|
<div
|
|
1302
758
|
class="k-menu-group k-menu-group-md"
|
|
1303
759
|
role="menu"
|
|
1304
760
|
[id]="popupId"
|
|
1305
|
-
[attr.dir]="direction === 'rtl' ? 'rtl' : null"
|
|
1306
761
|
[attr.aria-labelledby]="overflowBtnId">
|
|
1307
762
|
<ng-container *ngFor="let tool of overflowTools; let index = index">
|
|
1308
763
|
<ng-template
|
|
@@ -1310,7 +765,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1310
765
|
kendoToolbarRenderer
|
|
1311
766
|
[tool]="tool"
|
|
1312
767
|
location="overflow"
|
|
1313
|
-
[resizable]="
|
|
768
|
+
[resizable]="overflow"
|
|
1314
769
|
(rendererClick)="onRendererClick($event)"
|
|
1315
770
|
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.popupTemplate : popupWrapper"></ng-template>
|
|
1316
771
|
<ng-template #popupWrapper>
|
|
@@ -1321,33 +776,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1321
776
|
</ng-container>
|
|
1322
777
|
</div>
|
|
1323
778
|
</ng-template>
|
|
1324
|
-
<ng-template #popupSectionTemplate>
|
|
1325
|
-
<span class="k-toolbar-items-list k-toolbar-items-list-solid"
|
|
1326
|
-
[ngClass]="sectionSizeClass"
|
|
1327
|
-
role="toolbar"
|
|
1328
|
-
[id]="popupId"
|
|
1329
|
-
[attr.dir]="direction === 'rtl' ? 'rtl' : null"
|
|
1330
|
-
[attr.aria-labelledby]="overflowBtnId">
|
|
1331
|
-
<ng-container *ngFor="let tool of overflowTools; let index = index"
|
|
1332
|
-
kendoToolbarRenderer
|
|
1333
|
-
[tool]="tool"
|
|
1334
|
-
location="section"
|
|
1335
|
-
[resizable]="resizable"
|
|
1336
|
-
(rendererClick)="onRendererClick($event)"
|
|
1337
|
-
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.sectionTemplate : wrapper">
|
|
1338
|
-
<ng-template #wrapper>
|
|
1339
|
-
<ng-container [ngTemplateOutlet]="tool.sectionTemplate"></ng-container>
|
|
1340
|
-
</ng-template>
|
|
1341
|
-
</ng-container>
|
|
1342
|
-
</span>
|
|
1343
|
-
</ng-template>
|
|
1344
779
|
<ng-container #container></ng-container>
|
|
1345
|
-
<kendo-resize-sensor *ngIf="
|
|
780
|
+
<kendo-resize-sensor *ngIf="overflow" #resizeSensor></kendo-resize-sensor>
|
|
1346
781
|
`,
|
|
1347
782
|
standalone: true,
|
|
1348
|
-
imports: [NgTemplateOutlet, LocalizedToolbarMessagesDirective, NgFor, ToolBarRendererComponent, NgIf, ButtonComponent, NgClass, ResizeSensorComponent
|
|
783
|
+
imports: [NgTemplateOutlet, LocalizedToolbarMessagesDirective, NgFor, ToolBarRendererComponent, NgIf, ButtonComponent, NgClass, ResizeSensorComponent]
|
|
1349
784
|
}]
|
|
1350
|
-
}], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.PopupService }, { type: i3.RefreshService }, { type: i4.NavigationService }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i5.ToolbarToolsService }
|
|
785
|
+
}], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.PopupService }, { type: i3.RefreshService }, { type: i4.NavigationService }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i5.ToolbarToolsService }]; }, propDecorators: { overflow: [{
|
|
1351
786
|
type: Input
|
|
1352
787
|
}], resizable: [{
|
|
1353
788
|
type: Input
|
|
@@ -1375,42 +810,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1375
810
|
}], popupTemplate: [{
|
|
1376
811
|
type: ViewChild,
|
|
1377
812
|
args: ['popupTemplate', { static: true }]
|
|
1378
|
-
}], popupSectionTemplate: [{
|
|
1379
|
-
type: ViewChild,
|
|
1380
|
-
args: ['popupSectionTemplate', { static: true }]
|
|
1381
|
-
}], scrollContainer: [{
|
|
1382
|
-
type: ViewChild,
|
|
1383
|
-
args: ['scrollContainer', { read: ElementRef, static: false }]
|
|
1384
813
|
}], resizeSensor: [{
|
|
1385
814
|
type: ViewChild,
|
|
1386
815
|
args: ['resizeSensor', { static: false }]
|
|
1387
816
|
}], container: [{
|
|
1388
817
|
type: ViewChild,
|
|
1389
818
|
args: ['container', { read: ViewContainerRef, static: true }]
|
|
1390
|
-
}], prevScrollButton: [{
|
|
1391
|
-
type: ViewChild,
|
|
1392
|
-
args: ['prevScrollButton', { read: ElementRef }]
|
|
1393
|
-
}], nextScrollButton: [{
|
|
1394
|
-
type: ViewChild,
|
|
1395
|
-
args: ['nextScrollButton', { read: ElementRef }]
|
|
1396
|
-
}], startButtonGroup: [{
|
|
1397
|
-
type: ViewChild,
|
|
1398
|
-
args: ['startButtonGroup', { read: ElementRef }]
|
|
1399
|
-
}], endButtonGroup: [{
|
|
1400
|
-
type: ViewChild,
|
|
1401
|
-
args: ['endButtonGroup', { read: ElementRef }]
|
|
1402
|
-
}], scrollSeparator: [{
|
|
1403
|
-
type: ViewChild,
|
|
1404
|
-
args: ['scrollSeparator', { read: ElementRef }]
|
|
1405
819
|
}], hostClass: [{
|
|
1406
820
|
type: HostBinding,
|
|
1407
821
|
args: ['class.k-toolbar']
|
|
1408
|
-
}], scrollableClass: [{
|
|
1409
|
-
type: HostBinding,
|
|
1410
|
-
args: ['class.k-toolbar-scrollable']
|
|
1411
|
-
}], sectionClass: [{
|
|
1412
|
-
type: HostBinding,
|
|
1413
|
-
args: ['class.k-toolbar-section']
|
|
1414
822
|
}], onFocus: [{
|
|
1415
823
|
type: HostListener,
|
|
1416
824
|
args: ['focus', ['$event']]
|