@syncfusion/ej2-multicolumn-combobox 28.2.9 → 29.1.33
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/README.md +1 -1
- package/dist/ej2-multicolumn-combobox.umd.min.js +2 -2
- package/dist/ej2-multicolumn-combobox.umd.min.js.map +1 -1
- package/dist/es6/ej2-multicolumn-combobox.es2015.js +44 -10
- package/dist/es6/ej2-multicolumn-combobox.es2015.js.map +1 -1
- package/dist/es6/ej2-multicolumn-combobox.es5.js +46 -10
- package/dist/es6/ej2-multicolumn-combobox.es5.js.map +1 -1
- package/dist/global/ej2-multicolumn-combobox.min.js +2 -2
- package/dist/global/ej2-multicolumn-combobox.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/memory-leak-samples/mccb.d.ts +1 -0
- package/memory-leak-samples/mccb.html +35 -0
- package/memory-leak-samples/mccb.js +109 -0
- package/package.json +8 -8
- package/src/multicolumn-combobox/multi-column-combo-box-model.d.ts +1 -1
- package/src/multicolumn-combobox/multi-column-combo-box.d.ts +3 -0
- package/src/multicolumn-combobox/multi-column-combo-box.js +46 -10
- package/styles/bds-lite.css +52 -1
- package/styles/bds-lite.scss +1 -0
- package/styles/bds.css +62 -1
- package/styles/bds.scss +1 -0
- package/styles/bootstrap-dark-lite.css +52 -1
- package/styles/bootstrap-dark-lite.scss +1 -0
- package/styles/bootstrap-dark.css +62 -1
- package/styles/bootstrap-dark.scss +1 -0
- package/styles/bootstrap-lite.css +52 -1
- package/styles/bootstrap-lite.scss +1 -0
- package/styles/bootstrap.css +62 -1
- package/styles/bootstrap.scss +1 -0
- package/styles/bootstrap4-lite.css +52 -1
- package/styles/bootstrap4-lite.scss +1 -0
- package/styles/bootstrap4.css +62 -1
- package/styles/bootstrap4.scss +1 -0
- package/styles/bootstrap5-dark-lite.css +53 -2
- package/styles/bootstrap5-dark-lite.scss +1 -0
- package/styles/bootstrap5-dark.css +63 -2
- package/styles/bootstrap5-dark.scss +1 -0
- package/styles/bootstrap5-lite.css +52 -1
- package/styles/bootstrap5-lite.scss +1 -0
- package/styles/bootstrap5.3-lite.css +52 -1
- package/styles/bootstrap5.3-lite.scss +1 -0
- package/styles/bootstrap5.3.css +62 -1
- package/styles/bootstrap5.3.scss +1 -0
- package/styles/bootstrap5.css +62 -1
- package/styles/bootstrap5.scss +1 -0
- package/styles/fabric-dark-lite.css +52 -1
- package/styles/fabric-dark-lite.scss +1 -0
- package/styles/fabric-dark.css +62 -1
- package/styles/fabric-dark.scss +1 -0
- package/styles/fabric-lite.css +52 -1
- package/styles/fabric-lite.scss +1 -0
- package/styles/fabric.css +62 -1
- package/styles/fabric.scss +1 -0
- package/styles/fluent-dark-lite.css +52 -1
- package/styles/fluent-dark-lite.scss +1 -0
- package/styles/fluent-dark.css +62 -1
- package/styles/fluent-dark.scss +1 -0
- package/styles/fluent-lite.css +52 -1
- package/styles/fluent-lite.scss +1 -0
- package/styles/fluent.css +62 -1
- package/styles/fluent.scss +1 -0
- package/styles/fluent2-lite.css +52 -1
- package/styles/fluent2-lite.scss +1 -0
- package/styles/fluent2.css +62 -1
- package/styles/fluent2.scss +1 -0
- package/styles/highcontrast-light-lite.css +52 -1
- package/styles/highcontrast-light-lite.scss +1 -0
- package/styles/highcontrast-light.css +62 -1
- package/styles/highcontrast-light.scss +1 -0
- package/styles/highcontrast-lite.css +52 -1
- package/styles/highcontrast-lite.scss +1 -0
- package/styles/highcontrast.css +62 -1
- package/styles/highcontrast.scss +1 -0
- package/styles/material-dark-lite.css +52 -1
- package/styles/material-dark-lite.scss +1 -0
- package/styles/material-dark.css +62 -1
- package/styles/material-dark.scss +1 -0
- package/styles/material-lite.css +52 -1
- package/styles/material-lite.scss +1 -0
- package/styles/material.css +62 -1
- package/styles/material.scss +1 -0
- package/styles/material3-dark-lite.css +52 -1
- package/styles/material3-dark-lite.scss +1 -0
- package/styles/material3-dark.css +62 -1
- package/styles/material3-dark.scss +1 -0
- package/styles/material3-lite.css +52 -1
- package/styles/material3-lite.scss +1 -0
- package/styles/material3.css +62 -1
- package/styles/material3.scss +1 -0
- package/styles/multicolumn-combobox/_bigger.scss +9 -0
- package/styles/multicolumn-combobox/_layout.scss +9 -1
- package/styles/multicolumn-combobox/bds.css +62 -1
- package/styles/multicolumn-combobox/bds.scss +1 -0
- package/styles/multicolumn-combobox/bootstrap-dark.css +62 -1
- package/styles/multicolumn-combobox/bootstrap-dark.scss +1 -0
- package/styles/multicolumn-combobox/bootstrap.css +62 -1
- package/styles/multicolumn-combobox/bootstrap.scss +1 -0
- package/styles/multicolumn-combobox/bootstrap4.css +62 -1
- package/styles/multicolumn-combobox/bootstrap4.scss +1 -0
- package/styles/multicolumn-combobox/bootstrap5-dark.css +63 -2
- package/styles/multicolumn-combobox/bootstrap5-dark.scss +1 -0
- package/styles/multicolumn-combobox/bootstrap5.3.css +62 -1
- package/styles/multicolumn-combobox/bootstrap5.3.scss +1 -0
- package/styles/multicolumn-combobox/bootstrap5.css +62 -1
- package/styles/multicolumn-combobox/bootstrap5.scss +1 -0
- package/styles/multicolumn-combobox/fabric-dark.css +62 -1
- package/styles/multicolumn-combobox/fabric-dark.scss +1 -0
- package/styles/multicolumn-combobox/fabric.css +62 -1
- package/styles/multicolumn-combobox/fabric.scss +1 -0
- package/styles/multicolumn-combobox/fluent-dark.css +62 -1
- package/styles/multicolumn-combobox/fluent-dark.scss +1 -0
- package/styles/multicolumn-combobox/fluent.css +62 -1
- package/styles/multicolumn-combobox/fluent.scss +1 -0
- package/styles/multicolumn-combobox/fluent2.css +62 -1
- package/styles/multicolumn-combobox/fluent2.scss +1 -0
- package/styles/multicolumn-combobox/highcontrast-light.css +62 -1
- package/styles/multicolumn-combobox/highcontrast-light.scss +1 -0
- package/styles/multicolumn-combobox/highcontrast.css +62 -1
- package/styles/multicolumn-combobox/highcontrast.scss +1 -0
- package/styles/multicolumn-combobox/material-dark.css +62 -1
- package/styles/multicolumn-combobox/material-dark.scss +1 -0
- package/styles/multicolumn-combobox/material.css +62 -1
- package/styles/multicolumn-combobox/material.scss +1 -0
- package/styles/multicolumn-combobox/material3-dark.css +62 -1
- package/styles/multicolumn-combobox/material3-dark.scss +1 -0
- package/styles/multicolumn-combobox/material3.css +62 -1
- package/styles/multicolumn-combobox/material3.scss +1 -0
- package/styles/multicolumn-combobox/tailwind-dark.css +64 -3
- package/styles/multicolumn-combobox/tailwind-dark.scss +1 -0
- package/styles/multicolumn-combobox/tailwind.css +62 -1
- package/styles/multicolumn-combobox/tailwind.scss +1 -0
- package/styles/multicolumn-combobox/tailwind3.css +62 -1
- package/styles/multicolumn-combobox/tailwind3.scss +1 -0
- package/styles/tailwind-dark-lite.css +54 -3
- package/styles/tailwind-dark-lite.scss +1 -0
- package/styles/tailwind-dark.css +64 -3
- package/styles/tailwind-dark.scss +1 -0
- package/styles/tailwind-lite.css +52 -1
- package/styles/tailwind-lite.scss +1 -0
- package/styles/tailwind.css +62 -1
- package/styles/tailwind.scss +1 -0
- package/styles/tailwind3-lite.css +52 -1
- package/styles/tailwind3-lite.scss +1 -0
- package/styles/tailwind3.css +62 -1
- 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
|
-
|
|
639
|
-
|
|
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
|
-
|
|
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
|
/**
|