@progress/kendo-angular-toolbar 16.11.0-develop.9 → 16.11.0
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/esm2020/package-metadata.mjs +2 -2
- package/esm2020/renderer.component.mjs +18 -33
- package/esm2020/toolbar.component.mjs +44 -18
- package/esm2020/tools/toolbar-button.component.mjs +1 -0
- package/esm2020/tools/toolbar-buttongroup.component.mjs +1 -0
- package/esm2020/tools/toolbar-dropdownbutton.component.mjs +1 -0
- package/esm2020/tools/toolbar-separator.component.mjs +1 -0
- package/esm2020/tools/toolbar-spacer.component.mjs +1 -0
- package/esm2020/tools/toolbar-splitbutton.component.mjs +1 -0
- package/esm2020/tools/toolbar-tool.component.mjs +1 -0
- package/esm2020/util.mjs +4 -1
- package/fesm2015/progress-kendo-angular-toolbar.mjs +75 -52
- package/fesm2020/progress-kendo-angular-toolbar.mjs +74 -51
- package/package.json +7 -7
- package/renderer.component.d.ts +1 -3
- package/tools/toolbar-tool.component.d.ts +1 -0
- package/util.d.ts +4 -1
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-toolbar',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
13
|
-
version: '16.11.0
|
|
12
|
+
publishDate: 1728372253,
|
|
13
|
+
version: '16.11.0',
|
|
14
14
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
15
15
|
};
|
|
@@ -3,29 +3,26 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Input, Renderer2 as Renderer, Output, EventEmitter, Directive, ViewContainerRef } from '@angular/core';
|
|
6
|
-
import { isElement, outerWidth } from './util';
|
|
7
6
|
import { ToolBarToolComponent } from './tools/toolbar-tool.component';
|
|
8
7
|
import { RefreshService } from './refresh.service';
|
|
9
8
|
import { RendererService } from './renderer.service';
|
|
10
9
|
import { ToolbarToolsService } from './tools/tools.service';
|
|
11
|
-
import {
|
|
10
|
+
import { isElementOrTextNode, outerWidth } from './util';
|
|
12
11
|
import * as i0 from "@angular/core";
|
|
13
12
|
import * as i1 from "./renderer.service";
|
|
14
13
|
import * as i2 from "./refresh.service";
|
|
15
14
|
import * as i3 from "./tools/tools.service";
|
|
16
|
-
import * as i4 from "./navigation.service";
|
|
17
15
|
const MIN_SPACER_WIDTH = 18;
|
|
18
16
|
/**
|
|
19
17
|
* @hidden
|
|
20
18
|
*/
|
|
21
19
|
export class ToolBarRendererComponent {
|
|
22
|
-
constructor(renderer, rendererService, refreshService, toolsService, viewContainer
|
|
20
|
+
constructor(renderer, rendererService, refreshService, toolsService, viewContainer) {
|
|
23
21
|
this.renderer = renderer;
|
|
24
22
|
this.rendererService = rendererService;
|
|
25
23
|
this.refreshService = refreshService;
|
|
26
24
|
this.toolsService = toolsService;
|
|
27
25
|
this.viewContainer = viewContainer;
|
|
28
|
-
this.navigationService = navigationService;
|
|
29
26
|
this.rendererClick = new EventEmitter();
|
|
30
27
|
this.onClick = (ev) => {
|
|
31
28
|
this.rendererClick.emit({ context: this, event: ev });
|
|
@@ -35,11 +32,13 @@ export class ToolBarRendererComponent {
|
|
|
35
32
|
return this.tool && this.tool.__isSpacer;
|
|
36
33
|
}
|
|
37
34
|
ngOnInit() {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
this.internalComponentRef.addEventListener('click', this.onClick);
|
|
35
|
+
const viewContainerRootNodes = this.viewContainer.get(0)?.rootNodes?.filter(isElementOrTextNode);
|
|
36
|
+
if (!viewContainerRootNodes || viewContainerRootNodes.length === 0) {
|
|
37
|
+
return;
|
|
42
38
|
}
|
|
39
|
+
this.internalComponentRef = viewContainerRootNodes[0];
|
|
40
|
+
this.element = this.tool.element;
|
|
41
|
+
this.internalComponentRef.addEventListener('click', this.onClick);
|
|
43
42
|
this.rendererService.element = this.element;
|
|
44
43
|
this.rendererService.renderer = this;
|
|
45
44
|
this.refreshSubscription = this.refreshService.onRefresh.subscribe((tool) => {
|
|
@@ -50,32 +49,24 @@ export class ToolBarRendererComponent {
|
|
|
50
49
|
if (this.resizable) {
|
|
51
50
|
if (this.location === 'toolbar') {
|
|
52
51
|
this.template = this.tool.toolbarTemplate;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
|
|
56
|
-
}
|
|
52
|
+
this.renderer.setStyle(this.internalComponentRef, 'visibility', 'hidden');
|
|
53
|
+
this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
|
|
57
54
|
}
|
|
58
55
|
else {
|
|
59
56
|
this.template = this.tool.popupTemplate;
|
|
60
|
-
|
|
61
|
-
this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
|
|
62
|
-
}
|
|
57
|
+
this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
|
|
63
58
|
}
|
|
64
59
|
}
|
|
65
60
|
else {
|
|
66
61
|
this.tool.overflows = false;
|
|
67
62
|
this.template = this.tool.toolbarTemplate;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
|
|
71
|
-
}
|
|
63
|
+
this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
|
|
64
|
+
this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
|
|
72
65
|
}
|
|
73
66
|
}
|
|
74
67
|
ngOnDestroy() {
|
|
75
|
-
this.refreshSubscription.unsubscribe();
|
|
76
|
-
|
|
77
|
-
this.internalComponentRef.removeEventListener('click', this.onClick);
|
|
78
|
-
}
|
|
68
|
+
this.refreshSubscription && this.refreshSubscription.unsubscribe();
|
|
69
|
+
this.internalComponentRef && this.internalComponentRef.removeEventListener('click', this.onClick);
|
|
79
70
|
}
|
|
80
71
|
ngAfterViewInit() {
|
|
81
72
|
if (this.resizable) {
|
|
@@ -87,9 +78,6 @@ export class ToolBarRendererComponent {
|
|
|
87
78
|
* @hidden
|
|
88
79
|
*/
|
|
89
80
|
get width() {
|
|
90
|
-
if (!isElement(this.internalComponentRef)) {
|
|
91
|
-
return 0;
|
|
92
|
-
}
|
|
93
81
|
if (this.isSpacer) {
|
|
94
82
|
return MIN_SPACER_WIDTH;
|
|
95
83
|
}
|
|
@@ -99,10 +87,7 @@ export class ToolBarRendererComponent {
|
|
|
99
87
|
return this.internalComponentRef?.style?.display !== 'none';
|
|
100
88
|
}
|
|
101
89
|
refresh() {
|
|
102
|
-
if (this.resizable) {
|
|
103
|
-
if (!isElement(this.internalComponentRef)) {
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
90
|
+
if (this.resizable && this.internalComponentRef) {
|
|
106
91
|
if (this.location === 'toolbar') {
|
|
107
92
|
this.renderer.setStyle(this.internalComponentRef, 'visibility', this.tool.visibility);
|
|
108
93
|
this.renderer.setStyle(this.internalComponentRef, 'display', this.tool.toolbarDisplay);
|
|
@@ -134,7 +119,7 @@ export class ToolBarRendererComponent {
|
|
|
134
119
|
}
|
|
135
120
|
}
|
|
136
121
|
}
|
|
137
|
-
ToolBarRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolBarRendererComponent, deps: [{ token: i0.Renderer2 }, { token: i1.RendererService }, { token: i2.RefreshService }, { token: i3.ToolbarToolsService }, { token: i0.ViewContainerRef }
|
|
122
|
+
ToolBarRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolBarRendererComponent, deps: [{ token: i0.Renderer2 }, { token: i1.RendererService }, { token: i2.RefreshService }, { token: i3.ToolbarToolsService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
138
123
|
ToolBarRendererComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ToolBarRendererComponent, isStandalone: true, selector: "[kendoToolbarRenderer]", inputs: { tool: "tool", location: "location", resizable: "resizable" }, outputs: { rendererClick: "rendererClick" }, providers: [RendererService], ngImport: i0 });
|
|
139
124
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolBarRendererComponent, decorators: [{
|
|
140
125
|
type: Directive,
|
|
@@ -143,7 +128,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
143
128
|
standalone: true,
|
|
144
129
|
selector: '[kendoToolbarRenderer]'
|
|
145
130
|
}]
|
|
146
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.RendererService }, { type: i2.RefreshService }, { type: i3.ToolbarToolsService }, { type: i0.ViewContainerRef }
|
|
131
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.RendererService }, { type: i2.RefreshService }, { type: i3.ToolbarToolsService }, { type: i0.ViewContainerRef }]; }, propDecorators: { tool: [{
|
|
147
132
|
type: Input
|
|
148
133
|
}], location: [{
|
|
149
134
|
type: Input
|
|
@@ -601,7 +601,13 @@ ToolBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
|
|
|
601
601
|
location="toolbar"
|
|
602
602
|
[resizable]="overflow"
|
|
603
603
|
(rendererClick)="onRendererClick($event)"
|
|
604
|
-
[ngTemplateOutlet]="tool.toolbarTemplate"
|
|
604
|
+
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.toolbarTemplate : wrapper">
|
|
605
|
+
<ng-template #wrapper>
|
|
606
|
+
<div class="k-toolbar-item">
|
|
607
|
+
<ng-container [ngTemplateOutlet]="tool.toolbarTemplate"></ng-container>
|
|
608
|
+
</div>
|
|
609
|
+
</ng-template>
|
|
610
|
+
</ng-container>
|
|
605
611
|
<button
|
|
606
612
|
kendoButton
|
|
607
613
|
fillMode="flat"
|
|
@@ -630,14 +636,21 @@ ToolBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
|
|
|
630
636
|
role="menu"
|
|
631
637
|
[id]="popupId"
|
|
632
638
|
[attr.aria-labelledby]="overflowBtnId">
|
|
633
|
-
<ng-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
639
|
+
<ng-container *ngFor="let tool of overflowTools; let index = index">
|
|
640
|
+
<ng-template
|
|
641
|
+
*ngIf="tool.popupTemplate"
|
|
642
|
+
kendoToolbarRenderer
|
|
643
|
+
[tool]="tool"
|
|
644
|
+
location="overflow"
|
|
645
|
+
[resizable]="overflow"
|
|
646
|
+
(rendererClick)="onRendererClick($event)"
|
|
647
|
+
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.popupTemplate : popupWrapper"></ng-template>
|
|
648
|
+
<ng-template #popupWrapper>
|
|
649
|
+
<div role="menuitem" tabindex="-1" class="k-item k-menu-item">
|
|
650
|
+
<ng-container [ngTemplateOutlet]="tool.popupTemplate"></ng-container>
|
|
651
|
+
</div>
|
|
652
|
+
</ng-template>
|
|
653
|
+
</ng-container>
|
|
641
654
|
</div>
|
|
642
655
|
</ng-template>
|
|
643
656
|
<ng-container #container></ng-container>
|
|
@@ -670,7 +683,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
670
683
|
location="toolbar"
|
|
671
684
|
[resizable]="overflow"
|
|
672
685
|
(rendererClick)="onRendererClick($event)"
|
|
673
|
-
[ngTemplateOutlet]="tool.toolbarTemplate"
|
|
686
|
+
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.toolbarTemplate : wrapper">
|
|
687
|
+
<ng-template #wrapper>
|
|
688
|
+
<div class="k-toolbar-item">
|
|
689
|
+
<ng-container [ngTemplateOutlet]="tool.toolbarTemplate"></ng-container>
|
|
690
|
+
</div>
|
|
691
|
+
</ng-template>
|
|
692
|
+
</ng-container>
|
|
674
693
|
<button
|
|
675
694
|
kendoButton
|
|
676
695
|
fillMode="flat"
|
|
@@ -699,14 +718,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
699
718
|
role="menu"
|
|
700
719
|
[id]="popupId"
|
|
701
720
|
[attr.aria-labelledby]="overflowBtnId">
|
|
702
|
-
<ng-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
721
|
+
<ng-container *ngFor="let tool of overflowTools; let index = index">
|
|
722
|
+
<ng-template
|
|
723
|
+
*ngIf="tool.popupTemplate"
|
|
724
|
+
kendoToolbarRenderer
|
|
725
|
+
[tool]="tool"
|
|
726
|
+
location="overflow"
|
|
727
|
+
[resizable]="overflow"
|
|
728
|
+
(rendererClick)="onRendererClick($event)"
|
|
729
|
+
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.popupTemplate : popupWrapper"></ng-template>
|
|
730
|
+
<ng-template #popupWrapper>
|
|
731
|
+
<div role="menuitem" tabindex="-1" class="k-item k-menu-item">
|
|
732
|
+
<ng-container [ngTemplateOutlet]="tool.popupTemplate"></ng-container>
|
|
733
|
+
</div>
|
|
734
|
+
</ng-template>
|
|
735
|
+
</ng-container>
|
|
710
736
|
</div>
|
|
711
737
|
</ng-template>
|
|
712
738
|
<ng-container #container></ng-container>
|
|
@@ -26,6 +26,7 @@ export class ToolBarButtonGroupComponent extends ToolBarToolComponent {
|
|
|
26
26
|
this.focusedIndex = -1;
|
|
27
27
|
this.getNextKey = getNextKey(this.localization.rtl);
|
|
28
28
|
this.getPrevKey = getPrevKey(this.localization.rtl);
|
|
29
|
+
this.isBuiltInTool = true;
|
|
29
30
|
}
|
|
30
31
|
/**
|
|
31
32
|
* @hidden
|
|
@@ -94,6 +94,7 @@ export class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
|
|
|
94
94
|
this._showText = 'both';
|
|
95
95
|
this.getNextKey = getNextKey();
|
|
96
96
|
this.getPrevKey = getPrevKey();
|
|
97
|
+
this.isBuiltInTool = true;
|
|
97
98
|
}
|
|
98
99
|
// showText and showIcon showIcon should be declared first
|
|
99
100
|
/**
|
|
@@ -102,6 +102,7 @@ export class ToolBarSplitButtonComponent extends ToolBarToolComponent {
|
|
|
102
102
|
this._showText = 'both';
|
|
103
103
|
this.getNextKey = getNextKey();
|
|
104
104
|
this.getPrevKey = getPrevKey();
|
|
105
|
+
this.isBuiltInTool = true;
|
|
105
106
|
}
|
|
106
107
|
// showText and showIcon showIcon should be declared first
|
|
107
108
|
/**
|
|
@@ -12,6 +12,7 @@ export class ToolBarToolComponent {
|
|
|
12
12
|
constructor() {
|
|
13
13
|
this.tabIndex = -1; //Focus movement inside the toolbar is managed using roving tabindex.
|
|
14
14
|
this.overflows = true;
|
|
15
|
+
this.isBuiltInTool = false;
|
|
15
16
|
// this should be replaced with showTool: DisplayMode = 'both';
|
|
16
17
|
/**
|
|
17
18
|
* @hidden
|
package/esm2020/util.mjs
CHANGED
|
@@ -211,5 +211,8 @@ export const getStylingClasses = (componentType, stylingOption, previousValue, n
|
|
|
211
211
|
};
|
|
212
212
|
/**
|
|
213
213
|
* @hidden
|
|
214
|
+
*
|
|
215
|
+
* Checks whether a Node is Text or Element node.
|
|
216
|
+
* nodeType 1 is Element, nodeType 3 is Text
|
|
214
217
|
*/
|
|
215
|
-
export const
|
|
218
|
+
export const isElementOrTextNode = n => n.nodeType === 1 || n.nodeType === 3;
|
|
@@ -24,8 +24,8 @@ const packageMetadata = {
|
|
|
24
24
|
name: '@progress/kendo-angular-toolbar',
|
|
25
25
|
productName: 'Kendo UI for Angular',
|
|
26
26
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
27
|
-
publishDate:
|
|
28
|
-
version: '16.11.0
|
|
27
|
+
publishDate: 1728372253,
|
|
28
|
+
version: '16.11.0',
|
|
29
29
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
30
30
|
};
|
|
31
31
|
|
|
@@ -254,8 +254,11 @@ const getStylingClasses = (componentType, stylingOption, previousValue, newValue
|
|
|
254
254
|
};
|
|
255
255
|
/**
|
|
256
256
|
* @hidden
|
|
257
|
+
*
|
|
258
|
+
* Checks whether a Node is Text or Element node.
|
|
259
|
+
* nodeType 1 is Element, nodeType 3 is Text
|
|
257
260
|
*/
|
|
258
|
-
const
|
|
261
|
+
const isElementOrTextNode = n => n.nodeType === 1 || n.nodeType === 3;
|
|
259
262
|
|
|
260
263
|
/**
|
|
261
264
|
* @hidden
|
|
@@ -413,6 +416,7 @@ class ToolBarToolComponent {
|
|
|
413
416
|
constructor() {
|
|
414
417
|
this.tabIndex = -1; //Focus movement inside the toolbar is managed using roving tabindex.
|
|
415
418
|
this.overflows = true;
|
|
419
|
+
this.isBuiltInTool = false;
|
|
416
420
|
// this should be replaced with showTool: DisplayMode = 'both';
|
|
417
421
|
/**
|
|
418
422
|
* @hidden
|
|
@@ -555,13 +559,12 @@ const MIN_SPACER_WIDTH = 18;
|
|
|
555
559
|
* @hidden
|
|
556
560
|
*/
|
|
557
561
|
class ToolBarRendererComponent {
|
|
558
|
-
constructor(renderer, rendererService, refreshService, toolsService, viewContainer
|
|
562
|
+
constructor(renderer, rendererService, refreshService, toolsService, viewContainer) {
|
|
559
563
|
this.renderer = renderer;
|
|
560
564
|
this.rendererService = rendererService;
|
|
561
565
|
this.refreshService = refreshService;
|
|
562
566
|
this.toolsService = toolsService;
|
|
563
567
|
this.viewContainer = viewContainer;
|
|
564
|
-
this.navigationService = navigationService;
|
|
565
568
|
this.rendererClick = new EventEmitter();
|
|
566
569
|
this.onClick = (ev) => {
|
|
567
570
|
this.rendererClick.emit({ context: this, event: ev });
|
|
@@ -571,12 +574,14 @@ class ToolBarRendererComponent {
|
|
|
571
574
|
return this.tool && this.tool.__isSpacer;
|
|
572
575
|
}
|
|
573
576
|
ngOnInit() {
|
|
574
|
-
var _a;
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
this.internalComponentRef.addEventListener('click', this.onClick);
|
|
577
|
+
var _a, _b;
|
|
578
|
+
const viewContainerRootNodes = (_b = (_a = this.viewContainer.get(0)) === null || _a === void 0 ? void 0 : _a.rootNodes) === null || _b === void 0 ? void 0 : _b.filter(isElementOrTextNode);
|
|
579
|
+
if (!viewContainerRootNodes || viewContainerRootNodes.length === 0) {
|
|
580
|
+
return;
|
|
579
581
|
}
|
|
582
|
+
this.internalComponentRef = viewContainerRootNodes[0];
|
|
583
|
+
this.element = this.tool.element;
|
|
584
|
+
this.internalComponentRef.addEventListener('click', this.onClick);
|
|
580
585
|
this.rendererService.element = this.element;
|
|
581
586
|
this.rendererService.renderer = this;
|
|
582
587
|
this.refreshSubscription = this.refreshService.onRefresh.subscribe((tool) => {
|
|
@@ -587,32 +592,24 @@ class ToolBarRendererComponent {
|
|
|
587
592
|
if (this.resizable) {
|
|
588
593
|
if (this.location === 'toolbar') {
|
|
589
594
|
this.template = this.tool.toolbarTemplate;
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
|
|
593
|
-
}
|
|
595
|
+
this.renderer.setStyle(this.internalComponentRef, 'visibility', 'hidden');
|
|
596
|
+
this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
|
|
594
597
|
}
|
|
595
598
|
else {
|
|
596
599
|
this.template = this.tool.popupTemplate;
|
|
597
|
-
|
|
598
|
-
this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
|
|
599
|
-
}
|
|
600
|
+
this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
|
|
600
601
|
}
|
|
601
602
|
}
|
|
602
603
|
else {
|
|
603
604
|
this.tool.overflows = false;
|
|
604
605
|
this.template = this.tool.toolbarTemplate;
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
|
|
608
|
-
}
|
|
606
|
+
this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
|
|
607
|
+
this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
|
|
609
608
|
}
|
|
610
609
|
}
|
|
611
610
|
ngOnDestroy() {
|
|
612
|
-
this.refreshSubscription.unsubscribe();
|
|
613
|
-
|
|
614
|
-
this.internalComponentRef.removeEventListener('click', this.onClick);
|
|
615
|
-
}
|
|
611
|
+
this.refreshSubscription && this.refreshSubscription.unsubscribe();
|
|
612
|
+
this.internalComponentRef && this.internalComponentRef.removeEventListener('click', this.onClick);
|
|
616
613
|
}
|
|
617
614
|
ngAfterViewInit() {
|
|
618
615
|
if (this.resizable) {
|
|
@@ -624,9 +621,6 @@ class ToolBarRendererComponent {
|
|
|
624
621
|
* @hidden
|
|
625
622
|
*/
|
|
626
623
|
get width() {
|
|
627
|
-
if (!isElement(this.internalComponentRef)) {
|
|
628
|
-
return 0;
|
|
629
|
-
}
|
|
630
624
|
if (this.isSpacer) {
|
|
631
625
|
return MIN_SPACER_WIDTH;
|
|
632
626
|
}
|
|
@@ -637,10 +631,7 @@ class ToolBarRendererComponent {
|
|
|
637
631
|
return ((_b = (_a = this.internalComponentRef) === null || _a === void 0 ? void 0 : _a.style) === null || _b === void 0 ? void 0 : _b.display) !== 'none';
|
|
638
632
|
}
|
|
639
633
|
refresh() {
|
|
640
|
-
if (this.resizable) {
|
|
641
|
-
if (!isElement(this.internalComponentRef)) {
|
|
642
|
-
return;
|
|
643
|
-
}
|
|
634
|
+
if (this.resizable && this.internalComponentRef) {
|
|
644
635
|
if (this.location === 'toolbar') {
|
|
645
636
|
this.renderer.setStyle(this.internalComponentRef, 'visibility', this.tool.visibility);
|
|
646
637
|
this.renderer.setStyle(this.internalComponentRef, 'display', this.tool.toolbarDisplay);
|
|
@@ -672,7 +663,7 @@ class ToolBarRendererComponent {
|
|
|
672
663
|
}
|
|
673
664
|
}
|
|
674
665
|
}
|
|
675
|
-
ToolBarRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolBarRendererComponent, deps: [{ token: i0.Renderer2 }, { token: RendererService }, { token: RefreshService }, { token: ToolbarToolsService }, { token: i0.ViewContainerRef }
|
|
666
|
+
ToolBarRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolBarRendererComponent, deps: [{ token: i0.Renderer2 }, { token: RendererService }, { token: RefreshService }, { token: ToolbarToolsService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
676
667
|
ToolBarRendererComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ToolBarRendererComponent, isStandalone: true, selector: "[kendoToolbarRenderer]", inputs: { tool: "tool", location: "location", resizable: "resizable" }, outputs: { rendererClick: "rendererClick" }, providers: [RendererService], ngImport: i0 });
|
|
677
668
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolBarRendererComponent, decorators: [{
|
|
678
669
|
type: Directive,
|
|
@@ -681,7 +672,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
681
672
|
standalone: true,
|
|
682
673
|
selector: '[kendoToolbarRenderer]'
|
|
683
674
|
}]
|
|
684
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: RendererService }, { type: RefreshService }, { type: ToolbarToolsService }, { type: i0.ViewContainerRef }
|
|
675
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: RendererService }, { type: RefreshService }, { type: ToolbarToolsService }, { type: i0.ViewContainerRef }]; }, propDecorators: { tool: [{
|
|
685
676
|
type: Input
|
|
686
677
|
}], location: [{
|
|
687
678
|
type: Input
|
|
@@ -1310,7 +1301,13 @@ ToolBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
|
|
|
1310
1301
|
location="toolbar"
|
|
1311
1302
|
[resizable]="overflow"
|
|
1312
1303
|
(rendererClick)="onRendererClick($event)"
|
|
1313
|
-
[ngTemplateOutlet]="tool.toolbarTemplate"
|
|
1304
|
+
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.toolbarTemplate : wrapper">
|
|
1305
|
+
<ng-template #wrapper>
|
|
1306
|
+
<div class="k-toolbar-item">
|
|
1307
|
+
<ng-container [ngTemplateOutlet]="tool.toolbarTemplate"></ng-container>
|
|
1308
|
+
</div>
|
|
1309
|
+
</ng-template>
|
|
1310
|
+
</ng-container>
|
|
1314
1311
|
<button
|
|
1315
1312
|
kendoButton
|
|
1316
1313
|
fillMode="flat"
|
|
@@ -1339,14 +1336,21 @@ ToolBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
|
|
|
1339
1336
|
role="menu"
|
|
1340
1337
|
[id]="popupId"
|
|
1341
1338
|
[attr.aria-labelledby]="overflowBtnId">
|
|
1342
|
-
<ng-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1339
|
+
<ng-container *ngFor="let tool of overflowTools; let index = index">
|
|
1340
|
+
<ng-template
|
|
1341
|
+
*ngIf="tool.popupTemplate"
|
|
1342
|
+
kendoToolbarRenderer
|
|
1343
|
+
[tool]="tool"
|
|
1344
|
+
location="overflow"
|
|
1345
|
+
[resizable]="overflow"
|
|
1346
|
+
(rendererClick)="onRendererClick($event)"
|
|
1347
|
+
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.popupTemplate : popupWrapper"></ng-template>
|
|
1348
|
+
<ng-template #popupWrapper>
|
|
1349
|
+
<div role="menuitem" tabindex="-1" class="k-item k-menu-item">
|
|
1350
|
+
<ng-container [ngTemplateOutlet]="tool.popupTemplate"></ng-container>
|
|
1351
|
+
</div>
|
|
1352
|
+
</ng-template>
|
|
1353
|
+
</ng-container>
|
|
1350
1354
|
</div>
|
|
1351
1355
|
</ng-template>
|
|
1352
1356
|
<ng-container #container></ng-container>
|
|
@@ -1379,7 +1383,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1379
1383
|
location="toolbar"
|
|
1380
1384
|
[resizable]="overflow"
|
|
1381
1385
|
(rendererClick)="onRendererClick($event)"
|
|
1382
|
-
[ngTemplateOutlet]="tool.toolbarTemplate"
|
|
1386
|
+
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.toolbarTemplate : wrapper">
|
|
1387
|
+
<ng-template #wrapper>
|
|
1388
|
+
<div class="k-toolbar-item">
|
|
1389
|
+
<ng-container [ngTemplateOutlet]="tool.toolbarTemplate"></ng-container>
|
|
1390
|
+
</div>
|
|
1391
|
+
</ng-template>
|
|
1392
|
+
</ng-container>
|
|
1383
1393
|
<button
|
|
1384
1394
|
kendoButton
|
|
1385
1395
|
fillMode="flat"
|
|
@@ -1408,14 +1418,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1408
1418
|
role="menu"
|
|
1409
1419
|
[id]="popupId"
|
|
1410
1420
|
[attr.aria-labelledby]="overflowBtnId">
|
|
1411
|
-
<ng-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1421
|
+
<ng-container *ngFor="let tool of overflowTools; let index = index">
|
|
1422
|
+
<ng-template
|
|
1423
|
+
*ngIf="tool.popupTemplate"
|
|
1424
|
+
kendoToolbarRenderer
|
|
1425
|
+
[tool]="tool"
|
|
1426
|
+
location="overflow"
|
|
1427
|
+
[resizable]="overflow"
|
|
1428
|
+
(rendererClick)="onRendererClick($event)"
|
|
1429
|
+
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.popupTemplate : popupWrapper"></ng-template>
|
|
1430
|
+
<ng-template #popupWrapper>
|
|
1431
|
+
<div role="menuitem" tabindex="-1" class="k-item k-menu-item">
|
|
1432
|
+
<ng-container [ngTemplateOutlet]="tool.popupTemplate"></ng-container>
|
|
1433
|
+
</div>
|
|
1434
|
+
</ng-template>
|
|
1435
|
+
</ng-container>
|
|
1419
1436
|
</div>
|
|
1420
1437
|
</ng-template>
|
|
1421
1438
|
<ng-container #container></ng-container>
|
|
@@ -1557,6 +1574,7 @@ class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
1557
1574
|
imageUrl: ''
|
|
1558
1575
|
};
|
|
1559
1576
|
this._showText = 'both';
|
|
1577
|
+
this.isBuiltInTool = true;
|
|
1560
1578
|
}
|
|
1561
1579
|
// showText and showIcon showIcon should be declared first
|
|
1562
1580
|
/**
|
|
@@ -1886,6 +1904,7 @@ class ToolBarButtonGroupComponent extends ToolBarToolComponent {
|
|
|
1886
1904
|
this.focusedIndex = -1;
|
|
1887
1905
|
this.getNextKey = getNextKey(this.localization.rtl);
|
|
1888
1906
|
this.getPrevKey = getPrevKey(this.localization.rtl);
|
|
1907
|
+
this.isBuiltInTool = true;
|
|
1889
1908
|
}
|
|
1890
1909
|
/**
|
|
1891
1910
|
* @hidden
|
|
@@ -2249,6 +2268,7 @@ class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
|
|
|
2249
2268
|
this._showText = 'both';
|
|
2250
2269
|
this.getNextKey = getNextKey();
|
|
2251
2270
|
this.getPrevKey = getPrevKey();
|
|
2271
|
+
this.isBuiltInTool = true;
|
|
2252
2272
|
}
|
|
2253
2273
|
// showText and showIcon showIcon should be declared first
|
|
2254
2274
|
/**
|
|
@@ -2728,6 +2748,7 @@ class ToolBarSplitButtonComponent extends ToolBarToolComponent {
|
|
|
2728
2748
|
this._showText = 'both';
|
|
2729
2749
|
this.getNextKey = getNextKey();
|
|
2730
2750
|
this.getPrevKey = getPrevKey();
|
|
2751
|
+
this.isBuiltInTool = true;
|
|
2731
2752
|
}
|
|
2732
2753
|
// showText and showIcon showIcon should be declared first
|
|
2733
2754
|
/**
|
|
@@ -3129,6 +3150,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3129
3150
|
class ToolBarSeparatorComponent extends ToolBarToolComponent {
|
|
3130
3151
|
constructor() {
|
|
3131
3152
|
super();
|
|
3153
|
+
this.isBuiltInTool = true;
|
|
3132
3154
|
}
|
|
3133
3155
|
/**
|
|
3134
3156
|
* @hidden
|
|
@@ -3208,6 +3230,7 @@ class ToolBarSpacerComponent extends ToolBarToolComponent {
|
|
|
3208
3230
|
* @hidden
|
|
3209
3231
|
*/
|
|
3210
3232
|
this.__isSpacer = true;
|
|
3233
|
+
this.isBuiltInTool = true;
|
|
3211
3234
|
}
|
|
3212
3235
|
/**
|
|
3213
3236
|
* @hidden
|
|
@@ -24,8 +24,8 @@ const packageMetadata = {
|
|
|
24
24
|
name: '@progress/kendo-angular-toolbar',
|
|
25
25
|
productName: 'Kendo UI for Angular',
|
|
26
26
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
27
|
-
publishDate:
|
|
28
|
-
version: '16.11.0
|
|
27
|
+
publishDate: 1728372253,
|
|
28
|
+
version: '16.11.0',
|
|
29
29
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
30
30
|
};
|
|
31
31
|
|
|
@@ -254,8 +254,11 @@ const getStylingClasses = (componentType, stylingOption, previousValue, newValue
|
|
|
254
254
|
};
|
|
255
255
|
/**
|
|
256
256
|
* @hidden
|
|
257
|
+
*
|
|
258
|
+
* Checks whether a Node is Text or Element node.
|
|
259
|
+
* nodeType 1 is Element, nodeType 3 is Text
|
|
257
260
|
*/
|
|
258
|
-
const
|
|
261
|
+
const isElementOrTextNode = n => n.nodeType === 1 || n.nodeType === 3;
|
|
259
262
|
|
|
260
263
|
/**
|
|
261
264
|
* @hidden
|
|
@@ -413,6 +416,7 @@ class ToolBarToolComponent {
|
|
|
413
416
|
constructor() {
|
|
414
417
|
this.tabIndex = -1; //Focus movement inside the toolbar is managed using roving tabindex.
|
|
415
418
|
this.overflows = true;
|
|
419
|
+
this.isBuiltInTool = false;
|
|
416
420
|
// this should be replaced with showTool: DisplayMode = 'both';
|
|
417
421
|
/**
|
|
418
422
|
* @hidden
|
|
@@ -555,13 +559,12 @@ const MIN_SPACER_WIDTH = 18;
|
|
|
555
559
|
* @hidden
|
|
556
560
|
*/
|
|
557
561
|
class ToolBarRendererComponent {
|
|
558
|
-
constructor(renderer, rendererService, refreshService, toolsService, viewContainer
|
|
562
|
+
constructor(renderer, rendererService, refreshService, toolsService, viewContainer) {
|
|
559
563
|
this.renderer = renderer;
|
|
560
564
|
this.rendererService = rendererService;
|
|
561
565
|
this.refreshService = refreshService;
|
|
562
566
|
this.toolsService = toolsService;
|
|
563
567
|
this.viewContainer = viewContainer;
|
|
564
|
-
this.navigationService = navigationService;
|
|
565
568
|
this.rendererClick = new EventEmitter();
|
|
566
569
|
this.onClick = (ev) => {
|
|
567
570
|
this.rendererClick.emit({ context: this, event: ev });
|
|
@@ -571,11 +574,13 @@ class ToolBarRendererComponent {
|
|
|
571
574
|
return this.tool && this.tool.__isSpacer;
|
|
572
575
|
}
|
|
573
576
|
ngOnInit() {
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
this.internalComponentRef.addEventListener('click', this.onClick);
|
|
577
|
+
const viewContainerRootNodes = this.viewContainer.get(0)?.rootNodes?.filter(isElementOrTextNode);
|
|
578
|
+
if (!viewContainerRootNodes || viewContainerRootNodes.length === 0) {
|
|
579
|
+
return;
|
|
578
580
|
}
|
|
581
|
+
this.internalComponentRef = viewContainerRootNodes[0];
|
|
582
|
+
this.element = this.tool.element;
|
|
583
|
+
this.internalComponentRef.addEventListener('click', this.onClick);
|
|
579
584
|
this.rendererService.element = this.element;
|
|
580
585
|
this.rendererService.renderer = this;
|
|
581
586
|
this.refreshSubscription = this.refreshService.onRefresh.subscribe((tool) => {
|
|
@@ -586,32 +591,24 @@ class ToolBarRendererComponent {
|
|
|
586
591
|
if (this.resizable) {
|
|
587
592
|
if (this.location === 'toolbar') {
|
|
588
593
|
this.template = this.tool.toolbarTemplate;
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
|
|
592
|
-
}
|
|
594
|
+
this.renderer.setStyle(this.internalComponentRef, 'visibility', 'hidden');
|
|
595
|
+
this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
|
|
593
596
|
}
|
|
594
597
|
else {
|
|
595
598
|
this.template = this.tool.popupTemplate;
|
|
596
|
-
|
|
597
|
-
this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
|
|
598
|
-
}
|
|
599
|
+
this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
|
|
599
600
|
}
|
|
600
601
|
}
|
|
601
602
|
else {
|
|
602
603
|
this.tool.overflows = false;
|
|
603
604
|
this.template = this.tool.toolbarTemplate;
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
|
|
607
|
-
}
|
|
605
|
+
this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
|
|
606
|
+
this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
|
|
608
607
|
}
|
|
609
608
|
}
|
|
610
609
|
ngOnDestroy() {
|
|
611
|
-
this.refreshSubscription.unsubscribe();
|
|
612
|
-
|
|
613
|
-
this.internalComponentRef.removeEventListener('click', this.onClick);
|
|
614
|
-
}
|
|
610
|
+
this.refreshSubscription && this.refreshSubscription.unsubscribe();
|
|
611
|
+
this.internalComponentRef && this.internalComponentRef.removeEventListener('click', this.onClick);
|
|
615
612
|
}
|
|
616
613
|
ngAfterViewInit() {
|
|
617
614
|
if (this.resizable) {
|
|
@@ -623,9 +620,6 @@ class ToolBarRendererComponent {
|
|
|
623
620
|
* @hidden
|
|
624
621
|
*/
|
|
625
622
|
get width() {
|
|
626
|
-
if (!isElement(this.internalComponentRef)) {
|
|
627
|
-
return 0;
|
|
628
|
-
}
|
|
629
623
|
if (this.isSpacer) {
|
|
630
624
|
return MIN_SPACER_WIDTH;
|
|
631
625
|
}
|
|
@@ -635,10 +629,7 @@ class ToolBarRendererComponent {
|
|
|
635
629
|
return this.internalComponentRef?.style?.display !== 'none';
|
|
636
630
|
}
|
|
637
631
|
refresh() {
|
|
638
|
-
if (this.resizable) {
|
|
639
|
-
if (!isElement(this.internalComponentRef)) {
|
|
640
|
-
return;
|
|
641
|
-
}
|
|
632
|
+
if (this.resizable && this.internalComponentRef) {
|
|
642
633
|
if (this.location === 'toolbar') {
|
|
643
634
|
this.renderer.setStyle(this.internalComponentRef, 'visibility', this.tool.visibility);
|
|
644
635
|
this.renderer.setStyle(this.internalComponentRef, 'display', this.tool.toolbarDisplay);
|
|
@@ -670,7 +661,7 @@ class ToolBarRendererComponent {
|
|
|
670
661
|
}
|
|
671
662
|
}
|
|
672
663
|
}
|
|
673
|
-
ToolBarRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolBarRendererComponent, deps: [{ token: i0.Renderer2 }, { token: RendererService }, { token: RefreshService }, { token: ToolbarToolsService }, { token: i0.ViewContainerRef }
|
|
664
|
+
ToolBarRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolBarRendererComponent, deps: [{ token: i0.Renderer2 }, { token: RendererService }, { token: RefreshService }, { token: ToolbarToolsService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
674
665
|
ToolBarRendererComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ToolBarRendererComponent, isStandalone: true, selector: "[kendoToolbarRenderer]", inputs: { tool: "tool", location: "location", resizable: "resizable" }, outputs: { rendererClick: "rendererClick" }, providers: [RendererService], ngImport: i0 });
|
|
675
666
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolBarRendererComponent, decorators: [{
|
|
676
667
|
type: Directive,
|
|
@@ -679,7 +670,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
679
670
|
standalone: true,
|
|
680
671
|
selector: '[kendoToolbarRenderer]'
|
|
681
672
|
}]
|
|
682
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: RendererService }, { type: RefreshService }, { type: ToolbarToolsService }, { type: i0.ViewContainerRef }
|
|
673
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: RendererService }, { type: RefreshService }, { type: ToolbarToolsService }, { type: i0.ViewContainerRef }]; }, propDecorators: { tool: [{
|
|
683
674
|
type: Input
|
|
684
675
|
}], location: [{
|
|
685
676
|
type: Input
|
|
@@ -1307,7 +1298,13 @@ ToolBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
|
|
|
1307
1298
|
location="toolbar"
|
|
1308
1299
|
[resizable]="overflow"
|
|
1309
1300
|
(rendererClick)="onRendererClick($event)"
|
|
1310
|
-
[ngTemplateOutlet]="tool.toolbarTemplate"
|
|
1301
|
+
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.toolbarTemplate : wrapper">
|
|
1302
|
+
<ng-template #wrapper>
|
|
1303
|
+
<div class="k-toolbar-item">
|
|
1304
|
+
<ng-container [ngTemplateOutlet]="tool.toolbarTemplate"></ng-container>
|
|
1305
|
+
</div>
|
|
1306
|
+
</ng-template>
|
|
1307
|
+
</ng-container>
|
|
1311
1308
|
<button
|
|
1312
1309
|
kendoButton
|
|
1313
1310
|
fillMode="flat"
|
|
@@ -1336,14 +1333,21 @@ ToolBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
|
|
|
1336
1333
|
role="menu"
|
|
1337
1334
|
[id]="popupId"
|
|
1338
1335
|
[attr.aria-labelledby]="overflowBtnId">
|
|
1339
|
-
<ng-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1336
|
+
<ng-container *ngFor="let tool of overflowTools; let index = index">
|
|
1337
|
+
<ng-template
|
|
1338
|
+
*ngIf="tool.popupTemplate"
|
|
1339
|
+
kendoToolbarRenderer
|
|
1340
|
+
[tool]="tool"
|
|
1341
|
+
location="overflow"
|
|
1342
|
+
[resizable]="overflow"
|
|
1343
|
+
(rendererClick)="onRendererClick($event)"
|
|
1344
|
+
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.popupTemplate : popupWrapper"></ng-template>
|
|
1345
|
+
<ng-template #popupWrapper>
|
|
1346
|
+
<div role="menuitem" tabindex="-1" class="k-item k-menu-item">
|
|
1347
|
+
<ng-container [ngTemplateOutlet]="tool.popupTemplate"></ng-container>
|
|
1348
|
+
</div>
|
|
1349
|
+
</ng-template>
|
|
1350
|
+
</ng-container>
|
|
1347
1351
|
</div>
|
|
1348
1352
|
</ng-template>
|
|
1349
1353
|
<ng-container #container></ng-container>
|
|
@@ -1376,7 +1380,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1376
1380
|
location="toolbar"
|
|
1377
1381
|
[resizable]="overflow"
|
|
1378
1382
|
(rendererClick)="onRendererClick($event)"
|
|
1379
|
-
[ngTemplateOutlet]="tool.toolbarTemplate"
|
|
1383
|
+
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.toolbarTemplate : wrapper">
|
|
1384
|
+
<ng-template #wrapper>
|
|
1385
|
+
<div class="k-toolbar-item">
|
|
1386
|
+
<ng-container [ngTemplateOutlet]="tool.toolbarTemplate"></ng-container>
|
|
1387
|
+
</div>
|
|
1388
|
+
</ng-template>
|
|
1389
|
+
</ng-container>
|
|
1380
1390
|
<button
|
|
1381
1391
|
kendoButton
|
|
1382
1392
|
fillMode="flat"
|
|
@@ -1405,14 +1415,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1405
1415
|
role="menu"
|
|
1406
1416
|
[id]="popupId"
|
|
1407
1417
|
[attr.aria-labelledby]="overflowBtnId">
|
|
1408
|
-
<ng-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1418
|
+
<ng-container *ngFor="let tool of overflowTools; let index = index">
|
|
1419
|
+
<ng-template
|
|
1420
|
+
*ngIf="tool.popupTemplate"
|
|
1421
|
+
kendoToolbarRenderer
|
|
1422
|
+
[tool]="tool"
|
|
1423
|
+
location="overflow"
|
|
1424
|
+
[resizable]="overflow"
|
|
1425
|
+
(rendererClick)="onRendererClick($event)"
|
|
1426
|
+
[ngTemplateOutlet]="tool.isBuiltInTool ? tool.popupTemplate : popupWrapper"></ng-template>
|
|
1427
|
+
<ng-template #popupWrapper>
|
|
1428
|
+
<div role="menuitem" tabindex="-1" class="k-item k-menu-item">
|
|
1429
|
+
<ng-container [ngTemplateOutlet]="tool.popupTemplate"></ng-container>
|
|
1430
|
+
</div>
|
|
1431
|
+
</ng-template>
|
|
1432
|
+
</ng-container>
|
|
1416
1433
|
</div>
|
|
1417
1434
|
</ng-template>
|
|
1418
1435
|
<ng-container #container></ng-container>
|
|
@@ -1554,6 +1571,7 @@ class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
1554
1571
|
imageUrl: ''
|
|
1555
1572
|
};
|
|
1556
1573
|
this._showText = 'both';
|
|
1574
|
+
this.isBuiltInTool = true;
|
|
1557
1575
|
}
|
|
1558
1576
|
// showText and showIcon showIcon should be declared first
|
|
1559
1577
|
/**
|
|
@@ -1883,6 +1901,7 @@ class ToolBarButtonGroupComponent extends ToolBarToolComponent {
|
|
|
1883
1901
|
this.focusedIndex = -1;
|
|
1884
1902
|
this.getNextKey = getNextKey(this.localization.rtl);
|
|
1885
1903
|
this.getPrevKey = getPrevKey(this.localization.rtl);
|
|
1904
|
+
this.isBuiltInTool = true;
|
|
1886
1905
|
}
|
|
1887
1906
|
/**
|
|
1888
1907
|
* @hidden
|
|
@@ -2245,6 +2264,7 @@ class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
|
|
|
2245
2264
|
this._showText = 'both';
|
|
2246
2265
|
this.getNextKey = getNextKey();
|
|
2247
2266
|
this.getPrevKey = getPrevKey();
|
|
2267
|
+
this.isBuiltInTool = true;
|
|
2248
2268
|
}
|
|
2249
2269
|
// showText and showIcon showIcon should be declared first
|
|
2250
2270
|
/**
|
|
@@ -2724,6 +2744,7 @@ class ToolBarSplitButtonComponent extends ToolBarToolComponent {
|
|
|
2724
2744
|
this._showText = 'both';
|
|
2725
2745
|
this.getNextKey = getNextKey();
|
|
2726
2746
|
this.getPrevKey = getPrevKey();
|
|
2747
|
+
this.isBuiltInTool = true;
|
|
2727
2748
|
}
|
|
2728
2749
|
// showText and showIcon showIcon should be declared first
|
|
2729
2750
|
/**
|
|
@@ -3125,6 +3146,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3125
3146
|
class ToolBarSeparatorComponent extends ToolBarToolComponent {
|
|
3126
3147
|
constructor() {
|
|
3127
3148
|
super();
|
|
3149
|
+
this.isBuiltInTool = true;
|
|
3128
3150
|
}
|
|
3129
3151
|
/**
|
|
3130
3152
|
* @hidden
|
|
@@ -3204,6 +3226,7 @@ class ToolBarSpacerComponent extends ToolBarToolComponent {
|
|
|
3204
3226
|
* @hidden
|
|
3205
3227
|
*/
|
|
3206
3228
|
this.__isSpacer = true;
|
|
3229
|
+
this.isBuiltInTool = true;
|
|
3207
3230
|
}
|
|
3208
3231
|
/**
|
|
3209
3232
|
* @hidden
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-toolbar",
|
|
3
|
-
"version": "16.11.0
|
|
3
|
+
"version": "16.11.0",
|
|
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",
|
|
@@ -29,16 +29,16 @@
|
|
|
29
29
|
"@angular/core": "15 - 18",
|
|
30
30
|
"@angular/platform-browser": "15 - 18",
|
|
31
31
|
"@progress/kendo-licensing": "^1.0.2",
|
|
32
|
-
"@progress/kendo-angular-buttons": "16.11.0
|
|
33
|
-
"@progress/kendo-angular-common": "16.11.0
|
|
34
|
-
"@progress/kendo-angular-l10n": "16.11.0
|
|
35
|
-
"@progress/kendo-angular-icons": "16.11.0
|
|
36
|
-
"@progress/kendo-angular-popup": "16.11.0
|
|
32
|
+
"@progress/kendo-angular-buttons": "16.11.0",
|
|
33
|
+
"@progress/kendo-angular-common": "16.11.0",
|
|
34
|
+
"@progress/kendo-angular-l10n": "16.11.0",
|
|
35
|
+
"@progress/kendo-angular-icons": "16.11.0",
|
|
36
|
+
"@progress/kendo-angular-popup": "16.11.0",
|
|
37
37
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"tslib": "^2.3.1",
|
|
41
|
-
"@progress/kendo-angular-schematics": "16.11.0
|
|
41
|
+
"@progress/kendo-angular-schematics": "16.11.0"
|
|
42
42
|
},
|
|
43
43
|
"schematics": "./schematics/collection.json",
|
|
44
44
|
"module": "fesm2015/progress-kendo-angular-toolbar.mjs",
|
package/renderer.component.d.ts
CHANGED
|
@@ -9,7 +9,6 @@ import { RefreshService } from './refresh.service';
|
|
|
9
9
|
import { RendererService } from './renderer.service';
|
|
10
10
|
import { RendererClickPayload } from './common/renderer-click';
|
|
11
11
|
import { ToolbarToolsService } from './tools/tools.service';
|
|
12
|
-
import { NavigationService } from './navigation.service';
|
|
13
12
|
import * as i0 from "@angular/core";
|
|
14
13
|
/**
|
|
15
14
|
* @hidden
|
|
@@ -20,7 +19,6 @@ export declare class ToolBarRendererComponent implements OnInit, OnDestroy {
|
|
|
20
19
|
private refreshService;
|
|
21
20
|
private toolsService;
|
|
22
21
|
private viewContainer;
|
|
23
|
-
private navigationService;
|
|
24
22
|
tool: ToolBarToolComponent;
|
|
25
23
|
location: RenderLocation;
|
|
26
24
|
resizable: boolean;
|
|
@@ -30,7 +28,7 @@ export declare class ToolBarRendererComponent implements OnInit, OnDestroy {
|
|
|
30
28
|
private get isSpacer();
|
|
31
29
|
private refreshSubscription;
|
|
32
30
|
private internalComponentRef;
|
|
33
|
-
constructor(renderer: Renderer, rendererService: RendererService, refreshService: RefreshService, toolsService: ToolbarToolsService, viewContainer: ViewContainerRef
|
|
31
|
+
constructor(renderer: Renderer, rendererService: RendererService, refreshService: RefreshService, toolsService: ToolbarToolsService, viewContainer: ViewContainerRef);
|
|
34
32
|
ngOnInit(): void;
|
|
35
33
|
ngOnDestroy(): void;
|
|
36
34
|
ngAfterViewInit(): void;
|
package/util.d.ts
CHANGED
|
@@ -99,5 +99,8 @@ export declare const SIZES: {
|
|
|
99
99
|
export declare const getStylingClasses: (componentType: any, stylingOption: string, previousValue: any, newValue: any) => ToolbarStylingClasses;
|
|
100
100
|
/**
|
|
101
101
|
* @hidden
|
|
102
|
+
*
|
|
103
|
+
* Checks whether a Node is Text or Element node.
|
|
104
|
+
* nodeType 1 is Element, nodeType 3 is Text
|
|
102
105
|
*/
|
|
103
|
-
export declare const
|
|
106
|
+
export declare const isElementOrTextNode: (n: Node) => boolean;
|