@syncfusion/ej2-dropdowns 20.1.60 → 20.2.38
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/CHANGELOG.md +2 -62
- 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 +110 -104
- package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
- package/dist/es6/ej2-dropdowns.es5.js +73 -67
- 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/helpers/e2e/autocomplete.js +59 -43
- package/helpers/e2e/combobox.js +62 -46
- package/helpers/e2e/dropdownlist.js +71 -55
- package/helpers/e2e/index.js +11 -9
- package/helpers/e2e/listboxHelper.js +55 -38
- package/helpers/e2e/multiselect.js +104 -88
- package/package.json +11 -11
- package/src/common/incremental-search.js +1 -1
- package/src/drop-down-base/drop-down-base-model.d.ts +1 -1
- package/src/drop-down-base/drop-down-base.d.ts +5 -1
- package/src/drop-down-base/drop-down-base.js +3 -5
- package/src/drop-down-list/drop-down-list.js +13 -15
- package/src/drop-down-tree/drop-down-tree-model.d.ts +2 -2
- package/src/drop-down-tree/drop-down-tree.js +5 -5
- package/src/list-box/list-box.d.ts +1 -0
- package/src/list-box/list-box.js +22 -13
- package/src/multi-select/multi-select-model.d.ts +1 -1
- package/src/multi-select/multi-select.d.ts +2 -1
- package/src/multi-select/multi-select.js +29 -28
- package/styles/auto-complete/_fusionnew-definition.scss +2 -0
- package/styles/auto-complete/_material3-definition.scss +2 -0
- package/styles/bootstrap-dark.css +59 -11
- package/styles/bootstrap.css +59 -11
- package/styles/bootstrap4.css +59 -11
- package/styles/bootstrap5-dark.css +60 -12
- package/styles/bootstrap5.css +60 -12
- package/styles/combo-box/_fusionnew-definition.scss +2 -0
- package/styles/combo-box/_material3-definition.scss +2 -0
- package/styles/drop-down-base/_fusionnew-definition.scss +111 -0
- package/styles/drop-down-base/_material3-definition.scss +111 -0
- package/styles/drop-down-list/_fusionnew-definition.scss +201 -0
- package/styles/drop-down-list/_material3-definition.scss +201 -0
- package/styles/drop-down-list/icons/_fusionnew.scss +14 -0
- package/styles/drop-down-list/icons/_material3.scss +14 -0
- package/styles/drop-down-tree/_fusionnew-definition.scss +60 -0
- package/styles/drop-down-tree/_material3-definition.scss +60 -0
- package/styles/drop-down-tree/icons/_fusionnew.scss +11 -0
- package/styles/drop-down-tree/icons/_material3.scss +11 -0
- package/styles/fabric-dark.css +59 -11
- package/styles/fabric.css +59 -11
- package/styles/fluent-dark.css +63 -15
- package/styles/fluent.css +60 -12
- package/styles/highcontrast-light.css +59 -11
- package/styles/highcontrast.css +59 -11
- package/styles/list-box/_bootstrap-dark-definition.scss +5 -1
- package/styles/list-box/_bootstrap-definition.scss +5 -1
- package/styles/list-box/_bootstrap4-definition.scss +5 -1
- package/styles/list-box/_bootstrap5-definition.scss +7 -2
- package/styles/list-box/_fabric-dark-definition.scss +5 -1
- package/styles/list-box/_fabric-definition.scss +5 -1
- package/styles/list-box/_fluent-definition.scss +7 -2
- package/styles/list-box/_fusionnew-definition.scss +113 -0
- package/styles/list-box/_highcontrast-definition.scss +5 -1
- package/styles/list-box/_highcontrast-light-definition.scss +5 -1
- package/styles/list-box/_layout.scss +36 -1
- package/styles/list-box/_material-dark-definition.scss +6 -2
- package/styles/list-box/_material-definition.scss +6 -2
- package/styles/list-box/_material3-definition.scss +119 -0
- package/styles/list-box/_tailwind-definition.scss +6 -2
- package/styles/list-box/_theme.scss +40 -8
- package/styles/list-box/bootstrap-dark.css +49 -11
- package/styles/list-box/bootstrap.css +59 -11
- package/styles/list-box/bootstrap4.css +59 -11
- package/styles/list-box/bootstrap5-dark.css +60 -12
- package/styles/list-box/bootstrap5.css +60 -12
- package/styles/list-box/fabric-dark.css +49 -11
- package/styles/list-box/fabric.css +59 -11
- package/styles/list-box/fluent-dark.css +63 -15
- package/styles/list-box/fluent.css +60 -12
- package/styles/list-box/highcontrast-light.css +49 -11
- package/styles/list-box/highcontrast.css +59 -11
- package/styles/list-box/icons/_fusionnew.scss +25 -0
- package/styles/list-box/icons/_material3.scss +25 -0
- package/styles/list-box/material-dark.css +50 -12
- package/styles/list-box/material.css +60 -12
- package/styles/list-box/tailwind-dark.css +60 -12
- package/styles/list-box/tailwind.css +60 -12
- package/styles/material-dark.css +60 -12
- package/styles/material.css +60 -12
- package/styles/multi-select/_fusionnew-definition.scss +219 -0
- package/styles/multi-select/_material3-definition.scss +219 -0
- package/styles/multi-select/icons/_fusionnew.scss +27 -0
- package/styles/multi-select/icons/_material3.scss +27 -0
- package/styles/tailwind-dark.css +60 -12
- package/styles/tailwind.css +60 -12
|
@@ -92,7 +92,7 @@ function Search(inputVal, items, searchType, ignoreCase) {
|
|
|
92
92
|
for (let i = 0, itemsData = listItems; i < itemsData.length; i++) {
|
|
93
93
|
const item = itemsData[i];
|
|
94
94
|
const text = (ignoreCase ? item.textContent.toLocaleLowerCase() : item.textContent).replace(/^\s+|\s+$/g, '');
|
|
95
|
-
if ((searchType === 'Equal' && text === queryStr) || (searchType === 'StartsWith' && text.substr(0, strLength) === queryStr) || (searchType === 'EndsWith' && text.substr(text.length - queryStr.length) === queryStr) || (searchType === 'Contains' && new RegExp(queryStr,
|
|
95
|
+
if ((searchType === 'Equal' && text === queryStr) || (searchType === 'StartsWith' && text.substr(0, strLength) === queryStr) || (searchType === 'EndsWith' && text.substr(text.length - queryStr.length) === queryStr) || (searchType === 'Contains' && new RegExp(queryStr, "g").test(text))) {
|
|
96
96
|
itemData.item = item;
|
|
97
97
|
itemData.index = i;
|
|
98
98
|
return { item: item, index: i };
|
|
@@ -308,8 +308,7 @@ let DropDownBase = class DropDownBase extends Component {
|
|
|
308
308
|
compareValue = value;
|
|
309
309
|
dataSource.filter((item) => {
|
|
310
310
|
const itemValue = getValue(fields.value, item);
|
|
311
|
-
if (!isNullOrUndefined(itemValue) && !isNullOrUndefined(value)
|
|
312
|
-
&& itemValue.toString() === compareValue.toString()) {
|
|
311
|
+
if (!isNullOrUndefined(itemValue) && !isNullOrUndefined(value) && itemValue.toString() === compareValue.toString()) {
|
|
313
312
|
value = getValue(fields.text, item);
|
|
314
313
|
}
|
|
315
314
|
});
|
|
@@ -732,7 +731,7 @@ let DropDownBase = class DropDownBase extends Component {
|
|
|
732
731
|
if (this.getModuleName() === 'multiselect' && this.properties.allowCustomValue && this.fields.groupBy) {
|
|
733
732
|
for (let i = 0; i < ulElement.childElementCount; i++) {
|
|
734
733
|
if (ulElement.children[i].classList.contains('e-list-group-item')) {
|
|
735
|
-
if (isNullOrUndefined(ulElement.children[i].innerHTML) || ulElement.children[i].innerHTML
|
|
734
|
+
if (isNullOrUndefined(ulElement.children[i].innerHTML) || ulElement.children[i].innerHTML == "") {
|
|
736
735
|
addClass([ulElement.children[i]], HIDE_GROUPLIST);
|
|
737
736
|
}
|
|
738
737
|
}
|
|
@@ -859,8 +858,8 @@ let DropDownBase = class DropDownBase extends Component {
|
|
|
859
858
|
this.scrollStop(e);
|
|
860
859
|
}
|
|
861
860
|
scrollStop(e) {
|
|
862
|
-
|
|
863
|
-
|
|
861
|
+
let target = !isNullOrUndefined(e) ? e.target : this.list;
|
|
862
|
+
let liHeight = parseInt(getComputedStyle(this.getValidLi(), null).getPropertyValue('height'), 10);
|
|
864
863
|
const topIndex = Math.round(target.scrollTop / liHeight);
|
|
865
864
|
const liCollections = this.list.querySelectorAll('li' + ':not(.e-hide-listitem)');
|
|
866
865
|
for (let i = topIndex; i > -1; i--) {
|
|
@@ -948,10 +947,10 @@ let DropDownBase = class DropDownBase extends Component {
|
|
|
948
947
|
Refer bug report https://bugzilla.mozilla.org/show_bug.cgi?id=137688
|
|
949
948
|
Refer alternate solution https://stackoverflow.com/a/41696234/9133493*/
|
|
950
949
|
if (isNaN(borderWidth)) {
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
950
|
+
let borderTopWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-top-width'), 10);
|
|
951
|
+
let borderBottomWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-bottom-width'), 10);
|
|
952
|
+
let borderLeftWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-left-width'), 10);
|
|
953
|
+
let borderRightWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-right-width'), 10);
|
|
955
954
|
borderWidth = (borderTopWidth + borderBottomWidth + borderLeftWidth + borderRightWidth);
|
|
956
955
|
}
|
|
957
956
|
}
|
|
@@ -1218,8 +1217,7 @@ let DropDownBase = class DropDownBase extends Component {
|
|
|
1218
1217
|
}
|
|
1219
1218
|
if (this.itemTemplate && !isHeader) {
|
|
1220
1219
|
const itemCheck = this.templateCompiler(this.itemTemplate);
|
|
1221
|
-
const compiledString = itemCheck ?
|
|
1222
|
-
compile(select(this.itemTemplate, document).innerHTML.trim()) : compile(this.itemTemplate);
|
|
1220
|
+
const compiledString = itemCheck ? compile(select(this.itemTemplate, document).innerHTML.trim()) : compile(this.itemTemplate);
|
|
1223
1221
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1224
1222
|
const addItemTemplate = compiledString(item, this, 'itemTemplate', this.itemTemplateId, this.isStringTemplate, null, li);
|
|
1225
1223
|
if (addItemTemplate) {
|
|
@@ -1704,7 +1702,7 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
1704
1702
|
return {
|
|
1705
1703
|
'aria-disabled': 'false',
|
|
1706
1704
|
'aria-owns': this.element.id + '_options',
|
|
1707
|
-
'role': '
|
|
1705
|
+
'role': 'combobox',
|
|
1708
1706
|
'aria-haspopup': 'true',
|
|
1709
1707
|
'aria-expanded': 'false',
|
|
1710
1708
|
'aria-activedescendant': 'null',
|
|
@@ -1969,7 +1967,7 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
1969
1967
|
}
|
|
1970
1968
|
else {
|
|
1971
1969
|
const delay = 100;
|
|
1972
|
-
this.closePopup(delay);
|
|
1970
|
+
this.closePopup(delay, e);
|
|
1973
1971
|
}
|
|
1974
1972
|
}
|
|
1975
1973
|
onMouseOver(e) {
|
|
@@ -2193,7 +2191,7 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
2193
2191
|
this.isSelectCustom = false;
|
|
2194
2192
|
this.onChangeEvent(e);
|
|
2195
2193
|
}
|
|
2196
|
-
this.hidePopup();
|
|
2194
|
+
this.hidePopup(e);
|
|
2197
2195
|
this.focusDropDown(e);
|
|
2198
2196
|
}
|
|
2199
2197
|
else {
|
|
@@ -2390,9 +2388,9 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
2390
2388
|
detach(this.valueTempElement);
|
|
2391
2389
|
this.inputElement.style.display = 'block';
|
|
2392
2390
|
}
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2391
|
+
let clearIcon = dropDownListClasses.clearIcon;
|
|
2392
|
+
let isFilterElement = this.isFiltering() && this.filterInput && (this.getModuleName() === 'combobox');
|
|
2393
|
+
let clearElement = isFilterElement && this.filterInput.parentElement.querySelector('.' + clearIcon);
|
|
2396
2394
|
if (this.isFiltering() && clearElement) {
|
|
2397
2395
|
clearElement.style.removeProperty('visibility');
|
|
2398
2396
|
}
|
|
@@ -2427,11 +2425,9 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
2427
2425
|
if (this.setValue(e)) {
|
|
2428
2426
|
return;
|
|
2429
2427
|
}
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
attributes(this.filterInput, { 'aria-activedescendant': this.selectedLI ? this.selectedLI.id : null });
|
|
2434
|
-
}
|
|
2428
|
+
attributes(this.targetElement(), { 'aria-activedescendant': this.selectedLI ? this.selectedLI.id : null });
|
|
2429
|
+
if (this.isFilterLayout() && this.filterInput) {
|
|
2430
|
+
attributes(this.filterInput, { 'aria-activedescendant': this.selectedLI ? this.selectedLI.id : null });
|
|
2435
2431
|
}
|
|
2436
2432
|
if ((!this.isPopupOpen && !isNullOrUndefined(li)) || (this.isPopupOpen && !isNullOrUndefined(e) &&
|
|
2437
2433
|
(e.type !== 'keydown' || e.type === 'keydown' && e.action === 'enter'))) {
|
|
@@ -2913,7 +2909,6 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
2913
2909
|
this.initial = true;
|
|
2914
2910
|
this.activeIndex = this.index;
|
|
2915
2911
|
this.initRemoteRender = false;
|
|
2916
|
-
this.initial = false;
|
|
2917
2912
|
if (this.value && this.dataSource instanceof DataManager) {
|
|
2918
2913
|
const checkField = isNullOrUndefined(this.fields.value) ? this.fields.text : this.fields.value;
|
|
2919
2914
|
const checkVal = list.some((x) => x[checkField] === this.value);
|
|
@@ -2936,6 +2931,7 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
2936
2931
|
else {
|
|
2937
2932
|
this.updateValues();
|
|
2938
2933
|
}
|
|
2934
|
+
this.initial = false;
|
|
2939
2935
|
}
|
|
2940
2936
|
if (this.getModuleName() !== 'autocomplete' && this.isFiltering() && !this.isTyped) {
|
|
2941
2937
|
if (!this.actionCompleteData.isUpdated || ((!this.isCustomFilter
|
|
@@ -3359,7 +3355,7 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
3359
3355
|
}
|
|
3360
3356
|
}
|
|
3361
3357
|
}
|
|
3362
|
-
closePopup(delay) {
|
|
3358
|
+
closePopup(delay, e) {
|
|
3363
3359
|
this.isTyped = false;
|
|
3364
3360
|
if (!(this.popupObj && document.body.contains(this.popupObj.element) && this.beforePopupOpen)) {
|
|
3365
3361
|
return;
|
|
@@ -3395,7 +3391,7 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
3395
3391
|
EventHandler.remove(this.filterInput, 'paste', this.pasteHandler);
|
|
3396
3392
|
this.filterInput = null;
|
|
3397
3393
|
}
|
|
3398
|
-
attributes(this.targetElement(), { 'aria-expanded': 'false'
|
|
3394
|
+
attributes(this.targetElement(), { 'aria-expanded': 'false' });
|
|
3399
3395
|
this.inputWrapper.container.classList.remove(dropDownListClasses.iconAnimation);
|
|
3400
3396
|
if (this.isFiltering()) {
|
|
3401
3397
|
this.actionCompleteData.isUpdated = false;
|
|
@@ -3407,7 +3403,7 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
3407
3403
|
delay: delay ? delay : 0
|
|
3408
3404
|
};
|
|
3409
3405
|
const popupInstance = this.popupObj;
|
|
3410
|
-
const eventArgs = { popup: popupInstance, cancel: false, animation: animModel };
|
|
3406
|
+
const eventArgs = { popup: popupInstance, cancel: false, animation: animModel, event: e || null };
|
|
3411
3407
|
this.trigger('close', eventArgs, (eventArgs) => {
|
|
3412
3408
|
if (!isNullOrUndefined(this.popupObj) &&
|
|
3413
3409
|
!isNullOrUndefined(this.popupObj.element.querySelector('.e-fixed-head'))) {
|
|
@@ -3628,7 +3624,7 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
3628
3624
|
|| (!(props.dataSource instanceof DataManager) && props.dataSource.length === 0)))) {
|
|
3629
3625
|
this.clearAll(null, props);
|
|
3630
3626
|
}
|
|
3631
|
-
if ((this.fields.groupBy && props.fields) && !this.isGroupChecking) {
|
|
3627
|
+
if ((this.fields.groupBy && props.fields) && !this.isGroupChecking && this.list) {
|
|
3632
3628
|
EventHandler.remove(this.list, 'scroll', this.setFloatingHeader);
|
|
3633
3629
|
EventHandler.add(this.list, 'scroll', this.setFloatingHeader, this);
|
|
3634
3630
|
}
|
|
@@ -3913,7 +3909,7 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
3913
3909
|
if (!this.enabled) {
|
|
3914
3910
|
return;
|
|
3915
3911
|
}
|
|
3916
|
-
if (this.isFiltering() && this.dataSource instanceof DataManager && (this.actionData.list
|
|
3912
|
+
if (this.isFiltering() && this.dataSource instanceof DataManager && (this.actionData.list != this.actionCompleteData.list) &&
|
|
3917
3913
|
this.actionData.list && this.actionData.ulElement) {
|
|
3918
3914
|
this.actionCompleteData = this.actionData;
|
|
3919
3915
|
this.onActionComplete(this.actionCompleteData.ulElement, this.actionCompleteData.list, null, true);
|
|
@@ -3975,7 +3971,7 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
3975
3971
|
this.resetSelection();
|
|
3976
3972
|
}
|
|
3977
3973
|
}
|
|
3978
|
-
this.closePopup();
|
|
3974
|
+
this.closePopup(0, e);
|
|
3979
3975
|
const dataItem = this.getItemData();
|
|
3980
3976
|
const isSelectVal = !isNullOrUndefined(this.selectedLI);
|
|
3981
3977
|
if (this.inputElement && this.inputElement.value.trim() === '' && !this.isInteracted && (this.isSelectCustom ||
|
|
@@ -5509,7 +5505,7 @@ let DropDownTree = class DropDownTree extends Component {
|
|
|
5509
5505
|
}
|
|
5510
5506
|
else {
|
|
5511
5507
|
if (this.showCheckBox) {
|
|
5512
|
-
|
|
5508
|
+
let difference = this.value.filter((e) => {
|
|
5513
5509
|
return this.treeObj.checkedNodes.indexOf(e) === -1;
|
|
5514
5510
|
});
|
|
5515
5511
|
if (difference.length > 0 || this.treeSettings.autoCheck) {
|
|
@@ -6273,7 +6269,7 @@ let DropDownTree = class DropDownTree extends Component {
|
|
|
6273
6269
|
}
|
|
6274
6270
|
else if (this.treeDataType === 1) {
|
|
6275
6271
|
for (let i = 0, objlen = this.treeItems.length; i < objlen; i++) {
|
|
6276
|
-
|
|
6272
|
+
let dataId = getValue(this.fields.value, this.treeItems[i]);
|
|
6277
6273
|
if (!isNullOrUndefined(this.treeItems[i]) && !isNullOrUndefined(dataId) && dataId.toString() === id) {
|
|
6278
6274
|
return this.treeItems[i];
|
|
6279
6275
|
}
|
|
@@ -6290,19 +6286,19 @@ let DropDownTree = class DropDownTree extends Component {
|
|
|
6290
6286
|
return newChildItems;
|
|
6291
6287
|
}
|
|
6292
6288
|
for (let i = 0, objlen = obj.length; i < objlen; i++) {
|
|
6293
|
-
|
|
6289
|
+
let dataValue = getValue(mapper.value, obj[i]);
|
|
6294
6290
|
if (obj[i] && dataValue && dataValue.toString() === id) {
|
|
6295
6291
|
return obj[i];
|
|
6296
6292
|
}
|
|
6297
6293
|
else if (typeof mapper.child === 'string' && !isNullOrUndefined(getValue(mapper.child, obj[i]))) {
|
|
6298
|
-
|
|
6294
|
+
let childNodeData = getValue(mapper.child, obj[i]);
|
|
6299
6295
|
newChildItems = this.getChildNodeData(childNodeData, this.getChildMapperFields(mapper), id);
|
|
6300
6296
|
if (newChildItems !== undefined) {
|
|
6301
6297
|
break;
|
|
6302
6298
|
}
|
|
6303
6299
|
}
|
|
6304
6300
|
else if (this.fields.dataSource instanceof DataManager && !isNullOrUndefined(getValue('child', obj[i]))) {
|
|
6305
|
-
|
|
6301
|
+
let child = 'child';
|
|
6306
6302
|
newChildItems = this.getChildNodeData(getValue(child, obj[i]), this.getChildMapperFields(mapper), id);
|
|
6307
6303
|
if (newChildItems !== undefined) {
|
|
6308
6304
|
break;
|
|
@@ -6421,7 +6417,7 @@ let DropDownTree = class DropDownTree extends Component {
|
|
|
6421
6417
|
addClass([this.inputWrapper], SHOW_CHIP);
|
|
6422
6418
|
}
|
|
6423
6419
|
const chip = this.createElement('span', {
|
|
6424
|
-
className: CHIP
|
|
6420
|
+
className: CHIP,
|
|
6425
6421
|
});
|
|
6426
6422
|
if (!this.inputEle.classList.contains(CHIP_INPUT)) {
|
|
6427
6423
|
addClass([this.inputEle], CHIP_INPUT);
|
|
@@ -6557,7 +6553,7 @@ let DropDownTree = class DropDownTree extends Component {
|
|
|
6557
6553
|
this.ensurePlaceHolder();
|
|
6558
6554
|
}
|
|
6559
6555
|
resetValue(isDynamicChange) {
|
|
6560
|
-
if (this.value
|
|
6556
|
+
if (this.value == [] && this.text == null) {
|
|
6561
6557
|
return;
|
|
6562
6558
|
}
|
|
6563
6559
|
Input.setValue(null, this.inputEle, this.floatLabelType);
|
|
@@ -6938,10 +6934,10 @@ let DropDownTree = class DropDownTree extends Component {
|
|
|
6938
6934
|
this.updateTreeSettings(newProp);
|
|
6939
6935
|
break;
|
|
6940
6936
|
case 'customTemplate':
|
|
6941
|
-
if (this.mode !==
|
|
6937
|
+
if (this.mode !== "Custom") {
|
|
6942
6938
|
return;
|
|
6943
6939
|
}
|
|
6944
|
-
this.chipCollection.innerHTML =
|
|
6940
|
+
this.chipCollection.innerHTML = "";
|
|
6945
6941
|
this.setTagValues();
|
|
6946
6942
|
break;
|
|
6947
6943
|
case 'sortOrder':
|
|
@@ -7159,7 +7155,7 @@ __decorate$2([
|
|
|
7159
7155
|
Property('')
|
|
7160
7156
|
], DropDownTree.prototype, "cssClass", void 0);
|
|
7161
7157
|
__decorate$2([
|
|
7162
|
-
Property(
|
|
7158
|
+
Property("${value.length} item(s) selected")
|
|
7163
7159
|
], DropDownTree.prototype, "customTemplate", void 0);
|
|
7164
7160
|
__decorate$2([
|
|
7165
7161
|
Property(',')
|
|
@@ -8746,6 +8742,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
8746
8742
|
constructor(option, element) {
|
|
8747
8743
|
super(option, element);
|
|
8748
8744
|
this.clearIconWidth = 0;
|
|
8745
|
+
this.previousFilterText = '';
|
|
8749
8746
|
this.isValidKey = false;
|
|
8750
8747
|
this.selectAllEventData = [];
|
|
8751
8748
|
this.selectAllEventEle = [];
|
|
@@ -8819,7 +8816,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
8819
8816
|
else if (containerAttr.indexOf(htmlAttr) > -1) {
|
|
8820
8817
|
this.overAllWrapper.setAttribute(htmlAttr, this.htmlAttributes[htmlAttr]);
|
|
8821
8818
|
}
|
|
8822
|
-
else {
|
|
8819
|
+
else if (htmlAttr !== 'size') {
|
|
8823
8820
|
this.inputElement.setAttribute(htmlAttr, this.htmlAttributes[htmlAttr]);
|
|
8824
8821
|
}
|
|
8825
8822
|
break;
|
|
@@ -9208,7 +9205,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
9208
9205
|
}
|
|
9209
9206
|
}
|
|
9210
9207
|
getValidLi() {
|
|
9211
|
-
|
|
9208
|
+
let liElement = this.ulElement.querySelector('li.' + dropDownBaseClasses.li + ':not(.' + HIDE_LIST + ')');
|
|
9212
9209
|
return (!isNullOrUndefined(liElement) ? liElement : this.liCollections[0]);
|
|
9213
9210
|
}
|
|
9214
9211
|
checkSelectAll() {
|
|
@@ -9240,7 +9237,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
9240
9237
|
this.showPopup();
|
|
9241
9238
|
}
|
|
9242
9239
|
else {
|
|
9243
|
-
this.hidePopup();
|
|
9240
|
+
this.hidePopup(e);
|
|
9244
9241
|
}
|
|
9245
9242
|
}
|
|
9246
9243
|
else if (!this.openOnClick && this.mode === 'CheckBox' && !this.isPopupOpen()) {
|
|
@@ -9309,7 +9306,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
9309
9306
|
const list = this.mainList.cloneNode ? this.mainList.cloneNode(true) : this.mainList;
|
|
9310
9307
|
if (this.backCommand) {
|
|
9311
9308
|
this.remoteCustomValue = false;
|
|
9312
|
-
if (this.allowCustomValue && list.querySelectorAll('li').length
|
|
9309
|
+
if (this.allowCustomValue && list.querySelectorAll('li').length == 0 && this.mainData.length > 0) {
|
|
9313
9310
|
this.mainData = [];
|
|
9314
9311
|
}
|
|
9315
9312
|
this.onActionComplete(list, this.mainData);
|
|
@@ -9400,7 +9397,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
9400
9397
|
this.showPopup();
|
|
9401
9398
|
}
|
|
9402
9399
|
else {
|
|
9403
|
-
this.hidePopup();
|
|
9400
|
+
this.hidePopup(e);
|
|
9404
9401
|
if (this.mode === 'CheckBox') {
|
|
9405
9402
|
this.showOverAllClear();
|
|
9406
9403
|
this.inputFocus = true;
|
|
@@ -9478,6 +9475,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
9478
9475
|
}
|
|
9479
9476
|
}
|
|
9480
9477
|
}
|
|
9478
|
+
this.updateDataList();
|
|
9481
9479
|
this.refreshListItems(null);
|
|
9482
9480
|
if (this.mode !== 'Box' && this.mode !== 'CheckBox') {
|
|
9483
9481
|
this.updateDelimView();
|
|
@@ -9488,7 +9486,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
9488
9486
|
}
|
|
9489
9487
|
this.overAllClear.style.display = 'none';
|
|
9490
9488
|
if (this.isPopupOpen()) {
|
|
9491
|
-
this.hidePopup();
|
|
9489
|
+
this.hidePopup(eve);
|
|
9492
9490
|
}
|
|
9493
9491
|
this.makeTextBoxEmpty();
|
|
9494
9492
|
this.trigger('blur');
|
|
@@ -9682,7 +9680,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
9682
9680
|
popupKeyActions(e) {
|
|
9683
9681
|
switch (e.keyCode) {
|
|
9684
9682
|
case 38:
|
|
9685
|
-
this.hidePopup();
|
|
9683
|
+
this.hidePopup(e);
|
|
9686
9684
|
if (this.mode === 'CheckBox') {
|
|
9687
9685
|
this.inputElement.focus();
|
|
9688
9686
|
}
|
|
@@ -9701,10 +9699,10 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
9701
9699
|
if (!isNullOrUndefined(focusedItem)) {
|
|
9702
9700
|
this.inputElement.setAttribute('aria-activedescendant', focusedItem.id);
|
|
9703
9701
|
if (this.allowFiltering) {
|
|
9704
|
-
|
|
9702
|
+
var filterInput = this.popupWrapper.querySelector('.' + FILTERINPUT);
|
|
9705
9703
|
filterInput && filterInput.setAttribute('aria-activedescendant', focusedItem.id);
|
|
9706
9704
|
}
|
|
9707
|
-
else if (this.mode
|
|
9705
|
+
else if (this.mode == "CheckBox") {
|
|
9708
9706
|
this.overAllWrapper.setAttribute('aria-activedescendant', focusedItem.id);
|
|
9709
9707
|
}
|
|
9710
9708
|
}
|
|
@@ -9764,7 +9762,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
9764
9762
|
break;
|
|
9765
9763
|
case 27:
|
|
9766
9764
|
e.preventDefault();
|
|
9767
|
-
this.hidePopup();
|
|
9765
|
+
this.hidePopup(e);
|
|
9768
9766
|
if (this.mode === 'CheckBox') {
|
|
9769
9767
|
this.inputElement.focus();
|
|
9770
9768
|
}
|
|
@@ -9781,7 +9779,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
9781
9779
|
return;
|
|
9782
9780
|
case 9:
|
|
9783
9781
|
e.preventDefault();
|
|
9784
|
-
this.hidePopup();
|
|
9782
|
+
this.hidePopup(e);
|
|
9785
9783
|
this.inputElement.focus();
|
|
9786
9784
|
this.overAllWrapper.classList.add(FOCUS);
|
|
9787
9785
|
}
|
|
@@ -9809,6 +9807,9 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
9809
9807
|
this.keyNavigation(e);
|
|
9810
9808
|
}
|
|
9811
9809
|
if (this.mode === 'CheckBox' && this.enableSelectionOrder) {
|
|
9810
|
+
if (this.allowFiltering) {
|
|
9811
|
+
this.previousFilterText = this.targetElement();
|
|
9812
|
+
}
|
|
9812
9813
|
this.checkBackCommand(e);
|
|
9813
9814
|
}
|
|
9814
9815
|
this.expandTextbox();
|
|
@@ -9851,14 +9852,13 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
9851
9852
|
if (!document.activeElement.classList.contains(FILTERINPUT)) {
|
|
9852
9853
|
e.preventDefault();
|
|
9853
9854
|
this.keyAction = true;
|
|
9854
|
-
this.list.focus();
|
|
9855
9855
|
}
|
|
9856
9856
|
this.selectByKey(e);
|
|
9857
9857
|
}
|
|
9858
9858
|
this.checkPlaceholderSize();
|
|
9859
9859
|
}
|
|
9860
9860
|
checkBackCommand(e) {
|
|
9861
|
-
if (e.keyCode === 8 && this.targetElement() === '') {
|
|
9861
|
+
if (e.keyCode === 8 && this.allowFiltering ? this.targetElement() !== this.previousFilterText : this.targetElement() === '') {
|
|
9862
9862
|
this.backCommand = false;
|
|
9863
9863
|
}
|
|
9864
9864
|
else {
|
|
@@ -10004,7 +10004,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
10004
10004
|
}
|
|
10005
10005
|
this.refreshSelection();
|
|
10006
10006
|
if (this.closePopupOnSelect) {
|
|
10007
|
-
this.hidePopup();
|
|
10007
|
+
this.hidePopup(e);
|
|
10008
10008
|
}
|
|
10009
10009
|
}
|
|
10010
10010
|
this.refreshPlaceHolder();
|
|
@@ -10036,7 +10036,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
10036
10036
|
this.makeTextBoxEmpty();
|
|
10037
10037
|
}
|
|
10038
10038
|
if (this.closePopupOnSelect) {
|
|
10039
|
-
this.hidePopup();
|
|
10039
|
+
this.hidePopup(e);
|
|
10040
10040
|
}
|
|
10041
10041
|
this.checkPlaceholderSize();
|
|
10042
10042
|
}
|
|
@@ -10156,7 +10156,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
10156
10156
|
value = customVal;
|
|
10157
10157
|
}
|
|
10158
10158
|
if (this.isPopupOpen() && this.mode !== 'CheckBox') {
|
|
10159
|
-
this.hidePopup();
|
|
10159
|
+
this.hidePopup(e);
|
|
10160
10160
|
}
|
|
10161
10161
|
if (!this.inputFocus) {
|
|
10162
10162
|
this.inputElement.focus();
|
|
@@ -10196,7 +10196,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
10196
10196
|
this.expandTextbox();
|
|
10197
10197
|
}
|
|
10198
10198
|
removeAllItems(value, eve, isClearAll, element, mainElement) {
|
|
10199
|
-
|
|
10199
|
+
let index = this.value.indexOf(value);
|
|
10200
10200
|
const removeVal = this.value.slice(0);
|
|
10201
10201
|
removeVal.splice(index, 1);
|
|
10202
10202
|
this.setProperties({ value: [].concat([], removeVal) }, true);
|
|
@@ -10269,7 +10269,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
10269
10269
|
});
|
|
10270
10270
|
this.invokeCheckboxSelection(element, eve, isClearAll);
|
|
10271
10271
|
}
|
|
10272
|
-
if (this.hideSelectedItem && this.fields.groupBy) {
|
|
10272
|
+
if (this.hideSelectedItem && this.fields.groupBy && element) {
|
|
10273
10273
|
this.hideGroupItem(value);
|
|
10274
10274
|
}
|
|
10275
10275
|
if (this.hideSelectedItem && this.fixedHeaderElement && this.fields.groupBy && this.mode !== 'CheckBox' &&
|
|
@@ -11108,15 +11108,10 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
11108
11108
|
}
|
|
11109
11109
|
}
|
|
11110
11110
|
updateDataList() {
|
|
11111
|
-
if (this.mainList && this.ulElement) {
|
|
11112
|
-
|
|
11113
|
-
|
|
11114
|
-
|
|
11115
|
-
(this.mainList.children[0].childElementCount < this.ulElement.children[0].childElementCount));
|
|
11116
|
-
const isAngularTemplateUpdate = this.itemTemplate && this.ulElement.childElementCount > 0
|
|
11117
|
-
&& !(this.ulElement.childElementCount < this.mainList.childElementCount)
|
|
11118
|
-
&& (this.ulElement.children[0].childElementCount > 0
|
|
11119
|
-
|| (this.fields.groupBy && this.ulElement.children[1] && this.ulElement.children[1].childElementCount > 0));
|
|
11111
|
+
if (this.mainList && this.ulElement && !(this.isFiltered || this.filterAction)) {
|
|
11112
|
+
let isDynamicGroupItemUpdate = this.mainList.childElementCount < this.ulElement.childElementCount;
|
|
11113
|
+
let isReactTemplateUpdate = ((this.ulElement.childElementCount > 0 && this.ulElement.children[0].childElementCount > 0) && (this.mainList.children[0].childElementCount < this.ulElement.children[0].childElementCount));
|
|
11114
|
+
let isAngularTemplateUpdate = this.itemTemplate && this.ulElement.childElementCount > 0 && !(this.ulElement.childElementCount < this.mainList.childElementCount) && (this.ulElement.children[0].childElementCount > 0 || (this.fields.groupBy && this.ulElement.children[1] && this.ulElement.children[1].childElementCount > 0));
|
|
11120
11115
|
if (isDynamicGroupItemUpdate || isReactTemplateUpdate || isAngularTemplateUpdate) {
|
|
11121
11116
|
//EJ2-57748 - for this task, we prevent the ul element cloning ( this.mainList = this.ulElement.cloneNode ? <HTMLElement>this.ulElement.cloneNode(true) : this.ulElement;)
|
|
11122
11117
|
this.mainList = this.ulElement;
|
|
@@ -11333,7 +11328,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
11333
11328
|
this.focusAtFirstListItem();
|
|
11334
11329
|
}
|
|
11335
11330
|
if (this.closePopupOnSelect) {
|
|
11336
|
-
this.hidePopup();
|
|
11331
|
+
this.hidePopup(e);
|
|
11337
11332
|
}
|
|
11338
11333
|
else {
|
|
11339
11334
|
e.preventDefault();
|
|
@@ -11524,7 +11519,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
11524
11519
|
*/
|
|
11525
11520
|
showSpinner() {
|
|
11526
11521
|
if (isNullOrUndefined(this.spinnerElement)) {
|
|
11527
|
-
|
|
11522
|
+
let filterClear = this.filterParent && this.filterParent.querySelector('.e-clear-icon.e-icons');
|
|
11528
11523
|
if (this.overAllClear.style.display !== 'none' || filterClear) {
|
|
11529
11524
|
this.spinnerElement = filterClear ? filterClear : this.overAllClear;
|
|
11530
11525
|
}
|
|
@@ -11601,7 +11596,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
11601
11596
|
const raminElement = this.createElement('span', {
|
|
11602
11597
|
className: REMAIN_WRAPPER$1
|
|
11603
11598
|
});
|
|
11604
|
-
|
|
11599
|
+
let remainCompildTemp = remainContent.replace('${count}', this.value.length.toString());
|
|
11605
11600
|
raminElement.innerText = remainCompildTemp;
|
|
11606
11601
|
this.viewWrapper.appendChild(raminElement);
|
|
11607
11602
|
this.renderReactTemplates();
|
|
@@ -11681,8 +11676,8 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
11681
11676
|
viewWrapper.removeChild(viewWrapper.firstChild);
|
|
11682
11677
|
}
|
|
11683
11678
|
raminElement.innerHTML = '';
|
|
11684
|
-
|
|
11685
|
-
|
|
11679
|
+
let remainTemp = remainContent.replace('${count}', remaining.toString());
|
|
11680
|
+
let totalTemp = totalContent.replace('${count}', remaining.toString());
|
|
11686
11681
|
raminElement.innerText = (viewWrapper.firstChild && viewWrapper.firstChild.nodeType === 3) ? remainTemp : totalTemp;
|
|
11687
11682
|
if (viewWrapper.firstChild && viewWrapper.firstChild.nodeType === 3) {
|
|
11688
11683
|
viewWrapper.classList.remove(TOTAL_COUNT_WRAPPER$1);
|
|
@@ -11870,9 +11865,9 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
11870
11865
|
else {
|
|
11871
11866
|
for (let i = 0; i < li.length && i < count; i++) {
|
|
11872
11867
|
this.removeHover();
|
|
11873
|
-
|
|
11874
|
-
|
|
11875
|
-
|
|
11868
|
+
let customVal = li[i].getAttribute('data-value');
|
|
11869
|
+
let value = this.getFormattedValue(customVal);
|
|
11870
|
+
let mainElement = this.mainList ? this.mainList.querySelectorAll(state ?
|
|
11876
11871
|
'li.e-list-item:not([aria-selected="true"]):not(.e-reorder-hide)' :
|
|
11877
11872
|
'li.e-list-item[aria-selected="true"]:not(.e-reorder-hide)')[i] : null;
|
|
11878
11873
|
if (state) {
|
|
@@ -12135,7 +12130,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
12135
12130
|
break;
|
|
12136
12131
|
case 'popupHeight':
|
|
12137
12132
|
if (this.popupObj) {
|
|
12138
|
-
|
|
12133
|
+
let overAllHeight = parseInt(this.popupHeight, 10);
|
|
12139
12134
|
if (this.popupHeight !== 'auto') {
|
|
12140
12135
|
this.list.style.maxHeight = formatUnit(overAllHeight);
|
|
12141
12136
|
this.popupWrapper.style.maxHeight = formatUnit(this.popupHeight);
|
|
@@ -12173,21 +12168,23 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
12173
12168
|
this.renderPopup();
|
|
12174
12169
|
}
|
|
12175
12170
|
presentItemValue(ulElement) {
|
|
12176
|
-
|
|
12171
|
+
let valuecheck = [];
|
|
12177
12172
|
for (let i = 0; i < this.value.length; i++) {
|
|
12178
|
-
|
|
12173
|
+
let checkEle = this.findListElement(((this.allowFiltering && !isNullOrUndefined(this.mainList)) ? this.mainList : ulElement), 'li', 'data-value', this.value[i]);
|
|
12179
12174
|
if (!checkEle) {
|
|
12180
12175
|
valuecheck.push(this.value[i]);
|
|
12181
12176
|
}
|
|
12182
12177
|
}
|
|
12183
12178
|
return valuecheck;
|
|
12184
12179
|
}
|
|
12180
|
+
;
|
|
12185
12181
|
addNonPresentItems(valuecheck, ulElement, list, event) {
|
|
12186
12182
|
this.dataSource.executeQuery(this.getForQuery(valuecheck)).then((e) => {
|
|
12187
12183
|
this.addItem(e.result, list.length);
|
|
12188
12184
|
this.updateActionList(ulElement, list, event);
|
|
12189
12185
|
});
|
|
12190
12186
|
}
|
|
12187
|
+
;
|
|
12191
12188
|
updateVal(newProp, oldProp, prop) {
|
|
12192
12189
|
if (!this.list) {
|
|
12193
12190
|
this.onLoadSelect();
|
|
@@ -12200,7 +12197,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
12200
12197
|
if (!isNullOrUndefined(this.value) && !this.allowCustomValue) {
|
|
12201
12198
|
valuecheck = this.presentItemValue(this.ulElement);
|
|
12202
12199
|
}
|
|
12203
|
-
if (prop
|
|
12200
|
+
if (prop == 'value' && valuecheck.length > 0 && this.dataSource instanceof DataManager && !isNullOrUndefined(this.value)
|
|
12204
12201
|
&& this.listData != null) {
|
|
12205
12202
|
this.mainData = null;
|
|
12206
12203
|
this.setDynValue = true;
|
|
@@ -12254,7 +12251,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
12254
12251
|
*
|
|
12255
12252
|
* @returns {void}
|
|
12256
12253
|
*/
|
|
12257
|
-
hidePopup() {
|
|
12254
|
+
hidePopup(e) {
|
|
12258
12255
|
const delay = 100;
|
|
12259
12256
|
if (this.isPopupOpen()) {
|
|
12260
12257
|
const animModel = {
|
|
@@ -12262,7 +12259,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
12262
12259
|
duration: 100,
|
|
12263
12260
|
delay: delay ? delay : 0
|
|
12264
12261
|
};
|
|
12265
|
-
const eventArgs = { popup: this.popupObj, cancel: false, animation: animModel };
|
|
12262
|
+
const eventArgs = { popup: this.popupObj, cancel: false, animation: animModel, event: e || null };
|
|
12266
12263
|
this.trigger('close', eventArgs, (eventArgs) => {
|
|
12267
12264
|
if (!eventArgs.cancel) {
|
|
12268
12265
|
if (this.fields.groupBy && this.mode !== 'CheckBox' && this.fixedHeaderElement) {
|
|
@@ -12309,7 +12306,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
12309
12306
|
const mainLiLength = this.ulElement.querySelectorAll('li.' + 'e-list-item').length;
|
|
12310
12307
|
const liLength = this.ulElement.querySelectorAll('li.'
|
|
12311
12308
|
+ dropDownBaseClasses.li + '.' + HIDE_LIST).length;
|
|
12312
|
-
if (mainLiLength > 0 && (mainLiLength === liLength) && (liLength === this.mainData.length)) {
|
|
12309
|
+
if (mainLiLength > 0 && (mainLiLength === liLength) && (liLength === this.mainData.length) && !(this.targetElement() !== '' && this.allowCustomValue)) {
|
|
12313
12310
|
this.beforePopupOpen = false;
|
|
12314
12311
|
return;
|
|
12315
12312
|
}
|
|
@@ -13409,6 +13406,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
13409
13406
|
}
|
|
13410
13407
|
initWrapper() {
|
|
13411
13408
|
const hiddenSelect = this.createElement('select', { className: 'e-hidden-select', attrs: { 'multiple': '' } });
|
|
13409
|
+
hiddenSelect.style.visibility = 'hidden';
|
|
13412
13410
|
this.list.classList.add('e-listbox-wrapper');
|
|
13413
13411
|
if (this.itemTemplate) {
|
|
13414
13412
|
this.list.classList.add('e-list-template');
|
|
@@ -13694,14 +13692,14 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
13694
13692
|
triggerDrag(args) {
|
|
13695
13693
|
let scrollParent;
|
|
13696
13694
|
let boundRect;
|
|
13697
|
-
|
|
13695
|
+
let scrollMoved = 36;
|
|
13698
13696
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13699
|
-
|
|
13697
|
+
let event = args.event;
|
|
13700
13698
|
let wrapper;
|
|
13701
|
-
if (args.target && (args.target.classList.contains(
|
|
13702
|
-
|| args.target.classList.contains(
|
|
13703
|
-
if (args.target.classList.contains(
|
|
13704
|
-
|| args.target.classList.contains(
|
|
13699
|
+
if (args.target && (args.target.classList.contains("e-listbox-wrapper") || args.target.classList.contains("e-list-item")
|
|
13700
|
+
|| args.target.classList.contains("e-filter-parent") || args.target.classList.contains("e-input-group"))) {
|
|
13701
|
+
if (args.target.classList.contains("e-list-item") || args.target.classList.contains("e-filter-parent")
|
|
13702
|
+
|| args.target.classList.contains("e-input-group")) {
|
|
13705
13703
|
wrapper = args.target.closest('.e-listbox-wrapper');
|
|
13706
13704
|
}
|
|
13707
13705
|
else {
|
|
@@ -13734,12 +13732,12 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
13734
13732
|
}
|
|
13735
13733
|
}
|
|
13736
13734
|
beforeDragEnd(args) {
|
|
13737
|
-
|
|
13738
|
-
if (this.value.indexOf(dragValue) > -1) {
|
|
13735
|
+
this.dragValue = this.getFormattedValue(args.droppedElement.getAttribute('data-value'));
|
|
13736
|
+
if (this.value.indexOf(this.dragValue) > -1) {
|
|
13739
13737
|
args.items = this.getDataByValues(this.value);
|
|
13740
13738
|
}
|
|
13741
13739
|
else {
|
|
13742
|
-
args.items = this.getDataByValues([dragValue]);
|
|
13740
|
+
args.items = this.getDataByValues([this.dragValue]);
|
|
13743
13741
|
}
|
|
13744
13742
|
this.trigger('beforeDrop', args);
|
|
13745
13743
|
}
|
|
@@ -13755,8 +13753,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
13755
13753
|
const getArgs = this.getDragArgs({ target: args.droppedElement }, true);
|
|
13756
13754
|
const sourceArgs = { previousData: this.dataSource };
|
|
13757
13755
|
const destArgs = { previousData: listObj.dataSource };
|
|
13758
|
-
let dragArgs = extend({}, getArgs, { target: args.target, source: { previousData: this.dataSource },
|
|
13759
|
-
previousIndex: args.previousIndex, currentIndex: args.currentIndex });
|
|
13756
|
+
let dragArgs = extend({}, getArgs, { target: args.target, source: { previousData: this.dataSource }, previousIndex: args.previousIndex, currentIndex: args.currentIndex });
|
|
13760
13757
|
if (listObj !== this) {
|
|
13761
13758
|
const sourceArgs1 = extend(sourceArgs, { currentData: this.listData });
|
|
13762
13759
|
dragArgs = extend(dragArgs, { source: sourceArgs1, destination: destArgs });
|
|
@@ -13850,14 +13847,14 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
13850
13847
|
currIdx++;
|
|
13851
13848
|
});
|
|
13852
13849
|
if (this.fields.groupBy) {
|
|
13853
|
-
|
|
13850
|
+
let sourceElem = this.renderItems(this.listData, this.fields);
|
|
13854
13851
|
this.updateListItems(sourceElem, this.ulElement);
|
|
13855
13852
|
this.setSelection();
|
|
13856
13853
|
}
|
|
13857
13854
|
if (listObj.sortOrder !== 'None' || this.selectionSettings.showCheckbox
|
|
13858
13855
|
!== listObj.selectionSettings.showCheckbox || listObj.fields.groupBy || listObj.itemTemplate || this.itemTemplate) {
|
|
13859
13856
|
const sortable = getComponent(ul, 'sortable');
|
|
13860
|
-
|
|
13857
|
+
let sourceElem = listObj.renderItems(listData, listObj.fields);
|
|
13861
13858
|
listObj.updateListItems(sourceElem, ul);
|
|
13862
13859
|
this.setSelection();
|
|
13863
13860
|
if (sortable.placeHolderElement) {
|
|
@@ -13887,7 +13884,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
13887
13884
|
}
|
|
13888
13885
|
updateListItems(sourceElem, destElem) {
|
|
13889
13886
|
const i = 0;
|
|
13890
|
-
destElem.innerHTML =
|
|
13887
|
+
destElem.innerHTML = "";
|
|
13891
13888
|
while (i < sourceElem.childNodes.length) {
|
|
13892
13889
|
destElem.appendChild(sourceElem.childNodes[i]);
|
|
13893
13890
|
}
|
|
@@ -13947,7 +13944,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
13947
13944
|
enableItems(items, enable = true, isValue) {
|
|
13948
13945
|
let li;
|
|
13949
13946
|
items.forEach((item) => {
|
|
13950
|
-
|
|
13947
|
+
let text = item;
|
|
13951
13948
|
li = this.findListElement(this.list, 'li', 'data-value', isValue ? text : this.getValueByText(text));
|
|
13952
13949
|
if (!li) {
|
|
13953
13950
|
return;
|
|
@@ -14678,7 +14675,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
14678
14675
|
});
|
|
14679
14676
|
if (isRefresh) {
|
|
14680
14677
|
if (fListBox.fields.groupBy) {
|
|
14681
|
-
|
|
14678
|
+
let sourceElem = fListBox.renderItems(listData, fListBox.fields);
|
|
14682
14679
|
fListBox.updateListItems(sourceElem, fListBox.ulElement);
|
|
14683
14680
|
}
|
|
14684
14681
|
else {
|
|
@@ -14711,7 +14708,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
14711
14708
|
tListBox.jsonData = tJsonData;
|
|
14712
14709
|
tListBox.sortedData = tSortData;
|
|
14713
14710
|
if (isRefresh) {
|
|
14714
|
-
|
|
14711
|
+
let sourceElem = tListBox.renderItems(tListData, tListBox.fields);
|
|
14715
14712
|
tListBox.updateListItems(sourceElem, tListBox.ulElement);
|
|
14716
14713
|
tListBox.setSelection();
|
|
14717
14714
|
fListBox.trigger('actionComplete', { items: tempItems, eventName: this.toolbarAction });
|
|
@@ -14800,7 +14797,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
14800
14797
|
tListBox.jsonData = jsonData;
|
|
14801
14798
|
fListBox.listData = fListBox.sortedData = fListBox.jsonData = [];
|
|
14802
14799
|
if (isRefresh) {
|
|
14803
|
-
|
|
14800
|
+
let sourceElem = tListBox.renderItems(listData, tListBox.fields);
|
|
14804
14801
|
tListBox.updateListItems(sourceElem, tListBox.ulElement);
|
|
14805
14802
|
this.trigger('actionComplete', { items: tempItems, eventName: this.toolbarAction });
|
|
14806
14803
|
}
|
|
@@ -14852,6 +14849,15 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
14852
14849
|
return listObj;
|
|
14853
14850
|
}
|
|
14854
14851
|
getGrabbedItems() {
|
|
14852
|
+
for (let i = 0; i < this.value.length; i++) {
|
|
14853
|
+
if (this.value[i] === this.dragValue) {
|
|
14854
|
+
const liColl = this.list.querySelectorAll('[aria-selected="true"]');
|
|
14855
|
+
for (let i = 0; i < liColl.length; i++) {
|
|
14856
|
+
liColl[i].classList.add('e-grabbed');
|
|
14857
|
+
}
|
|
14858
|
+
break;
|
|
14859
|
+
}
|
|
14860
|
+
}
|
|
14855
14861
|
const elems = Array.prototype.slice.call(this.element.querySelectorAll('.e-grabbed'));
|
|
14856
14862
|
return elems;
|
|
14857
14863
|
}
|
|
@@ -14908,7 +14914,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
14908
14914
|
}
|
|
14909
14915
|
}
|
|
14910
14916
|
}
|
|
14911
|
-
else if (e.keyCode !== 37 && e.keyCode !== 39 && e.code !==
|
|
14917
|
+
else if (e.keyCode !== 37 && e.keyCode !== 39 && e.code !== "KeyA") {
|
|
14912
14918
|
this.upDownKeyHandler(e);
|
|
14913
14919
|
}
|
|
14914
14920
|
}
|
|
@@ -14951,9 +14957,9 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
14951
14957
|
this.selectHandler({ target: ul.children[fliIdx], ctrlKey: e.ctrlKey, shiftKey: e.shiftKey }, true);
|
|
14952
14958
|
}
|
|
14953
14959
|
if (this.selectionSettings.showCheckbox && e.ctrlKey && e.shiftKey && (e.keyCode === 36 || e.keyCode === 35)) {
|
|
14954
|
-
|
|
14955
|
-
|
|
14956
|
-
|
|
14960
|
+
let selectedidx = Array.prototype.indexOf.call(ul.children, fli);
|
|
14961
|
+
let sidx = e.code === "Home" ? 0 : selectedidx;
|
|
14962
|
+
let eidx = e.code === "Home" ? selectedidx : ul.children.length - 1;
|
|
14957
14963
|
for (let i = sidx; i <= eidx; i++) {
|
|
14958
14964
|
const item = ul.children[i];
|
|
14959
14965
|
this.notify('updatelist', { li: item, e: {
|