@syncfusion/ej2-dropdowns 30.1.41 → 30.2.4
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/aceconfig.js +17 -0
- package/dist/ej2-dropdowns.min.js +2 -2
- package/dist/ej2-dropdowns.umd.min.js +2 -2
- package/dist/ej2-dropdowns.umd.min.js.map +1 -1
- package/dist/es6/ej2-dropdowns.es2015.js +155 -11
- package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
- package/dist/es6/ej2-dropdowns.es5.js +156 -11
- package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
- package/dist/global/ej2-dropdowns.min.js +2 -2
- package/dist/global/ej2-dropdowns.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +8 -8
- package/src/combo-box/combo-box.js +2 -2
- package/src/common/interface.d.ts +1 -0
- package/src/common/virtual-scroll.js +2 -1
- package/src/drop-down-base/drop-down-base.d.ts +2 -0
- package/src/drop-down-base/drop-down-base.js +90 -3
- package/src/drop-down-list/drop-down-list.js +3 -0
- package/src/drop-down-tree/drop-down-tree.js +1 -1
- package/src/list-box/list-box.d.ts +1 -0
- package/src/list-box/list-box.js +21 -3
- package/src/multi-select/multi-select.js +37 -1
- package/styles/bds-lite.css +12 -0
- package/styles/bds.css +12 -0
- package/styles/bootstrap-dark-lite.css +12 -0
- package/styles/bootstrap-dark.css +12 -0
- package/styles/bootstrap-lite.css +12 -0
- package/styles/bootstrap.css +12 -0
- package/styles/bootstrap4-lite.css +12 -0
- package/styles/bootstrap4.css +12 -0
- package/styles/bootstrap5-dark-lite.css +12 -0
- package/styles/bootstrap5-dark.css +12 -0
- package/styles/bootstrap5-lite.css +12 -0
- package/styles/bootstrap5.3-lite.css +12 -0
- package/styles/bootstrap5.3.css +12 -0
- package/styles/bootstrap5.css +12 -0
- package/styles/drop-down-tree/_layout.scss +5 -0
- package/styles/drop-down-tree/bds.css +3 -0
- package/styles/drop-down-tree/bootstrap-dark.css +3 -0
- package/styles/drop-down-tree/bootstrap.css +3 -0
- package/styles/drop-down-tree/bootstrap4.css +3 -0
- package/styles/drop-down-tree/bootstrap5-dark.css +3 -0
- package/styles/drop-down-tree/bootstrap5.3.css +3 -0
- package/styles/drop-down-tree/bootstrap5.css +3 -0
- package/styles/drop-down-tree/fabric-dark.css +3 -0
- package/styles/drop-down-tree/fabric.css +3 -0
- package/styles/drop-down-tree/fluent-dark.css +3 -0
- package/styles/drop-down-tree/fluent.css +3 -0
- package/styles/drop-down-tree/fluent2.css +3 -0
- package/styles/drop-down-tree/highcontrast-light.css +3 -0
- package/styles/drop-down-tree/highcontrast.css +3 -0
- package/styles/drop-down-tree/material-dark.css +3 -0
- package/styles/drop-down-tree/material.css +3 -0
- package/styles/drop-down-tree/material3-dark.css +3 -0
- package/styles/drop-down-tree/material3.css +3 -0
- package/styles/drop-down-tree/tailwind-dark.css +3 -0
- package/styles/drop-down-tree/tailwind.css +3 -0
- package/styles/drop-down-tree/tailwind3.css +3 -0
- package/styles/fabric-dark-lite.css +12 -0
- package/styles/fabric-dark.css +12 -0
- package/styles/fabric-lite.css +12 -0
- package/styles/fabric.css +12 -0
- package/styles/fluent-dark-lite.css +12 -0
- package/styles/fluent-dark.css +12 -0
- package/styles/fluent-lite.css +12 -0
- package/styles/fluent.css +12 -0
- package/styles/fluent2-lite.css +12 -0
- package/styles/fluent2.css +12 -0
- package/styles/highcontrast-light-lite.css +12 -0
- package/styles/highcontrast-light.css +12 -0
- package/styles/highcontrast-lite.css +12 -0
- package/styles/highcontrast.css +12 -0
- package/styles/list-box/_bds-definition.scss +1 -0
- package/styles/list-box/_bootstrap-dark-definition.scss +1 -0
- package/styles/list-box/_bootstrap-definition.scss +1 -0
- package/styles/list-box/_bootstrap4-definition.scss +1 -0
- package/styles/list-box/_bootstrap5-definition.scss +1 -0
- package/styles/list-box/_bootstrap5.3-definition.scss +1 -0
- package/styles/list-box/_fabric-dark-definition.scss +1 -0
- package/styles/list-box/_fabric-definition.scss +1 -0
- package/styles/list-box/_fluent-definition.scss +1 -0
- package/styles/list-box/_fluent2-definition.scss +1 -0
- package/styles/list-box/_fusionnew-definition.scss +1 -0
- package/styles/list-box/_highcontrast-definition.scss +1 -0
- package/styles/list-box/_highcontrast-light-definition.scss +1 -0
- package/styles/list-box/_layout.scss +8 -0
- package/styles/list-box/_material-dark-definition.scss +1 -0
- package/styles/list-box/_material-definition.scss +1 -0
- package/styles/list-box/_material3-definition.scss +1 -0
- package/styles/list-box/_tailwind-definition.scss +1 -0
- package/styles/list-box/_tailwind3-definition.scss +1 -0
- package/styles/list-box/bds.css +9 -0
- package/styles/list-box/bootstrap-dark.css +9 -0
- package/styles/list-box/bootstrap.css +9 -0
- package/styles/list-box/bootstrap4.css +9 -0
- package/styles/list-box/bootstrap5-dark.css +9 -0
- package/styles/list-box/bootstrap5.3.css +9 -0
- package/styles/list-box/bootstrap5.css +9 -0
- package/styles/list-box/fabric-dark.css +9 -0
- package/styles/list-box/fabric.css +9 -0
- package/styles/list-box/fluent-dark.css +9 -0
- package/styles/list-box/fluent.css +9 -0
- package/styles/list-box/fluent2.css +9 -0
- package/styles/list-box/highcontrast-light.css +9 -0
- package/styles/list-box/highcontrast.css +9 -0
- package/styles/list-box/material-dark.css +9 -0
- package/styles/list-box/material.css +9 -0
- package/styles/list-box/material3-dark.css +9 -0
- package/styles/list-box/material3.css +9 -0
- package/styles/list-box/tailwind-dark.css +9 -0
- package/styles/list-box/tailwind.css +9 -0
- package/styles/list-box/tailwind3.css +9 -0
- package/styles/material-dark-lite.css +12 -0
- package/styles/material-dark.css +12 -0
- package/styles/material-lite.css +12 -0
- package/styles/material.css +12 -0
- package/styles/material3-dark-lite.css +12 -0
- package/styles/material3-dark.css +12 -0
- package/styles/material3-lite.css +12 -0
- package/styles/material3.css +12 -0
- package/styles/tailwind-dark-lite.css +12 -0
- package/styles/tailwind-dark.css +12 -0
- package/styles/tailwind-lite.css +12 -0
- package/styles/tailwind.css +12 -0
- package/styles/tailwind3-lite.css +12 -0
- package/styles/tailwind3.css +12 -0
|
@@ -367,7 +367,7 @@ class VirtualScroll {
|
|
|
367
367
|
if (this.component === 'combobox') {
|
|
368
368
|
let totalData = 0;
|
|
369
369
|
if (this.parent.dataSource instanceof DataManager) {
|
|
370
|
-
totalData = this.parent.
|
|
370
|
+
totalData = this.parent.remoteDataCount;
|
|
371
371
|
}
|
|
372
372
|
else if (this.parent.dataSource && this.parent.dataSource.length > 0) {
|
|
373
373
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -687,6 +687,7 @@ class VirtualScroll {
|
|
|
687
687
|
this.parent.isVirtualScrolling = true;
|
|
688
688
|
setTimeout(() => {
|
|
689
689
|
this.parent.pageCount = this.parent.getPageCount();
|
|
690
|
+
this.parent.isRequesting = false;
|
|
690
691
|
this.virtualScrollRefreshAsync().then(() => {
|
|
691
692
|
if (this.parent.popupObj) {
|
|
692
693
|
this.parent.list = this.parent.popupObj.element.querySelector('.' + 'e-content') || select('.' + 'e-content');
|
|
@@ -1505,11 +1506,12 @@ let DropDownBase = class DropDownBase extends Component {
|
|
|
1505
1506
|
this.emptyDataRequest(fields);
|
|
1506
1507
|
return;
|
|
1507
1508
|
}
|
|
1508
|
-
|
|
1509
|
+
const query = this.getQuery(eventArgs.query);
|
|
1510
|
+
eventArgs.data.executeQuery(query).then((e) => {
|
|
1509
1511
|
this.isPreventChange = this.isAngular && this.preventChange ? true : this.isPreventChange;
|
|
1510
1512
|
let isReOrder = true;
|
|
1511
1513
|
if (!this.virtualSelectAll) {
|
|
1512
|
-
const newQuery =
|
|
1514
|
+
const newQuery = query.clone();
|
|
1513
1515
|
for (let queryElements = 0; queryElements < newQuery.queries.length; queryElements++) {
|
|
1514
1516
|
if (newQuery.queries[queryElements].fn === 'onWhere') {
|
|
1515
1517
|
isWhereExist = true;
|
|
@@ -1716,6 +1718,86 @@ let DropDownBase = class DropDownBase extends Component {
|
|
|
1716
1718
|
this.fiteredGroupHeaderItems = clonedHeaders;
|
|
1717
1719
|
}
|
|
1718
1720
|
}
|
|
1721
|
+
setCustomListData(dataSource, fields, query, event) {
|
|
1722
|
+
fields = fields ? fields : this.fields;
|
|
1723
|
+
let ulElement;
|
|
1724
|
+
this.isActive = true;
|
|
1725
|
+
this.isPreventChange = this.isAngular && this.preventChange ? true : this.isPreventChange;
|
|
1726
|
+
if (!this.isRequesting) {
|
|
1727
|
+
this.isRequesting = true;
|
|
1728
|
+
this.showSpinner();
|
|
1729
|
+
this.isRequesting = false;
|
|
1730
|
+
let isReOrder = true;
|
|
1731
|
+
let listItems;
|
|
1732
|
+
if (this.isVirtualizationEnabled && !this.virtualGroupDataSource && this.fields.groupBy) {
|
|
1733
|
+
const data = new DataManager(this.dataSource).executeLocal(new Query().group(this.fields.groupBy));
|
|
1734
|
+
this.virtualGroupDataSource = data.records;
|
|
1735
|
+
}
|
|
1736
|
+
const dataManager = this.isVirtualizationEnabled &&
|
|
1737
|
+
this.virtualGroupDataSource
|
|
1738
|
+
&& !this.isCustomDataUpdated ? new DataManager(this.virtualGroupDataSource) :
|
|
1739
|
+
new DataManager(dataSource);
|
|
1740
|
+
listItems = (this.getQuery(query)).executeLocal(dataManager);
|
|
1741
|
+
if (!this.virtualSelectAll) {
|
|
1742
|
+
const newQuery = this.getQuery(query);
|
|
1743
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1744
|
+
if (this.isVirtualizationEnabled && (listItems.count !== 0 &&
|
|
1745
|
+
listItems.count < (this.itemCount * 2)) && !this.appendUncheckList) {
|
|
1746
|
+
if (newQuery) {
|
|
1747
|
+
for (let queryElements = 0; queryElements < newQuery.queries.length; queryElements++) {
|
|
1748
|
+
if (newQuery.queries[queryElements].fn === 'onTake') {
|
|
1749
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1750
|
+
newQuery.queries[queryElements].e.nos = listItems.count;
|
|
1751
|
+
listItems = (newQuery).executeLocal(dataManager);
|
|
1752
|
+
}
|
|
1753
|
+
if (this.getModuleName() === 'multiselect' && (newQuery.queries[queryElements].e.condition === 'or' || newQuery.queries[queryElements].e.operator === 'equal') && !this.isCustomFiltering) {
|
|
1754
|
+
isReOrder = false;
|
|
1755
|
+
}
|
|
1756
|
+
}
|
|
1757
|
+
if (isReOrder) {
|
|
1758
|
+
listItems = (newQuery).executeLocal(dataManager);
|
|
1759
|
+
this.isVirtualTrackHeight = (!(this.dataSource instanceof DataManager) &&
|
|
1760
|
+
!this.isCustomDataUpdated) ? true : false;
|
|
1761
|
+
}
|
|
1762
|
+
}
|
|
1763
|
+
}
|
|
1764
|
+
else {
|
|
1765
|
+
this.isVirtualTrackHeight = false;
|
|
1766
|
+
if (newQuery) {
|
|
1767
|
+
for (let queryElements = 0; queryElements < newQuery.queries.length; queryElements++) {
|
|
1768
|
+
if (this.getModuleName() === 'multiselect' && ((newQuery.queries[queryElements].e && newQuery.queries[queryElements].e.condition === 'or') || (newQuery.queries[queryElements].e && newQuery.queries[queryElements].e.operator === 'equal'))) {
|
|
1769
|
+
isReOrder = false;
|
|
1770
|
+
}
|
|
1771
|
+
}
|
|
1772
|
+
}
|
|
1773
|
+
}
|
|
1774
|
+
}
|
|
1775
|
+
if (isReOrder && (!(this.dataSource instanceof DataManager) && !this.isCustomDataUpdated) &&
|
|
1776
|
+
!this.virtualSelectAll) {
|
|
1777
|
+
// eslint-disable @typescript-eslint/no-explicit-any
|
|
1778
|
+
this.dataCount = this.totalItemCount = this.virtualSelectAll ? listItems.length :
|
|
1779
|
+
listItems.count;
|
|
1780
|
+
}
|
|
1781
|
+
listItems = this.isVirtualizationEnabled ? listItems.result : listItems;
|
|
1782
|
+
this.isPreventChange = this.isAngular && this.preventChange ? true : this.isPreventChange;
|
|
1783
|
+
this.isCustomFiltering = false;
|
|
1784
|
+
if (this.isIncrementalRequest) {
|
|
1785
|
+
ulElement = this.renderItems(listItems, fields);
|
|
1786
|
+
return;
|
|
1787
|
+
}
|
|
1788
|
+
ulElement = this.renderItems(listItems, fields);
|
|
1789
|
+
this.onActionComplete(ulElement, listItems, event);
|
|
1790
|
+
if (this.groupTemplate) {
|
|
1791
|
+
this.renderGroupTemplate(ulElement);
|
|
1792
|
+
}
|
|
1793
|
+
this.bindChildItems(listItems, ulElement, fields);
|
|
1794
|
+
setTimeout(() => {
|
|
1795
|
+
if (this.getModuleName() === 'multiselect' && this.itemTemplate != null && (ulElement.childElementCount > 0 && (ulElement.children[0].childElementCount > 0 || (this.fields.groupBy && ulElement.children[1] && ulElement.children[1].childElementCount > 0)))) {
|
|
1796
|
+
this.updateDataList();
|
|
1797
|
+
}
|
|
1798
|
+
});
|
|
1799
|
+
}
|
|
1800
|
+
}
|
|
1719
1801
|
handleVirtualKeyboardActions(e, pageCount) {
|
|
1720
1802
|
// Used this method in component side.
|
|
1721
1803
|
}
|
|
@@ -2434,7 +2516,12 @@ let DropDownBase = class DropDownBase extends Component {
|
|
|
2434
2516
|
}
|
|
2435
2517
|
dataSource = this.getModuleName() === 'combobox' && this.selectData && dataSource instanceof Array && dataSource.length < this.selectData.length && this.addedNewItem ? this.selectData : dataSource;
|
|
2436
2518
|
this.addedNewItem = false;
|
|
2437
|
-
this.
|
|
2519
|
+
if (this.isCustomReset && this.getModuleName() === 'multiselect') {
|
|
2520
|
+
this.setCustomListData(dataSource, fields, query, e);
|
|
2521
|
+
}
|
|
2522
|
+
else {
|
|
2523
|
+
this.setListData(dataSource, fields, query, e);
|
|
2524
|
+
}
|
|
2438
2525
|
}
|
|
2439
2526
|
}
|
|
2440
2527
|
updateSelectElementData(isFiltering) {
|
|
@@ -4502,6 +4589,9 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
4502
4589
|
}
|
|
4503
4590
|
if (!isNullOrUndefined(dataItem.value) && !this.enableVirtualization && this.allowFiltering) {
|
|
4504
4591
|
this.activeIndex = this.getIndexByValueFilter(dataItem.value, this.actionCompleteData.ulElement);
|
|
4592
|
+
if (isNullOrUndefined(this.activeIndex)) {
|
|
4593
|
+
this.activeIndex = this.getIndexByValue(dataItem.value);
|
|
4594
|
+
}
|
|
4505
4595
|
}
|
|
4506
4596
|
const clearIcon = dropDownListClasses.clearIcon;
|
|
4507
4597
|
const isFilterElement = this.isFiltering() && this.filterInput && (this.getModuleName() === 'combobox');
|
|
@@ -8128,7 +8218,7 @@ let DropDownTree = class DropDownTree extends Component {
|
|
|
8128
8218
|
if (this.isPopupOpen) {
|
|
8129
8219
|
this.hidePopup();
|
|
8130
8220
|
}
|
|
8131
|
-
else if (
|
|
8221
|
+
else if (e.type === 'touchstart' || ('button' in e && e.button !== 2)) {
|
|
8132
8222
|
this.focusIn(e);
|
|
8133
8223
|
this.renderPopup();
|
|
8134
8224
|
}
|
|
@@ -11155,8 +11245,8 @@ let ComboBox = class ComboBox extends DropDownList {
|
|
|
11155
11245
|
const dataItem = this.getItemData();
|
|
11156
11246
|
const value = this.allowObjectBinding ?
|
|
11157
11247
|
this.getDataByValue(dataItem.value) : dataItem.value;
|
|
11158
|
-
if ((this.value === dataItem.value && this.text !== dataItem.text) ||
|
|
11159
|
-
(this.value !== dataItem.value && this.text === dataItem.text)) {
|
|
11248
|
+
if ((this.value === dataItem.value && this.text !== dataItem.text.toString()) ||
|
|
11249
|
+
(this.value !== dataItem.value && this.text === dataItem.text.toString())) {
|
|
11160
11250
|
this.setProperties({ 'text': dataItem.text ? dataItem.text.toString() : dataItem.text, 'value': value });
|
|
11161
11251
|
}
|
|
11162
11252
|
}
|
|
@@ -13822,6 +13912,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
13822
13912
|
checkForCustomValue(query, fields) {
|
|
13823
13913
|
const dataChecks = !this.getValueByText(this.inputElement.value, this.ignoreCase);
|
|
13824
13914
|
const field = fields ? fields : this.fields;
|
|
13915
|
+
this.isCustomReset = true;
|
|
13825
13916
|
if (this.allowCustomValue && dataChecks) {
|
|
13826
13917
|
const value = this.inputElement.value;
|
|
13827
13918
|
const customData = (!isNullOrUndefined(this.mainData) && this.mainData.length > 0) ?
|
|
@@ -13875,6 +13966,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
13875
13966
|
const tempData = JSON.parse(JSON.stringify(this.listData));
|
|
13876
13967
|
tempData.splice(0, 0, dataItem);
|
|
13877
13968
|
this.resetList(tempData, field, query);
|
|
13969
|
+
this.focusAtLastListItem(value);
|
|
13878
13970
|
}
|
|
13879
13971
|
}
|
|
13880
13972
|
else if (this.listData) {
|
|
@@ -13903,6 +13995,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
13903
13995
|
}
|
|
13904
13996
|
}
|
|
13905
13997
|
}
|
|
13998
|
+
this.isCustomReset = false;
|
|
13906
13999
|
if (this.value && this.value.length) {
|
|
13907
14000
|
this.refreshSelection();
|
|
13908
14001
|
}
|
|
@@ -15168,11 +15261,20 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
15168
15261
|
}
|
|
15169
15262
|
removeChipSelection() {
|
|
15170
15263
|
if (this.chipCollectionWrapper) {
|
|
15264
|
+
const selectedChips = this.chipCollectionWrapper.querySelectorAll('span.' + CHIP$1 + '.' + CHIP_SELECTED);
|
|
15265
|
+
if (selectedChips && selectedChips.length > 0) {
|
|
15266
|
+
for (let i = 0; i < selectedChips.length; i++) {
|
|
15267
|
+
selectedChips[i].removeAttribute('aria-live');
|
|
15268
|
+
}
|
|
15269
|
+
}
|
|
15171
15270
|
this.removeChipFocus();
|
|
15172
15271
|
}
|
|
15173
15272
|
}
|
|
15174
15273
|
addChipSelection(element, e) {
|
|
15175
15274
|
addClass([element], CHIP_SELECTED);
|
|
15275
|
+
if (element) {
|
|
15276
|
+
element.setAttribute('aria-live', 'polite');
|
|
15277
|
+
}
|
|
15176
15278
|
this.trigger('chipSelection', e);
|
|
15177
15279
|
}
|
|
15178
15280
|
getVirtualDataByValue(value) {
|
|
@@ -15370,6 +15472,9 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
15370
15472
|
const collection = this.list.querySelectorAll('li.'
|
|
15371
15473
|
+ dropDownBaseClasses.li + ':not(.e-active)');
|
|
15372
15474
|
removeClass(collection, 'e-disable');
|
|
15475
|
+
const mainListCollection = this.mainList.querySelectorAll('li.'
|
|
15476
|
+
+ dropDownBaseClasses.li + ':not(.e-active)');
|
|
15477
|
+
removeClass(mainListCollection, 'e-disable');
|
|
15373
15478
|
}
|
|
15374
15479
|
this.trigger('removed', eventArgs);
|
|
15375
15480
|
const targetEle = eve && eve.currentTarget;
|
|
@@ -15664,7 +15769,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
15664
15769
|
let itemData = { text: value, value: value };
|
|
15665
15770
|
const chip = this.createElement('span', {
|
|
15666
15771
|
className: CHIP$1,
|
|
15667
|
-
attrs: { 'data-value': value, 'title': data }
|
|
15772
|
+
attrs: { 'data-value': value, 'title': data, 'role': 'option', 'aria-selected': 'true' }
|
|
15668
15773
|
});
|
|
15669
15774
|
let compiledString;
|
|
15670
15775
|
const chipContent = this.createElement('span', { className: CHIP_CONTENT$1 });
|
|
@@ -16820,6 +16925,11 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
16820
16925
|
removeClass(selectedItems, className);
|
|
16821
16926
|
while (temp > 0) {
|
|
16822
16927
|
selectedItems[temp - 1].setAttribute('aria-selected', 'false');
|
|
16928
|
+
if (this.mode === 'CheckBox') {
|
|
16929
|
+
if (selectedItems && (selectedItems.length > (temp - 1))) {
|
|
16930
|
+
removeClass([selectedItems[temp - 1].firstElementChild.lastElementChild], 'e-check');
|
|
16931
|
+
}
|
|
16932
|
+
}
|
|
16823
16933
|
temp--;
|
|
16824
16934
|
}
|
|
16825
16935
|
}
|
|
@@ -18521,6 +18631,22 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
18521
18631
|
else {
|
|
18522
18632
|
this.setProperties({ value: null }, true);
|
|
18523
18633
|
}
|
|
18634
|
+
this.checkAndResetCache();
|
|
18635
|
+
if (this.enableVirtualization) {
|
|
18636
|
+
this.updateInitialData();
|
|
18637
|
+
if (this.chipCollectionWrapper) {
|
|
18638
|
+
this.chipCollectionWrapper.innerHTML = '';
|
|
18639
|
+
}
|
|
18640
|
+
if (!this.isCustomDataUpdated) {
|
|
18641
|
+
this.notify('setGeneratedData', {
|
|
18642
|
+
module: 'VirtualScroll'
|
|
18643
|
+
});
|
|
18644
|
+
}
|
|
18645
|
+
this.list.scrollTop = 0;
|
|
18646
|
+
this.virtualListInfo = null;
|
|
18647
|
+
this.previousStartIndex = 0;
|
|
18648
|
+
this.previousEndIndex = this.itemCount;
|
|
18649
|
+
}
|
|
18524
18650
|
}
|
|
18525
18651
|
/**
|
|
18526
18652
|
* To Initialize the control rendering
|
|
@@ -20082,6 +20208,22 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
20082
20208
|
this.unSelectAllText = l10nSelect.getConstant('unSelectAllText');
|
|
20083
20209
|
this.popupWrapper = this.list;
|
|
20084
20210
|
this.checkBoxSelectionModule.checkAllParent = null;
|
|
20211
|
+
if (this.filterParent) {
|
|
20212
|
+
const parentNode = this.filterParent.parentNode;
|
|
20213
|
+
if (parentNode) {
|
|
20214
|
+
const firstChild = this.filterParent.querySelector('input.e-input-filter');
|
|
20215
|
+
if (!firstChild.classList.contains('e-input-focus') && !firstChild.classList.contains('e-valid-input')
|
|
20216
|
+
&& this.selectedListItemCount === 0) {
|
|
20217
|
+
this.filterParent = null;
|
|
20218
|
+
}
|
|
20219
|
+
if (this.selectedListItemCount > 0 && this.showSelectAll) {
|
|
20220
|
+
this.filterParent = null;
|
|
20221
|
+
}
|
|
20222
|
+
}
|
|
20223
|
+
else {
|
|
20224
|
+
this.filterParent = null;
|
|
20225
|
+
}
|
|
20226
|
+
}
|
|
20085
20227
|
this.notify('selectAll', {});
|
|
20086
20228
|
}
|
|
20087
20229
|
}
|
|
@@ -20189,7 +20331,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
20189
20331
|
setHeight() {
|
|
20190
20332
|
const ele = this.toolbarSettings.items.length ? this.list.parentElement : this.list;
|
|
20191
20333
|
ele.style.height = formatUnit(this.height);
|
|
20192
|
-
if (this.allowFiltering && this.height.toString().indexOf('%')
|
|
20334
|
+
if (this.allowFiltering && this.height.toString().indexOf('%') > 0) {
|
|
20193
20335
|
addClass([this.list], 'e-filter-list');
|
|
20194
20336
|
}
|
|
20195
20337
|
else {
|
|
@@ -20277,6 +20419,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
20277
20419
|
}
|
|
20278
20420
|
}
|
|
20279
20421
|
super.onActionComplete(ulElement, list, e);
|
|
20422
|
+
this.initWrapper();
|
|
20280
20423
|
if (this.allowFiltering && !isNullOrUndefined(searchEle)) {
|
|
20281
20424
|
this.list.insertBefore(searchEle, this.list.firstElementChild);
|
|
20282
20425
|
this.filterParent = this.list.getElementsByClassName('e-filter-parent')[0];
|
|
@@ -20295,7 +20438,6 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
20295
20438
|
});
|
|
20296
20439
|
}
|
|
20297
20440
|
}
|
|
20298
|
-
this.initWrapper();
|
|
20299
20441
|
this.setSelection(this.value, true, false, !this.isRendered);
|
|
20300
20442
|
this.initDraggable();
|
|
20301
20443
|
this.mainList = this.ulElement;
|
|
@@ -21099,6 +21241,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
21099
21241
|
}
|
|
21100
21242
|
}
|
|
21101
21243
|
const len = this.getSelectedItems().length;
|
|
21244
|
+
this.selectedListItemCount = len;
|
|
21102
21245
|
if (this.showSelectAll && searchCount) {
|
|
21103
21246
|
this.notify('checkSelectAll', { module: 'CheckBoxSelection',
|
|
21104
21247
|
value: (searchCount === len) ? 'check' : (len === 0) ? 'uncheck' : 'indeterminate' });
|
|
@@ -21907,7 +22050,8 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
21907
22050
|
e.preventDefault();
|
|
21908
22051
|
return;
|
|
21909
22052
|
}
|
|
21910
|
-
const char =
|
|
22053
|
+
const char = e.code && e.keyCode >= 96 && e.keyCode <= 105 ?
|
|
22054
|
+
String.fromCharCode(e.keyCode - 48) : String.fromCharCode(e.keyCode);
|
|
21911
22055
|
const isWordCharacter = char.match(/\w/);
|
|
21912
22056
|
const isWordAccentCharacter = char.match(/[A-Za-z0-9\u00C0-\u024F ]/);
|
|
21913
22057
|
if (!isNullOrUndefined(isWordCharacter) || !isNullOrUndefined(isWordAccentCharacter)) {
|