@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 { ChildProperty, Property, Event, Component, getUniqueID, isNullOrUndefined, addClass, removeClass, prepend, formatUnit, getValue, attributes, Browser, append, L10n, select, compile, EventHandler, KeyboardEvents, closest, Animation, detach, Complex, Collection, NotifyPropertyChanges } 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 __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -207,6 +207,7 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
207
207
  constructor(options, element) {
208
208
  super(options, element);
209
209
  this.gridInject = new MultiColumnGrid();
210
+ this.isShowSpinner = true;
210
211
  this.gridInject.InjectModules();
211
212
  }
212
213
  /**
@@ -265,8 +266,8 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
265
266
  }
266
267
  }
267
268
  render() {
268
- this.renderGrid();
269
269
  this.renderInput();
270
+ this.renderGrid();
270
271
  this.popupDiv = this.createElement('div', { className: CONTENT });
271
272
  this.popupDiv.appendChild(this.gridEle);
272
273
  this.setHTMLAttributes();
@@ -312,6 +313,12 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
312
313
  allowResizing: this.gridSettings.allowResizing,
313
314
  allowMultiSorting: this.sortType.toString().toLowerCase() === 'multiplecolumns' && this.allowSorting,
314
315
  rowTemplate: this.itemTemplate,
316
+ beforeDataBound: () => {
317
+ if (this.dataSource instanceof DataManager && this.isShowSpinner) {
318
+ this.showHideSpinner(true);
319
+ this.isShowSpinner = false;
320
+ }
321
+ },
315
322
  dataBound: () => { this.onDataBound(); },
316
323
  actionFailure: (args) => { this.onActionFailure(args); },
317
324
  actionBegin: (args) => { this.trigger('actionBegin', args); },
@@ -333,7 +340,7 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
333
340
  }
334
341
  }
335
342
  });
336
- this.gridEle = this.createElement('div', { id: getUniqueID('grid'), className: MULTICOLUMNGRID });
343
+ this.gridEle = this.createElement('div', { id: `${this.element.id}_${getUniqueID('grid')}`, className: MULTICOLUMNGRID });
337
344
  this.updateGroupByField();
338
345
  if (gridColumns.length > 0) {
339
346
  // Set first column as primary key to avoid PRIMARY KEY MISSING warning.
@@ -344,6 +351,9 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
344
351
  SortOrder.Ascending : SortOrder.Descending }] };
345
352
  }
346
353
  this.gridObj.appendTo(this.gridEle);
354
+ if (!isNullOrUndefined(this.value) || !isNullOrUndefined(this.text) || !isNullOrUndefined(this.index)) {
355
+ this.initValue(null, null, true);
356
+ }
347
357
  }
348
358
  handleActionComplete(args) {
349
359
  this.trigger('actionComplete', args);
@@ -495,6 +505,19 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
495
505
  const firstRowEle = rowElements[0];
496
506
  firstRowEle.classList.add('e-row-focus');
497
507
  }
508
+ if (this.dataSource instanceof DataManager) {
509
+ setTimeout(() => {
510
+ this.showHideSpinner(false);
511
+ });
512
+ }
513
+ }
514
+ showHideSpinner(isShow) {
515
+ if (isShow) {
516
+ showSpinner(this.dropdownElement);
517
+ }
518
+ else {
519
+ hideSpinner(this.dropdownElement);
520
+ }
498
521
  }
499
522
  onActionFailure(args) {
500
523
  this.trigger('actionFailure', args);
@@ -568,9 +591,10 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
568
591
  this.element.appendChild(this.inputWrapper);
569
592
  }
570
593
  this.setElementWidth(this.width);
571
- if (!isNullOrUndefined(this.value) || !isNullOrUndefined(this.text) || !isNullOrUndefined(this.index)) {
572
- this.initValue(null, null, true);
573
- }
594
+ this.dropdownElement = this.inputWrapper.querySelector('.e-input-group-icon.e-multicolumn-list-icon.e-icons');
595
+ createSpinner({
596
+ target: this.dropdownElement
597
+ });
574
598
  }
575
599
  setElementWidth(inputWidth) {
576
600
  if (isNullOrUndefined(inputWidth)) {
@@ -601,9 +625,19 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
601
625
  this.setProperties({ readonly: true }, true);
602
626
  this.dataBind();
603
627
  break;
604
- case 'style':
605
- this.inputWrapper.setAttribute('style', htmlAttributes[htmlAttr]);
628
+ case 'style': {
629
+ const styles = htmlAttributes[htmlAttr];
630
+ this.inputWrapper.style.cssText = '';
631
+ if (styles) {
632
+ styles.split(';').forEach((styleProperty) => {
633
+ const [property, value] = styleProperty.split(':').map((part) => part.trim());
634
+ if (property && value) {
635
+ this.inputWrapper.style.setProperty(property, value);
636
+ }
637
+ });
638
+ }
606
639
  break;
640
+ }
607
641
  default: {
608
642
  const defaultAttr = ['title', 'id', 'placeholder', 'role', 'autocomplete', 'autocapitalize', 'spellcheck', 'minlength', 'maxlength'];
609
643
  const validateAttr = ['name', 'required'];
@@ -1083,7 +1117,6 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
1083
1117
  dataSource.executeQuery(query).then((e) => {
1084
1118
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1085
1119
  const dataLists = e.result;
1086
- const dataLength = dataLists.length;
1087
1120
  filteredData = dataLists.filter((item) => this.filterData(item, filterType, inputValue, fields));
1088
1121
  this.updateGridDataSource(filteredData);
1089
1122
  });
@@ -1393,6 +1426,7 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
1393
1426
  updateDynamicDataSource(newDataSource, oldDataSource) {
1394
1427
  if (this.gridObj) {
1395
1428
  let dataLength;
1429
+ this.isShowSpinner = true;
1396
1430
  this.gridObj.dataSource = newDataSource;
1397
1431
  const isRemoteData = oldDataSource instanceof DataManager;
1398
1432
  if (isRemoteData) {
@@ -1471,7 +1505,6 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
1471
1505
  if ((this.value || this.text || this.index)) {
1472
1506
  this.gridObj.selectRow(this.selectedRowIndex);
1473
1507
  }
1474
- this.focusIn(e);
1475
1508
  }
1476
1509
  const contentEle = this.gridObj.getContent();
1477
1510
  if (contentEle) {
@@ -1629,6 +1662,7 @@ let MultiColumnComboBox = class MultiColumnComboBox extends Component {
1629
1662
  this.footer = null;
1630
1663
  this.noRecord = null;
1631
1664
  this.hiddenElement = null;
1665
+ this.dropdownElement = null;
1632
1666
  super.destroy();
1633
1667
  }
1634
1668
  /**