@progress/kendo-angular-buttons 13.6.0-develop.5 → 13.6.0-develop.6
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/button/button.component.d.ts +9 -1
- package/common/models/arrow-settings.d.ts +22 -0
- package/common/models.d.ts +1 -0
- package/dropdownbutton/dropdownbutton.component.d.ts +21 -4
- package/esm2020/button/button.component.mjs +24 -2
- package/esm2020/common/models/arrow-settings.mjs +5 -0
- package/esm2020/common/models.mjs +1 -0
- package/esm2020/dropdownbutton/dropdownbutton.component.mjs +45 -7
- package/esm2020/listbutton/list.component.mjs +16 -4
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/splitbutton/splitbutton.component.mjs +30 -2
- package/fesm2015/progress-kendo-angular-buttons.mjs +117 -17
- package/fesm2020/progress-kendo-angular-buttons.mjs +116 -17
- package/index.d.ts +1 -4
- package/listbutton/list-item-model.d.ts +4 -0
- package/package.json +6 -6
- package/splitbutton/splitbutton.component.d.ts +12 -1
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
6
|
import { Injectable, EventEmitter, isDevMode, Component, Optional, Input, Output, HostBinding, HostListener, ContentChildren, NgModule, Directive, InjectionToken, Inject, forwardRef, ElementRef, ViewContainerRef, ContentChild, ViewChild } from '@angular/core';
|
|
7
7
|
import * as i9 from '@progress/kendo-angular-common';
|
|
8
|
-
import { isDocumentAvailable, isFirefox, Keys, isSafari, isChanged, hasObservers, guid, anyChanged, EventsModule } from '@progress/kendo-angular-common';
|
|
8
|
+
import { isDocumentAvailable, isFirefox, Keys, isSafari, isChanged, hasObservers, guid, anyChanged, isPresent as isPresent$1, EventsModule } from '@progress/kendo-angular-common';
|
|
9
|
+
import { caretAltDownIcon, xCircleIcon } from '@progress/kendo-svg-icons';
|
|
9
10
|
import * as i1 from '@progress/kendo-angular-l10n';
|
|
10
11
|
import { LocalizationService, L10N_PREFIX, ComponentMessages } from '@progress/kendo-angular-l10n';
|
|
11
12
|
import { Subject, Subscription, fromEvent, merge } from 'rxjs';
|
|
@@ -17,7 +18,6 @@ import { CommonModule } from '@angular/common';
|
|
|
17
18
|
import { filter, tap, take } from 'rxjs/operators';
|
|
18
19
|
import * as i3$1 from '@progress/kendo-angular-popup';
|
|
19
20
|
import { PopupModule } from '@progress/kendo-angular-popup';
|
|
20
|
-
import { caretAltDownIcon, xCircleIcon } from '@progress/kendo-svg-icons';
|
|
21
21
|
import * as i4 from '@angular/animations';
|
|
22
22
|
import { sequence, query, style, stagger, animate } from '@angular/animations';
|
|
23
23
|
|
|
@@ -28,8 +28,8 @@ const packageMetadata = {
|
|
|
28
28
|
name: '@progress/kendo-angular-buttons',
|
|
29
29
|
productName: 'Kendo UI for Angular',
|
|
30
30
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
31
|
-
publishDate:
|
|
32
|
-
version: '13.6.0-develop.
|
|
31
|
+
publishDate: 1695882550,
|
|
32
|
+
version: '13.6.0-develop.6',
|
|
33
33
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
34
34
|
};
|
|
35
35
|
|
|
@@ -158,6 +158,12 @@ class ButtonComponent {
|
|
|
158
158
|
this.renderer = renderer;
|
|
159
159
|
this.service = service;
|
|
160
160
|
this.ngZone = ngZone;
|
|
161
|
+
/**
|
|
162
|
+
* @hidden
|
|
163
|
+
* @default false
|
|
164
|
+
* required for DropDownButton arrow icon.
|
|
165
|
+
*/
|
|
166
|
+
this.arrowIcon = false;
|
|
161
167
|
/**
|
|
162
168
|
* Provides visual styling that indicates if the Button is active.
|
|
163
169
|
*
|
|
@@ -179,6 +185,7 @@ class ButtonComponent {
|
|
|
179
185
|
*/
|
|
180
186
|
this.click = new EventEmitter();
|
|
181
187
|
this.isDisabled = false;
|
|
188
|
+
this.caretAltDownIcon = caretAltDownIcon;
|
|
182
189
|
this._size = DEFAULT_SIZE$2;
|
|
183
190
|
this._rounded = DEFAULT_ROUNDED$3;
|
|
184
191
|
this._fillMode = DEFAULT_FILL_MODE$3;
|
|
@@ -560,7 +567,7 @@ class ButtonComponent {
|
|
|
560
567
|
}
|
|
561
568
|
}
|
|
562
569
|
ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: KendoButtonService, optional: true }, { token: i1.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
563
|
-
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: { toggleable: "toggleable", togglable: "togglable", selected: "selected", tabIndex: "tabIndex", imageUrl: "imageUrl", iconClass: "iconClass", icon: "icon", disabled: "disabled", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor", svgIcon: "svgIcon", role: "role", primary: "primary", look: "look" }, outputs: { selectedChange: "selectedChange", click: "click" }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()" }, properties: { "class.k-button": "this.classButton", "class.k-toggle-button": "this.isToggleable", "class.k-icon-button": "this.iconButtonClass", "attr.role": "this.roleSetter", "attr.aria-disabled": "this.classDisabled", "class.k-disabled": "this.classDisabled", "class.k-selected": "this.classActive", "attr.dir": "this.getDirection" } }, providers: [
|
|
570
|
+
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: { arrowIcon: "arrowIcon", toggleable: "toggleable", togglable: "togglable", selected: "selected", tabIndex: "tabIndex", imageUrl: "imageUrl", iconClass: "iconClass", icon: "icon", disabled: "disabled", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor", svgIcon: "svgIcon", role: "role", primary: "primary", look: "look" }, outputs: { selectedChange: "selectedChange", click: "click" }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()" }, properties: { "class.k-button": "this.classButton", "class.k-toggle-button": "this.isToggleable", "class.k-icon-button": "this.iconButtonClass", "attr.role": "this.roleSetter", "attr.aria-disabled": "this.classDisabled", "class.k-disabled": "this.classDisabled", "class.k-selected": "this.classActive", "attr.dir": "this.getDirection" } }, providers: [
|
|
564
571
|
LocalizationService,
|
|
565
572
|
{
|
|
566
573
|
provide: L10N_PREFIX,
|
|
@@ -577,6 +584,12 @@ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
|
|
|
577
584
|
</span>
|
|
578
585
|
<span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
|
|
579
586
|
<span class="k-button-text"><ng-content></ng-content></span>
|
|
587
|
+
<span *ngIf="$any(arrowIcon).iconClass" class="k-button-icon" [ngClass]="$any(arrowIcon).iconClass"></span>
|
|
588
|
+
<kendo-icon-wrapper
|
|
589
|
+
*ngIf="arrowIcon && !$any(arrowIcon).iconClass"
|
|
590
|
+
innerCssClass="k-button-icon"
|
|
591
|
+
[name]="$any(arrowIcon).icon || 'caret-alt-down'"
|
|
592
|
+
[svgIcon]="$any(arrowIcon).svgIcon || caretAltDownIcon"></kendo-icon-wrapper>
|
|
580
593
|
`, isInline: true, components: [{ type: i2.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
581
594
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
582
595
|
type: Component,
|
|
@@ -601,13 +614,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
601
614
|
</span>
|
|
602
615
|
<span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
|
|
603
616
|
<span class="k-button-text"><ng-content></ng-content></span>
|
|
617
|
+
<span *ngIf="$any(arrowIcon).iconClass" class="k-button-icon" [ngClass]="$any(arrowIcon).iconClass"></span>
|
|
618
|
+
<kendo-icon-wrapper
|
|
619
|
+
*ngIf="arrowIcon && !$any(arrowIcon).iconClass"
|
|
620
|
+
innerCssClass="k-button-icon"
|
|
621
|
+
[name]="$any(arrowIcon).icon || 'caret-alt-down'"
|
|
622
|
+
[svgIcon]="$any(arrowIcon).svgIcon || caretAltDownIcon"></kendo-icon-wrapper>
|
|
604
623
|
`
|
|
605
624
|
}]
|
|
606
625
|
}], ctorParameters: function () {
|
|
607
626
|
return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: KendoButtonService, decorators: [{
|
|
608
627
|
type: Optional
|
|
609
628
|
}] }, { type: i1.LocalizationService }, { type: i0.NgZone }];
|
|
610
|
-
}, propDecorators: {
|
|
629
|
+
}, propDecorators: { arrowIcon: [{
|
|
630
|
+
type: Input
|
|
631
|
+
}], toggleable: [{
|
|
611
632
|
type: Input
|
|
612
633
|
}], togglable: [{
|
|
613
634
|
type: Input
|
|
@@ -1228,14 +1249,20 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
1228
1249
|
(blur)="onBlur()"
|
|
1229
1250
|
[attr.aria-disabled]="dataItem.disabled ? true : false">
|
|
1230
1251
|
<ng-template [ngIf]="itemTemplate?.templateRef">
|
|
1231
|
-
<span
|
|
1252
|
+
<span
|
|
1253
|
+
class="k-link k-menu-link"
|
|
1254
|
+
[class.k-disabled]="dataItem.disabled"
|
|
1255
|
+
[ngClass]="dataItem.cssClass">
|
|
1232
1256
|
<ng-template
|
|
1233
1257
|
[templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
|
|
1234
1258
|
></ng-template>
|
|
1235
1259
|
</span>
|
|
1236
1260
|
</ng-template>
|
|
1237
1261
|
<ng-template [ngIf]="!itemTemplate?.templateRef">
|
|
1238
|
-
<span
|
|
1262
|
+
<span
|
|
1263
|
+
class="k-link k-menu-link"
|
|
1264
|
+
[class.k-disabled]="dataItem.disabled"
|
|
1265
|
+
[ngClass]="dataItem.cssClass">
|
|
1239
1266
|
<kendo-icon-wrapper
|
|
1240
1267
|
*ngIf="dataItem.icon || dataItem.iconClass || dataItem.svgIcon"
|
|
1241
1268
|
[name]="dataItem.icon"
|
|
@@ -1273,14 +1300,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
1273
1300
|
(blur)="onBlur()"
|
|
1274
1301
|
[attr.aria-disabled]="dataItem.disabled ? true : false">
|
|
1275
1302
|
<ng-template [ngIf]="itemTemplate?.templateRef">
|
|
1276
|
-
<span
|
|
1303
|
+
<span
|
|
1304
|
+
class="k-link k-menu-link"
|
|
1305
|
+
[class.k-disabled]="dataItem.disabled"
|
|
1306
|
+
[ngClass]="dataItem.cssClass">
|
|
1277
1307
|
<ng-template
|
|
1278
1308
|
[templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
|
|
1279
1309
|
></ng-template>
|
|
1280
1310
|
</span>
|
|
1281
1311
|
</ng-template>
|
|
1282
1312
|
<ng-template [ngIf]="!itemTemplate?.templateRef">
|
|
1283
|
-
<span
|
|
1313
|
+
<span
|
|
1314
|
+
class="k-link k-menu-link"
|
|
1315
|
+
[class.k-disabled]="dataItem.disabled"
|
|
1316
|
+
[ngClass]="dataItem.cssClass">
|
|
1284
1317
|
<kendo-icon-wrapper
|
|
1285
1318
|
*ngIf="dataItem.icon || dataItem.iconClass || dataItem.svgIcon"
|
|
1286
1319
|
[name]="dataItem.icon"
|
|
@@ -2181,6 +2214,7 @@ class SplitButtonComponent extends ListButton {
|
|
|
2181
2214
|
this.arrowButtonClicked = false;
|
|
2182
2215
|
this._rounded = DEFAULT_ROUNDED$2;
|
|
2183
2216
|
this._fillMode = DEFAULT_FILL_MODE$2;
|
|
2217
|
+
this._buttonAttributes = null;
|
|
2184
2218
|
this._itemClick = this.itemClick;
|
|
2185
2219
|
this._blur = this.onBlur;
|
|
2186
2220
|
}
|
|
@@ -2262,6 +2296,17 @@ class SplitButtonComponent extends ListButton {
|
|
|
2262
2296
|
}
|
|
2263
2297
|
return this._data;
|
|
2264
2298
|
}
|
|
2299
|
+
/**
|
|
2300
|
+
* Sets attributes to the main button.
|
|
2301
|
+
*/
|
|
2302
|
+
set buttonAttributes(buttonAttributes) {
|
|
2303
|
+
const newButtonAttributes = buttonAttributes ? buttonAttributes : null;
|
|
2304
|
+
this.handleButtonAttributes(newButtonAttributes);
|
|
2305
|
+
this._buttonAttributes = newButtonAttributes;
|
|
2306
|
+
}
|
|
2307
|
+
get buttonAttributes() {
|
|
2308
|
+
return this._buttonAttributes;
|
|
2309
|
+
}
|
|
2265
2310
|
/**
|
|
2266
2311
|
* @hidden
|
|
2267
2312
|
*/
|
|
@@ -2375,6 +2420,7 @@ class SplitButtonComponent extends ListButton {
|
|
|
2375
2420
|
this.containerService.template = this.popupTemplate;
|
|
2376
2421
|
this.updateButtonText();
|
|
2377
2422
|
this.handleClasses(this.rounded, 'rounded');
|
|
2423
|
+
this.handleButtonAttributes(this.buttonAttributes);
|
|
2378
2424
|
}
|
|
2379
2425
|
/**
|
|
2380
2426
|
* @hidden
|
|
@@ -2492,9 +2538,22 @@ class SplitButtonComponent extends ListButton {
|
|
|
2492
2538
|
toggleButtonIconClass() {
|
|
2493
2539
|
this.button.nativeElement.classList[this.isIconButton ? 'add' : 'remove']('k-button-icon');
|
|
2494
2540
|
}
|
|
2541
|
+
handleButtonAttributes(newButtonAttributes) {
|
|
2542
|
+
const mainButton = this.button.nativeElement;
|
|
2543
|
+
if (isPresent(this.buttonAttributes) && isPresent(mainButton)) {
|
|
2544
|
+
for (const attr in this.buttonAttributes) {
|
|
2545
|
+
this.renderer.removeAttribute(mainButton, attr, this.buttonAttributes[attr]);
|
|
2546
|
+
}
|
|
2547
|
+
}
|
|
2548
|
+
if (isPresent(newButtonAttributes) && isPresent(mainButton)) {
|
|
2549
|
+
for (const attr in newButtonAttributes) {
|
|
2550
|
+
this.renderer.setAttribute(mainButton, attr, newButtonAttributes[attr]);
|
|
2551
|
+
}
|
|
2552
|
+
}
|
|
2553
|
+
}
|
|
2495
2554
|
}
|
|
2496
2555
|
SplitButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SplitButtonComponent, deps: [{ token: FocusService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3$1.PopupService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: PopupContainerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2497
|
-
SplitButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SplitButtonComponent, selector: "kendo-splitbutton", inputs: { text: "text", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", type: "type", imageUrl: "imageUrl", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor", disabled: "disabled", popupSettings: "popupSettings", tabIndex: "tabIndex", textField: "textField", data: "data", buttonClass: "buttonClass", arrowButtonClass: "arrowButtonClass", arrowButtonIcon: "arrowButtonIcon", arrowButtonSvgIcon: "arrowButtonSvgIcon" }, outputs: { buttonClick: "buttonClick", itemClick: "itemClick", onFocus: "focus", onBlur: "blur", open: "open", close: "close" }, host: { listeners: { "keydown": "keydown($event)", "keyup": "keyup($event)" }, properties: { "class.k-focus": "this.isFocused", "class.k-split-button": "this.widgetClasses", "class.k-button-group": "this.widgetClasses", "attr.dir": "this.dir" } }, providers: [
|
|
2556
|
+
SplitButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SplitButtonComponent, selector: "kendo-splitbutton", inputs: { text: "text", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", type: "type", imageUrl: "imageUrl", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor", disabled: "disabled", popupSettings: "popupSettings", tabIndex: "tabIndex", textField: "textField", data: "data", buttonClass: "buttonClass", arrowButtonClass: "arrowButtonClass", arrowButtonIcon: "arrowButtonIcon", arrowButtonSvgIcon: "arrowButtonSvgIcon", buttonAttributes: "buttonAttributes" }, outputs: { buttonClick: "buttonClick", itemClick: "itemClick", onFocus: "focus", onBlur: "blur", open: "open", close: "close" }, host: { listeners: { "keydown": "keydown($event)", "keyup": "keyup($event)" }, properties: { "class.k-focus": "this.isFocused", "class.k-split-button": "this.widgetClasses", "class.k-button-group": "this.widgetClasses", "attr.dir": "this.dir" } }, providers: [
|
|
2498
2557
|
FocusService,
|
|
2499
2558
|
NavigationService,
|
|
2500
2559
|
NAVIGATION_SETTINGS_PROVIDER$2,
|
|
@@ -2572,7 +2631,7 @@ SplitButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
2572
2631
|
</kendo-button-list>
|
|
2573
2632
|
</ng-template>
|
|
2574
2633
|
<ng-container #container></ng-container>
|
|
2575
|
-
`, isInline: true, components: [{ type: ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: ListComponent, selector: "kendo-button-list", inputs: ["data", "textField", "itemTemplate", "size"], outputs: ["onItemClick", "onItemBlur"] }], directives: [{ type: LocalizedSplitButtonMessagesDirective, selector: "[kendoSplitButtonLocalizedMessages]" }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
2634
|
+
`, isInline: true, components: [{ type: ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: ListComponent, selector: "kendo-button-list", inputs: ["data", "textField", "itemTemplate", "size"], outputs: ["onItemClick", "onItemBlur"] }], directives: [{ type: LocalizedSplitButtonMessagesDirective, selector: "[kendoSplitButtonLocalizedMessages]" }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
2576
2635
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SplitButtonComponent, decorators: [{
|
|
2577
2636
|
type: Component,
|
|
2578
2637
|
args: [{
|
|
@@ -2697,6 +2756,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
2697
2756
|
type: Input
|
|
2698
2757
|
}], arrowButtonSvgIcon: [{
|
|
2699
2758
|
type: Input
|
|
2759
|
+
}], buttonAttributes: [{
|
|
2760
|
+
type: Input
|
|
2700
2761
|
}], buttonClick: [{
|
|
2701
2762
|
type: Output
|
|
2702
2763
|
}], itemClick: [{
|
|
@@ -2835,9 +2896,15 @@ const DEFAULT_FILL_MODE$1 = 'solid';
|
|
|
2835
2896
|
* ```
|
|
2836
2897
|
*/
|
|
2837
2898
|
class DropDownButtonComponent extends ListButton {
|
|
2838
|
-
constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService) {
|
|
2899
|
+
constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService, renderer) {
|
|
2839
2900
|
super(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService);
|
|
2840
2901
|
this.containerService = containerService;
|
|
2902
|
+
this.renderer = renderer;
|
|
2903
|
+
/**
|
|
2904
|
+
* Allows showing the default arrow icon or providing alternative one instead.
|
|
2905
|
+
* @default false
|
|
2906
|
+
*/
|
|
2907
|
+
this.arrowIcon = false;
|
|
2841
2908
|
/**
|
|
2842
2909
|
* Defines the name of an existing icon in the Kendo UI theme.
|
|
2843
2910
|
*/
|
|
@@ -2908,6 +2975,7 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2908
2975
|
this.listId = guid();
|
|
2909
2976
|
this.buttonId = guid();
|
|
2910
2977
|
this._fillMode = DEFAULT_FILL_MODE$1;
|
|
2978
|
+
this._buttonAttributes = null;
|
|
2911
2979
|
this._itemClick = this.itemClick;
|
|
2912
2980
|
this._blur = this.onBlur;
|
|
2913
2981
|
}
|
|
@@ -2939,6 +3007,17 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2939
3007
|
get fillMode() {
|
|
2940
3008
|
return this._fillMode;
|
|
2941
3009
|
}
|
|
3010
|
+
/**
|
|
3011
|
+
* Sets attributes to the main button.
|
|
3012
|
+
*/
|
|
3013
|
+
set buttonAttributes(buttonAttributes) {
|
|
3014
|
+
const newButtonAttributes = buttonAttributes ? buttonAttributes : null;
|
|
3015
|
+
this.handleButtonAttributes(newButtonAttributes);
|
|
3016
|
+
this._buttonAttributes = newButtonAttributes;
|
|
3017
|
+
}
|
|
3018
|
+
get buttonAttributes() {
|
|
3019
|
+
return this._buttonAttributes;
|
|
3020
|
+
}
|
|
2942
3021
|
get focused() {
|
|
2943
3022
|
return this._isFocused && !this._disabled;
|
|
2944
3023
|
}
|
|
@@ -3026,6 +3105,7 @@ class DropDownButtonComponent extends ListButton {
|
|
|
3026
3105
|
ngAfterViewInit() {
|
|
3027
3106
|
this.containerService.container = this.container;
|
|
3028
3107
|
this.containerService.template = this.popupTemplate;
|
|
3108
|
+
this.handleButtonAttributes(this.buttonAttributes);
|
|
3029
3109
|
}
|
|
3030
3110
|
/**
|
|
3031
3111
|
* @hidden
|
|
@@ -3050,9 +3130,23 @@ class DropDownButtonComponent extends ListButton {
|
|
|
3050
3130
|
|| this.wrapper.contains(element)
|
|
3051
3131
|
|| (this.popupRef && this.popupRef.popupElement.contains(element));
|
|
3052
3132
|
}
|
|
3133
|
+
handleButtonAttributes(newButtonAttributes) {
|
|
3134
|
+
var _a;
|
|
3135
|
+
const mainButton = (_a = this.button) === null || _a === void 0 ? void 0 : _a.nativeElement;
|
|
3136
|
+
if (isPresent$1(this.buttonAttributes) && isPresent$1(mainButton)) {
|
|
3137
|
+
for (const attr in this.buttonAttributes) {
|
|
3138
|
+
this.renderer.removeAttribute(mainButton, attr, this.buttonAttributes[attr]);
|
|
3139
|
+
}
|
|
3140
|
+
}
|
|
3141
|
+
if (isPresent$1(newButtonAttributes) && isPresent$1(mainButton)) {
|
|
3142
|
+
for (const attr in newButtonAttributes) {
|
|
3143
|
+
this.renderer.setAttribute(mainButton, attr, newButtonAttributes[attr]);
|
|
3144
|
+
}
|
|
3145
|
+
}
|
|
3146
|
+
}
|
|
3053
3147
|
}
|
|
3054
|
-
DropDownButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DropDownButtonComponent, deps: [{ token: FocusService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3$1.PopupService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PopupContainerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3055
|
-
DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: { icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", imageUrl: "imageUrl", textField: "textField", data: "data", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor" }, outputs: { itemClick: "itemClick", onFocus: "focus", onBlur: "blur" }, host: { listeners: { "keydown": "keydown($event)", "keyup": "keyup($event)", "mousedown": "mousedown($event)", "mouseup": "mouseup($event)" }, properties: { "class.k-focus": "this.focused", "class.k-dropdown-button": "this.widgetClasses", "attr.dir": "this.dir" } }, providers: [
|
|
3148
|
+
DropDownButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DropDownButtonComponent, deps: [{ token: FocusService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3$1.PopupService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PopupContainerService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
3149
|
+
DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: { arrowIcon: "arrowIcon", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", imageUrl: "imageUrl", textField: "textField", data: "data", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor", buttonAttributes: "buttonAttributes" }, outputs: { itemClick: "itemClick", onFocus: "focus", onBlur: "blur" }, host: { listeners: { "keydown": "keydown($event)", "keyup": "keyup($event)", "mousedown": "mousedown($event)", "mouseup": "mouseup($event)" }, properties: { "class.k-focus": "this.focused", "class.k-dropdown-button": "this.widgetClasses", "attr.dir": "this.dir" } }, providers: [
|
|
3056
3150
|
FocusService,
|
|
3057
3151
|
NavigationService,
|
|
3058
3152
|
NAVIGATION_SETTINGS_PROVIDER$1,
|
|
@@ -3071,6 +3165,7 @@ DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
3071
3165
|
[disabled]="disabled"
|
|
3072
3166
|
[icon]="icon"
|
|
3073
3167
|
[svgIcon]="svgIcon"
|
|
3168
|
+
[arrowIcon]="arrowIcon"
|
|
3074
3169
|
[iconClass]="iconClass"
|
|
3075
3170
|
[imageUrl]="imageUrl"
|
|
3076
3171
|
[ngClass]="buttonClass"
|
|
@@ -3105,7 +3200,7 @@ DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
3105
3200
|
</kendo-button-list>
|
|
3106
3201
|
</ng-template>
|
|
3107
3202
|
<ng-container #container></ng-container>
|
|
3108
|
-
`, isInline: true, components: [{ type: ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: ListComponent, selector: "kendo-button-list", inputs: ["data", "textField", "itemTemplate", "size"], outputs: ["onItemClick", "onItemBlur"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
3203
|
+
`, isInline: true, components: [{ type: ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: ListComponent, selector: "kendo-button-list", inputs: ["data", "textField", "itemTemplate", "size"], outputs: ["onItemClick", "onItemBlur"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
3109
3204
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DropDownButtonComponent, decorators: [{
|
|
3110
3205
|
type: Component,
|
|
3111
3206
|
args: [{
|
|
@@ -3131,6 +3226,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3131
3226
|
[disabled]="disabled"
|
|
3132
3227
|
[icon]="icon"
|
|
3133
3228
|
[svgIcon]="svgIcon"
|
|
3229
|
+
[arrowIcon]="arrowIcon"
|
|
3134
3230
|
[iconClass]="iconClass"
|
|
3135
3231
|
[imageUrl]="imageUrl"
|
|
3136
3232
|
[ngClass]="buttonClass"
|
|
@@ -3167,7 +3263,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3167
3263
|
<ng-container #container></ng-container>
|
|
3168
3264
|
`
|
|
3169
3265
|
}]
|
|
3170
|
-
}], ctorParameters: function () { return [{ type: FocusService }, { type: NavigationService }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i3$1.PopupService }, { type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: PopupContainerService }]; }, propDecorators: {
|
|
3266
|
+
}], ctorParameters: function () { return [{ type: FocusService }, { type: NavigationService }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i3$1.PopupService }, { type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: PopupContainerService }, { type: i0.Renderer2 }]; }, propDecorators: { arrowIcon: [{
|
|
3267
|
+
type: Input
|
|
3268
|
+
}], icon: [{
|
|
3171
3269
|
type: Input
|
|
3172
3270
|
}], svgIcon: [{
|
|
3173
3271
|
type: Input
|
|
@@ -3187,6 +3285,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
3187
3285
|
type: Input
|
|
3188
3286
|
}], themeColor: [{
|
|
3189
3287
|
type: Input
|
|
3288
|
+
}], buttonAttributes: [{
|
|
3289
|
+
type: Input
|
|
3190
3290
|
}], itemClick: [{
|
|
3191
3291
|
type: Output
|
|
3192
3292
|
}], onFocus: [{
|