@progress/kendo-angular-dropdowns 5.5.0 → 6.0.0-dev.202201171002

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.
Files changed (75) hide show
  1. package/LICENSE.md +1 -1
  2. package/NOTICE.txt +119 -79
  3. package/README.md +1 -1
  4. package/dist/cdn/js/kendo-angular-dropdowns.js +2 -2
  5. package/dist/cdn/main.js +1 -1
  6. package/dist/es/autocomplete/autocomplete.component.js +120 -5
  7. package/dist/es/comboboxes/combobox.component.js +141 -20
  8. package/dist/es/comboboxes/multicolumncombobox.component.js +30 -10
  9. package/dist/es/common/list.component.js +97 -5
  10. package/dist/es/common/models/fillmode.js +4 -0
  11. package/dist/es/common/models/list-type.js +4 -0
  12. package/dist/es/common/models/rounded.js +4 -0
  13. package/dist/es/common/models/size.js +4 -0
  14. package/dist/es/common/searchbar.component.js +1 -1
  15. package/dist/es/common/selection/selectable.directive.js +2 -2
  16. package/dist/es/common/taglist.component.js +58 -5
  17. package/dist/es/common/util.js +37 -0
  18. package/dist/es/dropdownlist/dropdownlist.component.js +338 -46
  19. package/dist/es/dropdowntrees/dropdowntree.component.js +276 -42
  20. package/dist/es/dropdowntrees/multiselecttree.component.js +307 -46
  21. package/dist/es/multiselect/multiselect.component.js +162 -35
  22. package/dist/es/package-metadata.js +1 -1
  23. package/dist/es2015/autocomplete/autocomplete.component.d.ts +42 -0
  24. package/dist/es2015/autocomplete/autocomplete.component.js +109 -7
  25. package/dist/es2015/comboboxes/combobox.component.d.ts +49 -4
  26. package/dist/es2015/comboboxes/combobox.component.js +207 -106
  27. package/dist/es2015/comboboxes/multicolumncombobox.component.d.ts +9 -1
  28. package/dist/es2015/comboboxes/multicolumncombobox.component.js +185 -166
  29. package/dist/es2015/common/list.component.d.ts +26 -1
  30. package/dist/es2015/common/list.component.js +129 -37
  31. package/dist/es2015/common/models/fillmode.d.ts +14 -0
  32. package/dist/es2015/common/models/fillmode.js +4 -0
  33. package/dist/es2015/common/models/list-type.d.ts +8 -0
  34. package/dist/es2015/common/models/list-type.js +4 -0
  35. package/dist/es2015/common/models/rounded.d.ts +15 -0
  36. package/dist/es2015/common/models/rounded.js +4 -0
  37. package/dist/es2015/common/models/size.d.ts +14 -0
  38. package/dist/es2015/common/models/size.js +4 -0
  39. package/dist/es2015/common/searchbar.component.js +1 -1
  40. package/dist/es2015/common/selection/selectable.directive.js +2 -2
  41. package/dist/es2015/common/taglist.component.d.ts +13 -1
  42. package/dist/es2015/common/taglist.component.js +102 -47
  43. package/dist/es2015/common/util.d.ts +17 -0
  44. package/dist/es2015/common/util.js +37 -0
  45. package/dist/es2015/dropdownlist/dropdownlist.component.d.ts +77 -13
  46. package/dist/es2015/dropdownlist/dropdownlist.component.js +390 -159
  47. package/dist/es2015/dropdowntrees/dropdowntree.component.d.ts +71 -13
  48. package/dist/es2015/dropdowntrees/dropdowntree.component.js +287 -99
  49. package/dist/es2015/dropdowntrees/multiselecttree.component.d.ts +72 -12
  50. package/dist/es2015/dropdowntrees/multiselecttree.component.js +319 -117
  51. package/dist/es2015/index.metadata.json +1 -1
  52. package/dist/es2015/multiselect/multiselect.component.d.ts +53 -8
  53. package/dist/es2015/multiselect/multiselect.component.js +183 -70
  54. package/dist/es2015/package-metadata.js +1 -1
  55. package/dist/fesm2015/index.js +1974 -834
  56. package/dist/fesm5/index.js +1577 -225
  57. package/dist/npm/autocomplete/autocomplete.component.js +119 -4
  58. package/dist/npm/comboboxes/combobox.component.js +140 -19
  59. package/dist/npm/comboboxes/multicolumncombobox.component.js +29 -9
  60. package/dist/npm/common/list.component.js +96 -4
  61. package/dist/npm/common/models/fillmode.js +6 -0
  62. package/dist/npm/common/models/list-type.js +6 -0
  63. package/dist/npm/common/models/rounded.js +6 -0
  64. package/dist/npm/common/models/size.js +6 -0
  65. package/dist/npm/common/searchbar.component.js +1 -1
  66. package/dist/npm/common/selection/selectable.directive.js +2 -2
  67. package/dist/npm/common/taglist.component.js +56 -3
  68. package/dist/npm/common/util.js +37 -0
  69. package/dist/npm/dropdownlist/dropdownlist.component.js +336 -44
  70. package/dist/npm/dropdowntrees/dropdowntree.component.js +274 -40
  71. package/dist/npm/dropdowntrees/multiselecttree.component.js +304 -43
  72. package/dist/npm/multiselect/multiselect.component.js +160 -33
  73. package/dist/npm/package-metadata.js +1 -1
  74. package/dist/systemjs/kendo-angular-dropdowns.js +1 -1
  75. package/package.json +18 -14
@@ -19,7 +19,7 @@ import { SelectionService } from '../common/selection/selection.service';
19
19
  import { NavigationService } from '../common/navigation/navigation.service';
20
20
  import { DisabledItemsService } from '../common/disabled-items/disabled-items.service';
21
21
  import { Subject, merge } from 'rxjs';
22
- import { isPresent, guid, getter, isUntouched, noop, inDropDown } from '../common/util';
22
+ import { isPresent, guid, getter, isUntouched, noop, inDropDown, getSizeClass, getRoundedClass, getFillModeClass } from '../common/util';
23
23
  import { NavigationAction } from '../common/navigation/navigation-action';
24
24
  import { NoDataTemplateDirective } from '../common/templates/no-data-template.directive';
25
25
  import { PreventableEvent } from '../common/models/preventable-event';
@@ -168,6 +168,9 @@ var AutoCompleteComponent = /** @class */ (function () {
168
168
  this._value = "";
169
169
  this.valueChangeSubject = new Subject();
170
170
  this._isFocused = false;
171
+ this._size = 'medium';
172
+ this._rounded = 'medium';
173
+ this._fillMode = 'solid';
171
174
  validatePackage(packageMetadata);
172
175
  this.direction = localization.rtl ? 'rtl' : 'ltr';
173
176
  this.wrapper = this.hostElement.nativeElement;
@@ -418,12 +421,85 @@ var AutoCompleteComponent = /** @class */ (function () {
418
421
  enumerable: true,
419
422
  configurable: true
420
423
  });
424
+ Object.defineProperty(AutoCompleteComponent.prototype, "size", {
425
+ get: function () {
426
+ return this._size;
427
+ },
428
+ /**
429
+ * Sets the size of the component.
430
+ *
431
+ * The possible values are:
432
+ * * `'small'`
433
+ * * `'medium'` (default)
434
+ * * `'large'`
435
+ * * `null`
436
+ *
437
+ */
438
+ set: function (size) {
439
+ this.renderer.removeClass(this.wrapper, getSizeClass('input', this.size));
440
+ if (size) {
441
+ this.renderer.addClass(this.wrapper, getSizeClass('input', size));
442
+ }
443
+ this._size = size;
444
+ },
445
+ enumerable: true,
446
+ configurable: true
447
+ });
448
+ Object.defineProperty(AutoCompleteComponent.prototype, "rounded", {
449
+ get: function () {
450
+ return this._rounded;
451
+ },
452
+ /**
453
+ * Sets the border radius of the component.
454
+ *
455
+ * The possible values are:
456
+ * * `'small'`
457
+ * * `'medium'` (default)
458
+ * * `'large'`
459
+ * * `'full'`
460
+ * * `null`
461
+ *
462
+ */
463
+ set: function (rounded) {
464
+ this.renderer.removeClass(this.wrapper, getRoundedClass(this.rounded));
465
+ if (rounded) {
466
+ this.renderer.addClass(this.wrapper, getRoundedClass(rounded));
467
+ }
468
+ this._rounded = rounded;
469
+ },
470
+ enumerable: true,
471
+ configurable: true
472
+ });
473
+ Object.defineProperty(AutoCompleteComponent.prototype, "fillMode", {
474
+ get: function () {
475
+ return this._fillMode;
476
+ },
477
+ /**
478
+ * Sets the fillMode of the component.
479
+ *
480
+ * The possible values are:
481
+ * * `'flat'`
482
+ * * `'solid'` (default)
483
+ * * `'outline'`
484
+ * * `null`
485
+ *
486
+ */
487
+ set: function (fillMode) {
488
+ this.renderer.removeClass(this.wrapper, getFillModeClass('input', this.fillMode));
489
+ if (fillMode) {
490
+ this.renderer.addClass(this.wrapper, getFillModeClass('input', fillMode));
491
+ }
492
+ this._fillMode = fillMode;
493
+ },
494
+ enumerable: true,
495
+ configurable: true
496
+ });
421
497
  Object.defineProperty(AutoCompleteComponent.prototype, "isFocused", {
422
498
  get: function () {
423
499
  return this._isFocused;
424
500
  },
425
501
  set: function (isFocused) {
426
- this.renderer[isFocused ? 'addClass' : 'removeClass'](this.wrapper, "k-state-focused");
502
+ this.renderer[isFocused ? 'addClass' : 'removeClass'](this.wrapper, "k-focus");
427
503
  this._isFocused = isFocused;
428
504
  },
429
505
  enumerable: true,
@@ -436,6 +512,13 @@ var AutoCompleteComponent = /** @class */ (function () {
436
512
  enumerable: true,
437
513
  configurable: true
438
514
  });
515
+ Object.defineProperty(AutoCompleteComponent.prototype, "isLoading", {
516
+ get: function () {
517
+ return this.loading;
518
+ },
519
+ enumerable: true,
520
+ configurable: true
521
+ });
439
522
  Object.defineProperty(AutoCompleteComponent.prototype, "dir", {
440
523
  get: function () {
441
524
  return this.direction;
@@ -454,6 +537,7 @@ var AutoCompleteComponent = /** @class */ (function () {
454
537
  _this.setMessages();
455
538
  });
456
539
  this.setMessages();
540
+ this.setComponentClasses();
457
541
  };
458
542
  AutoCompleteComponent.prototype.ngOnDestroy = function () {
459
543
  this.destroyPopup();
@@ -890,6 +974,17 @@ var AutoCompleteComponent = /** @class */ (function () {
890
974
  });
891
975
  });
892
976
  };
977
+ AutoCompleteComponent.prototype.setComponentClasses = function () {
978
+ if (this.size) {
979
+ this.renderer.addClass(this.wrapper, getSizeClass('input', this.size));
980
+ }
981
+ if (this.rounded) {
982
+ this.renderer.addClass(this.wrapper, getRoundedClass(this.rounded));
983
+ }
984
+ if (this.fillMode) {
985
+ this.renderer.addClass(this.wrapper, getFillModeClass('input', this.fillMode));
986
+ }
987
+ };
893
988
  var AutoCompleteComponent_1;
894
989
  tslib_1.__decorate([
895
990
  Input(),
@@ -969,6 +1064,21 @@ var AutoCompleteComponent = /** @class */ (function () {
969
1064
  tslib_1.__metadata("design:type", Object),
970
1065
  tslib_1.__metadata("design:paramtypes", [Object])
971
1066
  ], AutoCompleteComponent.prototype, "virtual", null);
1067
+ tslib_1.__decorate([
1068
+ Input(),
1069
+ tslib_1.__metadata("design:type", String),
1070
+ tslib_1.__metadata("design:paramtypes", [String])
1071
+ ], AutoCompleteComponent.prototype, "size", null);
1072
+ tslib_1.__decorate([
1073
+ Input(),
1074
+ tslib_1.__metadata("design:type", String),
1075
+ tslib_1.__metadata("design:paramtypes", [String])
1076
+ ], AutoCompleteComponent.prototype, "rounded", null);
1077
+ tslib_1.__decorate([
1078
+ Input(),
1079
+ tslib_1.__metadata("design:type", String),
1080
+ tslib_1.__metadata("design:paramtypes", [String])
1081
+ ], AutoCompleteComponent.prototype, "fillMode", null);
972
1082
  tslib_1.__decorate([
973
1083
  Output(),
974
1084
  tslib_1.__metadata("design:type", EventEmitter)
@@ -1042,15 +1152,20 @@ var AutoCompleteComponent = /** @class */ (function () {
1042
1152
  tslib_1.__metadata("design:type", ListComponent)
1043
1153
  ], AutoCompleteComponent.prototype, "optionsList", void 0);
1044
1154
  tslib_1.__decorate([
1045
- HostBinding('class.k-widget'),
1046
1155
  HostBinding('class.k-autocomplete'),
1156
+ HostBinding('class.k-input'),
1047
1157
  tslib_1.__metadata("design:type", Boolean)
1048
1158
  ], AutoCompleteComponent.prototype, "widgetClasses", void 0);
1049
1159
  tslib_1.__decorate([
1050
- HostBinding('class.k-state-disabled'),
1160
+ HostBinding('class.k-disabled'),
1051
1161
  tslib_1.__metadata("design:type", Boolean),
1052
1162
  tslib_1.__metadata("design:paramtypes", [])
1053
1163
  ], AutoCompleteComponent.prototype, "isDisabled", null);
1164
+ tslib_1.__decorate([
1165
+ HostBinding('class.k-loading'),
1166
+ tslib_1.__metadata("design:type", Boolean),
1167
+ tslib_1.__metadata("design:paramtypes", [])
1168
+ ], AutoCompleteComponent.prototype, "isLoading", null);
1054
1169
  tslib_1.__decorate([
1055
1170
  HostBinding('attr.dir'),
1056
1171
  tslib_1.__metadata("design:type", Object),
@@ -1080,7 +1195,7 @@ var AutoCompleteComponent = /** @class */ (function () {
1080
1195
  }
1081
1196
  ],
1082
1197
  selector: 'kendo-autocomplete',
1083
- template: "\n <ng-container kendoAutoCompleteLocalizedMessages\n i18n-noDataText=\"kendo.autocomplete.noDataText|The text displayed in the popup when there are no items\"\n noDataText=\"NO DATA FOUND\"\n\n i18n-clearTitle=\"kendo.autocomplete.clearTitle|The title of the clear button\"\n clearTitle=\"clear\"\n >\n </ng-container>\n <kendo-searchbar #searchbar\n [role]=\"'combobox'\"\n [id]=\"focusableId\"\n [listId]=\"listBoxId\"\n [activeDescendant]=\"activeDescendant\"\n [noDataLabel]=\"noDataLabel\"\n [userInput]=\"text\"\n [suggestedText]=\"suggestion\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabIndex]=\"tabIndex\"\n [popupOpen]=\"isOpen\"\n [placeholder]=\"placeholder\"\n (onNavigate)=\"handleNavigate($event)\"\n (valueChange)=\"searchBarChange($event)\"\n (onBlur)=\"handleBlur()\"\n (onFocus)=\"handleFocus()\"\n ></kendo-searchbar>\n <span\n *ngIf=\"!loading && !readonly && (clearButton && text?.length)\"\n class=\"k-icon k-clear-value k-i-close\"\n [style.visibility]=\"clearButtonVisiblity\"\n [attr.title]=\"clearTitle\"\n role=\"button\"\n tabindex=\"-1\"\n (click)=\"clearValue($event)\"\n (mousedown)=\"$event.preventDefault()\"\n >\n</span>\n <span *ngIf=\"loading\" class=\"k-icon k-i-loading\"></span>\n <ng-template #popupTemplate>\n <!--header template-->\n <ng-template *ngIf=\"headerTemplate\"\n [templateContext]=\"{\n templateRef: headerTemplate.templateRef\n }\">\n </ng-template>\n <!--list-->\n <kendo-list\n #optionsList\n [id]=\"listBoxId\"\n [optionPrefix]=\"optionPrefix\"\n [data]=\"data\"\n [textField]=\"valueField\"\n [valueField]=\"valueField\"\n [template]=\"template\"\n [groupTemplate]=\"groupTemplate\"\n [fixedGroupTemplate]=\"fixedGroupTemplate\"\n [height]=\"listHeight\"\n [show]=\"isOpen\"\n [virtual]=\"virtual\"\n (pageChange)=\"pageChange($event)\"\n >\n </kendo-list>\n <!--no-data template-->\n <div class=\"k-nodata\" *ngIf=\"data.length === 0\">\n <ng-template [ngIf]=\"noDataTemplate\"\n [templateContext]=\"{\n templateRef: noDataTemplate?.templateRef\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!noDataTemplate\">\n <div>{{ noDataText }}</div>\n </ng-template>\n </div>\n <!--footer template-->\n <ng-template *ngIf=\"footerTemplate\"\n [templateContext]=\"{\n templateRef: footerTemplate.templateRef\n }\">\n </ng-template>\n </ng-template>\n <ng-template [ngIf]=\"isOpen\">\n <kendo-resize-sensor (resize)=\"onResize()\"></kendo-resize-sensor>\n </ng-template>\n <ng-container #container></ng-container>\n "
1198
+ template: "\n <ng-container kendoAutoCompleteLocalizedMessages\n i18n-noDataText=\"kendo.autocomplete.noDataText|The text displayed in the popup when there are no items\"\n noDataText=\"NO DATA FOUND\"\n\n i18n-clearTitle=\"kendo.autocomplete.clearTitle|The title of the clear button\"\n clearTitle=\"clear\"\n >\n </ng-container>\n <kendo-searchbar #searchbar\n [role]=\"'combobox'\"\n [id]=\"focusableId\"\n [listId]=\"listBoxId\"\n [activeDescendant]=\"activeDescendant\"\n [noDataLabel]=\"noDataLabel\"\n [userInput]=\"text\"\n [suggestedText]=\"suggestion\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabIndex]=\"tabIndex\"\n [popupOpen]=\"isOpen\"\n [placeholder]=\"placeholder\"\n (onNavigate)=\"handleNavigate($event)\"\n (valueChange)=\"searchBarChange($event)\"\n (onBlur)=\"handleBlur()\"\n (onFocus)=\"handleFocus()\"\n ></kendo-searchbar>\n <span\n *ngIf=\"!loading && !readonly && (clearButton && text?.length)\"\n class=\"k-clear-value\"\n [style.visibility]=\"clearButtonVisiblity\"\n [attr.title]=\"clearTitle\"\n role=\"button\"\n tabindex=\"-1\"\n (click)=\"clearValue($event)\"\n (mousedown)=\"$event.preventDefault()\"\n >\n <span class=\"k-icon k-i-x\"></span>\n </span>\n <span *ngIf=\"loading\" class=\"k-icon k-i-loading\"></span>\n <ng-template #popupTemplate>\n <!--header template-->\n <ng-template *ngIf=\"headerTemplate\"\n [templateContext]=\"{\n templateRef: headerTemplate.templateRef\n }\">\n </ng-template>\n <!--list-->\n <kendo-list\n #optionsList\n [size]=\"size\"\n [rounded]=\"rounded\"\n [id]=\"listBoxId\"\n [optionPrefix]=\"optionPrefix\"\n [data]=\"data\"\n [textField]=\"valueField\"\n [valueField]=\"valueField\"\n [template]=\"template\"\n [groupTemplate]=\"groupTemplate\"\n [fixedGroupTemplate]=\"fixedGroupTemplate\"\n [height]=\"listHeight\"\n [show]=\"isOpen\"\n [virtual]=\"virtual\"\n (pageChange)=\"pageChange($event)\"\n >\n </kendo-list>\n <!--no-data template-->\n <div class=\"k-no-data\" *ngIf=\"data.length === 0\">\n <ng-template [ngIf]=\"noDataTemplate\"\n [templateContext]=\"{\n templateRef: noDataTemplate?.templateRef\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!noDataTemplate\">\n <div>{{ noDataText }}</div>\n </ng-template>\n </div>\n <!--footer template-->\n <ng-template *ngIf=\"footerTemplate\"\n [templateContext]=\"{\n templateRef: footerTemplate.templateRef\n }\">\n </ng-template>\n </ng-template>\n <ng-template [ngIf]=\"isOpen\">\n <kendo-resize-sensor (resize)=\"onResize()\"></kendo-resize-sensor>\n </ng-template>\n <ng-container #container></ng-container>\n "
1084
1199
  }),
1085
1200
  tslib_1.__param(10, Optional()), tslib_1.__param(10, Inject(TOUCH_ENABLED)),
1086
1201
  tslib_1.__metadata("design:paramtypes", [LocalizationService,
@@ -21,7 +21,7 @@ import { DisabledItemsService } from '../common/disabled-items/disabled-items.se
21
21
  import { merge, of, Subject, Subscription } from 'rxjs';
22
22
  import { catchError, filter, map, partition, tap, throttleTime } from 'rxjs/operators';
23
23
  import { isChanged, isDocumentAvailable, KendoInput, hasObservers, anyChanged } from '@progress/kendo-angular-common';
24
- import { isPresent, guid, getter, isEmptyString, isUntouched, inDropDown } from '../common/util';
24
+ import { isPresent, guid, getter, isEmptyString, isUntouched, inDropDown, getSizeClass, getRoundedClass, getFillModeClass } from '../common/util';
25
25
  import { NavigationAction } from '../common/navigation/navigation-action';
26
26
  import { Keys } from '@progress/kendo-angular-common';
27
27
  import { PreventableEvent } from '../common/models/preventable-event';
@@ -60,7 +60,8 @@ export var COMBOBOX_VALUE_ACCESSOR = {
60
60
  * ```
61
61
  */
62
62
  var ComboBoxComponent = /** @class */ (function () {
63
- function ComboBoxComponent(localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, cdr, renderer, hostElement, touchEnabled) {
63
+ function ComboBoxComponent(wrapper, localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, cdr, renderer, touchEnabled) {
64
+ this.wrapper = wrapper;
64
65
  this.localization = localization;
65
66
  this.popupService = popupService;
66
67
  this.selectionService = selectionService;
@@ -70,7 +71,6 @@ var ComboBoxComponent = /** @class */ (function () {
70
71
  this.zone = zone;
71
72
  this.cdr = cdr;
72
73
  this.renderer = renderer;
73
- this.hostElement = hostElement;
74
74
  this.touchEnabled = touchEnabled;
75
75
  this.selected = [];
76
76
  /**
@@ -237,6 +237,9 @@ var ComboBoxComponent = /** @class */ (function () {
237
237
  this.valueSubject = new Subject();
238
238
  this.clearValueSubject = new Subject();
239
239
  this.subs = new Subscription();
240
+ this._size = 'medium';
241
+ this._rounded = 'medium';
242
+ this._fillMode = 'solid';
240
243
  validatePackage(packageMetadata);
241
244
  this.direction = localization.rtl ? 'rtl' : 'ltr';
242
245
  this.data = [];
@@ -440,9 +443,89 @@ var ComboBoxComponent = /** @class */ (function () {
440
443
  enumerable: true,
441
444
  configurable: true
442
445
  });
443
- Object.defineProperty(ComboBoxComponent.prototype, "clearable", {
446
+ Object.defineProperty(ComboBoxComponent.prototype, "size", {
444
447
  get: function () {
445
- return this.clearButton;
448
+ return this._size;
449
+ },
450
+ /**
451
+ * Sets the size of the component.
452
+ *
453
+ * The possible values are:
454
+ * * `'small'`
455
+ * * `'medium'` (default)
456
+ * * `'large'`
457
+ * * `null`
458
+ *
459
+ */
460
+ set: function (size) {
461
+ this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
462
+ if (size) {
463
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', size));
464
+ }
465
+ this._size = size;
466
+ },
467
+ enumerable: true,
468
+ configurable: true
469
+ });
470
+ Object.defineProperty(ComboBoxComponent.prototype, "rounded", {
471
+ get: function () {
472
+ return this._rounded;
473
+ },
474
+ /**
475
+ * Sets the border radius of the component.
476
+ *
477
+ * The possible values are:
478
+ * * `'small'`
479
+ * * `'medium'` (default)
480
+ * * `'large'`
481
+ * * `'full'`
482
+ * * `null`
483
+ *
484
+ */
485
+ set: function (rounded) {
486
+ this.renderer.removeClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
487
+ if (rounded) {
488
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(rounded));
489
+ }
490
+ this._rounded = rounded;
491
+ },
492
+ enumerable: true,
493
+ configurable: true
494
+ });
495
+ Object.defineProperty(ComboBoxComponent.prototype, "fillMode", {
496
+ get: function () {
497
+ return this._fillMode;
498
+ },
499
+ /**
500
+ * Sets the fillMode of the component.
501
+ *
502
+ * The possible values are:
503
+ * * `'flat'`
504
+ * * `'solid'` (default)
505
+ * * `'outline'`
506
+ * * `null`
507
+ *
508
+ */
509
+ set: function (fillMode) {
510
+ this.renderer.removeClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
511
+ if (fillMode) {
512
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', fillMode));
513
+ }
514
+ this._fillMode = fillMode;
515
+ },
516
+ enumerable: true,
517
+ configurable: true
518
+ });
519
+ Object.defineProperty(ComboBoxComponent.prototype, "isDisabled", {
520
+ get: function () {
521
+ return this.disabled;
522
+ },
523
+ enumerable: true,
524
+ configurable: true
525
+ });
526
+ Object.defineProperty(ComboBoxComponent.prototype, "isLoading", {
527
+ get: function () {
528
+ return this.loading;
446
529
  },
447
530
  enumerable: true,
448
531
  configurable: true
@@ -459,7 +542,7 @@ var ComboBoxComponent = /** @class */ (function () {
459
542
  return this._isFocused;
460
543
  },
461
544
  set: function (value) {
462
- this.renderer[value ? 'addClass' : 'removeClass'](this.wrapper.nativeElement, "k-state-focused");
545
+ this.renderer[value ? 'addClass' : 'removeClass'](this.wrapper.nativeElement, "k-focus");
463
546
  this._isFocused = value;
464
547
  },
465
548
  enumerable: true,
@@ -497,12 +580,13 @@ var ComboBoxComponent = /** @class */ (function () {
497
580
  configurable: true
498
581
  });
499
582
  ComboBoxComponent.prototype.ngOnInit = function () {
500
- this.renderer.removeAttribute(this.hostElement.nativeElement, 'tabindex');
583
+ this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
501
584
  this.attachStreams();
502
585
  this.createValueStream();
503
586
  this.subscribeTouchEvents();
504
587
  this.attachSelectClickHandler();
505
588
  this.setMessages();
589
+ this.setComponentClasses();
506
590
  };
507
591
  ComboBoxComponent.prototype.createValueStream = function () {
508
592
  var _this = this;
@@ -792,6 +876,16 @@ var ComboBoxComponent = /** @class */ (function () {
792
876
  enumerable: true,
793
877
  configurable: true
794
878
  });
879
+ Object.defineProperty(ComboBoxComponent.prototype, "selectButtonClasses", {
880
+ /**
881
+ * @hidden
882
+ */
883
+ get: function () {
884
+ return (this.size ? getSizeClass('button', this.size) : '') + " " + (this.fillMode ? 'k-button-' + this.fillMode : '') + " " + (this.fillMode ? 'k-button-' + this.fillMode + '-base' : '') + "\n ";
885
+ },
886
+ enumerable: true,
887
+ configurable: true
888
+ });
795
889
  /**
796
890
  * @hidden
797
891
  */
@@ -1023,7 +1117,7 @@ var ComboBoxComponent = /** @class */ (function () {
1023
1117
  var currentText = this.searchbar.value;
1024
1118
  var textHasChanged = currentText !== (getter(this.dataItem, this.textField) || '');
1025
1119
  var valueHasChanged = unresolvedSelection || textHasChanged;
1026
- var runInZone = valueHasChanged || hasObservers(this.onBlur) || hasObservers(this.close) || isUntouched(this.hostElement.nativeElement);
1120
+ var runInZone = valueHasChanged || hasObservers(this.onBlur) || hasObservers(this.close) || isUntouched(this.wrapper.nativeElement);
1027
1121
  if (runInZone) {
1028
1122
  this.zone.run(function () {
1029
1123
  if (valueHasChanged) {
@@ -1261,7 +1355,7 @@ var ComboBoxComponent = /** @class */ (function () {
1261
1355
  // Roll up ComboBox on iOS when tapped outside
1262
1356
  return _this.touchstartDisposeHandler = _this.renderer.listen(document, 'touchstart', function (e) {
1263
1357
  var target = e.target;
1264
- var isInDropDown = inDropDown(_this.hostElement, target, _this.popupRef);
1358
+ var isInDropDown = inDropDown(_this.wrapper, target, _this.popupRef);
1265
1359
  if (_this.isFocused && !isInDropDown) {
1266
1360
  // Close popup and mobile keyboard if searchbar is focused
1267
1361
  _this.zone.run(function () { return _this.blur(); });
@@ -1278,6 +1372,17 @@ var ComboBoxComponent = /** @class */ (function () {
1278
1372
  var event = pointers ? 'pointerdown' : 'click';
1279
1373
  this.selectClickDisposeHandler = this.renderer.listen(selectElement, event, this.selectClick.bind(this));
1280
1374
  };
1375
+ ComboBoxComponent.prototype.setComponentClasses = function () {
1376
+ if (this.size) {
1377
+ this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
1378
+ }
1379
+ if (this.rounded) {
1380
+ this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
1381
+ }
1382
+ if (this.fillMode) {
1383
+ this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
1384
+ }
1385
+ };
1281
1386
  var ComboBoxComponent_1;
1282
1387
  tslib_1.__decorate([
1283
1388
  Input(),
@@ -1374,6 +1479,21 @@ var ComboBoxComponent = /** @class */ (function () {
1374
1479
  tslib_1.__metadata("design:type", Object),
1375
1480
  tslib_1.__metadata("design:paramtypes", [Object])
1376
1481
  ], ComboBoxComponent.prototype, "virtual", null);
1482
+ tslib_1.__decorate([
1483
+ Input(),
1484
+ tslib_1.__metadata("design:type", String),
1485
+ tslib_1.__metadata("design:paramtypes", [String])
1486
+ ], ComboBoxComponent.prototype, "size", null);
1487
+ tslib_1.__decorate([
1488
+ Input(),
1489
+ tslib_1.__metadata("design:type", String),
1490
+ tslib_1.__metadata("design:paramtypes", [String])
1491
+ ], ComboBoxComponent.prototype, "rounded", null);
1492
+ tslib_1.__decorate([
1493
+ Input(),
1494
+ tslib_1.__metadata("design:type", String),
1495
+ tslib_1.__metadata("design:paramtypes", [String])
1496
+ ], ComboBoxComponent.prototype, "fillMode", null);
1377
1497
  tslib_1.__decorate([
1378
1498
  Output(),
1379
1499
  tslib_1.__metadata("design:type", EventEmitter)
@@ -1450,24 +1570,25 @@ var ComboBoxComponent = /** @class */ (function () {
1450
1570
  ViewChild('optionsList', { static: false }),
1451
1571
  tslib_1.__metadata("design:type", ListComponent)
1452
1572
  ], ComboBoxComponent.prototype, "optionsList", void 0);
1453
- tslib_1.__decorate([
1454
- ViewChild('wrapper', { static: true }),
1455
- tslib_1.__metadata("design:type", ElementRef)
1456
- ], ComboBoxComponent.prototype, "wrapper", void 0);
1457
1573
  tslib_1.__decorate([
1458
1574
  ViewChild('select', { static: true }),
1459
1575
  tslib_1.__metadata("design:type", ElementRef)
1460
1576
  ], ComboBoxComponent.prototype, "select", void 0);
1461
1577
  tslib_1.__decorate([
1462
- HostBinding('class.k-widget'),
1463
1578
  HostBinding('class.k-combobox'),
1579
+ HostBinding('class.k-input'),
1464
1580
  tslib_1.__metadata("design:type", Boolean)
1465
1581
  ], ComboBoxComponent.prototype, "widgetClasses", void 0);
1466
1582
  tslib_1.__decorate([
1467
- HostBinding('class.k-combobox-clearable'),
1583
+ HostBinding('class.k-disabled'),
1584
+ tslib_1.__metadata("design:type", Boolean),
1585
+ tslib_1.__metadata("design:paramtypes", [])
1586
+ ], ComboBoxComponent.prototype, "isDisabled", null);
1587
+ tslib_1.__decorate([
1588
+ HostBinding('class.k-loading'),
1468
1589
  tslib_1.__metadata("design:type", Boolean),
1469
1590
  tslib_1.__metadata("design:paramtypes", [])
1470
- ], ComboBoxComponent.prototype, "clearable", null);
1591
+ ], ComboBoxComponent.prototype, "isLoading", null);
1471
1592
  tslib_1.__decorate([
1472
1593
  HostBinding('attr.dir'),
1473
1594
  tslib_1.__metadata("design:type", Object),
@@ -1495,10 +1616,11 @@ var ComboBoxComponent = /** @class */ (function () {
1495
1616
  }
1496
1617
  ],
1497
1618
  selector: 'kendo-combobox',
1498
- template: "\n <ng-container kendoComboBoxLocalizedMessages\n i18n-noDataText=\"kendo.combobox.noDataText|The text displayed in the popup when there are no items\"\n noDataText=\"NO DATA FOUND\"\n\n i18n-clearTitle=\"kendo.combobox.clearTitle|The title of the clear button\"\n clearTitle=\"clear\"\n >\n </ng-container>\n <span #wrapper unselectable=\"on\"\n class=\"k-dropdown-wrap\"\n [ngClass]=\"{'k-state-disabled': disabled }\"\n >\n <kendo-searchbar #searchbar\n [role]=\"'combobox'\"\n [id]=\"focusableId\"\n [listId]=\"listBoxId\"\n [activeDescendant]=\"activeDescendant\"\n [noDataLabel]=\"noDataLabel\"\n [userInput]=\"text\"\n [suggestedText]=\"getSuggestion()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabIndex]=\"tabIndex\"\n [popupOpen]=\"isOpen\"\n [placeholder]=\"placeholder\"\n (onNavigate)=\"handleNavigate($event)\"\n (valueChange)=\"searchBarChange($event)\"\n (onBlur)=\"handleBlur()\"\n (onFocus)=\"handleFocus()\"\n ></kendo-searchbar>\n <span\n *ngIf=\"clearButton && !loading && !disabled && !readonly && text?.length\"\n class=\"k-icon k-clear-value k-i-close\"\n [style.visibility]=\"clearButtonVisiblity\"\n aria-hidden=\"true\"\n [attr.title]=\"clearTitle\"\n (click)=\"clearValue($event)\"\n [kendoEventsOutsideAngular]=\"{\n mousedown: preventEventDefault\n }\"\n >\n </span>\n <span\n #select\n aria-hidden=\"true\"\n unselectable=\"on\"\n class=\"k-select\"\n [kendoEventsOutsideAngular]=\"{\n mousedown: preventEventDefault\n }\"\n >\n <span class=\"k-icon\" [ngClass]=\"buttonClasses\">\n </span>\n </span>\n <ng-template #popupTemplate>\n <!--header template-->\n <ng-template *ngIf=\"headerTemplate\"\n [templateContext]=\"{\n templateRef: headerTemplate.templateRef\n }\">\n </ng-template>\n <!--list-->\n <kendo-list\n #optionsList\n [id]=\"listBoxId\"\n [optionPrefix]=\"optionPrefix\"\n [data]=\"data\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [template]=\"template\"\n [groupTemplate]=\"groupTemplate\"\n [fixedGroupTemplate]=\"fixedGroupTemplate\"\n [height]=\"listHeight\"\n [show]=\"isOpen\"\n [virtual]=\"virtual\"\n (pageChange)=\"pageChange($event)\"\n >\n </kendo-list>\n <!--no-data template-->\n <div class=\"k-nodata\" *ngIf=\"data.length === 0\">\n <ng-template [ngIf]=\"noDataTemplate\"\n [templateContext]=\"{\n templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!noDataTemplate\">\n <div>{{ noDataText }}</div>\n </ng-template>\n </div>\n <!--footer template-->\n <ng-template *ngIf=\"footerTemplate\"\n [templateContext]=\"{\n templateRef: footerTemplate.templateRef\n }\">\n </ng-template>\n </ng-template>\n </span>\n <ng-template [ngIf]=\"isOpen\">\n <kendo-resize-sensor (resize)=\"onResize()\"></kendo-resize-sensor>\n </ng-template>\n <ng-container #container></ng-container>\n "
1619
+ template: "\n <ng-container kendoComboBoxLocalizedMessages\n i18n-noDataText=\"kendo.combobox.noDataText|The text displayed in the popup when there are no items\"\n noDataText=\"NO DATA FOUND\"\n\n i18n-clearTitle=\"kendo.combobox.clearTitle|The title of the clear button\"\n clearTitle=\"clear\"\n >\n </ng-container>\n <kendo-searchbar #searchbar\n [role]=\"'combobox'\"\n [id]=\"focusableId\"\n [listId]=\"listBoxId\"\n [activeDescendant]=\"activeDescendant\"\n [noDataLabel]=\"noDataLabel\"\n [userInput]=\"text\"\n [suggestedText]=\"getSuggestion()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabIndex]=\"tabIndex\"\n [popupOpen]=\"isOpen\"\n [placeholder]=\"placeholder\"\n (onNavigate)=\"handleNavigate($event)\"\n (valueChange)=\"searchBarChange($event)\"\n (onBlur)=\"handleBlur()\"\n (onFocus)=\"handleFocus()\"\n ></kendo-searchbar>\n <span\n *ngIf=\"clearButton && !loading && !disabled && !readonly && text?.length\"\n class=\"k-clear-value\"\n [style.visibility]=\"clearButtonVisiblity\"\n aria-hidden=\"true\"\n [attr.title]=\"clearTitle\"\n (click)=\"clearValue($event)\"\n [kendoEventsOutsideAngular]=\"{\n mousedown: preventEventDefault\n }\"\n >\n <span class=\"k-icon k-i-x\"></span>\n </span>\n <button\n #select\n aria-hidden=\"true\"\n unselectable=\"on\"\n type=\"button\"\n class=\"k-input-button k-button k-icon-button\"\n [ngClass]=\"selectButtonClasses\"\n [kendoEventsOutsideAngular]=\"{\n mousedown: preventEventDefault\n }\"\n >\n <span class=\"k-button-icon k-icon\" [ngClass]=\"buttonClasses\"></span>\n </button>\n <ng-template #popupTemplate>\n <!--header template-->\n <ng-template *ngIf=\"headerTemplate\"\n [templateContext]=\"{\n templateRef: headerTemplate.templateRef\n }\">\n </ng-template>\n <!--list-->\n <kendo-list\n #optionsList\n [size]=\"size\"\n [rounded]=\"rounded\"\n [id]=\"listBoxId\"\n [optionPrefix]=\"optionPrefix\"\n [data]=\"data\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [template]=\"template\"\n [groupTemplate]=\"groupTemplate\"\n [fixedGroupTemplate]=\"fixedGroupTemplate\"\n [height]=\"listHeight\"\n [show]=\"isOpen\"\n [virtual]=\"virtual\"\n (pageChange)=\"pageChange($event)\"\n >\n </kendo-list>\n <!--no-data template-->\n <div class=\"k-no-data\" *ngIf=\"data.length === 0\">\n <ng-template [ngIf]=\"noDataTemplate\"\n [templateContext]=\"{\n templateRef: noDataTemplate ? noDataTemplate.templateRef : undefined\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!noDataTemplate\">\n <div>{{ noDataText }}</div>\n </ng-template>\n </div>\n <!--footer template-->\n <ng-template *ngIf=\"footerTemplate\"\n [templateContext]=\"{\n templateRef: footerTemplate.templateRef\n }\">\n </ng-template>\n </ng-template>\n <ng-template [ngIf]=\"isOpen\">\n <kendo-resize-sensor (resize)=\"onResize()\"></kendo-resize-sensor>\n </ng-template>\n <ng-container #container></ng-container>\n "
1499
1620
  }),
1500
1621
  tslib_1.__param(10, Optional()), tslib_1.__param(10, Inject(TOUCH_ENABLED)),
1501
- tslib_1.__metadata("design:paramtypes", [LocalizationService,
1622
+ tslib_1.__metadata("design:paramtypes", [ElementRef,
1623
+ LocalizationService,
1502
1624
  PopupService,
1503
1625
  SelectionService,
1504
1626
  NavigationService,
@@ -1506,8 +1628,7 @@ var ComboBoxComponent = /** @class */ (function () {
1506
1628
  DataService,
1507
1629
  NgZone,
1508
1630
  ChangeDetectorRef,
1509
- Renderer2,
1510
- ElementRef, Boolean])
1631
+ Renderer2, Boolean])
1511
1632
  ], ComboBoxComponent);
1512
1633
  return ComboBoxComponent;
1513
1634
  }());
@@ -15,7 +15,7 @@ import { DisabledItemsService } from '../common/disabled-items/disabled-items.se
15
15
  import { NavigationService } from '../common/navigation/navigation.service';
16
16
  import { SelectionService } from '../common/selection/selection.service';
17
17
  import { TOUCH_ENABLED } from '../common/constants/touch-enabled';
18
- import { getter, isObject, isPresent, noop } from '../common/util';
18
+ import { getSizeClass, getter, isObject, isPresent, noop } from '../common/util';
19
19
  import { getRowWidthFromColumnsMeta, scrollbarWidth } from './combobox-column/util';
20
20
  import { FilterableComponent } from '../common/filtering/filterable-component';
21
21
  import { MultiColumnComboBoxMessages } from '../common/constants/error-messages';
@@ -24,8 +24,8 @@ import { MultiColumnComboBoxMessages } from '../common/constants/error-messages'
24
24
  */
25
25
  var MultiColumnComboBoxComponent = /** @class */ (function (_super) {
26
26
  tslib_1.__extends(MultiColumnComboBoxComponent, _super);
27
- function MultiColumnComboBoxComponent(localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, hostElement, touchEnabled) {
28
- var _this = _super.call(this, localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, hostElement, touchEnabled) || this;
27
+ function MultiColumnComboBoxComponent(localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, wrapper, touchEnabled) {
28
+ var _this = _super.call(this, wrapper, localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, touchEnabled) || this;
29
29
  /**
30
30
  * @hidden
31
31
  */
@@ -38,6 +38,16 @@ var MultiColumnComboBoxComponent = /** @class */ (function (_super) {
38
38
  return _this;
39
39
  }
40
40
  MultiColumnComboBoxComponent_1 = MultiColumnComboBoxComponent;
41
+ Object.defineProperty(MultiColumnComboBoxComponent.prototype, "isDisabled", {
42
+ /**
43
+ * @hidden
44
+ */
45
+ get: function () {
46
+ return this.disabled;
47
+ },
48
+ enumerable: true,
49
+ configurable: true
50
+ });
41
51
  Object.defineProperty(MultiColumnComboBoxComponent.prototype, "header", {
42
52
  /**
43
53
  * @hidden
@@ -60,19 +70,24 @@ var MultiColumnComboBoxComponent = /** @class */ (function (_super) {
60
70
  enumerable: true,
61
71
  configurable: true
62
72
  });
73
+ Object.defineProperty(MultiColumnComboBoxComponent.prototype, "tableSizeClass", {
74
+ /**
75
+ * @hidden
76
+ */
77
+ get: function () {
78
+ return "" + (this.size ? getSizeClass('table', this.size) : '');
79
+ },
80
+ enumerable: true,
81
+ configurable: true
82
+ });
63
83
  Object.defineProperty(MultiColumnComboBoxComponent.prototype, "listContainerClasses", {
64
84
  /**
65
85
  * @hidden
66
86
  */
67
87
  get: function () {
68
88
  return [
69
- 'k-list-container',
70
89
  'k-popup',
71
- 'k-reset',
72
- 'k-group',
73
- 'k-dropdowngrid-popup',
74
- 'k-popup-flush',
75
- 'k-state-border-up'
90
+ 'k-dropdowngrid-popup'
76
91
  ].concat(this.popupSettings.popupClass || []);
77
92
  },
78
93
  enumerable: true,
@@ -155,6 +170,11 @@ var MultiColumnComboBoxComponent = /** @class */ (function (_super) {
155
170
  HostBinding('class.k-dropdowngrid'),
156
171
  tslib_1.__metadata("design:type", Boolean)
157
172
  ], MultiColumnComboBoxComponent.prototype, "hostClasses", void 0);
173
+ tslib_1.__decorate([
174
+ HostBinding('class.k-disabled'),
175
+ tslib_1.__metadata("design:type", Boolean),
176
+ tslib_1.__metadata("design:paramtypes", [])
177
+ ], MultiColumnComboBoxComponent.prototype, "isDisabled", null);
158
178
  tslib_1.__decorate([
159
179
  ContentChildren(ComboBoxColumnComponent),
160
180
  tslib_1.__metadata("design:type", QueryList)
@@ -191,7 +211,7 @@ var MultiColumnComboBoxComponent = /** @class */ (function (_super) {
191
211
  }
192
212
  ],
193
213
  selector: 'kendo-multicolumncombobox',
194
- template: "\n <ng-container\n kendoMultiColumnComboBoxLocalizedMessages\n\n i18n-noDataText=\"kendo.multicolumncombobox.noDataText|The text displayed in the popup when there are no items\"\n noDataText=\"NO DATA FOUND\"\n\n i18n-clearTitle=\"kendo.multicolumncombobox.clearTitle|The title of the clear button\"\n clearTitle=\"clear\"\n >\n </ng-container>\n <span\n #wrapper\n unselectable=\"on\"\n class=\"k-dropdown-wrap\"\n [class.k-state-disabled]=\"disabled\"\n >\n <kendo-searchbar\n #searchbar\n [role]=\"'combobox'\"\n [id]=\"focusableId\"\n [listId]=\"listBoxId\"\n [activeDescendant]=\"activeDescendant\"\n [noDataLabel]=\"noDataLabel\"\n [userInput]=\"text\"\n [suggestedText]=\"getSuggestion()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabIndex]=\"tabIndex\"\n [popupOpen]=\"isOpen\"\n [placeholder]=\"placeholder\"\n (onNavigate)=\"handleNavigate($event)\"\n (valueChange)=\"searchBarChange($event)\"\n (onBlur)=\"handleBlur()\"\n (onFocus)=\"handleFocus()\"\n >\n </kendo-searchbar>\n\n <span\n *ngIf=\"clearButton && !loading && !disabled && !readonly && text?.length\"\n class=\"k-icon k-clear-value k-i-close\"\n [style.visibility]=\"clearButtonVisiblity\"\n aria-hidden=\"true\"\n [attr.title]=\"clearTitle\"\n (click)=\"clearValue($event)\"\n [kendoEventsOutsideAngular]=\"{\n mousedown: preventEventDefault\n }\"\n >\n </span>\n\n <span\n #select\n aria-hidden=\"true\"\n unselectable=\"on\"\n class=\"k-select\"\n [kendoEventsOutsideAngular]=\"{\n mousedown: preventEventDefault\n }\"\n >\n <span\n class=\"k-icon\"\n [ngClass]=\"buttonClasses\"\n >\n </span>\n </span>\n </span>\n\n <ng-template #popupTemplate>\n <!--user-defined header template -->\n <ng-template\n *ngIf=\"headerTemplate\"\n [templateContext]=\"{\n templateRef: headerTemplate?.templateRef\n }\"\n >\n </ng-template>\n\n <!--grid header-->\n <div\n #header\n class=\"k-grid-header\"\n >\n <div class=\"k-grid-header-wrap\">\n <table role=\"presentation\">\n <colgroup>\n <ng-container *ngFor=\"let column of columns\">\n <col\n *ngIf=\"!column.hidden && column.matchesMedia\"\n [style.width.px]=\"column.width\"\n />\n </ng-container>\n </colgroup>\n <tbody>\n <tr>\n <ng-container *ngFor=\"let column of columns\">\n <th\n *ngIf=\"!column.hidden && column.matchesMedia\"\n class=\"k-header\"\n [ngStyle]=\"column.headerStyle\"\n [ngClass]=\"column.headerClass\"\n >\n <ng-container *ngIf=\"!column.headerTemplate\">\n {{ column.title || column.field }}\n </ng-container>\n <ng-template\n *ngIf=\"column.headerTemplate\"\n [templateContext]=\"{\n templateRef: column.headerTemplate?.templateRef,\n $implicit: column,\n column: column\n }\"\n >\n </ng-template>\n </th>\n </ng-container>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n\n <!-- item template -->\n <ng-template #rowTemplate let-dataItem>\n <ng-container *ngFor=\"let column of columns\">\n <span\n *ngIf=\"!column.hidden && column.matchesMedia\"\n class=\"k-cell\"\n [ngClass]=\"column.class\"\n [style.width.px]=\"column.width\"\n [ngStyle]=\"column.style\"\n >\n <ng-container *ngIf=\"!column.cellTemplate\">\n {{ textFrom(dataItem, column.field) }}\n </ng-container>\n <ng-template\n *ngIf=\"column.cellTemplate\"\n [templateContext]=\"{\n templateRef: column.cellTemplate?.templateRef,\n $implicit: dataItem,\n dataItem: dataItem,\n column: column\n }\"\n >\n </ng-template>\n </span>\n </ng-container>\n </ng-template>\n\n <!--list-->\n <kendo-list\n #optionsList\n [id]=\"listBoxId\"\n [optionPrefix]=\"optionPrefix\"\n [data]=\"data\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [template]=\"{ templateRef: rowTemplate }\"\n [groupTemplate]=\"groupTemplate\"\n [fixedGroupTemplate]=\"fixedGroupTemplate\"\n [height]=\"listHeight\"\n [show]=\"isOpen\"\n [virtual]=\"virtual\"\n [listClass]=\"'k-reset k-grid-list'\"\n (pageChange)=\"pageChange($event)\"\n (listResize)=\"updateHeaderPadding(header)\"\n >\n </kendo-list>\n\n <!--no-data template-->\n <div\n class=\"k-nodata\"\n *ngIf=\"data.length === 0\"\n >\n <ng-template\n [ngIf]=\"noDataTemplate\"\n [templateContext]=\"{\n templateRef: noDataTemplate?.templateRef\n }\"\n >\n </ng-template>\n <ng-template [ngIf]=\"!noDataTemplate\">\n <div>{{ noDataText }}</div>\n </ng-template>\n </div>\n\n <!--user-defined footer template-->\n <ng-container *ngIf=\"footerTemplate\">\n <div class=\"k-footer\">\n <ng-template\n [templateContext]=\"{\n templateRef: footerTemplate.templateRef\n }\"\n >\n </ng-template>\n </div>\n </ng-container>\n </ng-template>\n\n <kendo-resize-sensor\n *ngIf=\"isOpen\"\n (resize)=\"onResize()\"\n >\n </kendo-resize-sensor>\n\n <!-- when the popupSettings.appendTo value is set to 'component', this container is used -->\n <ng-container #container></ng-container>\n "
214
+ template: "\n <ng-container\n kendoMultiColumnComboBoxLocalizedMessages\n\n i18n-noDataText=\"kendo.multicolumncombobox.noDataText|The text displayed in the popup when there are no items\"\n noDataText=\"NO DATA FOUND\"\n\n i18n-clearTitle=\"kendo.multicolumncombobox.clearTitle|The title of the clear button\"\n clearTitle=\"clear\"\n >\n </ng-container>\n <kendo-searchbar\n #searchbar\n [role]=\"'combobox'\"\n [id]=\"focusableId\"\n [listId]=\"listBoxId\"\n [activeDescendant]=\"activeDescendant\"\n [noDataLabel]=\"noDataLabel\"\n [userInput]=\"text\"\n [suggestedText]=\"getSuggestion()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabIndex]=\"tabIndex\"\n [popupOpen]=\"isOpen\"\n [placeholder]=\"placeholder\"\n (onNavigate)=\"handleNavigate($event)\"\n (valueChange)=\"searchBarChange($event)\"\n (onBlur)=\"handleBlur()\"\n (onFocus)=\"handleFocus()\"\n >\n </kendo-searchbar>\n\n <span\n *ngIf=\"clearButton && !loading && !disabled && !readonly && text?.length\"\n class=\"k-clear-value\"\n [style.visibility]=\"clearButtonVisiblity\"\n aria-hidden=\"true\"\n [attr.title]=\"clearTitle\"\n (click)=\"clearValue($event)\"\n [kendoEventsOutsideAngular]=\"{\n mousedown: preventEventDefault\n }\"\n >\n <span class=\"k-icon k-i-x\"></span>\n </span>\n\n <button\n #select\n tabindex=\"-1\"\n aria-hidden=\"true\"\n unselectable=\"on\"\n type=\"button\"\n class=\"k-input-button k-button k-icon-button\"\n [ngClass]=\"selectButtonClasses\"\n [kendoEventsOutsideAngular]=\"{\n mousedown: preventEventDefault\n }\"\n >\n <span class=\"k-button-icon k-icon\" [ngClass]=\"buttonClasses\"></span>\n </button>\n\n <ng-template #popupTemplate>\n <!--user-defined header template -->\n <ng-template\n *ngIf=\"headerTemplate\"\n [templateContext]=\"{\n templateRef: headerTemplate?.templateRef\n }\"\n >\n </ng-template>\n\n <!--data table-->\n <div class=\"k-data-table\" [ngClass]=\"tableSizeClass\">\n\n <!--grid header-->\n <div\n #header\n class=\"k-table-header\"\n >\n <div class=\"k-table-header-wrap\">\n <table class=\"k-table\" role=\"presentation\">\n <colgroup>\n <ng-container *ngFor=\"let column of columns\">\n <col\n *ngIf=\"!column.hidden && column.matchesMedia\"\n [style.width.px]=\"column.width\"\n />\n </ng-container>\n </colgroup>\n <thead class=\"k-table-thead\">\n <tr class=\"k-table-row\">\n <ng-container *ngFor=\"let column of columns\">\n <th\n *ngIf=\"!column.hidden && column.matchesMedia\"\n class=\"k-table-th\"\n [ngStyle]=\"column.headerStyle\"\n [ngClass]=\"column.headerClass\"\n >\n <ng-container *ngIf=\"!column.headerTemplate\">\n {{ column.title || column.field }}\n </ng-container>\n <ng-template\n *ngIf=\"column.headerTemplate\"\n [templateContext]=\"{\n templateRef: column.headerTemplate?.templateRef,\n $implicit: column,\n column: column\n }\"\n >\n </ng-template>\n </th>\n </ng-container>\n </tr>\n </thead>\n </table>\n </div>\n </div>\n\n <!-- item template -->\n <ng-template #rowTemplate let-dataItem>\n <ng-container *ngFor=\"let column of columns\">\n <span\n *ngIf=\"!column.hidden && column.matchesMedia\"\n class=\"k-table-td\"\n [ngClass]=\"column.class\"\n [style.width.px]=\"column.width\"\n [ngStyle]=\"column.style\"\n >\n <ng-container *ngIf=\"!column.cellTemplate\">\n {{ textFrom(dataItem, column.field) }}\n </ng-container>\n <ng-template\n *ngIf=\"column.cellTemplate\"\n [templateContext]=\"{\n templateRef: column.cellTemplate?.templateRef,\n $implicit: dataItem,\n dataItem: dataItem,\n column: column\n }\"\n >\n </ng-template>\n </span>\n </ng-container>\n </ng-template>\n\n <!--list-->\n <kendo-list\n #optionsList\n [id]=\"listBoxId\"\n [optionPrefix]=\"optionPrefix\"\n [data]=\"data\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [template]=\"{ templateRef: rowTemplate }\"\n [groupTemplate]=\"groupTemplate\"\n [fixedGroupTemplate]=\"fixedGroupTemplate\"\n [height]=\"listHeight\"\n [show]=\"isOpen\"\n [virtual]=\"virtual\"\n [type]=\"'dropdowngrid'\"\n (pageChange)=\"pageChange($event)\"\n (listResize)=\"updateHeaderPadding(header)\"\n >\n </kendo-list>\n\n <!--no-data template-->\n <div\n class=\"k-no-data\"\n *ngIf=\"data.length === 0\"\n >\n <ng-template\n [ngIf]=\"noDataTemplate\"\n [templateContext]=\"{\n templateRef: noDataTemplate?.templateRef\n }\"\n >\n </ng-template>\n <ng-template [ngIf]=\"!noDataTemplate\">\n <div>{{ noDataText }}</div>\n </ng-template>\n </div>\n\n <!--user-defined footer template-->\n <ng-container *ngIf=\"footerTemplate\">\n <div class=\"k-table-footer\">\n <table class=\"k-table\">\n <tfoot class=\"k-table-tfoot\">\n <tr class=\"k-table-row\">\n <td class=\"k-table-td\">\n <ng-template\n [templateContext]=\"{\n templateRef: footerTemplate.templateRef\n }\"\n >\n </ng-template>\n </td>\n </tr>\n </tfoot>\n </table>\n </div>\n </ng-container>\n\n </div>\n\n </ng-template>\n\n <kendo-resize-sensor\n *ngIf=\"isOpen\"\n (resize)=\"onResize()\"\n >\n </kendo-resize-sensor>\n\n <!-- when the popupSettings.appendTo value is set to 'component', this container is used -->\n <ng-container #container></ng-container>\n "
195
215
  }),
196
216
  tslib_1.__param(10, Inject(TOUCH_ENABLED)),
197
217
  tslib_1.__metadata("design:paramtypes", [LocalizationService,