@syncfusion/ej2-multicolumn-combobox 28.2.9 → 29.1.34

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 (142) hide show
  1. package/README.md +1 -1
  2. package/dist/ej2-multicolumn-combobox.umd.min.js +2 -2
  3. package/dist/ej2-multicolumn-combobox.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-multicolumn-combobox.es2015.js +44 -10
  5. package/dist/es6/ej2-multicolumn-combobox.es2015.js.map +1 -1
  6. package/dist/es6/ej2-multicolumn-combobox.es5.js +46 -10
  7. package/dist/es6/ej2-multicolumn-combobox.es5.js.map +1 -1
  8. package/dist/global/ej2-multicolumn-combobox.min.js +2 -2
  9. package/dist/global/ej2-multicolumn-combobox.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +16 -18
  12. package/src/multicolumn-combobox/multi-column-combo-box-model.d.ts +1 -1
  13. package/src/multicolumn-combobox/multi-column-combo-box.d.ts +3 -0
  14. package/src/multicolumn-combobox/multi-column-combo-box.js +46 -10
  15. package/styles/bds-lite.css +52 -1
  16. package/styles/bds-lite.scss +1 -0
  17. package/styles/bds.css +62 -1
  18. package/styles/bds.scss +1 -0
  19. package/styles/bootstrap-dark-lite.css +52 -1
  20. package/styles/bootstrap-dark-lite.scss +1 -0
  21. package/styles/bootstrap-dark.css +62 -1
  22. package/styles/bootstrap-dark.scss +1 -0
  23. package/styles/bootstrap-lite.css +52 -1
  24. package/styles/bootstrap-lite.scss +1 -0
  25. package/styles/bootstrap.css +62 -1
  26. package/styles/bootstrap.scss +1 -0
  27. package/styles/bootstrap4-lite.css +52 -1
  28. package/styles/bootstrap4-lite.scss +1 -0
  29. package/styles/bootstrap4.css +62 -1
  30. package/styles/bootstrap4.scss +1 -0
  31. package/styles/bootstrap5-dark-lite.css +53 -2
  32. package/styles/bootstrap5-dark-lite.scss +1 -0
  33. package/styles/bootstrap5-dark.css +63 -2
  34. package/styles/bootstrap5-dark.scss +1 -0
  35. package/styles/bootstrap5-lite.css +52 -1
  36. package/styles/bootstrap5-lite.scss +1 -0
  37. package/styles/bootstrap5.3-lite.css +52 -1
  38. package/styles/bootstrap5.3-lite.scss +1 -0
  39. package/styles/bootstrap5.3.css +62 -1
  40. package/styles/bootstrap5.3.scss +1 -0
  41. package/styles/bootstrap5.css +62 -1
  42. package/styles/bootstrap5.scss +1 -0
  43. package/styles/fabric-dark-lite.css +52 -1
  44. package/styles/fabric-dark-lite.scss +1 -0
  45. package/styles/fabric-dark.css +62 -1
  46. package/styles/fabric-dark.scss +1 -0
  47. package/styles/fabric-lite.css +52 -1
  48. package/styles/fabric-lite.scss +1 -0
  49. package/styles/fabric.css +62 -1
  50. package/styles/fabric.scss +1 -0
  51. package/styles/fluent-dark-lite.css +52 -1
  52. package/styles/fluent-dark-lite.scss +1 -0
  53. package/styles/fluent-dark.css +62 -1
  54. package/styles/fluent-dark.scss +1 -0
  55. package/styles/fluent-lite.css +52 -1
  56. package/styles/fluent-lite.scss +1 -0
  57. package/styles/fluent.css +62 -1
  58. package/styles/fluent.scss +1 -0
  59. package/styles/fluent2-lite.css +52 -1
  60. package/styles/fluent2-lite.scss +1 -0
  61. package/styles/fluent2.css +62 -1
  62. package/styles/fluent2.scss +1 -0
  63. package/styles/highcontrast-light-lite.css +52 -1
  64. package/styles/highcontrast-light-lite.scss +1 -0
  65. package/styles/highcontrast-light.css +62 -1
  66. package/styles/highcontrast-light.scss +1 -0
  67. package/styles/highcontrast-lite.css +52 -1
  68. package/styles/highcontrast-lite.scss +1 -0
  69. package/styles/highcontrast.css +62 -1
  70. package/styles/highcontrast.scss +1 -0
  71. package/styles/material-dark-lite.css +52 -1
  72. package/styles/material-dark-lite.scss +1 -0
  73. package/styles/material-dark.css +62 -1
  74. package/styles/material-dark.scss +1 -0
  75. package/styles/material-lite.css +52 -1
  76. package/styles/material-lite.scss +1 -0
  77. package/styles/material.css +62 -1
  78. package/styles/material.scss +1 -0
  79. package/styles/material3-dark-lite.css +52 -1
  80. package/styles/material3-dark-lite.scss +1 -0
  81. package/styles/material3-dark.css +62 -1
  82. package/styles/material3-dark.scss +1 -0
  83. package/styles/material3-lite.css +52 -1
  84. package/styles/material3-lite.scss +1 -0
  85. package/styles/material3.css +62 -1
  86. package/styles/material3.scss +1 -0
  87. package/styles/multicolumn-combobox/_bigger.scss +9 -0
  88. package/styles/multicolumn-combobox/_layout.scss +9 -1
  89. package/styles/multicolumn-combobox/bds.css +62 -1
  90. package/styles/multicolumn-combobox/bds.scss +1 -0
  91. package/styles/multicolumn-combobox/bootstrap-dark.css +62 -1
  92. package/styles/multicolumn-combobox/bootstrap-dark.scss +1 -0
  93. package/styles/multicolumn-combobox/bootstrap.css +62 -1
  94. package/styles/multicolumn-combobox/bootstrap.scss +1 -0
  95. package/styles/multicolumn-combobox/bootstrap4.css +62 -1
  96. package/styles/multicolumn-combobox/bootstrap4.scss +1 -0
  97. package/styles/multicolumn-combobox/bootstrap5-dark.css +63 -2
  98. package/styles/multicolumn-combobox/bootstrap5-dark.scss +1 -0
  99. package/styles/multicolumn-combobox/bootstrap5.3.css +62 -1
  100. package/styles/multicolumn-combobox/bootstrap5.3.scss +1 -0
  101. package/styles/multicolumn-combobox/bootstrap5.css +62 -1
  102. package/styles/multicolumn-combobox/bootstrap5.scss +1 -0
  103. package/styles/multicolumn-combobox/fabric-dark.css +62 -1
  104. package/styles/multicolumn-combobox/fabric-dark.scss +1 -0
  105. package/styles/multicolumn-combobox/fabric.css +62 -1
  106. package/styles/multicolumn-combobox/fabric.scss +1 -0
  107. package/styles/multicolumn-combobox/fluent-dark.css +62 -1
  108. package/styles/multicolumn-combobox/fluent-dark.scss +1 -0
  109. package/styles/multicolumn-combobox/fluent.css +62 -1
  110. package/styles/multicolumn-combobox/fluent.scss +1 -0
  111. package/styles/multicolumn-combobox/fluent2.css +62 -1
  112. package/styles/multicolumn-combobox/fluent2.scss +1 -0
  113. package/styles/multicolumn-combobox/highcontrast-light.css +62 -1
  114. package/styles/multicolumn-combobox/highcontrast-light.scss +1 -0
  115. package/styles/multicolumn-combobox/highcontrast.css +62 -1
  116. package/styles/multicolumn-combobox/highcontrast.scss +1 -0
  117. package/styles/multicolumn-combobox/material-dark.css +62 -1
  118. package/styles/multicolumn-combobox/material-dark.scss +1 -0
  119. package/styles/multicolumn-combobox/material.css +62 -1
  120. package/styles/multicolumn-combobox/material.scss +1 -0
  121. package/styles/multicolumn-combobox/material3-dark.css +62 -1
  122. package/styles/multicolumn-combobox/material3-dark.scss +1 -0
  123. package/styles/multicolumn-combobox/material3.css +62 -1
  124. package/styles/multicolumn-combobox/material3.scss +1 -0
  125. package/styles/multicolumn-combobox/tailwind-dark.css +64 -3
  126. package/styles/multicolumn-combobox/tailwind-dark.scss +1 -0
  127. package/styles/multicolumn-combobox/tailwind.css +62 -1
  128. package/styles/multicolumn-combobox/tailwind.scss +1 -0
  129. package/styles/multicolumn-combobox/tailwind3.css +62 -1
  130. package/styles/multicolumn-combobox/tailwind3.scss +1 -0
  131. package/styles/tailwind-dark-lite.css +54 -3
  132. package/styles/tailwind-dark-lite.scss +1 -0
  133. package/styles/tailwind-dark.css +64 -3
  134. package/styles/tailwind-dark.scss +1 -0
  135. package/styles/tailwind-lite.css +52 -1
  136. package/styles/tailwind-lite.scss +1 -0
  137. package/styles/tailwind.css +62 -1
  138. package/styles/tailwind.scss +1 -0
  139. package/styles/tailwind3-lite.css +52 -1
  140. package/styles/tailwind3-lite.scss +1 -0
  141. package/styles/tailwind3.css +62 -1
  142. package/styles/tailwind3.scss +1 -0
@@ -1,7 +1,7 @@
1
1
  import { Property, ChildProperty, Event, getUniqueID, isNullOrUndefined, addClass, removeClass, prepend, formatUnit, getValue, attributes, Browser, append, L10n, select, compile, EventHandler, KeyboardEvents, closest, Animation, detach, Complex, Collection, NotifyPropertyChanges, Component } from '@syncfusion/ej2-base';
2
2
  import { Input } from '@syncfusion/ej2-inputs';
3
3
  import { DataManager, Query } from '@syncfusion/ej2-data';
4
- import { Popup } from '@syncfusion/ej2-popups';
4
+ import { showSpinner, hideSpinner, createSpinner, Popup } from '@syncfusion/ej2-popups';
5
5
  import { Grid, VirtualScroll, Group, Edit, Sort, Resize } from '@syncfusion/ej2-grids';
6
6
 
7
7
  var __extends = (undefined && undefined.__extends) || (function () {
@@ -266,6 +266,7 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
266
266
  function MultiColumnComboBox(options, element) {
267
267
  var _this = _super.call(this, options, element) || this;
268
268
  _this.gridInject = new MultiColumnGrid();
269
+ _this.isShowSpinner = true;
269
270
  _this.gridInject.InjectModules();
270
271
  return _this;
271
272
  }
@@ -325,8 +326,8 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
325
326
  }
326
327
  };
327
328
  MultiColumnComboBox.prototype.render = function () {
328
- this.renderGrid();
329
329
  this.renderInput();
330
+ this.renderGrid();
330
331
  this.popupDiv = this.createElement('div', { className: CONTENT });
331
332
  this.popupDiv.appendChild(this.gridEle);
332
333
  this.setHTMLAttributes();
@@ -373,6 +374,12 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
373
374
  allowResizing: this.gridSettings.allowResizing,
374
375
  allowMultiSorting: this.sortType.toString().toLowerCase() === 'multiplecolumns' && this.allowSorting,
375
376
  rowTemplate: this.itemTemplate,
377
+ beforeDataBound: function () {
378
+ if (_this.dataSource instanceof DataManager && _this.isShowSpinner) {
379
+ _this.showHideSpinner(true);
380
+ _this.isShowSpinner = false;
381
+ }
382
+ },
376
383
  dataBound: function () { _this.onDataBound(); },
377
384
  actionFailure: function (args) { _this.onActionFailure(args); },
378
385
  actionBegin: function (args) { _this.trigger('actionBegin', args); },
@@ -394,7 +401,7 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
394
401
  }
395
402
  }
396
403
  });
397
- this.gridEle = this.createElement('div', { id: getUniqueID('grid'), className: MULTICOLUMNGRID });
404
+ this.gridEle = this.createElement('div', { id: this.element.id + "_" + getUniqueID('grid'), className: MULTICOLUMNGRID });
398
405
  this.updateGroupByField();
399
406
  if (gridColumns.length > 0) {
400
407
  // Set first column as primary key to avoid PRIMARY KEY MISSING warning.
@@ -405,6 +412,9 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
405
412
  SortOrder.Ascending : SortOrder.Descending }] };
406
413
  }
407
414
  this.gridObj.appendTo(this.gridEle);
415
+ if (!isNullOrUndefined(this.value) || !isNullOrUndefined(this.text) || !isNullOrUndefined(this.index)) {
416
+ this.initValue(null, null, true);
417
+ }
408
418
  };
409
419
  MultiColumnComboBox.prototype.handleActionComplete = function (args) {
410
420
  var _this = this;
@@ -532,6 +542,7 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
532
542
  }
533
543
  };
534
544
  MultiColumnComboBox.prototype.onDataBound = function () {
545
+ var _this = this;
535
546
  var dataCount = this.dataSource.length;
536
547
  var popupChild = this.popupDiv.querySelector('.' + MULTICOLUMNGRID);
537
548
  var hasNoDataClass = this.popupDiv.classList.contains(NODATA);
@@ -562,6 +573,19 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
562
573
  var firstRowEle = rowElements[0];
563
574
  firstRowEle.classList.add('e-row-focus');
564
575
  }
576
+ if (this.dataSource instanceof DataManager) {
577
+ setTimeout(function () {
578
+ _this.showHideSpinner(false);
579
+ });
580
+ }
581
+ };
582
+ MultiColumnComboBox.prototype.showHideSpinner = function (isShow) {
583
+ if (isShow) {
584
+ showSpinner(this.dropdownElement);
585
+ }
586
+ else {
587
+ hideSpinner(this.dropdownElement);
588
+ }
565
589
  };
566
590
  MultiColumnComboBox.prototype.onActionFailure = function (args) {
567
591
  this.trigger('actionFailure', args);
@@ -635,9 +659,10 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
635
659
  this.element.appendChild(this.inputWrapper);
636
660
  }
637
661
  this.setElementWidth(this.width);
638
- if (!isNullOrUndefined(this.value) || !isNullOrUndefined(this.text) || !isNullOrUndefined(this.index)) {
639
- this.initValue(null, null, true);
640
- }
662
+ this.dropdownElement = this.inputWrapper.querySelector('.e-input-group-icon.e-multicolumn-list-icon.e-icons');
663
+ createSpinner({
664
+ target: this.dropdownElement
665
+ });
641
666
  };
642
667
  MultiColumnComboBox.prototype.setElementWidth = function (inputWidth) {
643
668
  if (isNullOrUndefined(inputWidth)) {
@@ -652,6 +677,7 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
652
677
  }
653
678
  };
654
679
  MultiColumnComboBox.prototype.setHTMLAttributes = function () {
680
+ var _this = this;
655
681
  var htmlAttributes = this.htmlAttributes;
656
682
  var inputEle = this.inputEle;
657
683
  if (Object.keys(htmlAttributes).length) {
@@ -669,9 +695,19 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
669
695
  this.setProperties({ readonly: true }, true);
670
696
  this.dataBind();
671
697
  break;
672
- case 'style':
673
- this.inputWrapper.setAttribute('style', htmlAttributes[htmlAttr]);
698
+ case 'style': {
699
+ var styles = htmlAttributes[htmlAttr];
700
+ this.inputWrapper.style.cssText = '';
701
+ if (styles) {
702
+ styles.split(';').forEach(function (styleProperty) {
703
+ var _a = styleProperty.split(':').map(function (part) { return part.trim(); }), property = _a[0], value = _a[1];
704
+ if (property && value) {
705
+ _this.inputWrapper.style.setProperty(property, value);
706
+ }
707
+ });
708
+ }
674
709
  break;
710
+ }
675
711
  default: {
676
712
  var defaultAttr = ['title', 'id', 'placeholder', 'role', 'autocomplete', 'autocapitalize', 'spellcheck', 'minlength', 'maxlength'];
677
713
  var validateAttr = ['name', 'required'];
@@ -1169,7 +1205,6 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
1169
1205
  dataSource.executeQuery(query).then(function (e) {
1170
1206
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1171
1207
  var dataLists = e.result;
1172
- var dataLength = dataLists.length;
1173
1208
  filteredData = dataLists.filter(function (item) { return _this.filterData(item, filterType, inputValue, fields); });
1174
1209
  _this.updateGridDataSource(filteredData);
1175
1210
  });
@@ -1483,6 +1518,7 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
1483
1518
  MultiColumnComboBox.prototype.updateDynamicDataSource = function (newDataSource, oldDataSource) {
1484
1519
  if (this.gridObj) {
1485
1520
  var dataLength_1;
1521
+ this.isShowSpinner = true;
1486
1522
  this.gridObj.dataSource = newDataSource;
1487
1523
  var isRemoteData = oldDataSource instanceof DataManager;
1488
1524
  if (isRemoteData) {
@@ -1562,7 +1598,6 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
1562
1598
  if ((_this.value || _this.text || _this.index)) {
1563
1599
  _this.gridObj.selectRow(_this.selectedRowIndex);
1564
1600
  }
1565
- _this.focusIn(e);
1566
1601
  }
1567
1602
  var contentEle = _this.gridObj.getContent();
1568
1603
  if (contentEle) {
@@ -1722,6 +1757,7 @@ var MultiColumnComboBox = /** @__PURE__ @class */ (function (_super) {
1722
1757
  this.footer = null;
1723
1758
  this.noRecord = null;
1724
1759
  this.hiddenElement = null;
1760
+ this.dropdownElement = null;
1725
1761
  _super.prototype.destroy.call(this);
1726
1762
  };
1727
1763
  /**