@progress/kendo-angular-dropdowns 5.5.1-dev.202111181325 → 6.0.0-dev.202201190829
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/LICENSE.md +1 -1
- package/NOTICE.txt +119 -79
- package/README.md +1 -1
- package/dist/cdn/js/kendo-angular-dropdowns.js +2 -2
- package/dist/cdn/main.js +1 -1
- package/dist/es/autocomplete/autocomplete.component.js +120 -5
- package/dist/es/comboboxes/combobox.component.js +141 -20
- package/dist/es/comboboxes/multicolumncombobox.component.js +30 -10
- package/dist/es/common/list.component.js +83 -5
- package/dist/es/common/models/fillmode.js +4 -0
- package/dist/es/common/models/list-type.js +4 -0
- package/dist/es/common/models/rounded.js +4 -0
- package/dist/es/common/models/size.js +4 -0
- package/dist/es/common/searchbar.component.js +1 -1
- package/dist/es/common/selection/selectable.directive.js +2 -2
- package/dist/es/common/taglist.component.js +58 -5
- package/dist/es/common/util.js +37 -0
- package/dist/es/dropdownlist/dropdownlist.component.js +338 -46
- package/dist/es/dropdowntrees/dropdowntree.component.js +276 -42
- package/dist/es/dropdowntrees/multiselecttree.component.js +307 -46
- package/dist/es/multiselect/multiselect.component.js +162 -35
- package/dist/es/package-metadata.js +1 -1
- package/dist/es2015/autocomplete/autocomplete.component.d.ts +42 -0
- package/dist/es2015/autocomplete/autocomplete.component.js +109 -7
- package/dist/es2015/comboboxes/combobox.component.d.ts +49 -4
- package/dist/es2015/comboboxes/combobox.component.js +207 -106
- package/dist/es2015/comboboxes/multicolumncombobox.component.d.ts +9 -1
- package/dist/es2015/comboboxes/multicolumncombobox.component.js +185 -166
- package/dist/es2015/common/list.component.d.ts +22 -1
- package/dist/es2015/common/list.component.js +115 -36
- package/dist/es2015/common/models/fillmode.d.ts +14 -0
- package/dist/es2015/common/models/fillmode.js +4 -0
- package/dist/es2015/common/models/list-type.d.ts +8 -0
- package/dist/es2015/common/models/list-type.js +4 -0
- package/dist/es2015/common/models/rounded.d.ts +15 -0
- package/dist/es2015/common/models/rounded.js +4 -0
- package/dist/es2015/common/models/size.d.ts +14 -0
- package/dist/es2015/common/models/size.js +4 -0
- package/dist/es2015/common/searchbar.component.js +1 -1
- package/dist/es2015/common/selection/selectable.directive.js +2 -2
- package/dist/es2015/common/taglist.component.d.ts +13 -1
- package/dist/es2015/common/taglist.component.js +102 -47
- package/dist/es2015/common/util.d.ts +17 -0
- package/dist/es2015/common/util.js +37 -0
- package/dist/es2015/dropdownlist/dropdownlist.component.d.ts +77 -13
- package/dist/es2015/dropdownlist/dropdownlist.component.js +390 -159
- package/dist/es2015/dropdowntrees/dropdowntree.component.d.ts +71 -13
- package/dist/es2015/dropdowntrees/dropdowntree.component.js +287 -99
- package/dist/es2015/dropdowntrees/multiselecttree.component.d.ts +72 -12
- package/dist/es2015/dropdowntrees/multiselecttree.component.js +319 -117
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/multiselect/multiselect.component.d.ts +53 -8
- package/dist/es2015/multiselect/multiselect.component.js +183 -70
- package/dist/es2015/package-metadata.js +1 -1
- package/dist/fesm2015/index.js +1928 -801
- package/dist/fesm5/index.js +1569 -231
- package/dist/npm/autocomplete/autocomplete.component.js +119 -4
- package/dist/npm/comboboxes/combobox.component.js +140 -19
- package/dist/npm/comboboxes/multicolumncombobox.component.js +29 -9
- package/dist/npm/common/list.component.js +82 -4
- package/dist/npm/common/models/fillmode.js +6 -0
- package/dist/npm/common/models/list-type.js +6 -0
- package/dist/npm/common/models/rounded.js +6 -0
- package/dist/npm/common/models/size.js +6 -0
- package/dist/npm/common/searchbar.component.js +1 -1
- package/dist/npm/common/selection/selectable.directive.js +2 -2
- package/dist/npm/common/taglist.component.js +56 -3
- package/dist/npm/common/util.js +37 -0
- package/dist/npm/dropdownlist/dropdownlist.component.js +336 -44
- package/dist/npm/dropdowntrees/dropdowntree.component.js +274 -40
- package/dist/npm/dropdowntrees/multiselecttree.component.js +304 -43
- package/dist/npm/multiselect/multiselect.component.js +160 -33
- package/dist/npm/package-metadata.js +1 -1
- package/dist/systemjs/kendo-angular-dropdowns.js +1 -1
- package/package.json +21 -17
|
@@ -29,6 +29,9 @@ import { ListComponent } from '../common/list.component';
|
|
|
29
29
|
import { MultiSelectCheckableSettings } from '../common/models/checkboxes-settings';
|
|
30
30
|
import { VirtualizationSettings } from '../common/models/virtualization-settings';
|
|
31
31
|
import { PageChangeEvent } from '../common/models/page-change-event';
|
|
32
|
+
import { DropDownSize } from '../common/models/size';
|
|
33
|
+
import { DropDownRounded } from '../common/models/rounded';
|
|
34
|
+
import { DropDownFillMode } from '../common/models/fillmode';
|
|
32
35
|
/**
|
|
33
36
|
* Represents the [Kendo UI MultiSelect component for Angular]({% slug overview_multiselect %}).
|
|
34
37
|
*
|
|
@@ -47,6 +50,7 @@ import { PageChangeEvent } from '../common/models/page-change-event';
|
|
|
47
50
|
* ```
|
|
48
51
|
*/
|
|
49
52
|
export declare class MultiSelectComponent implements OnDestroy, OnChanges, OnInit, DoCheck, AfterContentChecked, AfterViewInit, FilterableComponent {
|
|
53
|
+
wrapper: ElementRef;
|
|
50
54
|
private localization;
|
|
51
55
|
private popupService;
|
|
52
56
|
private dataService;
|
|
@@ -56,7 +60,6 @@ export declare class MultiSelectComponent implements OnDestroy, OnChanges, OnIni
|
|
|
56
60
|
private cdr;
|
|
57
61
|
private differs;
|
|
58
62
|
private renderer;
|
|
59
|
-
private hostElement;
|
|
60
63
|
private _zone;
|
|
61
64
|
private touchEnabled;
|
|
62
65
|
listBoxId: string;
|
|
@@ -90,10 +93,6 @@ export declare class MultiSelectComponent implements OnDestroy, OnChanges, OnIni
|
|
|
90
93
|
* @hidden
|
|
91
94
|
*/
|
|
92
95
|
onSearchBarBlur(): void;
|
|
93
|
-
/**
|
|
94
|
-
* @hidden
|
|
95
|
-
*/
|
|
96
|
-
wrapperMousedown(event: any): void;
|
|
97
96
|
/**
|
|
98
97
|
* @hidden
|
|
99
98
|
*/
|
|
@@ -152,6 +151,40 @@ export declare class MultiSelectComponent implements OnDestroy, OnChanges, OnIni
|
|
|
152
151
|
* @hidden
|
|
153
152
|
*/
|
|
154
153
|
tabIndex: number;
|
|
154
|
+
/**
|
|
155
|
+
* Sets the size of the component.
|
|
156
|
+
*
|
|
157
|
+
* The possible values are:
|
|
158
|
+
* * `'small'`
|
|
159
|
+
* * `'medium'` (default)
|
|
160
|
+
* * `'large'`
|
|
161
|
+
* * `null`
|
|
162
|
+
*
|
|
163
|
+
*/
|
|
164
|
+
size: DropDownSize;
|
|
165
|
+
/**
|
|
166
|
+
* Sets the border radius of the component.
|
|
167
|
+
*
|
|
168
|
+
* The possible values are:
|
|
169
|
+
* * `'small'`
|
|
170
|
+
* * `'medium'` (default)
|
|
171
|
+
* * `'large'`
|
|
172
|
+
* * `'full'`
|
|
173
|
+
* * `null`
|
|
174
|
+
*
|
|
175
|
+
*/
|
|
176
|
+
rounded: DropDownRounded;
|
|
177
|
+
/**
|
|
178
|
+
* Sets the fillMode of the component.
|
|
179
|
+
*
|
|
180
|
+
* The possible values are:
|
|
181
|
+
* * `'flat'`
|
|
182
|
+
* * `'solid'` (default)
|
|
183
|
+
* * `'outline'`
|
|
184
|
+
* * `null`
|
|
185
|
+
*
|
|
186
|
+
*/
|
|
187
|
+
fillMode: DropDownFillMode;
|
|
155
188
|
/**
|
|
156
189
|
* The hint which is displayed when the component is empty.
|
|
157
190
|
* When the values are selected, it disappears.
|
|
@@ -321,7 +354,6 @@ export declare class MultiSelectComponent implements OnDestroy, OnChanges, OnIni
|
|
|
321
354
|
container: ViewContainerRef;
|
|
322
355
|
searchbar: SearchBarComponent;
|
|
323
356
|
popupTemplate: TemplateRef<any>;
|
|
324
|
-
wrapper: ElementRef<HTMLElement>;
|
|
325
357
|
optionsList: ListComponent;
|
|
326
358
|
template: ItemTemplateDirective;
|
|
327
359
|
customItemTemplate: CustomItemTemplateDirective;
|
|
@@ -332,13 +364,25 @@ export declare class MultiSelectComponent implements OnDestroy, OnChanges, OnIni
|
|
|
332
364
|
tagTemplate: TagTemplateDirective;
|
|
333
365
|
groupTagTemplate: GroupTagTemplateDirective;
|
|
334
366
|
noDataTemplate: NoDataTemplateDirective;
|
|
335
|
-
|
|
367
|
+
hostClasses: boolean;
|
|
336
368
|
readonly dir: string;
|
|
337
369
|
readonly disabledClass: boolean;
|
|
370
|
+
readonly isLoading: boolean;
|
|
371
|
+
/**
|
|
372
|
+
* @hidden
|
|
373
|
+
*/
|
|
374
|
+
hostMousedown(event: any): void;
|
|
338
375
|
disabledIndices: Set<number>;
|
|
339
376
|
private initialized;
|
|
340
|
-
|
|
377
|
+
private _size;
|
|
378
|
+
private _rounded;
|
|
379
|
+
private _fillMode;
|
|
380
|
+
constructor(wrapper: ElementRef, localization: LocalizationService, popupService: PopupService, dataService: DataService, selectionService: SelectionService, navigationService: NavigationService, disabledItemsService: DisabledItemsService, cdr: ChangeDetectorRef, differs: KeyValueDiffers, renderer: Renderer2, _zone: NgZone, touchEnabled: boolean);
|
|
341
381
|
readonly listContainerClasses: any[];
|
|
382
|
+
/**
|
|
383
|
+
* @hidden
|
|
384
|
+
*/
|
|
385
|
+
readonly customItemSizeClass: any;
|
|
342
386
|
readonly width: any;
|
|
343
387
|
readonly height: any;
|
|
344
388
|
readonly activeDescendant: string;
|
|
@@ -491,4 +535,5 @@ export declare class MultiSelectComponent implements OnDestroy, OnChanges, OnIni
|
|
|
491
535
|
private firstFocusableIndex;
|
|
492
536
|
private nextTick;
|
|
493
537
|
private setMessages;
|
|
538
|
+
private setComponentClasses;
|
|
494
539
|
}
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
/* tslint:disable:member-ordering */
|
|
6
6
|
import * as tslib_1 from "tslib";
|
|
7
7
|
var MultiSelectComponent_1;
|
|
8
|
-
import { guid, isPresent, isArray, isObjectArray, resolveAllValues, selectedIndices, getter, isNumber, isUntouched, inDropDown } from '../common/util';
|
|
8
|
+
import { guid, isPresent, isArray, isObjectArray, resolveAllValues, selectedIndices, getter, isNumber, isUntouched, inDropDown, getSizeClass, getRoundedClass, getFillModeClass } from '../common/util';
|
|
9
9
|
import { SearchBarComponent } from '../common/searchbar.component';
|
|
10
|
-
import { ViewChild, Renderer2, ViewContainerRef, Component, HostBinding, Input, ElementRef, TemplateRef, Output, EventEmitter, isDevMode, forwardRef, ContentChild, ChangeDetectorRef, KeyValueDiffers, NgZone, Optional, Inject } from '@angular/core';
|
|
10
|
+
import { ViewChild, Renderer2, ViewContainerRef, Component, HostBinding, Input, ElementRef, TemplateRef, Output, EventEmitter, isDevMode, forwardRef, ContentChild, ChangeDetectorRef, KeyValueDiffers, NgZone, Optional, Inject, HostListener } from '@angular/core';
|
|
11
11
|
import { Subscription, Subject, of } from 'rxjs';
|
|
12
12
|
import { catchError, filter, map, tap } from 'rxjs/operators';
|
|
13
13
|
import { isChanged, isDocumentAvailable, KendoInput, hasObservers, anyChanged } from '@progress/kendo-angular-common';
|
|
@@ -63,7 +63,8 @@ const MULTISELECT_VALUE_ACCESSOR = {
|
|
|
63
63
|
* ```
|
|
64
64
|
*/
|
|
65
65
|
let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
|
|
66
|
-
constructor(localization, popupService, dataService, selectionService, navigationService, disabledItemsService, cdr, differs, renderer,
|
|
66
|
+
constructor(wrapper, localization, popupService, dataService, selectionService, navigationService, disabledItemsService, cdr, differs, renderer, _zone, touchEnabled) {
|
|
67
|
+
this.wrapper = wrapper;
|
|
67
68
|
this.localization = localization;
|
|
68
69
|
this.popupService = popupService;
|
|
69
70
|
this.dataService = dataService;
|
|
@@ -73,7 +74,6 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
|
|
|
73
74
|
this.cdr = cdr;
|
|
74
75
|
this.differs = differs;
|
|
75
76
|
this.renderer = renderer;
|
|
76
|
-
this.hostElement = hostElement;
|
|
77
77
|
this._zone = _zone;
|
|
78
78
|
this.touchEnabled = touchEnabled;
|
|
79
79
|
this.listBoxId = guid();
|
|
@@ -234,8 +234,11 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
|
|
|
234
234
|
* This event is preventable. If you cancel it, the tag will not be removed.
|
|
235
235
|
*/
|
|
236
236
|
this.removeTag = new EventEmitter();
|
|
237
|
-
this.
|
|
237
|
+
this.hostClasses = true;
|
|
238
238
|
this.initialized = false;
|
|
239
|
+
this._size = 'medium';
|
|
240
|
+
this._rounded = 'medium';
|
|
241
|
+
this._fillMode = 'solid';
|
|
239
242
|
this.onChangeCallback = (_) => { };
|
|
240
243
|
this.onTouchedCallback = (_) => { };
|
|
241
244
|
this._placeholder = '';
|
|
@@ -309,7 +312,7 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
|
|
|
309
312
|
if (hasObservers(this.onBlur) ||
|
|
310
313
|
hasObservers(this.filterChange) ||
|
|
311
314
|
hasObservers(this.close) ||
|
|
312
|
-
isUntouched(this.
|
|
315
|
+
isUntouched(this.wrapper.nativeElement)) {
|
|
313
316
|
this._zone.run(() => {
|
|
314
317
|
this.closePopup();
|
|
315
318
|
if (!(this.isOpen && this.allowCustom)) {
|
|
@@ -326,22 +329,6 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
|
|
|
326
329
|
this.closePopup();
|
|
327
330
|
}
|
|
328
331
|
}
|
|
329
|
-
/**
|
|
330
|
-
* @hidden
|
|
331
|
-
*/
|
|
332
|
-
wrapperMousedown(event) {
|
|
333
|
-
const inputElement = this.searchbar.input.nativeElement;
|
|
334
|
-
if (event.button === 0) {
|
|
335
|
-
if (this.isFocused && this.isOpen && event.target === inputElement) {
|
|
336
|
-
return;
|
|
337
|
-
}
|
|
338
|
-
if (!this.touchEnabled || (this.touchEnabled && event.target.tagName !== 'SPAN')) {
|
|
339
|
-
this.searchbar.focus();
|
|
340
|
-
}
|
|
341
|
-
this.togglePopup(!this.isOpen);
|
|
342
|
-
event.preventDefault();
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
332
|
/**
|
|
346
333
|
* @hidden
|
|
347
334
|
*/
|
|
@@ -419,6 +406,67 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
|
|
|
419
406
|
get tabIndex() {
|
|
420
407
|
return this.tabindex;
|
|
421
408
|
}
|
|
409
|
+
/**
|
|
410
|
+
* Sets the size of the component.
|
|
411
|
+
*
|
|
412
|
+
* The possible values are:
|
|
413
|
+
* * `'small'`
|
|
414
|
+
* * `'medium'` (default)
|
|
415
|
+
* * `'large'`
|
|
416
|
+
* * `null`
|
|
417
|
+
*
|
|
418
|
+
*/
|
|
419
|
+
set size(size) {
|
|
420
|
+
this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
|
|
421
|
+
if (size) {
|
|
422
|
+
this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', size));
|
|
423
|
+
}
|
|
424
|
+
this._size = size;
|
|
425
|
+
}
|
|
426
|
+
get size() {
|
|
427
|
+
return this._size;
|
|
428
|
+
}
|
|
429
|
+
/**
|
|
430
|
+
* Sets the border radius of the component.
|
|
431
|
+
*
|
|
432
|
+
* The possible values are:
|
|
433
|
+
* * `'small'`
|
|
434
|
+
* * `'medium'` (default)
|
|
435
|
+
* * `'large'`
|
|
436
|
+
* * `'full'`
|
|
437
|
+
* * `null`
|
|
438
|
+
*
|
|
439
|
+
*/
|
|
440
|
+
set rounded(rounded) {
|
|
441
|
+
this.renderer.removeClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
|
|
442
|
+
if (rounded) {
|
|
443
|
+
this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(rounded));
|
|
444
|
+
}
|
|
445
|
+
this._rounded = rounded;
|
|
446
|
+
}
|
|
447
|
+
get rounded() {
|
|
448
|
+
return this._rounded;
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* Sets the fillMode of the component.
|
|
452
|
+
*
|
|
453
|
+
* The possible values are:
|
|
454
|
+
* * `'flat'`
|
|
455
|
+
* * `'solid'` (default)
|
|
456
|
+
* * `'outline'`
|
|
457
|
+
* * `null`
|
|
458
|
+
*
|
|
459
|
+
*/
|
|
460
|
+
set fillMode(fillMode) {
|
|
461
|
+
this.renderer.removeClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
|
|
462
|
+
if (fillMode) {
|
|
463
|
+
this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', fillMode));
|
|
464
|
+
}
|
|
465
|
+
this._fillMode = fillMode;
|
|
466
|
+
}
|
|
467
|
+
get fillMode() {
|
|
468
|
+
return this._fillMode;
|
|
469
|
+
}
|
|
422
470
|
/**
|
|
423
471
|
* The hint which is displayed when the component is empty.
|
|
424
472
|
* When the values are selected, it disappears.
|
|
@@ -493,6 +541,25 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
|
|
|
493
541
|
get disabledClass() {
|
|
494
542
|
return this.disabled;
|
|
495
543
|
}
|
|
544
|
+
get isLoading() {
|
|
545
|
+
return this.loading;
|
|
546
|
+
}
|
|
547
|
+
/**
|
|
548
|
+
* @hidden
|
|
549
|
+
*/
|
|
550
|
+
hostMousedown(event) {
|
|
551
|
+
const inputElement = this.searchbar.input.nativeElement;
|
|
552
|
+
if (event.button === 0) {
|
|
553
|
+
if (this.isFocused && this.isOpen && event.target === inputElement) {
|
|
554
|
+
return;
|
|
555
|
+
}
|
|
556
|
+
if (!this.touchEnabled || (this.touchEnabled && event.target.tagName !== 'SPAN')) {
|
|
557
|
+
this.searchbar.focus();
|
|
558
|
+
}
|
|
559
|
+
this.togglePopup(!this.isOpen);
|
|
560
|
+
event.preventDefault();
|
|
561
|
+
}
|
|
562
|
+
}
|
|
496
563
|
get listContainerClasses() {
|
|
497
564
|
const containerClasses = ['k-list-container', 'k-reset'];
|
|
498
565
|
if (this.popupSettings.popupClass) {
|
|
@@ -500,6 +567,12 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
|
|
|
500
567
|
}
|
|
501
568
|
return containerClasses;
|
|
502
569
|
}
|
|
570
|
+
/**
|
|
571
|
+
* @hidden
|
|
572
|
+
*/
|
|
573
|
+
get customItemSizeClass() {
|
|
574
|
+
return `${this.size ? getSizeClass('list', this.size) : ''}`;
|
|
575
|
+
}
|
|
503
576
|
get width() {
|
|
504
577
|
let wrapperOffsetWidth = 0;
|
|
505
578
|
if (isDocumentAvailable()) {
|
|
@@ -744,7 +817,7 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
|
|
|
744
817
|
this.valueChangeDetected = false;
|
|
745
818
|
}
|
|
746
819
|
ngOnInit() {
|
|
747
|
-
this.renderer.removeAttribute(this.
|
|
820
|
+
this.renderer.removeAttribute(this.wrapper.nativeElement, "tabindex");
|
|
748
821
|
this.createCustomValueStream();
|
|
749
822
|
this.localizationChangeSubscription = this.localization
|
|
750
823
|
.changes.subscribe(({ rtl }) => {
|
|
@@ -753,6 +826,7 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
|
|
|
753
826
|
});
|
|
754
827
|
this.setMessages();
|
|
755
828
|
this.setState(this.value);
|
|
829
|
+
this.setComponentClasses();
|
|
756
830
|
this.initialized = true;
|
|
757
831
|
}
|
|
758
832
|
ngOnChanges(changes) {
|
|
@@ -840,7 +914,7 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
|
|
|
840
914
|
this.cdr.markForCheck();
|
|
841
915
|
}
|
|
842
916
|
set isFocused(isFocused) {
|
|
843
|
-
this.renderer[isFocused ? 'addClass' : 'removeClass'](this.
|
|
917
|
+
this.renderer[isFocused ? 'addClass' : 'removeClass'](this.wrapper.nativeElement, 'k-focus');
|
|
844
918
|
this._isFocused = isFocused;
|
|
845
919
|
}
|
|
846
920
|
get isFocused() {
|
|
@@ -877,7 +951,7 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
|
|
|
877
951
|
// Roll up MultiSelect on iOS when tapped outside
|
|
878
952
|
this.touchstartDisposeHandler = this.renderer.listen(document, 'touchstart', (e) => {
|
|
879
953
|
const target = e.target;
|
|
880
|
-
if ((this.isFocused || this.isOpen) && !inDropDown(this.
|
|
954
|
+
if ((this.isFocused || this.isOpen) && !inDropDown(this.wrapper, target, this.popupRef)) {
|
|
881
955
|
this._zone.run(() => {
|
|
882
956
|
this.blur();
|
|
883
957
|
if (this.isOpen) {
|
|
@@ -1244,6 +1318,17 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
|
|
|
1244
1318
|
});
|
|
1245
1319
|
});
|
|
1246
1320
|
}
|
|
1321
|
+
setComponentClasses() {
|
|
1322
|
+
if (this.size) {
|
|
1323
|
+
this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
|
|
1324
|
+
}
|
|
1325
|
+
if (this.rounded) {
|
|
1326
|
+
this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
|
|
1327
|
+
}
|
|
1328
|
+
if (this.fillMode) {
|
|
1329
|
+
this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
|
|
1330
|
+
}
|
|
1331
|
+
}
|
|
1247
1332
|
};
|
|
1248
1333
|
tslib_1.__decorate([
|
|
1249
1334
|
Input(),
|
|
@@ -1284,6 +1369,21 @@ tslib_1.__decorate([
|
|
|
1284
1369
|
tslib_1.__metadata("design:type", Number),
|
|
1285
1370
|
tslib_1.__metadata("design:paramtypes", [Number])
|
|
1286
1371
|
], MultiSelectComponent.prototype, "tabIndex", null);
|
|
1372
|
+
tslib_1.__decorate([
|
|
1373
|
+
Input(),
|
|
1374
|
+
tslib_1.__metadata("design:type", String),
|
|
1375
|
+
tslib_1.__metadata("design:paramtypes", [String])
|
|
1376
|
+
], MultiSelectComponent.prototype, "size", null);
|
|
1377
|
+
tslib_1.__decorate([
|
|
1378
|
+
Input(),
|
|
1379
|
+
tslib_1.__metadata("design:type", String),
|
|
1380
|
+
tslib_1.__metadata("design:paramtypes", [String])
|
|
1381
|
+
], MultiSelectComponent.prototype, "rounded", null);
|
|
1382
|
+
tslib_1.__decorate([
|
|
1383
|
+
Input(),
|
|
1384
|
+
tslib_1.__metadata("design:type", String),
|
|
1385
|
+
tslib_1.__metadata("design:paramtypes", [String])
|
|
1386
|
+
], MultiSelectComponent.prototype, "fillMode", null);
|
|
1287
1387
|
tslib_1.__decorate([
|
|
1288
1388
|
Input(),
|
|
1289
1389
|
tslib_1.__metadata("design:type", String),
|
|
@@ -1394,10 +1494,6 @@ tslib_1.__decorate([
|
|
|
1394
1494
|
ViewChild('popupTemplate', { static: true }),
|
|
1395
1495
|
tslib_1.__metadata("design:type", TemplateRef)
|
|
1396
1496
|
], MultiSelectComponent.prototype, "popupTemplate", void 0);
|
|
1397
|
-
tslib_1.__decorate([
|
|
1398
|
-
ViewChild('wrapper', { static: true }),
|
|
1399
|
-
tslib_1.__metadata("design:type", ElementRef)
|
|
1400
|
-
], MultiSelectComponent.prototype, "wrapper", void 0);
|
|
1401
1497
|
tslib_1.__decorate([
|
|
1402
1498
|
ViewChild('optionsList', { static: false }),
|
|
1403
1499
|
tslib_1.__metadata("design:type", ListComponent)
|
|
@@ -1439,20 +1535,31 @@ tslib_1.__decorate([
|
|
|
1439
1535
|
tslib_1.__metadata("design:type", NoDataTemplateDirective)
|
|
1440
1536
|
], MultiSelectComponent.prototype, "noDataTemplate", void 0);
|
|
1441
1537
|
tslib_1.__decorate([
|
|
1442
|
-
HostBinding('class.k-widget'),
|
|
1443
1538
|
HostBinding('class.k-multiselect'),
|
|
1539
|
+
HostBinding('class.k-input'),
|
|
1444
1540
|
tslib_1.__metadata("design:type", Boolean)
|
|
1445
|
-
], MultiSelectComponent.prototype, "
|
|
1541
|
+
], MultiSelectComponent.prototype, "hostClasses", void 0);
|
|
1446
1542
|
tslib_1.__decorate([
|
|
1447
1543
|
HostBinding('attr.dir'),
|
|
1448
1544
|
tslib_1.__metadata("design:type", String),
|
|
1449
1545
|
tslib_1.__metadata("design:paramtypes", [])
|
|
1450
1546
|
], MultiSelectComponent.prototype, "dir", null);
|
|
1451
1547
|
tslib_1.__decorate([
|
|
1452
|
-
HostBinding('class.k-
|
|
1548
|
+
HostBinding('class.k-disabled'),
|
|
1453
1549
|
tslib_1.__metadata("design:type", Boolean),
|
|
1454
1550
|
tslib_1.__metadata("design:paramtypes", [])
|
|
1455
1551
|
], MultiSelectComponent.prototype, "disabledClass", null);
|
|
1552
|
+
tslib_1.__decorate([
|
|
1553
|
+
HostBinding('class.k-loading'),
|
|
1554
|
+
tslib_1.__metadata("design:type", Boolean),
|
|
1555
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
1556
|
+
], MultiSelectComponent.prototype, "isLoading", null);
|
|
1557
|
+
tslib_1.__decorate([
|
|
1558
|
+
HostListener('mousedown', ['$event']),
|
|
1559
|
+
tslib_1.__metadata("design:type", Function),
|
|
1560
|
+
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
1561
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
1562
|
+
], MultiSelectComponent.prototype, "hostMousedown", null);
|
|
1456
1563
|
MultiSelectComponent = MultiSelectComponent_1 = tslib_1.__decorate([
|
|
1457
1564
|
Component({
|
|
1458
1565
|
exportAs: 'kendoMultiSelect',
|
|
@@ -1484,24 +1591,22 @@ MultiSelectComponent = MultiSelectComponent_1 = tslib_1.__decorate([
|
|
|
1484
1591
|
clearTitle="clear"
|
|
1485
1592
|
>
|
|
1486
1593
|
</ng-container>
|
|
1487
|
-
<
|
|
1488
|
-
|
|
1489
|
-
|
|
1594
|
+
<kendo-taglist
|
|
1595
|
+
[size]="size"
|
|
1596
|
+
[rounded]="rounded"
|
|
1597
|
+
[fillMode]="fillMode"
|
|
1598
|
+
[id]="tagListId"
|
|
1599
|
+
[tags]="tags"
|
|
1600
|
+
[textField]="textField"
|
|
1601
|
+
[valueField]="valueField"
|
|
1602
|
+
[focused]="focusedTagIndex"
|
|
1603
|
+
[disabled]="disabled"
|
|
1604
|
+
[template]="tagTemplate"
|
|
1605
|
+
[groupTemplate]="groupTagTemplate"
|
|
1606
|
+
[tagPrefix]="tagPrefix"
|
|
1607
|
+
[disabledIndices]="disabledIndices"
|
|
1608
|
+
(removeTag)="handleRemoveTag($event)"
|
|
1490
1609
|
>
|
|
1491
|
-
<kendo-taglist
|
|
1492
|
-
[id]="tagListId"
|
|
1493
|
-
[tags]="tags"
|
|
1494
|
-
[textField]="textField"
|
|
1495
|
-
[valueField]="valueField"
|
|
1496
|
-
[focused]="focusedTagIndex"
|
|
1497
|
-
[disabled]="disabled"
|
|
1498
|
-
[template]="tagTemplate"
|
|
1499
|
-
[groupTemplate]="groupTagTemplate"
|
|
1500
|
-
[tagPrefix]="tagPrefix"
|
|
1501
|
-
[disabledIndices]="disabledIndices"
|
|
1502
|
-
(removeTag)="handleRemoveTag($event)"
|
|
1503
|
-
>
|
|
1504
|
-
</kendo-taglist>
|
|
1505
1610
|
<kendo-searchbar
|
|
1506
1611
|
#searchbar
|
|
1507
1612
|
[id]="focusableId"
|
|
@@ -1521,22 +1626,24 @@ MultiSelectComponent = MultiSelectComponent_1 = tslib_1.__decorate([
|
|
|
1521
1626
|
(onFocus)="onSearchBarFocus()"
|
|
1522
1627
|
>
|
|
1523
1628
|
</kendo-searchbar>
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1629
|
+
</kendo-taglist>
|
|
1630
|
+
|
|
1631
|
+
<span
|
|
1632
|
+
*ngIf="!loading && !readonly && clearButton && (tags?.length || text?.length)"
|
|
1633
|
+
class="k-clear-value"
|
|
1634
|
+
[style.visibility]="clearButtonVisiblity"
|
|
1635
|
+
[attr.title]="clearTitle"
|
|
1636
|
+
role="button"
|
|
1637
|
+
tabindex="-1"
|
|
1638
|
+
(mousedown)="clearAll($event)"
|
|
1639
|
+
>
|
|
1640
|
+
<span class="k-icon k-i-x"></span>
|
|
1641
|
+
</span>
|
|
1642
|
+
<span
|
|
1643
|
+
*ngIf="loading"
|
|
1644
|
+
class="k-icon k-i-loading"
|
|
1645
|
+
>
|
|
1646
|
+
</span>
|
|
1540
1647
|
<ng-template #popupTemplate>
|
|
1541
1648
|
<!--header template-->
|
|
1542
1649
|
<ng-template *ngIf="headerTemplate"
|
|
@@ -1545,8 +1652,12 @@ MultiSelectComponent = MultiSelectComponent_1 = tslib_1.__decorate([
|
|
|
1545
1652
|
}">
|
|
1546
1653
|
</ng-template>
|
|
1547
1654
|
<!--custom item template-->
|
|
1548
|
-
<div
|
|
1549
|
-
|
|
1655
|
+
<div
|
|
1656
|
+
*ngIf="allowCustom && text"
|
|
1657
|
+
class="k-list"
|
|
1658
|
+
[ngClass]="customItemSizeClass"
|
|
1659
|
+
>
|
|
1660
|
+
<div class="k-list-item k-custom-item" kendoDropDownsSelectable [multipleSelection]="true" [index]="-1">
|
|
1550
1661
|
<ng-template *ngIf="customItemTemplate;else default_custom_item_template"
|
|
1551
1662
|
[templateContext]="{
|
|
1552
1663
|
templateRef: customItemTemplate.templateRef,
|
|
@@ -1560,6 +1671,8 @@ MultiSelectComponent = MultiSelectComponent_1 = tslib_1.__decorate([
|
|
|
1560
1671
|
<!--list-->
|
|
1561
1672
|
<kendo-list
|
|
1562
1673
|
#optionsList
|
|
1674
|
+
[size]="size"
|
|
1675
|
+
[rounded]="rounded"
|
|
1563
1676
|
[id]="listBoxId"
|
|
1564
1677
|
[optionPrefix]="optionPrefix"
|
|
1565
1678
|
[data]="data"
|
|
@@ -1577,7 +1690,7 @@ MultiSelectComponent = MultiSelectComponent_1 = tslib_1.__decorate([
|
|
|
1577
1690
|
>
|
|
1578
1691
|
</kendo-list>
|
|
1579
1692
|
<!--no data template-->
|
|
1580
|
-
<div class="k-
|
|
1693
|
+
<div class="k-no-data" *ngIf="data.length === 0">
|
|
1581
1694
|
<ng-template [ngIf]="noDataTemplate"
|
|
1582
1695
|
[templateContext]="{
|
|
1583
1696
|
templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined
|
|
@@ -1601,7 +1714,8 @@ MultiSelectComponent = MultiSelectComponent_1 = tslib_1.__decorate([
|
|
|
1601
1714
|
`
|
|
1602
1715
|
}),
|
|
1603
1716
|
tslib_1.__param(11, Optional()), tslib_1.__param(11, Inject(TOUCH_ENABLED)),
|
|
1604
|
-
tslib_1.__metadata("design:paramtypes", [
|
|
1717
|
+
tslib_1.__metadata("design:paramtypes", [ElementRef,
|
|
1718
|
+
LocalizationService,
|
|
1605
1719
|
PopupService,
|
|
1606
1720
|
DataService,
|
|
1607
1721
|
SelectionService,
|
|
@@ -1610,7 +1724,6 @@ MultiSelectComponent = MultiSelectComponent_1 = tslib_1.__decorate([
|
|
|
1610
1724
|
ChangeDetectorRef,
|
|
1611
1725
|
KeyValueDiffers,
|
|
1612
1726
|
Renderer2,
|
|
1613
|
-
ElementRef,
|
|
1614
1727
|
NgZone, Boolean])
|
|
1615
1728
|
], MultiSelectComponent);
|
|
1616
1729
|
export { MultiSelectComponent };
|
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-dropdowns',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
12
|
+
publishDate: 1642580652,
|
|
13
13
|
version: '',
|
|
14
14
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
|
|
15
15
|
};
|