@progress/kendo-angular-toolbar 19.0.0-develop.2 → 19.0.0-develop.20
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/display-mode.d.ts +9 -3
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/renderer.component.mjs +38 -9
- package/esm2022/toolbar.component.mjs +36 -4
- package/esm2022/tools/toolbar-button.component.mjs +24 -10
- package/esm2022/tools/toolbar-dropdownbutton.component.mjs +23 -14
- package/esm2022/tools/toolbar-splitbutton.component.mjs +33 -12
- package/esm2022/tools/toolbar-tool.component.mjs +4 -0
- package/esm2022/util.mjs +3 -1
- package/fesm2022/progress-kendo-angular-toolbar.mjs +156 -53
- package/package.json +8 -8
- package/renderer.component.d.ts +1 -0
- package/toolbar.component.d.ts +21 -2
- package/tools/toolbar-button.component.d.ts +12 -5
- package/tools/toolbar-dropdownbutton.component.d.ts +8 -4
- package/tools/toolbar-splitbutton.component.d.ts +8 -4
- package/tools/toolbar-tool.component.d.ts +4 -0
package/display-mode.d.ts
CHANGED
|
@@ -3,8 +3,14 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Specifies the visibility of the toolbar tool text or icon.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* The possible values are:
|
|
9
|
+
* - `always`—The text or icon is always visible, regardless of the current overflow mode.
|
|
10
|
+
* - `toolbar`—The text or icon is displayed in the main ToolBar and in the overflow element when `section` overflow mode is used.
|
|
11
|
+
* - `menu`—The text or icon is displayed only in the overflow popup when `menu` overflow mode is used.
|
|
12
|
+
* - `never`—The text or icon is never rendered.
|
|
13
|
+
*
|
|
14
|
+
* @default 'always'
|
|
9
15
|
*/
|
|
10
|
-
export type DisplayMode = '
|
|
16
|
+
export type DisplayMode = 'always' | 'toolbar' | 'menu' | 'never';
|
|
@@ -10,7 +10,7 @@ export const packageMetadata = {
|
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCode: 'KENDOUIANGULAR',
|
|
12
12
|
productCodes: ['KENDOUIANGULAR'],
|
|
13
|
-
publishDate:
|
|
14
|
-
version: '19.0.0-develop.
|
|
13
|
+
publishDate: 1747410189,
|
|
14
|
+
version: '19.0.0-develop.20',
|
|
15
15
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
16
16
|
};
|
|
@@ -3,6 +3,7 @@
|
|
|
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 { isPresent } from '@progress/kendo-angular-common';
|
|
6
7
|
import { ToolBarToolComponent } from './tools/toolbar-tool.component';
|
|
7
8
|
import { RefreshService } from './refresh.service';
|
|
8
9
|
import { RendererService } from './renderer.service';
|
|
@@ -59,24 +60,38 @@ export class ToolBarRendererComponent {
|
|
|
59
60
|
if (this.resizable) {
|
|
60
61
|
if (this.location === 'toolbar') {
|
|
61
62
|
this.template = this.tool.toolbarTemplate;
|
|
62
|
-
this.
|
|
63
|
-
this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
|
|
63
|
+
this.hideTool();
|
|
64
64
|
}
|
|
65
65
|
else if (this.location === 'section') {
|
|
66
66
|
this.template = this.tool.toolbarTemplate;
|
|
67
|
-
this.
|
|
68
|
-
|
|
67
|
+
if (this.tool.isHidden) {
|
|
68
|
+
this.hideTool();
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
|
|
72
|
+
this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
|
|
73
|
+
}
|
|
69
74
|
}
|
|
70
75
|
else {
|
|
71
76
|
this.template = this.tool.popupTemplate;
|
|
72
|
-
this.
|
|
77
|
+
if (this.tool.isHidden) {
|
|
78
|
+
this.hideTool();
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
|
|
82
|
+
}
|
|
73
83
|
}
|
|
74
84
|
}
|
|
75
85
|
else {
|
|
76
86
|
this.tool.overflows = false;
|
|
77
87
|
this.template = this.tool.toolbarTemplate;
|
|
78
|
-
this.
|
|
79
|
-
|
|
88
|
+
if (this.tool.isHidden) {
|
|
89
|
+
this.hideTool();
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
|
|
93
|
+
this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
|
|
94
|
+
}
|
|
80
95
|
}
|
|
81
96
|
}
|
|
82
97
|
ngOnDestroy() {
|
|
@@ -103,7 +118,13 @@ export class ToolBarRendererComponent {
|
|
|
103
118
|
}
|
|
104
119
|
refresh() {
|
|
105
120
|
this.tool.location = this.location;
|
|
106
|
-
if (this.
|
|
121
|
+
if (!isPresent(this.internalComponentRef)) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
if (this.tool.isHidden) {
|
|
125
|
+
this.hideTool();
|
|
126
|
+
}
|
|
127
|
+
else if (this.resizable) {
|
|
107
128
|
if (this.location === 'toolbar') {
|
|
108
129
|
this.renderer.setStyle(this.internalComponentRef, 'visibility', this.tool.visibility);
|
|
109
130
|
this.renderer.setStyle(this.internalComponentRef, 'display', this.tool.toolbarDisplay);
|
|
@@ -111,8 +132,12 @@ export class ToolBarRendererComponent {
|
|
|
111
132
|
else {
|
|
112
133
|
this.renderer.setStyle(this.internalComponentRef, 'display', this.tool.overflowDisplay);
|
|
113
134
|
}
|
|
114
|
-
this.updateTools();
|
|
115
135
|
}
|
|
136
|
+
else {
|
|
137
|
+
this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
|
|
138
|
+
this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
|
|
139
|
+
}
|
|
140
|
+
this.updateTools();
|
|
116
141
|
}
|
|
117
142
|
setAttribute(element, attr, value) {
|
|
118
143
|
this.renderer.setAttribute(element, attr, value);
|
|
@@ -138,6 +163,10 @@ export class ToolBarRendererComponent {
|
|
|
138
163
|
}
|
|
139
164
|
}
|
|
140
165
|
}
|
|
166
|
+
hideTool() {
|
|
167
|
+
this.renderer.setStyle(this.internalComponentRef, 'visibility', 'hidden');
|
|
168
|
+
this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
|
|
169
|
+
}
|
|
141
170
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarRendererComponent, deps: [{ token: i0.Renderer2 }, { token: i1.RendererService }, { token: i2.RefreshService }, { token: i3.ToolbarToolsService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
142
171
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarRendererComponent, isStandalone: true, selector: "[kendoToolbarRenderer]", inputs: { tool: "tool", location: "location", resizable: "resizable" }, outputs: { rendererClick: "rendererClick" }, providers: [RendererService], ngImport: i0 });
|
|
143
172
|
}
|
|
@@ -178,6 +178,34 @@ export class ToolBarComponent {
|
|
|
178
178
|
get tabIndex() {
|
|
179
179
|
return this.tabindex;
|
|
180
180
|
}
|
|
181
|
+
/**
|
|
182
|
+
* Specifies the icons visibility for all tools in the ToolBar.
|
|
183
|
+
* This can be overridden by the `showIcon` property of each tool.
|
|
184
|
+
*/
|
|
185
|
+
showIcon = 'always';
|
|
186
|
+
/**
|
|
187
|
+
* @hidden
|
|
188
|
+
*/
|
|
189
|
+
get normalizedShowIcon() {
|
|
190
|
+
if (typeof this.showIcon === 'boolean') {
|
|
191
|
+
return this.showIcon ? 'always' : 'never';
|
|
192
|
+
}
|
|
193
|
+
return this.showIcon;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Specifies the text visibility for all tools in the ToolBar.
|
|
197
|
+
* This can be overridden by the `showText` property of each tool.
|
|
198
|
+
*/
|
|
199
|
+
showText = 'always';
|
|
200
|
+
/**
|
|
201
|
+
* @hidden
|
|
202
|
+
*/
|
|
203
|
+
get normalizedShowText() {
|
|
204
|
+
if (typeof this.showText === 'boolean') {
|
|
205
|
+
return this.showText ? 'always' : 'never';
|
|
206
|
+
}
|
|
207
|
+
return this.showText;
|
|
208
|
+
}
|
|
181
209
|
/**
|
|
182
210
|
* Fires when the overflow popup of the ToolBar is opened.
|
|
183
211
|
*/
|
|
@@ -789,10 +817,10 @@ export class ToolBarComponent {
|
|
|
789
817
|
if (containerWidth > childrenWidth) {
|
|
790
818
|
for (let i = this.overflowTools.length - 1; i >= 0; i--) {
|
|
791
819
|
width = this.showFirstHiddenTool(containerWidth, childrenWidth);
|
|
792
|
-
if (width) {
|
|
820
|
+
if (width > 0) {
|
|
793
821
|
childrenWidth += width + this.gap;
|
|
794
822
|
}
|
|
795
|
-
else {
|
|
823
|
+
else if (width === 0) {
|
|
796
824
|
break;
|
|
797
825
|
}
|
|
798
826
|
}
|
|
@@ -827,7 +855,7 @@ export class ToolBarComponent {
|
|
|
827
855
|
tool.overflows = true;
|
|
828
856
|
}
|
|
829
857
|
this.refreshService.refresh(tool);
|
|
830
|
-
return renderedElement.width; // returns 0 if `overflows` is true
|
|
858
|
+
return tool.isHidden ? -1 : renderedElement.width; // returns 0 if `overflows` is true and -1 if the tool is hidden
|
|
831
859
|
}
|
|
832
860
|
setPopupContentDimensions(isSection) {
|
|
833
861
|
const popupContentContainer = this.popupRef.popup.instance.contentContainer.nativeElement;
|
|
@@ -954,7 +982,7 @@ export class ToolBarComponent {
|
|
|
954
982
|
});
|
|
955
983
|
}
|
|
956
984
|
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 });
|
|
957
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarComponent, isStandalone: true, selector: "kendo-toolbar", inputs: { overflow: "overflow", resizable: "resizable", popupSettings: "popupSettings", fillMode: "fillMode", tabindex: "tabindex", size: "size", tabIndex: "tabIndex" }, outputs: { open: "open", close: "close" }, host: { listeners: { "focus": "onFocus($event)", "focusout": "onFocusOut($event)" }, properties: { "class.k-toolbar": "this.hostClass", "class.k-toolbar-scrollable": "this.scrollableClass", "class.k-toolbar-section": "this.sectionClass", "attr.role": "this.role", "attr.dir": "this.getDir", "class.k-toolbar-resizable": "this.resizableClass" } }, providers: [
|
|
985
|
+
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", showIcon: "showIcon", showText: "showText" }, 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: [
|
|
958
986
|
RefreshService,
|
|
959
987
|
NavigationService,
|
|
960
988
|
LocalizationService,
|
|
@@ -1397,6 +1425,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1397
1425
|
}], tabIndex: [{
|
|
1398
1426
|
type: Input,
|
|
1399
1427
|
args: ['tabIndex']
|
|
1428
|
+
}], showIcon: [{
|
|
1429
|
+
type: Input
|
|
1430
|
+
}], showText: [{
|
|
1431
|
+
type: Input
|
|
1400
1432
|
}], open: [{
|
|
1401
1433
|
type: Output
|
|
1402
1434
|
}], close: [{
|
|
@@ -10,28 +10,37 @@ import { take } from 'rxjs/operators';
|
|
|
10
10
|
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
11
11
|
import { BadgeComponent } from '@progress/kendo-angular-indicators';
|
|
12
12
|
import { NgStyle, NgClass, NgIf } from '@angular/common';
|
|
13
|
+
import { ToolBarComponent } from '../toolbar.component';
|
|
13
14
|
import * as i0 from "@angular/core";
|
|
15
|
+
import * as i1 from "../toolbar.component";
|
|
14
16
|
/**
|
|
15
17
|
* Represents the [Kendo UI ToolBar Button tool for Angular]({% slug controltypes_toolbar %}#toc-buttons).
|
|
16
18
|
*/
|
|
17
19
|
export class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
18
20
|
element;
|
|
19
21
|
zone;
|
|
22
|
+
host;
|
|
20
23
|
// showText and showIcon showIcon should be declared first
|
|
21
24
|
/**
|
|
22
|
-
* Specifies
|
|
25
|
+
* Specifies the button text visibility.
|
|
23
26
|
*/
|
|
24
27
|
set showText(value) {
|
|
25
28
|
this._showText = value;
|
|
26
29
|
this.setTextDisplayMode();
|
|
27
30
|
}
|
|
28
31
|
get showText() {
|
|
29
|
-
return this._showText;
|
|
32
|
+
return this._showText || this.host.normalizedShowText;
|
|
30
33
|
}
|
|
31
34
|
/**
|
|
32
|
-
* Specifies
|
|
35
|
+
* Specifies the button icon visibility.
|
|
33
36
|
*/
|
|
34
|
-
showIcon
|
|
37
|
+
set showIcon(value) {
|
|
38
|
+
this._showIcon = value;
|
|
39
|
+
this.setTextDisplayMode();
|
|
40
|
+
}
|
|
41
|
+
get showIcon() {
|
|
42
|
+
return this._showIcon || this.host.normalizedShowIcon;
|
|
43
|
+
}
|
|
35
44
|
/**
|
|
36
45
|
* Specifies the text of the Button ([see example]({% slug controltypes_toolbar %}#toc-buttons)).
|
|
37
46
|
*/
|
|
@@ -192,12 +201,14 @@ export class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
192
201
|
toolbarButtonElement;
|
|
193
202
|
sectionButtonElement;
|
|
194
203
|
overflowButtonElement;
|
|
195
|
-
_showText
|
|
204
|
+
_showText;
|
|
205
|
+
_showIcon;
|
|
196
206
|
_text;
|
|
197
|
-
constructor(element, zone) {
|
|
207
|
+
constructor(element, zone, host) {
|
|
198
208
|
super();
|
|
199
209
|
this.element = element;
|
|
200
210
|
this.zone = zone;
|
|
211
|
+
this.host = host;
|
|
201
212
|
this.isBuiltInTool = true;
|
|
202
213
|
}
|
|
203
214
|
ngOnInit() {
|
|
@@ -249,16 +260,19 @@ export class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
249
260
|
this.selected = state;
|
|
250
261
|
this.selectedChange.emit(state);
|
|
251
262
|
}
|
|
263
|
+
/**
|
|
264
|
+
* @hidden
|
|
265
|
+
*/
|
|
252
266
|
getButton() {
|
|
253
267
|
return this[`${this.location}ButtonElement`]?.nativeElement;
|
|
254
268
|
}
|
|
255
269
|
setTextDisplayMode() {
|
|
256
|
-
this.toolbarOptions.text = this.showText === '
|
|
270
|
+
this.toolbarOptions.text = this.showText === 'menu' || this.showText === 'never' ? undefined : this.text;
|
|
257
271
|
this.zone.onStable.pipe(take(1)).subscribe(() => {
|
|
258
|
-
this.overflowOptions.text = this.showText === 'toolbar' ? undefined : this.text;
|
|
272
|
+
this.overflowOptions.text = this.showText === 'toolbar' || this.showText === 'never' ? undefined : this.text;
|
|
259
273
|
});
|
|
260
274
|
}
|
|
261
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
275
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
262
276
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarButtonComponent, isStandalone: true, selector: "kendo-toolbar-button", inputs: { showText: "showText", showIcon: "showIcon", text: "text", style: "style", className: "className", title: "title", disabled: "disabled", toggleable: "toggleable", look: "look", togglable: "togglable", selected: "selected", fillMode: "fillMode", themeColor: "themeColor", icon: "icon", iconClass: "iconClass", svgIcon: "svgIcon", imageUrl: "imageUrl" }, outputs: { click: "click", pointerdown: "pointerdown", selectedChange: "selectedChange" }, providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => ToolBarButtonComponent) }], viewQueries: [{ propertyName: "toolbarButtonElement", first: true, predicate: ["toolbarButton"], descendants: true, read: ElementRef }, { propertyName: "sectionButtonElement", first: true, predicate: ["sectionButton"], descendants: true, read: ElementRef }, { propertyName: "overflowButtonElement", first: true, predicate: ["overflowButton"], descendants: true, read: ElementRef }], exportAs: ["kendoToolBarButton"], usesInheritance: true, ngImport: i0, template: `
|
|
263
277
|
<ng-template #toolbarTemplate>
|
|
264
278
|
<button
|
|
@@ -435,7 +449,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
435
449
|
standalone: true,
|
|
436
450
|
imports: [ButtonComponent, NgStyle, NgClass, NgIf, IconWrapperComponent, BadgeComponent],
|
|
437
451
|
}]
|
|
438
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { showText: [{
|
|
452
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.ToolBarComponent }]; }, propDecorators: { showText: [{
|
|
439
453
|
type: Input
|
|
440
454
|
}], showIcon: [{
|
|
441
455
|
type: Input
|
|
@@ -9,13 +9,16 @@ import { getValueForLocation, makePeeker, getIndexOfFocused, getPrevKey, getNext
|
|
|
9
9
|
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
10
10
|
import { NgClass, NgIf, NgFor } from '@angular/common';
|
|
11
11
|
import { take } from 'rxjs/operators';
|
|
12
|
+
import { ToolBarComponent } from '../toolbar.component';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "../toolbar.component";
|
|
13
15
|
/**
|
|
14
16
|
* Represents the [Kendo UI ToolBar DropDownButton for Angular](slug:controltypes_toolbar#drop-down-buttons).
|
|
15
17
|
*/
|
|
16
18
|
export class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
|
|
17
19
|
zone;
|
|
18
20
|
renderer;
|
|
21
|
+
host;
|
|
19
22
|
/**
|
|
20
23
|
* Allows showing the default arrow icon or providing alternative one instead.
|
|
21
24
|
* @default false
|
|
@@ -28,19 +31,24 @@ export class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
|
|
|
28
31
|
title = '';
|
|
29
32
|
// showText and showIcon showIcon should be declared first
|
|
30
33
|
/**
|
|
31
|
-
*
|
|
34
|
+
* Specifies the button text visibility.
|
|
32
35
|
*/
|
|
33
36
|
set showText(value) {
|
|
34
37
|
this._showText = value;
|
|
35
38
|
this.setTextDisplayMode();
|
|
36
39
|
}
|
|
37
40
|
get showText() {
|
|
38
|
-
return this._showText;
|
|
41
|
+
return this._showText || this.host.normalizedShowText;
|
|
39
42
|
}
|
|
40
43
|
/**
|
|
41
|
-
*
|
|
44
|
+
* Specifies the button icon visibility.
|
|
42
45
|
*/
|
|
43
|
-
showIcon
|
|
46
|
+
set showIcon(value) {
|
|
47
|
+
this._showIcon = value;
|
|
48
|
+
}
|
|
49
|
+
get showIcon() {
|
|
50
|
+
return this._showIcon || this.host.normalizedShowIcon;
|
|
51
|
+
}
|
|
44
52
|
/**
|
|
45
53
|
* Sets the text of the DropDownButton
|
|
46
54
|
* ([see example](slug:controltypes_toolbar#toc-drop-down-buttons)).
|
|
@@ -215,14 +223,16 @@ export class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
|
|
|
215
223
|
_data;
|
|
216
224
|
_popupSettings = { animate: true, popupClass: '' };
|
|
217
225
|
focusedIndex = -1;
|
|
218
|
-
_showText
|
|
226
|
+
_showText;
|
|
227
|
+
_showIcon;
|
|
219
228
|
_text;
|
|
220
229
|
getNextKey;
|
|
221
230
|
getPrevKey;
|
|
222
|
-
constructor(zone, renderer) {
|
|
231
|
+
constructor(zone, renderer, host) {
|
|
223
232
|
super();
|
|
224
233
|
this.zone = zone;
|
|
225
234
|
this.renderer = renderer;
|
|
235
|
+
this.host = host;
|
|
226
236
|
this.getNextKey = getNextKey();
|
|
227
237
|
this.getPrevKey = getPrevKey();
|
|
228
238
|
this.isBuiltInTool = true;
|
|
@@ -232,9 +242,9 @@ export class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
|
|
|
232
242
|
}
|
|
233
243
|
ngAfterViewInit() {
|
|
234
244
|
this.zone.onStable.pipe(take(1)).subscribe(() => {
|
|
235
|
-
const
|
|
236
|
-
if (
|
|
237
|
-
this.renderer.addClass(
|
|
245
|
+
const dropdownButton = this[`${this.location}DropDownButton`];
|
|
246
|
+
if (dropdownButton?.button) {
|
|
247
|
+
this.renderer.addClass(dropdownButton.button.nativeElement, 'k-toolbar-menu-button');
|
|
238
248
|
}
|
|
239
249
|
});
|
|
240
250
|
}
|
|
@@ -288,7 +298,6 @@ export class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
|
|
|
288
298
|
if (dataItem) {
|
|
289
299
|
return this.textField ? dataItem[this.textField] : dataItem.text || dataItem;
|
|
290
300
|
}
|
|
291
|
-
return undefined;
|
|
292
301
|
}
|
|
293
302
|
/**
|
|
294
303
|
* @hidden
|
|
@@ -307,10 +316,10 @@ export class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
|
|
|
307
316
|
}
|
|
308
317
|
}
|
|
309
318
|
setTextDisplayMode() {
|
|
310
|
-
this.toolbarOptions.text = this.showText === '
|
|
311
|
-
this.overflowOptions.text = this.showText === 'toolbar' ? undefined : this.text;
|
|
319
|
+
this.toolbarOptions.text = this.showText === 'menu' || this.showText === 'never' ? undefined : this.text;
|
|
320
|
+
this.overflowOptions.text = this.showText === 'toolbar' || this.showText === 'never' ? undefined : this.text;
|
|
312
321
|
}
|
|
313
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarDropDownButtonComponent, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
322
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarDropDownButtonComponent, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
314
323
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarDropDownButtonComponent, isStandalone: true, selector: "kendo-toolbar-dropdownbutton", inputs: { arrowIcon: "arrowIcon", title: "title", showText: "showText", showIcon: "showIcon", text: "text", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", imageUrl: "imageUrl", popupSettings: "popupSettings", look: "look", primary: "primary", fillMode: "fillMode", themeColor: "themeColor", buttonClass: "buttonClass", textField: "textField", disabled: "disabled", data: "data" }, outputs: { itemClick: "itemClick", open: "open", close: "close" }, providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => ToolBarDropDownButtonComponent) }], viewQueries: [{ propertyName: "dropdownButton", first: true, predicate: ["dropdownButton"], descendants: true, read: ElementRef, static: true }, { propertyName: "toolbarDropDownButton", first: true, predicate: ["toolbarDropDownButton"], descendants: true }, { propertyName: "sectionDropDownButton", first: true, predicate: ["sectionDropDownButton"], descendants: true }, { propertyName: "overflowListItems", predicate: ["listItem"], descendants: true }], exportAs: ["kendoToolBarDropDownButton"], usesInheritance: true, ngImport: i0, template: `
|
|
315
324
|
<ng-template #toolbarTemplate>
|
|
316
325
|
<kendo-dropdownbutton #toolbarDropDownButton
|
|
@@ -501,7 +510,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
501
510
|
standalone: true,
|
|
502
511
|
imports: [DropDownButtonComponent, NgClass, NgIf, IconWrapperComponent, NgFor]
|
|
503
512
|
}]
|
|
504
|
-
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.Renderer2 }]; }, propDecorators: { arrowIcon: [{
|
|
513
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.ToolBarComponent }]; }, propDecorators: { arrowIcon: [{
|
|
505
514
|
type: Input
|
|
506
515
|
}], title: [{
|
|
507
516
|
type: Input
|
|
@@ -9,26 +9,46 @@ import { getValueForLocation, makePeeker, getIndexOfFocused, getPrevKey, getNext
|
|
|
9
9
|
import { caretAltDownIcon } from '@progress/kendo-svg-icons';
|
|
10
10
|
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
11
11
|
import { NgClass, NgIf, NgFor } from '@angular/common';
|
|
12
|
+
import { isPresent } from '@progress/kendo-angular-common';
|
|
13
|
+
import { ToolBarComponent } from '../toolbar.component';
|
|
12
14
|
import * as i0 from "@angular/core";
|
|
15
|
+
import * as i1 from "../toolbar.component";
|
|
13
16
|
/**
|
|
14
17
|
* Represents the [Kendo UI ToolBar SplitButton for Angular](slug:controltypes_toolbar#toc-split-buttons).
|
|
15
18
|
*/
|
|
16
19
|
export class ToolBarSplitButtonComponent extends ToolBarToolComponent {
|
|
20
|
+
host;
|
|
17
21
|
// showText and showIcon showIcon should be declared first
|
|
18
22
|
/**
|
|
19
|
-
* Specifies
|
|
23
|
+
* Specifies the button text visibility.
|
|
20
24
|
*/
|
|
21
25
|
set showText(value) {
|
|
22
|
-
|
|
26
|
+
if (!isPresent(value)) {
|
|
27
|
+
this._showText = this.host.normalizedShowText;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this._showText = value;
|
|
31
|
+
}
|
|
23
32
|
this.setTextDisplayMode();
|
|
24
33
|
}
|
|
25
34
|
get showText() {
|
|
26
|
-
return this._showText;
|
|
35
|
+
return this._showText || this.host.normalizedShowText;
|
|
27
36
|
}
|
|
28
37
|
/**
|
|
29
|
-
* Specifies
|
|
38
|
+
* Specifies the button icon visibility.
|
|
30
39
|
*/
|
|
31
|
-
showIcon
|
|
40
|
+
set showIcon(value) {
|
|
41
|
+
if (!isPresent(value)) {
|
|
42
|
+
this._showIcon = this.host.normalizedShowIcon;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
this._showIcon = value;
|
|
46
|
+
}
|
|
47
|
+
this.setTextDisplayMode();
|
|
48
|
+
}
|
|
49
|
+
get showIcon() {
|
|
50
|
+
return this._showIcon || this.host.normalizedShowIcon;
|
|
51
|
+
}
|
|
32
52
|
/**
|
|
33
53
|
* Sets the text of the SplitButton ([see example](slug:controltypes_toolbar#toc-split-buttons)).
|
|
34
54
|
*/
|
|
@@ -215,7 +235,8 @@ export class ToolBarSplitButtonComponent extends ToolBarToolComponent {
|
|
|
215
235
|
_data;
|
|
216
236
|
_popupSettings = { animate: true, popupClass: '' };
|
|
217
237
|
focusedIndex = -1;
|
|
218
|
-
_showText
|
|
238
|
+
_showText;
|
|
239
|
+
_showIcon;
|
|
219
240
|
_text;
|
|
220
241
|
getNextKey;
|
|
221
242
|
getPrevKey;
|
|
@@ -223,8 +244,9 @@ export class ToolBarSplitButtonComponent extends ToolBarToolComponent {
|
|
|
223
244
|
sectionSplitButton;
|
|
224
245
|
overflowMainButton;
|
|
225
246
|
overflowListItems;
|
|
226
|
-
constructor() {
|
|
247
|
+
constructor(host) {
|
|
227
248
|
super();
|
|
249
|
+
this.host = host;
|
|
228
250
|
this.getNextKey = getNextKey();
|
|
229
251
|
this.getPrevKey = getPrevKey();
|
|
230
252
|
this.isBuiltInTool = true;
|
|
@@ -284,7 +306,6 @@ export class ToolBarSplitButtonComponent extends ToolBarToolComponent {
|
|
|
284
306
|
if (dataItem) {
|
|
285
307
|
return this.textField ? dataItem[this.textField] : dataItem.text || dataItem;
|
|
286
308
|
}
|
|
287
|
-
return undefined;
|
|
288
309
|
}
|
|
289
310
|
/**
|
|
290
311
|
* @hidden
|
|
@@ -303,10 +324,10 @@ export class ToolBarSplitButtonComponent extends ToolBarToolComponent {
|
|
|
303
324
|
}
|
|
304
325
|
}
|
|
305
326
|
setTextDisplayMode() {
|
|
306
|
-
this.toolbarOptions.text = this.showText === '
|
|
307
|
-
this.overflowOptions.text = this.showText === 'toolbar' ? undefined : this.text;
|
|
327
|
+
this.toolbarOptions.text = this.showText === 'menu' || this.showText === 'never' ? undefined : this.text;
|
|
328
|
+
this.overflowOptions.text = this.showText === 'toolbar' || this.showText === 'never' ? undefined : this.text;
|
|
308
329
|
}
|
|
309
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarSplitButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
330
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarSplitButtonComponent, deps: [{ token: i1.ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
310
331
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarSplitButtonComponent, isStandalone: true, selector: "kendo-toolbar-splitbutton", inputs: { showText: "showText", showIcon: "showIcon", text: "text", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", imageUrl: "imageUrl", disabled: "disabled", popupSettings: "popupSettings", fillMode: "fillMode", themeColor: "themeColor", look: "look", buttonClass: "buttonClass", arrowButtonClass: "arrowButtonClass", arrowButtonIcon: "arrowButtonIcon", arrowButtonSvgIcon: "arrowButtonSvgIcon", textField: "textField", data: "data" }, outputs: { buttonClick: "buttonClick", itemClick: "itemClick", open: "open", close: "close" }, providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => ToolBarSplitButtonComponent) }], viewQueries: [{ propertyName: "toolbarSplitButton", first: true, predicate: ["toolbarSplitButton"], descendants: true }, { propertyName: "sectionSplitButton", first: true, predicate: ["sectionSplitButton"], descendants: true }, { propertyName: "overflowMainButton", first: true, predicate: ["overflowMainButton"], descendants: true, read: ElementRef }, { propertyName: "overflowListItems", predicate: ["listItem"], descendants: true }], exportAs: ["kendoToolBarSplitButton"], usesInheritance: true, ngImport: i0, template: `
|
|
311
332
|
<ng-template #toolbarTemplate>
|
|
312
333
|
<kendo-splitbutton
|
|
@@ -511,7 +532,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
511
532
|
standalone: true,
|
|
512
533
|
imports: [SplitButtonComponent, NgClass, NgIf, IconWrapperComponent, NgFor]
|
|
513
534
|
}]
|
|
514
|
-
}], ctorParameters: function () { return []; }, propDecorators: { showText: [{
|
|
535
|
+
}], ctorParameters: function () { return [{ type: i1.ToolBarComponent }]; }, propDecorators: { showText: [{
|
|
515
536
|
type: Input
|
|
516
537
|
}], showIcon: [{
|
|
517
538
|
type: Input
|
package/esm2022/util.mjs
CHANGED
|
@@ -179,8 +179,10 @@ export const getValueForLocation = (property, displayMode, overflows) => {
|
|
|
179
179
|
switch (displayMode) {
|
|
180
180
|
case 'toolbar':
|
|
181
181
|
return overflows ? undefined : property;
|
|
182
|
-
case '
|
|
182
|
+
case 'menu':
|
|
183
183
|
return overflows ? property : undefined;
|
|
184
|
+
case 'never':
|
|
185
|
+
return;
|
|
184
186
|
default:
|
|
185
187
|
return property;
|
|
186
188
|
}
|
|
@@ -6,7 +6,7 @@ import * as i0 from '@angular/core';
|
|
|
6
6
|
import { EventEmitter, Injectable, inject, ElementRef, Directive, ViewChild, Input, Output, forwardRef, Component, HostBinding, ViewContainerRef, ContentChildren, HostListener, isDevMode, ViewChildren, NgModule } from '@angular/core';
|
|
7
7
|
import * as i2 from '@progress/kendo-angular-popup';
|
|
8
8
|
import { PopupService } from '@progress/kendo-angular-popup';
|
|
9
|
-
import { Keys, isDocumentAvailable, guid, ResizeSensorComponent, ResizeBatchService } from '@progress/kendo-angular-common';
|
|
9
|
+
import { Keys, isPresent as isPresent$1, isDocumentAvailable, guid, ResizeSensorComponent, ResizeBatchService } from '@progress/kendo-angular-common';
|
|
10
10
|
import * as i1 from '@progress/kendo-angular-l10n';
|
|
11
11
|
import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
12
12
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
@@ -26,8 +26,8 @@ const packageMetadata = {
|
|
|
26
26
|
productName: 'Kendo UI for Angular',
|
|
27
27
|
productCode: 'KENDOUIANGULAR',
|
|
28
28
|
productCodes: ['KENDOUIANGULAR'],
|
|
29
|
-
publishDate:
|
|
30
|
-
version: '19.0.0-develop.
|
|
29
|
+
publishDate: 1747410189,
|
|
30
|
+
version: '19.0.0-develop.20',
|
|
31
31
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
32
32
|
};
|
|
33
33
|
|
|
@@ -222,8 +222,10 @@ const getValueForLocation = (property, displayMode, overflows) => {
|
|
|
222
222
|
switch (displayMode) {
|
|
223
223
|
case 'toolbar':
|
|
224
224
|
return overflows ? undefined : property;
|
|
225
|
-
case '
|
|
225
|
+
case 'menu':
|
|
226
226
|
return overflows ? property : undefined;
|
|
227
|
+
case 'never':
|
|
228
|
+
return;
|
|
227
229
|
default:
|
|
228
230
|
return property;
|
|
229
231
|
}
|
|
@@ -447,6 +449,10 @@ class ToolBarToolComponent {
|
|
|
447
449
|
visibility;
|
|
448
450
|
element;
|
|
449
451
|
isBuiltInTool = false;
|
|
452
|
+
/**
|
|
453
|
+
* @hidden
|
|
454
|
+
*/
|
|
455
|
+
isHidden = false;
|
|
450
456
|
/**
|
|
451
457
|
* @hidden
|
|
452
458
|
*/
|
|
@@ -646,24 +652,38 @@ class ToolBarRendererComponent {
|
|
|
646
652
|
if (this.resizable) {
|
|
647
653
|
if (this.location === 'toolbar') {
|
|
648
654
|
this.template = this.tool.toolbarTemplate;
|
|
649
|
-
this.
|
|
650
|
-
this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
|
|
655
|
+
this.hideTool();
|
|
651
656
|
}
|
|
652
657
|
else if (this.location === 'section') {
|
|
653
658
|
this.template = this.tool.toolbarTemplate;
|
|
654
|
-
this.
|
|
655
|
-
|
|
659
|
+
if (this.tool.isHidden) {
|
|
660
|
+
this.hideTool();
|
|
661
|
+
}
|
|
662
|
+
else {
|
|
663
|
+
this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
|
|
664
|
+
this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
|
|
665
|
+
}
|
|
656
666
|
}
|
|
657
667
|
else {
|
|
658
668
|
this.template = this.tool.popupTemplate;
|
|
659
|
-
this.
|
|
669
|
+
if (this.tool.isHidden) {
|
|
670
|
+
this.hideTool();
|
|
671
|
+
}
|
|
672
|
+
else {
|
|
673
|
+
this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
|
|
674
|
+
}
|
|
660
675
|
}
|
|
661
676
|
}
|
|
662
677
|
else {
|
|
663
678
|
this.tool.overflows = false;
|
|
664
679
|
this.template = this.tool.toolbarTemplate;
|
|
665
|
-
this.
|
|
666
|
-
|
|
680
|
+
if (this.tool.isHidden) {
|
|
681
|
+
this.hideTool();
|
|
682
|
+
}
|
|
683
|
+
else {
|
|
684
|
+
this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
|
|
685
|
+
this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
|
|
686
|
+
}
|
|
667
687
|
}
|
|
668
688
|
}
|
|
669
689
|
ngOnDestroy() {
|
|
@@ -690,7 +710,13 @@ class ToolBarRendererComponent {
|
|
|
690
710
|
}
|
|
691
711
|
refresh() {
|
|
692
712
|
this.tool.location = this.location;
|
|
693
|
-
if (this.
|
|
713
|
+
if (!isPresent$1(this.internalComponentRef)) {
|
|
714
|
+
return;
|
|
715
|
+
}
|
|
716
|
+
if (this.tool.isHidden) {
|
|
717
|
+
this.hideTool();
|
|
718
|
+
}
|
|
719
|
+
else if (this.resizable) {
|
|
694
720
|
if (this.location === 'toolbar') {
|
|
695
721
|
this.renderer.setStyle(this.internalComponentRef, 'visibility', this.tool.visibility);
|
|
696
722
|
this.renderer.setStyle(this.internalComponentRef, 'display', this.tool.toolbarDisplay);
|
|
@@ -698,8 +724,12 @@ class ToolBarRendererComponent {
|
|
|
698
724
|
else {
|
|
699
725
|
this.renderer.setStyle(this.internalComponentRef, 'display', this.tool.overflowDisplay);
|
|
700
726
|
}
|
|
701
|
-
this.updateTools();
|
|
702
727
|
}
|
|
728
|
+
else {
|
|
729
|
+
this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
|
|
730
|
+
this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
|
|
731
|
+
}
|
|
732
|
+
this.updateTools();
|
|
703
733
|
}
|
|
704
734
|
setAttribute(element, attr, value) {
|
|
705
735
|
this.renderer.setAttribute(element, attr, value);
|
|
@@ -725,6 +755,10 @@ class ToolBarRendererComponent {
|
|
|
725
755
|
}
|
|
726
756
|
}
|
|
727
757
|
}
|
|
758
|
+
hideTool() {
|
|
759
|
+
this.renderer.setStyle(this.internalComponentRef, 'visibility', 'hidden');
|
|
760
|
+
this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
|
|
761
|
+
}
|
|
728
762
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarRendererComponent, deps: [{ token: i0.Renderer2 }, { token: RendererService }, { token: RefreshService }, { token: ToolbarToolsService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
729
763
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarRendererComponent, isStandalone: true, selector: "[kendoToolbarRenderer]", inputs: { tool: "tool", location: "location", resizable: "resizable" }, outputs: { rendererClick: "rendererClick" }, providers: [RendererService], ngImport: i0 });
|
|
730
764
|
}
|
|
@@ -1197,6 +1231,34 @@ class ToolBarComponent {
|
|
|
1197
1231
|
get tabIndex() {
|
|
1198
1232
|
return this.tabindex;
|
|
1199
1233
|
}
|
|
1234
|
+
/**
|
|
1235
|
+
* Specifies the icons visibility for all tools in the ToolBar.
|
|
1236
|
+
* This can be overridden by the `showIcon` property of each tool.
|
|
1237
|
+
*/
|
|
1238
|
+
showIcon = 'always';
|
|
1239
|
+
/**
|
|
1240
|
+
* @hidden
|
|
1241
|
+
*/
|
|
1242
|
+
get normalizedShowIcon() {
|
|
1243
|
+
if (typeof this.showIcon === 'boolean') {
|
|
1244
|
+
return this.showIcon ? 'always' : 'never';
|
|
1245
|
+
}
|
|
1246
|
+
return this.showIcon;
|
|
1247
|
+
}
|
|
1248
|
+
/**
|
|
1249
|
+
* Specifies the text visibility for all tools in the ToolBar.
|
|
1250
|
+
* This can be overridden by the `showText` property of each tool.
|
|
1251
|
+
*/
|
|
1252
|
+
showText = 'always';
|
|
1253
|
+
/**
|
|
1254
|
+
* @hidden
|
|
1255
|
+
*/
|
|
1256
|
+
get normalizedShowText() {
|
|
1257
|
+
if (typeof this.showText === 'boolean') {
|
|
1258
|
+
return this.showText ? 'always' : 'never';
|
|
1259
|
+
}
|
|
1260
|
+
return this.showText;
|
|
1261
|
+
}
|
|
1200
1262
|
/**
|
|
1201
1263
|
* Fires when the overflow popup of the ToolBar is opened.
|
|
1202
1264
|
*/
|
|
@@ -1808,10 +1870,10 @@ class ToolBarComponent {
|
|
|
1808
1870
|
if (containerWidth > childrenWidth) {
|
|
1809
1871
|
for (let i = this.overflowTools.length - 1; i >= 0; i--) {
|
|
1810
1872
|
width = this.showFirstHiddenTool(containerWidth, childrenWidth);
|
|
1811
|
-
if (width) {
|
|
1873
|
+
if (width > 0) {
|
|
1812
1874
|
childrenWidth += width + this.gap;
|
|
1813
1875
|
}
|
|
1814
|
-
else {
|
|
1876
|
+
else if (width === 0) {
|
|
1815
1877
|
break;
|
|
1816
1878
|
}
|
|
1817
1879
|
}
|
|
@@ -1846,7 +1908,7 @@ class ToolBarComponent {
|
|
|
1846
1908
|
tool.overflows = true;
|
|
1847
1909
|
}
|
|
1848
1910
|
this.refreshService.refresh(tool);
|
|
1849
|
-
return renderedElement.width; // returns 0 if `overflows` is true
|
|
1911
|
+
return tool.isHidden ? -1 : renderedElement.width; // returns 0 if `overflows` is true and -1 if the tool is hidden
|
|
1850
1912
|
}
|
|
1851
1913
|
setPopupContentDimensions(isSection) {
|
|
1852
1914
|
const popupContentContainer = this.popupRef.popup.instance.contentContainer.nativeElement;
|
|
@@ -1973,7 +2035,7 @@ class ToolBarComponent {
|
|
|
1973
2035
|
});
|
|
1974
2036
|
}
|
|
1975
2037
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PopupService }, { token: RefreshService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: ToolbarToolsService }, { token: ScrollService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1976
|
-
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: [
|
|
2038
|
+
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", showIcon: "showIcon", showText: "showText" }, 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: [
|
|
1977
2039
|
RefreshService,
|
|
1978
2040
|
NavigationService,
|
|
1979
2041
|
LocalizationService,
|
|
@@ -2416,6 +2478,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2416
2478
|
}], tabIndex: [{
|
|
2417
2479
|
type: Input,
|
|
2418
2480
|
args: ['tabIndex']
|
|
2481
|
+
}], showIcon: [{
|
|
2482
|
+
type: Input
|
|
2483
|
+
}], showText: [{
|
|
2484
|
+
type: Input
|
|
2419
2485
|
}], open: [{
|
|
2420
2486
|
type: Output
|
|
2421
2487
|
}], close: [{
|
|
@@ -2488,21 +2554,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2488
2554
|
class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
2489
2555
|
element;
|
|
2490
2556
|
zone;
|
|
2557
|
+
host;
|
|
2491
2558
|
// showText and showIcon showIcon should be declared first
|
|
2492
2559
|
/**
|
|
2493
|
-
* Specifies
|
|
2560
|
+
* Specifies the button text visibility.
|
|
2494
2561
|
*/
|
|
2495
2562
|
set showText(value) {
|
|
2496
2563
|
this._showText = value;
|
|
2497
2564
|
this.setTextDisplayMode();
|
|
2498
2565
|
}
|
|
2499
2566
|
get showText() {
|
|
2500
|
-
return this._showText;
|
|
2567
|
+
return this._showText || this.host.normalizedShowText;
|
|
2501
2568
|
}
|
|
2502
2569
|
/**
|
|
2503
|
-
* Specifies
|
|
2570
|
+
* Specifies the button icon visibility.
|
|
2504
2571
|
*/
|
|
2505
|
-
showIcon
|
|
2572
|
+
set showIcon(value) {
|
|
2573
|
+
this._showIcon = value;
|
|
2574
|
+
this.setTextDisplayMode();
|
|
2575
|
+
}
|
|
2576
|
+
get showIcon() {
|
|
2577
|
+
return this._showIcon || this.host.normalizedShowIcon;
|
|
2578
|
+
}
|
|
2506
2579
|
/**
|
|
2507
2580
|
* Specifies the text of the Button ([see example]({% slug controltypes_toolbar %}#toc-buttons)).
|
|
2508
2581
|
*/
|
|
@@ -2663,12 +2736,14 @@ class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
2663
2736
|
toolbarButtonElement;
|
|
2664
2737
|
sectionButtonElement;
|
|
2665
2738
|
overflowButtonElement;
|
|
2666
|
-
_showText
|
|
2739
|
+
_showText;
|
|
2740
|
+
_showIcon;
|
|
2667
2741
|
_text;
|
|
2668
|
-
constructor(element, zone) {
|
|
2742
|
+
constructor(element, zone, host) {
|
|
2669
2743
|
super();
|
|
2670
2744
|
this.element = element;
|
|
2671
2745
|
this.zone = zone;
|
|
2746
|
+
this.host = host;
|
|
2672
2747
|
this.isBuiltInTool = true;
|
|
2673
2748
|
}
|
|
2674
2749
|
ngOnInit() {
|
|
@@ -2720,16 +2795,19 @@ class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
2720
2795
|
this.selected = state;
|
|
2721
2796
|
this.selectedChange.emit(state);
|
|
2722
2797
|
}
|
|
2798
|
+
/**
|
|
2799
|
+
* @hidden
|
|
2800
|
+
*/
|
|
2723
2801
|
getButton() {
|
|
2724
2802
|
return this[`${this.location}ButtonElement`]?.nativeElement;
|
|
2725
2803
|
}
|
|
2726
2804
|
setTextDisplayMode() {
|
|
2727
|
-
this.toolbarOptions.text = this.showText === '
|
|
2805
|
+
this.toolbarOptions.text = this.showText === 'menu' || this.showText === 'never' ? undefined : this.text;
|
|
2728
2806
|
this.zone.onStable.pipe(take(1)).subscribe(() => {
|
|
2729
|
-
this.overflowOptions.text = this.showText === 'toolbar' ? undefined : this.text;
|
|
2807
|
+
this.overflowOptions.text = this.showText === 'toolbar' || this.showText === 'never' ? undefined : this.text;
|
|
2730
2808
|
});
|
|
2731
2809
|
}
|
|
2732
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2810
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
2733
2811
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarButtonComponent, isStandalone: true, selector: "kendo-toolbar-button", inputs: { showText: "showText", showIcon: "showIcon", text: "text", style: "style", className: "className", title: "title", disabled: "disabled", toggleable: "toggleable", look: "look", togglable: "togglable", selected: "selected", fillMode: "fillMode", themeColor: "themeColor", icon: "icon", iconClass: "iconClass", svgIcon: "svgIcon", imageUrl: "imageUrl" }, outputs: { click: "click", pointerdown: "pointerdown", selectedChange: "selectedChange" }, providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => ToolBarButtonComponent) }], viewQueries: [{ propertyName: "toolbarButtonElement", first: true, predicate: ["toolbarButton"], descendants: true, read: ElementRef }, { propertyName: "sectionButtonElement", first: true, predicate: ["sectionButton"], descendants: true, read: ElementRef }, { propertyName: "overflowButtonElement", first: true, predicate: ["overflowButton"], descendants: true, read: ElementRef }], exportAs: ["kendoToolBarButton"], usesInheritance: true, ngImport: i0, template: `
|
|
2734
2812
|
<ng-template #toolbarTemplate>
|
|
2735
2813
|
<button
|
|
@@ -2906,7 +2984,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2906
2984
|
standalone: true,
|
|
2907
2985
|
imports: [ButtonComponent, NgStyle, NgClass, NgIf, IconWrapperComponent, BadgeComponent],
|
|
2908
2986
|
}]
|
|
2909
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { showText: [{
|
|
2987
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: ToolBarComponent }]; }, propDecorators: { showText: [{
|
|
2910
2988
|
type: Input
|
|
2911
2989
|
}], showIcon: [{
|
|
2912
2990
|
type: Input
|
|
@@ -3360,6 +3438,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3360
3438
|
class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
|
|
3361
3439
|
zone;
|
|
3362
3440
|
renderer;
|
|
3441
|
+
host;
|
|
3363
3442
|
/**
|
|
3364
3443
|
* Allows showing the default arrow icon or providing alternative one instead.
|
|
3365
3444
|
* @default false
|
|
@@ -3372,19 +3451,24 @@ class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
|
|
|
3372
3451
|
title = '';
|
|
3373
3452
|
// showText and showIcon showIcon should be declared first
|
|
3374
3453
|
/**
|
|
3375
|
-
*
|
|
3454
|
+
* Specifies the button text visibility.
|
|
3376
3455
|
*/
|
|
3377
3456
|
set showText(value) {
|
|
3378
3457
|
this._showText = value;
|
|
3379
3458
|
this.setTextDisplayMode();
|
|
3380
3459
|
}
|
|
3381
3460
|
get showText() {
|
|
3382
|
-
return this._showText;
|
|
3461
|
+
return this._showText || this.host.normalizedShowText;
|
|
3383
3462
|
}
|
|
3384
3463
|
/**
|
|
3385
|
-
*
|
|
3464
|
+
* Specifies the button icon visibility.
|
|
3386
3465
|
*/
|
|
3387
|
-
showIcon
|
|
3466
|
+
set showIcon(value) {
|
|
3467
|
+
this._showIcon = value;
|
|
3468
|
+
}
|
|
3469
|
+
get showIcon() {
|
|
3470
|
+
return this._showIcon || this.host.normalizedShowIcon;
|
|
3471
|
+
}
|
|
3388
3472
|
/**
|
|
3389
3473
|
* Sets the text of the DropDownButton
|
|
3390
3474
|
* ([see example](slug:controltypes_toolbar#toc-drop-down-buttons)).
|
|
@@ -3559,14 +3643,16 @@ class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
|
|
|
3559
3643
|
_data;
|
|
3560
3644
|
_popupSettings = { animate: true, popupClass: '' };
|
|
3561
3645
|
focusedIndex = -1;
|
|
3562
|
-
_showText
|
|
3646
|
+
_showText;
|
|
3647
|
+
_showIcon;
|
|
3563
3648
|
_text;
|
|
3564
3649
|
getNextKey;
|
|
3565
3650
|
getPrevKey;
|
|
3566
|
-
constructor(zone, renderer) {
|
|
3651
|
+
constructor(zone, renderer, host) {
|
|
3567
3652
|
super();
|
|
3568
3653
|
this.zone = zone;
|
|
3569
3654
|
this.renderer = renderer;
|
|
3655
|
+
this.host = host;
|
|
3570
3656
|
this.getNextKey = getNextKey();
|
|
3571
3657
|
this.getPrevKey = getPrevKey();
|
|
3572
3658
|
this.isBuiltInTool = true;
|
|
@@ -3576,9 +3662,9 @@ class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
|
|
|
3576
3662
|
}
|
|
3577
3663
|
ngAfterViewInit() {
|
|
3578
3664
|
this.zone.onStable.pipe(take(1)).subscribe(() => {
|
|
3579
|
-
const
|
|
3580
|
-
if (
|
|
3581
|
-
this.renderer.addClass(
|
|
3665
|
+
const dropdownButton = this[`${this.location}DropDownButton`];
|
|
3666
|
+
if (dropdownButton?.button) {
|
|
3667
|
+
this.renderer.addClass(dropdownButton.button.nativeElement, 'k-toolbar-menu-button');
|
|
3582
3668
|
}
|
|
3583
3669
|
});
|
|
3584
3670
|
}
|
|
@@ -3632,7 +3718,6 @@ class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
|
|
|
3632
3718
|
if (dataItem) {
|
|
3633
3719
|
return this.textField ? dataItem[this.textField] : dataItem.text || dataItem;
|
|
3634
3720
|
}
|
|
3635
|
-
return undefined;
|
|
3636
3721
|
}
|
|
3637
3722
|
/**
|
|
3638
3723
|
* @hidden
|
|
@@ -3651,10 +3736,10 @@ class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
|
|
|
3651
3736
|
}
|
|
3652
3737
|
}
|
|
3653
3738
|
setTextDisplayMode() {
|
|
3654
|
-
this.toolbarOptions.text = this.showText === '
|
|
3655
|
-
this.overflowOptions.text = this.showText === 'toolbar' ? undefined : this.text;
|
|
3739
|
+
this.toolbarOptions.text = this.showText === 'menu' || this.showText === 'never' ? undefined : this.text;
|
|
3740
|
+
this.overflowOptions.text = this.showText === 'toolbar' || this.showText === 'never' ? undefined : this.text;
|
|
3656
3741
|
}
|
|
3657
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarDropDownButtonComponent, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
3742
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarDropDownButtonComponent, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
3658
3743
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarDropDownButtonComponent, isStandalone: true, selector: "kendo-toolbar-dropdownbutton", inputs: { arrowIcon: "arrowIcon", title: "title", showText: "showText", showIcon: "showIcon", text: "text", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", imageUrl: "imageUrl", popupSettings: "popupSettings", look: "look", primary: "primary", fillMode: "fillMode", themeColor: "themeColor", buttonClass: "buttonClass", textField: "textField", disabled: "disabled", data: "data" }, outputs: { itemClick: "itemClick", open: "open", close: "close" }, providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => ToolBarDropDownButtonComponent) }], viewQueries: [{ propertyName: "dropdownButton", first: true, predicate: ["dropdownButton"], descendants: true, read: ElementRef, static: true }, { propertyName: "toolbarDropDownButton", first: true, predicate: ["toolbarDropDownButton"], descendants: true }, { propertyName: "sectionDropDownButton", first: true, predicate: ["sectionDropDownButton"], descendants: true }, { propertyName: "overflowListItems", predicate: ["listItem"], descendants: true }], exportAs: ["kendoToolBarDropDownButton"], usesInheritance: true, ngImport: i0, template: `
|
|
3659
3744
|
<ng-template #toolbarTemplate>
|
|
3660
3745
|
<kendo-dropdownbutton #toolbarDropDownButton
|
|
@@ -3845,7 +3930,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3845
3930
|
standalone: true,
|
|
3846
3931
|
imports: [DropDownButtonComponent, NgClass, NgIf, IconWrapperComponent, NgFor]
|
|
3847
3932
|
}]
|
|
3848
|
-
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.Renderer2 }]; }, propDecorators: { arrowIcon: [{
|
|
3933
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.Renderer2 }, { type: ToolBarComponent }]; }, propDecorators: { arrowIcon: [{
|
|
3849
3934
|
type: Input
|
|
3850
3935
|
}], title: [{
|
|
3851
3936
|
type: Input
|
|
@@ -3905,21 +3990,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3905
3990
|
* Represents the [Kendo UI ToolBar SplitButton for Angular](slug:controltypes_toolbar#toc-split-buttons).
|
|
3906
3991
|
*/
|
|
3907
3992
|
class ToolBarSplitButtonComponent extends ToolBarToolComponent {
|
|
3993
|
+
host;
|
|
3908
3994
|
// showText and showIcon showIcon should be declared first
|
|
3909
3995
|
/**
|
|
3910
|
-
* Specifies
|
|
3996
|
+
* Specifies the button text visibility.
|
|
3911
3997
|
*/
|
|
3912
3998
|
set showText(value) {
|
|
3913
|
-
|
|
3999
|
+
if (!isPresent$1(value)) {
|
|
4000
|
+
this._showText = this.host.normalizedShowText;
|
|
4001
|
+
}
|
|
4002
|
+
else {
|
|
4003
|
+
this._showText = value;
|
|
4004
|
+
}
|
|
3914
4005
|
this.setTextDisplayMode();
|
|
3915
4006
|
}
|
|
3916
4007
|
get showText() {
|
|
3917
|
-
return this._showText;
|
|
4008
|
+
return this._showText || this.host.normalizedShowText;
|
|
3918
4009
|
}
|
|
3919
4010
|
/**
|
|
3920
|
-
* Specifies
|
|
4011
|
+
* Specifies the button icon visibility.
|
|
3921
4012
|
*/
|
|
3922
|
-
showIcon
|
|
4013
|
+
set showIcon(value) {
|
|
4014
|
+
if (!isPresent$1(value)) {
|
|
4015
|
+
this._showIcon = this.host.normalizedShowIcon;
|
|
4016
|
+
}
|
|
4017
|
+
else {
|
|
4018
|
+
this._showIcon = value;
|
|
4019
|
+
}
|
|
4020
|
+
this.setTextDisplayMode();
|
|
4021
|
+
}
|
|
4022
|
+
get showIcon() {
|
|
4023
|
+
return this._showIcon || this.host.normalizedShowIcon;
|
|
4024
|
+
}
|
|
3923
4025
|
/**
|
|
3924
4026
|
* Sets the text of the SplitButton ([see example](slug:controltypes_toolbar#toc-split-buttons)).
|
|
3925
4027
|
*/
|
|
@@ -4106,7 +4208,8 @@ class ToolBarSplitButtonComponent extends ToolBarToolComponent {
|
|
|
4106
4208
|
_data;
|
|
4107
4209
|
_popupSettings = { animate: true, popupClass: '' };
|
|
4108
4210
|
focusedIndex = -1;
|
|
4109
|
-
_showText
|
|
4211
|
+
_showText;
|
|
4212
|
+
_showIcon;
|
|
4110
4213
|
_text;
|
|
4111
4214
|
getNextKey;
|
|
4112
4215
|
getPrevKey;
|
|
@@ -4114,8 +4217,9 @@ class ToolBarSplitButtonComponent extends ToolBarToolComponent {
|
|
|
4114
4217
|
sectionSplitButton;
|
|
4115
4218
|
overflowMainButton;
|
|
4116
4219
|
overflowListItems;
|
|
4117
|
-
constructor() {
|
|
4220
|
+
constructor(host) {
|
|
4118
4221
|
super();
|
|
4222
|
+
this.host = host;
|
|
4119
4223
|
this.getNextKey = getNextKey();
|
|
4120
4224
|
this.getPrevKey = getPrevKey();
|
|
4121
4225
|
this.isBuiltInTool = true;
|
|
@@ -4175,7 +4279,6 @@ class ToolBarSplitButtonComponent extends ToolBarToolComponent {
|
|
|
4175
4279
|
if (dataItem) {
|
|
4176
4280
|
return this.textField ? dataItem[this.textField] : dataItem.text || dataItem;
|
|
4177
4281
|
}
|
|
4178
|
-
return undefined;
|
|
4179
4282
|
}
|
|
4180
4283
|
/**
|
|
4181
4284
|
* @hidden
|
|
@@ -4194,10 +4297,10 @@ class ToolBarSplitButtonComponent extends ToolBarToolComponent {
|
|
|
4194
4297
|
}
|
|
4195
4298
|
}
|
|
4196
4299
|
setTextDisplayMode() {
|
|
4197
|
-
this.toolbarOptions.text = this.showText === '
|
|
4198
|
-
this.overflowOptions.text = this.showText === 'toolbar' ? undefined : this.text;
|
|
4300
|
+
this.toolbarOptions.text = this.showText === 'menu' || this.showText === 'never' ? undefined : this.text;
|
|
4301
|
+
this.overflowOptions.text = this.showText === 'toolbar' || this.showText === 'never' ? undefined : this.text;
|
|
4199
4302
|
}
|
|
4200
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarSplitButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4303
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarSplitButtonComponent, deps: [{ token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
4201
4304
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarSplitButtonComponent, isStandalone: true, selector: "kendo-toolbar-splitbutton", inputs: { showText: "showText", showIcon: "showIcon", text: "text", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", imageUrl: "imageUrl", disabled: "disabled", popupSettings: "popupSettings", fillMode: "fillMode", themeColor: "themeColor", look: "look", buttonClass: "buttonClass", arrowButtonClass: "arrowButtonClass", arrowButtonIcon: "arrowButtonIcon", arrowButtonSvgIcon: "arrowButtonSvgIcon", textField: "textField", data: "data" }, outputs: { buttonClick: "buttonClick", itemClick: "itemClick", open: "open", close: "close" }, providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => ToolBarSplitButtonComponent) }], viewQueries: [{ propertyName: "toolbarSplitButton", first: true, predicate: ["toolbarSplitButton"], descendants: true }, { propertyName: "sectionSplitButton", first: true, predicate: ["sectionSplitButton"], descendants: true }, { propertyName: "overflowMainButton", first: true, predicate: ["overflowMainButton"], descendants: true, read: ElementRef }, { propertyName: "overflowListItems", predicate: ["listItem"], descendants: true }], exportAs: ["kendoToolBarSplitButton"], usesInheritance: true, ngImport: i0, template: `
|
|
4202
4305
|
<ng-template #toolbarTemplate>
|
|
4203
4306
|
<kendo-splitbutton
|
|
@@ -4402,7 +4505,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
4402
4505
|
standalone: true,
|
|
4403
4506
|
imports: [SplitButtonComponent, NgClass, NgIf, IconWrapperComponent, NgFor]
|
|
4404
4507
|
}]
|
|
4405
|
-
}], ctorParameters: function () { return []; }, propDecorators: { showText: [{
|
|
4508
|
+
}], ctorParameters: function () { return [{ type: ToolBarComponent }]; }, propDecorators: { showText: [{
|
|
4406
4509
|
type: Input
|
|
4407
4510
|
}], showIcon: [{
|
|
4408
4511
|
type: Input
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-toolbar",
|
|
3
|
-
"version": "19.0.0-develop.
|
|
3
|
+
"version": "19.0.0-develop.20",
|
|
4
4
|
"description": "Kendo UI Angular Toolbar component - a single UI element that organizes buttons and other navigation elements",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"package": {
|
|
26
26
|
"productName": "Kendo UI for Angular",
|
|
27
27
|
"productCode": "KENDOUIANGULAR",
|
|
28
|
-
"publishDate":
|
|
28
|
+
"publishDate": 1747410189,
|
|
29
29
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
30
30
|
}
|
|
31
31
|
},
|
|
@@ -35,16 +35,16 @@
|
|
|
35
35
|
"@angular/core": "16 - 19",
|
|
36
36
|
"@angular/platform-browser": "16 - 19",
|
|
37
37
|
"@progress/kendo-licensing": "^1.5.0",
|
|
38
|
-
"@progress/kendo-angular-buttons": "19.0.0-develop.
|
|
39
|
-
"@progress/kendo-angular-common": "19.0.0-develop.
|
|
40
|
-
"@progress/kendo-angular-l10n": "19.0.0-develop.
|
|
41
|
-
"@progress/kendo-angular-icons": "19.0.0-develop.
|
|
42
|
-
"@progress/kendo-angular-popup": "19.0.0-develop.
|
|
38
|
+
"@progress/kendo-angular-buttons": "19.0.0-develop.20",
|
|
39
|
+
"@progress/kendo-angular-common": "19.0.0-develop.20",
|
|
40
|
+
"@progress/kendo-angular-l10n": "19.0.0-develop.20",
|
|
41
|
+
"@progress/kendo-angular-icons": "19.0.0-develop.20",
|
|
42
|
+
"@progress/kendo-angular-popup": "19.0.0-develop.20",
|
|
43
43
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"tslib": "^2.3.1",
|
|
47
|
-
"@progress/kendo-angular-schematics": "19.0.0-develop.
|
|
47
|
+
"@progress/kendo-angular-schematics": "19.0.0-develop.20"
|
|
48
48
|
},
|
|
49
49
|
"schematics": "./schematics/collection.json",
|
|
50
50
|
"module": "fesm2022/progress-kendo-angular-toolbar.mjs",
|
package/renderer.component.d.ts
CHANGED
|
@@ -41,6 +41,7 @@ export declare class ToolBarRendererComponent implements OnInit, OnDestroy {
|
|
|
41
41
|
setAttribute(element: HTMLElement, attr: string, value: string): void;
|
|
42
42
|
private onClick;
|
|
43
43
|
private updateTools;
|
|
44
|
+
private hideTool;
|
|
44
45
|
static ɵfac: i0.ɵɵFactoryDeclaration<ToolBarRendererComponent, never>;
|
|
45
46
|
static ɵdir: i0.ɵɵDirectiveDeclaration<ToolBarRendererComponent, "[kendoToolbarRenderer]", never, { "tool": { "alias": "tool"; "required": false; }; "location": { "alias": "location"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; }, { "rendererClick": "rendererClick"; }, never, never, true, never>;
|
|
46
47
|
}
|
package/toolbar.component.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ import { OverflowMode } from './common/overflow-mode';
|
|
|
21
21
|
import { ToolbarOverflowSettings } from './common/overflow-settings';
|
|
22
22
|
import { ToolbarScrollButtonsPosition } from './common/scroll-buttons';
|
|
23
23
|
import { ScrollService } from './scroll.service';
|
|
24
|
+
import { DisplayMode } from './display-mode';
|
|
24
25
|
import * as i0 from "@angular/core";
|
|
25
26
|
/**
|
|
26
27
|
* Represents the [Kendo UI ToolBar component for Angular]({% slug overview_toolbar %}).
|
|
@@ -28,7 +29,7 @@ import * as i0 from "@angular/core";
|
|
|
28
29
|
export declare class ToolBarComponent {
|
|
29
30
|
localization: LocalizationService;
|
|
30
31
|
private popupService;
|
|
31
|
-
|
|
32
|
+
refreshService: RefreshService;
|
|
32
33
|
private navigationService;
|
|
33
34
|
element: ElementRef;
|
|
34
35
|
private zone;
|
|
@@ -105,6 +106,24 @@ export declare class ToolBarComponent {
|
|
|
105
106
|
*/
|
|
106
107
|
set tabIndex(tabIndex: number);
|
|
107
108
|
get tabIndex(): number;
|
|
109
|
+
/**
|
|
110
|
+
* Specifies the icons visibility for all tools in the ToolBar.
|
|
111
|
+
* This can be overridden by the `showIcon` property of each tool.
|
|
112
|
+
*/
|
|
113
|
+
showIcon: DisplayMode | boolean;
|
|
114
|
+
/**
|
|
115
|
+
* @hidden
|
|
116
|
+
*/
|
|
117
|
+
get normalizedShowIcon(): DisplayMode;
|
|
118
|
+
/**
|
|
119
|
+
* Specifies the text visibility for all tools in the ToolBar.
|
|
120
|
+
* This can be overridden by the `showText` property of each tool.
|
|
121
|
+
*/
|
|
122
|
+
showText: DisplayMode | boolean;
|
|
123
|
+
/**
|
|
124
|
+
* @hidden
|
|
125
|
+
*/
|
|
126
|
+
get normalizedShowText(): DisplayMode;
|
|
108
127
|
/**
|
|
109
128
|
* Fires when the overflow popup of the ToolBar is opened.
|
|
110
129
|
*/
|
|
@@ -260,5 +279,5 @@ export declare class ToolBarComponent {
|
|
|
260
279
|
private handleScrollModeUpdates;
|
|
261
280
|
private removeSubscriptions;
|
|
262
281
|
static ɵfac: i0.ɵɵFactoryDeclaration<ToolBarComponent, never>;
|
|
263
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ToolBarComponent, "kendo-toolbar", ["kendoToolBar"], { "overflow": { "alias": "overflow"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; "popupSettings": { "alias": "popupSettings"; "required": false; }; "fillMode": { "alias": "fillMode"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "size": { "alias": "size"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "open": "open"; "close": "close"; }, ["allTools"], never, true, never>;
|
|
282
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ToolBarComponent, "kendo-toolbar", ["kendoToolBar"], { "overflow": { "alias": "overflow"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; "popupSettings": { "alias": "popupSettings"; "required": false; }; "fillMode": { "alias": "fillMode"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "size": { "alias": "size"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "showText": { "alias": "showText"; "required": false; }; }, { "open": "open"; "close": "close"; }, ["allTools"], never, true, never>;
|
|
264
283
|
}
|
|
@@ -8,6 +8,7 @@ import { DisplayMode } from '../display-mode';
|
|
|
8
8
|
import { ToolOptions } from '../tool-options';
|
|
9
9
|
import { ButtonFillMode, ButtonThemeColor } from '@progress/kendo-angular-buttons';
|
|
10
10
|
import { SVGIcon } from '@progress/kendo-svg-icons';
|
|
11
|
+
import { ToolBarComponent } from '../toolbar.component';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
/**
|
|
13
14
|
* Represents the [Kendo UI ToolBar Button tool for Angular]({% slug controltypes_toolbar %}#toc-buttons).
|
|
@@ -15,15 +16,17 @@ import * as i0 from "@angular/core";
|
|
|
15
16
|
export declare class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
16
17
|
element: ElementRef;
|
|
17
18
|
private zone;
|
|
19
|
+
host: ToolBarComponent;
|
|
18
20
|
/**
|
|
19
|
-
* Specifies
|
|
21
|
+
* Specifies the button text visibility.
|
|
20
22
|
*/
|
|
21
23
|
set showText(value: DisplayMode);
|
|
22
24
|
get showText(): DisplayMode;
|
|
23
25
|
/**
|
|
24
|
-
* Specifies
|
|
26
|
+
* Specifies the button icon visibility.
|
|
25
27
|
*/
|
|
26
|
-
showIcon: DisplayMode;
|
|
28
|
+
set showIcon(value: DisplayMode);
|
|
29
|
+
get showIcon(): DisplayMode;
|
|
27
30
|
/**
|
|
28
31
|
* Specifies the text of the Button ([see example]({% slug controltypes_toolbar %}#toc-buttons)).
|
|
29
32
|
*/
|
|
@@ -144,8 +147,9 @@ export declare class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
144
147
|
sectionButtonElement: ElementRef;
|
|
145
148
|
private overflowButtonElement;
|
|
146
149
|
private _showText;
|
|
150
|
+
private _showIcon;
|
|
147
151
|
private _text;
|
|
148
|
-
constructor(element: ElementRef, zone: NgZone);
|
|
152
|
+
constructor(element: ElementRef, zone: NgZone, host: ToolBarComponent);
|
|
149
153
|
ngOnInit(): void;
|
|
150
154
|
/**
|
|
151
155
|
* @hidden
|
|
@@ -171,7 +175,10 @@ export declare class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
171
175
|
* @hidden
|
|
172
176
|
*/
|
|
173
177
|
selectedChangeHandler(state: boolean): void;
|
|
174
|
-
|
|
178
|
+
/**
|
|
179
|
+
* @hidden
|
|
180
|
+
*/
|
|
181
|
+
getButton(): HTMLElement;
|
|
175
182
|
private setTextDisplayMode;
|
|
176
183
|
static ɵfac: i0.ɵɵFactoryDeclaration<ToolBarButtonComponent, never>;
|
|
177
184
|
static ɵcmp: i0.ɵɵComponentDeclaration<ToolBarButtonComponent, "kendo-toolbar-button", ["kendoToolBarButton"], { "showText": { "alias": "showText"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "text": { "alias": "text"; "required": false; }; "style": { "alias": "style"; "required": false; }; "className": { "alias": "className"; "required": false; }; "title": { "alias": "title"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "toggleable": { "alias": "toggleable"; "required": false; }; "look": { "alias": "look"; "required": false; }; "togglable": { "alias": "togglable"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "fillMode": { "alias": "fillMode"; "required": false; }; "themeColor": { "alias": "themeColor"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "svgIcon": { "alias": "svgIcon"; "required": false; }; "imageUrl": { "alias": "imageUrl"; "required": false; }; }, { "click": "click"; "pointerdown": "pointerdown"; "selectedChange": "selectedChange"; }, never, never, true, never>;
|
|
@@ -10,6 +10,7 @@ import { DisplayMode } from '../display-mode';
|
|
|
10
10
|
import { ToolOptions } from '../tool-options';
|
|
11
11
|
import { PreventableEvent } from '@progress/kendo-angular-buttons';
|
|
12
12
|
import { SVGIcon } from '@progress/kendo-svg-icons';
|
|
13
|
+
import { ToolBarComponent } from '../toolbar.component';
|
|
13
14
|
import * as i0 from "@angular/core";
|
|
14
15
|
/**
|
|
15
16
|
* Represents the [Kendo UI ToolBar DropDownButton for Angular](slug:controltypes_toolbar#drop-down-buttons).
|
|
@@ -17,6 +18,7 @@ import * as i0 from "@angular/core";
|
|
|
17
18
|
export declare class ToolBarDropDownButtonComponent extends ToolBarToolComponent implements OnInit {
|
|
18
19
|
private zone;
|
|
19
20
|
private renderer;
|
|
21
|
+
private host;
|
|
20
22
|
/**
|
|
21
23
|
* Allows showing the default arrow icon or providing alternative one instead.
|
|
22
24
|
* @default false
|
|
@@ -28,14 +30,15 @@ export declare class ToolBarDropDownButtonComponent extends ToolBarToolComponent
|
|
|
28
30
|
*/
|
|
29
31
|
title: string;
|
|
30
32
|
/**
|
|
31
|
-
*
|
|
33
|
+
* Specifies the button text visibility.
|
|
32
34
|
*/
|
|
33
35
|
set showText(value: DisplayMode);
|
|
34
36
|
get showText(): DisplayMode;
|
|
35
37
|
/**
|
|
36
|
-
*
|
|
38
|
+
* Specifies the button icon visibility.
|
|
37
39
|
*/
|
|
38
|
-
showIcon: DisplayMode;
|
|
40
|
+
set showIcon(value: DisplayMode);
|
|
41
|
+
get showIcon(): DisplayMode;
|
|
39
42
|
/**
|
|
40
43
|
* Sets the text of the DropDownButton
|
|
41
44
|
* ([see example](slug:controltypes_toolbar#toc-drop-down-buttons)).
|
|
@@ -155,10 +158,11 @@ export declare class ToolBarDropDownButtonComponent extends ToolBarToolComponent
|
|
|
155
158
|
private _popupSettings;
|
|
156
159
|
private focusedIndex;
|
|
157
160
|
private _showText;
|
|
161
|
+
private _showIcon;
|
|
158
162
|
private _text;
|
|
159
163
|
private getNextKey;
|
|
160
164
|
private getPrevKey;
|
|
161
|
-
constructor(zone: NgZone, renderer: Renderer2);
|
|
165
|
+
constructor(zone: NgZone, renderer: Renderer2, host: ToolBarComponent);
|
|
162
166
|
ngOnInit(): void;
|
|
163
167
|
ngAfterViewInit(): void;
|
|
164
168
|
/**
|
|
@@ -10,20 +10,23 @@ import { DisplayMode } from '../display-mode';
|
|
|
10
10
|
import { ToolOptions } from '../tool-options';
|
|
11
11
|
import { PreventableEvent } from '@progress/kendo-angular-buttons';
|
|
12
12
|
import { SVGIcon } from '@progress/kendo-svg-icons';
|
|
13
|
+
import { ToolBarComponent } from '../toolbar.component';
|
|
13
14
|
import * as i0 from "@angular/core";
|
|
14
15
|
/**
|
|
15
16
|
* Represents the [Kendo UI ToolBar SplitButton for Angular](slug:controltypes_toolbar#toc-split-buttons).
|
|
16
17
|
*/
|
|
17
18
|
export declare class ToolBarSplitButtonComponent extends ToolBarToolComponent implements OnInit {
|
|
19
|
+
private host;
|
|
18
20
|
/**
|
|
19
|
-
* Specifies
|
|
21
|
+
* Specifies the button text visibility.
|
|
20
22
|
*/
|
|
21
23
|
set showText(value: DisplayMode);
|
|
22
24
|
get showText(): DisplayMode;
|
|
23
25
|
/**
|
|
24
|
-
* Specifies
|
|
26
|
+
* Specifies the button icon visibility.
|
|
25
27
|
*/
|
|
26
|
-
showIcon: DisplayMode;
|
|
28
|
+
set showIcon(value: DisplayMode);
|
|
29
|
+
get showIcon(): DisplayMode;
|
|
27
30
|
/**
|
|
28
31
|
* Sets the text of the SplitButton ([see example](slug:controltypes_toolbar#toc-split-buttons)).
|
|
29
32
|
*/
|
|
@@ -152,6 +155,7 @@ export declare class ToolBarSplitButtonComponent extends ToolBarToolComponent im
|
|
|
152
155
|
private _popupSettings;
|
|
153
156
|
private focusedIndex;
|
|
154
157
|
private _showText;
|
|
158
|
+
private _showIcon;
|
|
155
159
|
private _text;
|
|
156
160
|
private getNextKey;
|
|
157
161
|
private getPrevKey;
|
|
@@ -159,7 +163,7 @@ export declare class ToolBarSplitButtonComponent extends ToolBarToolComponent im
|
|
|
159
163
|
private sectionSplitButton;
|
|
160
164
|
private overflowMainButton;
|
|
161
165
|
overflowListItems: QueryList<ElementRef>;
|
|
162
|
-
constructor();
|
|
166
|
+
constructor(host: ToolBarComponent);
|
|
163
167
|
/**
|
|
164
168
|
* @hidden
|
|
165
169
|
*/
|