@syncfusion/ej2-dropdowns 20.1.61 → 20.2.39

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 (95) hide show
  1. package/CHANGELOG.md +3 -77
  2. package/dist/ej2-dropdowns.umd.min.js +2 -2
  3. package/dist/ej2-dropdowns.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-dropdowns.es2015.js +95 -96
  5. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  6. package/dist/es6/ej2-dropdowns.es5.js +58 -59
  7. package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
  8. package/dist/global/ej2-dropdowns.min.js +2 -2
  9. package/dist/global/ej2-dropdowns.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/helpers/e2e/autocomplete.js +59 -43
  12. package/helpers/e2e/combobox.js +62 -46
  13. package/helpers/e2e/dropdownlist.js +71 -55
  14. package/helpers/e2e/index.js +11 -9
  15. package/helpers/e2e/listboxHelper.js +55 -38
  16. package/helpers/e2e/multiselect.js +104 -88
  17. package/package.json +11 -11
  18. package/src/common/incremental-search.js +1 -1
  19. package/src/drop-down-base/drop-down-base-model.d.ts +1 -1
  20. package/src/drop-down-base/drop-down-base.d.ts +5 -1
  21. package/src/drop-down-base/drop-down-base.js +3 -5
  22. package/src/drop-down-list/drop-down-list.js +8 -8
  23. package/src/drop-down-tree/drop-down-tree-model.d.ts +2 -2
  24. package/src/drop-down-tree/drop-down-tree.js +5 -5
  25. package/src/list-box/list-box.d.ts +1 -1
  26. package/src/list-box/list-box.js +13 -14
  27. package/src/multi-select/multi-select-model.d.ts +1 -1
  28. package/src/multi-select/multi-select.d.ts +2 -1
  29. package/src/multi-select/multi-select.js +28 -26
  30. package/styles/auto-complete/_fusionnew-definition.scss +2 -0
  31. package/styles/auto-complete/_material3-definition.scss +2 -0
  32. package/styles/bootstrap-dark.css +69 -11
  33. package/styles/bootstrap.css +69 -11
  34. package/styles/bootstrap4.css +69 -11
  35. package/styles/bootstrap5-dark.css +70 -12
  36. package/styles/bootstrap5.css +70 -12
  37. package/styles/combo-box/_fusionnew-definition.scss +2 -0
  38. package/styles/combo-box/_material3-definition.scss +2 -0
  39. package/styles/drop-down-base/_fusionnew-definition.scss +111 -0
  40. package/styles/drop-down-base/_material3-definition.scss +111 -0
  41. package/styles/drop-down-list/_fusionnew-definition.scss +201 -0
  42. package/styles/drop-down-list/_material3-definition.scss +201 -0
  43. package/styles/drop-down-list/icons/_fusionnew.scss +14 -0
  44. package/styles/drop-down-list/icons/_material3.scss +14 -0
  45. package/styles/drop-down-tree/_fusionnew-definition.scss +60 -0
  46. package/styles/drop-down-tree/_material3-definition.scss +60 -0
  47. package/styles/drop-down-tree/icons/_fusionnew.scss +11 -0
  48. package/styles/drop-down-tree/icons/_material3.scss +11 -0
  49. package/styles/fabric-dark.css +69 -11
  50. package/styles/fabric.css +69 -11
  51. package/styles/fluent-dark.css +73 -15
  52. package/styles/fluent.css +70 -12
  53. package/styles/highcontrast-light.css +69 -11
  54. package/styles/highcontrast.css +69 -11
  55. package/styles/list-box/_bootstrap-dark-definition.scss +5 -1
  56. package/styles/list-box/_bootstrap-definition.scss +5 -1
  57. package/styles/list-box/_bootstrap4-definition.scss +5 -1
  58. package/styles/list-box/_bootstrap5-definition.scss +7 -2
  59. package/styles/list-box/_fabric-dark-definition.scss +5 -1
  60. package/styles/list-box/_fabric-definition.scss +5 -1
  61. package/styles/list-box/_fluent-definition.scss +7 -2
  62. package/styles/list-box/_fusionnew-definition.scss +113 -0
  63. package/styles/list-box/_highcontrast-definition.scss +5 -1
  64. package/styles/list-box/_highcontrast-light-definition.scss +5 -1
  65. package/styles/list-box/_layout.scss +45 -1
  66. package/styles/list-box/_material-dark-definition.scss +6 -2
  67. package/styles/list-box/_material-definition.scss +6 -2
  68. package/styles/list-box/_material3-definition.scss +119 -0
  69. package/styles/list-box/_tailwind-definition.scss +6 -2
  70. package/styles/list-box/_theme.scss +40 -8
  71. package/styles/list-box/bootstrap-dark.css +59 -11
  72. package/styles/list-box/bootstrap.css +69 -11
  73. package/styles/list-box/bootstrap4.css +69 -11
  74. package/styles/list-box/bootstrap5-dark.css +70 -12
  75. package/styles/list-box/bootstrap5.css +70 -12
  76. package/styles/list-box/fabric-dark.css +59 -11
  77. package/styles/list-box/fabric.css +69 -11
  78. package/styles/list-box/fluent-dark.css +73 -15
  79. package/styles/list-box/fluent.css +70 -12
  80. package/styles/list-box/highcontrast-light.css +59 -11
  81. package/styles/list-box/highcontrast.css +69 -11
  82. package/styles/list-box/icons/_fusionnew.scss +25 -0
  83. package/styles/list-box/icons/_material3.scss +25 -0
  84. package/styles/list-box/material-dark.css +60 -12
  85. package/styles/list-box/material.css +70 -12
  86. package/styles/list-box/tailwind-dark.css +70 -12
  87. package/styles/list-box/tailwind.css +70 -12
  88. package/styles/material-dark.css +70 -12
  89. package/styles/material.css +70 -12
  90. package/styles/multi-select/_fusionnew-definition.scss +219 -0
  91. package/styles/multi-select/_material3-definition.scss +219 -0
  92. package/styles/multi-select/icons/_fusionnew.scss +27 -0
  93. package/styles/multi-select/icons/_material3.scss +27 -0
  94. package/styles/tailwind-dark.css +70 -12
  95. package/styles/tailwind.css +70 -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, 'g').test(text))) {
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
- const target = !isNullOrUndefined(e) ? e.target : this.list;
863
- const liHeight = parseInt(getComputedStyle(this.getValidLi(), null).getPropertyValue('height'), 10);
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
- const borderTopWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-top-width'), 10);
952
- const borderBottomWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-bottom-width'), 10);
953
- const borderLeftWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-left-width'), 10);
954
- const borderRightWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-right-width'), 10);
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': 'listbox',
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
- const clearIcon = dropDownListClasses.clearIcon;
2394
- const isFilterElement = this.isFiltering() && this.filterInput && (this.getModuleName() === 'combobox');
2395
- const clearElement = isFilterElement && this.filterInput.parentElement.querySelector('.' + clearIcon);
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
  }
@@ -2911,7 +2909,6 @@ let DropDownList = class DropDownList extends DropDownBase {
2911
2909
  this.initial = true;
2912
2910
  this.activeIndex = this.index;
2913
2911
  this.initRemoteRender = false;
2914
- this.initial = false;
2915
2912
  if (this.value && this.dataSource instanceof DataManager) {
2916
2913
  const checkField = isNullOrUndefined(this.fields.value) ? this.fields.text : this.fields.value;
2917
2914
  const checkVal = list.some((x) => x[checkField] === this.value);
@@ -2934,6 +2931,7 @@ let DropDownList = class DropDownList extends DropDownBase {
2934
2931
  else {
2935
2932
  this.updateValues();
2936
2933
  }
2934
+ this.initial = false;
2937
2935
  }
2938
2936
  if (this.getModuleName() !== 'autocomplete' && this.isFiltering() && !this.isTyped) {
2939
2937
  if (!this.actionCompleteData.isUpdated || ((!this.isCustomFilter
@@ -3357,7 +3355,7 @@ let DropDownList = class DropDownList extends DropDownBase {
3357
3355
  }
3358
3356
  }
3359
3357
  }
3360
- closePopup(delay) {
3358
+ closePopup(delay, e) {
3361
3359
  this.isTyped = false;
3362
3360
  if (!(this.popupObj && document.body.contains(this.popupObj.element) && this.beforePopupOpen)) {
3363
3361
  return;
@@ -3405,7 +3403,7 @@ let DropDownList = class DropDownList extends DropDownBase {
3405
3403
  delay: delay ? delay : 0
3406
3404
  };
3407
3405
  const popupInstance = this.popupObj;
3408
- const eventArgs = { popup: popupInstance, cancel: false, animation: animModel };
3406
+ const eventArgs = { popup: popupInstance, cancel: false, animation: animModel, event: e || null };
3409
3407
  this.trigger('close', eventArgs, (eventArgs) => {
3410
3408
  if (!isNullOrUndefined(this.popupObj) &&
3411
3409
  !isNullOrUndefined(this.popupObj.element.querySelector('.e-fixed-head'))) {
@@ -3911,7 +3909,7 @@ let DropDownList = class DropDownList extends DropDownBase {
3911
3909
  if (!this.enabled) {
3912
3910
  return;
3913
3911
  }
3914
- if (this.isFiltering() && this.dataSource instanceof DataManager && (this.actionData.list !== this.actionCompleteData.list) &&
3912
+ if (this.isFiltering() && this.dataSource instanceof DataManager && (this.actionData.list != this.actionCompleteData.list) &&
3915
3913
  this.actionData.list && this.actionData.ulElement) {
3916
3914
  this.actionCompleteData = this.actionData;
3917
3915
  this.onActionComplete(this.actionCompleteData.ulElement, this.actionCompleteData.list, null, true);
@@ -3973,7 +3971,7 @@ let DropDownList = class DropDownList extends DropDownBase {
3973
3971
  this.resetSelection();
3974
3972
  }
3975
3973
  }
3976
- this.closePopup();
3974
+ this.closePopup(0, e);
3977
3975
  const dataItem = this.getItemData();
3978
3976
  const isSelectVal = !isNullOrUndefined(this.selectedLI);
3979
3977
  if (this.inputElement && this.inputElement.value.trim() === '' && !this.isInteracted && (this.isSelectCustom ||
@@ -5507,7 +5505,7 @@ let DropDownTree = class DropDownTree extends Component {
5507
5505
  }
5508
5506
  else {
5509
5507
  if (this.showCheckBox) {
5510
- const difference = this.value.filter((e) => {
5508
+ let difference = this.value.filter((e) => {
5511
5509
  return this.treeObj.checkedNodes.indexOf(e) === -1;
5512
5510
  });
5513
5511
  if (difference.length > 0 || this.treeSettings.autoCheck) {
@@ -6271,7 +6269,7 @@ let DropDownTree = class DropDownTree extends Component {
6271
6269
  }
6272
6270
  else if (this.treeDataType === 1) {
6273
6271
  for (let i = 0, objlen = this.treeItems.length; i < objlen; i++) {
6274
- const dataId = getValue(this.fields.value, this.treeItems[i]);
6272
+ let dataId = getValue(this.fields.value, this.treeItems[i]);
6275
6273
  if (!isNullOrUndefined(this.treeItems[i]) && !isNullOrUndefined(dataId) && dataId.toString() === id) {
6276
6274
  return this.treeItems[i];
6277
6275
  }
@@ -6288,19 +6286,19 @@ let DropDownTree = class DropDownTree extends Component {
6288
6286
  return newChildItems;
6289
6287
  }
6290
6288
  for (let i = 0, objlen = obj.length; i < objlen; i++) {
6291
- const dataValue = getValue(mapper.value, obj[i]);
6289
+ let dataValue = getValue(mapper.value, obj[i]);
6292
6290
  if (obj[i] && dataValue && dataValue.toString() === id) {
6293
6291
  return obj[i];
6294
6292
  }
6295
6293
  else if (typeof mapper.child === 'string' && !isNullOrUndefined(getValue(mapper.child, obj[i]))) {
6296
- const childNodeData = getValue(mapper.child, obj[i]);
6294
+ let childNodeData = getValue(mapper.child, obj[i]);
6297
6295
  newChildItems = this.getChildNodeData(childNodeData, this.getChildMapperFields(mapper), id);
6298
6296
  if (newChildItems !== undefined) {
6299
6297
  break;
6300
6298
  }
6301
6299
  }
6302
6300
  else if (this.fields.dataSource instanceof DataManager && !isNullOrUndefined(getValue('child', obj[i]))) {
6303
- const child = 'child';
6301
+ let child = 'child';
6304
6302
  newChildItems = this.getChildNodeData(getValue(child, obj[i]), this.getChildMapperFields(mapper), id);
6305
6303
  if (newChildItems !== undefined) {
6306
6304
  break;
@@ -6419,7 +6417,7 @@ let DropDownTree = class DropDownTree extends Component {
6419
6417
  addClass([this.inputWrapper], SHOW_CHIP);
6420
6418
  }
6421
6419
  const chip = this.createElement('span', {
6422
- className: CHIP
6420
+ className: CHIP,
6423
6421
  });
6424
6422
  if (!this.inputEle.classList.contains(CHIP_INPUT)) {
6425
6423
  addClass([this.inputEle], CHIP_INPUT);
@@ -6555,7 +6553,7 @@ let DropDownTree = class DropDownTree extends Component {
6555
6553
  this.ensurePlaceHolder();
6556
6554
  }
6557
6555
  resetValue(isDynamicChange) {
6558
- if (this.value === [] && this.text === null) {
6556
+ if (this.value == [] && this.text == null) {
6559
6557
  return;
6560
6558
  }
6561
6559
  Input.setValue(null, this.inputEle, this.floatLabelType);
@@ -6936,10 +6934,10 @@ let DropDownTree = class DropDownTree extends Component {
6936
6934
  this.updateTreeSettings(newProp);
6937
6935
  break;
6938
6936
  case 'customTemplate':
6939
- if (this.mode !== 'Custom') {
6937
+ if (this.mode !== "Custom") {
6940
6938
  return;
6941
6939
  }
6942
- this.chipCollection.innerHTML = '';
6940
+ this.chipCollection.innerHTML = "";
6943
6941
  this.setTagValues();
6944
6942
  break;
6945
6943
  case 'sortOrder':
@@ -7157,7 +7155,7 @@ __decorate$2([
7157
7155
  Property('')
7158
7156
  ], DropDownTree.prototype, "cssClass", void 0);
7159
7157
  __decorate$2([
7160
- Property('${value.length} item(s) selected')
7158
+ Property("${value.length} item(s) selected")
7161
7159
  ], DropDownTree.prototype, "customTemplate", void 0);
7162
7160
  __decorate$2([
7163
7161
  Property(',')
@@ -8744,6 +8742,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
8744
8742
  constructor(option, element) {
8745
8743
  super(option, element);
8746
8744
  this.clearIconWidth = 0;
8745
+ this.previousFilterText = '';
8747
8746
  this.isValidKey = false;
8748
8747
  this.selectAllEventData = [];
8749
8748
  this.selectAllEventEle = [];
@@ -9206,7 +9205,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9206
9205
  }
9207
9206
  }
9208
9207
  getValidLi() {
9209
- const liElement = this.ulElement.querySelector('li.' + dropDownBaseClasses.li + ':not(.' + HIDE_LIST + ')');
9208
+ let liElement = this.ulElement.querySelector('li.' + dropDownBaseClasses.li + ':not(.' + HIDE_LIST + ')');
9210
9209
  return (!isNullOrUndefined(liElement) ? liElement : this.liCollections[0]);
9211
9210
  }
9212
9211
  checkSelectAll() {
@@ -9238,7 +9237,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9238
9237
  this.showPopup();
9239
9238
  }
9240
9239
  else {
9241
- this.hidePopup();
9240
+ this.hidePopup(e);
9242
9241
  }
9243
9242
  }
9244
9243
  else if (!this.openOnClick && this.mode === 'CheckBox' && !this.isPopupOpen()) {
@@ -9307,7 +9306,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9307
9306
  const list = this.mainList.cloneNode ? this.mainList.cloneNode(true) : this.mainList;
9308
9307
  if (this.backCommand) {
9309
9308
  this.remoteCustomValue = false;
9310
- if (this.allowCustomValue && list.querySelectorAll('li').length === 0 && this.mainData.length > 0) {
9309
+ if (this.allowCustomValue && list.querySelectorAll('li').length == 0 && this.mainData.length > 0) {
9311
9310
  this.mainData = [];
9312
9311
  }
9313
9312
  this.onActionComplete(list, this.mainData);
@@ -9398,7 +9397,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9398
9397
  this.showPopup();
9399
9398
  }
9400
9399
  else {
9401
- this.hidePopup();
9400
+ this.hidePopup(e);
9402
9401
  if (this.mode === 'CheckBox') {
9403
9402
  this.showOverAllClear();
9404
9403
  this.inputFocus = true;
@@ -9476,6 +9475,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9476
9475
  }
9477
9476
  }
9478
9477
  }
9478
+ this.updateDataList();
9479
9479
  this.refreshListItems(null);
9480
9480
  if (this.mode !== 'Box' && this.mode !== 'CheckBox') {
9481
9481
  this.updateDelimView();
@@ -9486,7 +9486,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9486
9486
  }
9487
9487
  this.overAllClear.style.display = 'none';
9488
9488
  if (this.isPopupOpen()) {
9489
- this.hidePopup();
9489
+ this.hidePopup(eve);
9490
9490
  }
9491
9491
  this.makeTextBoxEmpty();
9492
9492
  this.trigger('blur');
@@ -9680,7 +9680,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9680
9680
  popupKeyActions(e) {
9681
9681
  switch (e.keyCode) {
9682
9682
  case 38:
9683
- this.hidePopup();
9683
+ this.hidePopup(e);
9684
9684
  if (this.mode === 'CheckBox') {
9685
9685
  this.inputElement.focus();
9686
9686
  }
@@ -9699,10 +9699,10 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9699
9699
  if (!isNullOrUndefined(focusedItem)) {
9700
9700
  this.inputElement.setAttribute('aria-activedescendant', focusedItem.id);
9701
9701
  if (this.allowFiltering) {
9702
- const filterInput = this.popupWrapper.querySelector('.' + FILTERINPUT);
9702
+ var filterInput = this.popupWrapper.querySelector('.' + FILTERINPUT);
9703
9703
  filterInput && filterInput.setAttribute('aria-activedescendant', focusedItem.id);
9704
9704
  }
9705
- else if (this.mode === 'CheckBox') {
9705
+ else if (this.mode == "CheckBox") {
9706
9706
  this.overAllWrapper.setAttribute('aria-activedescendant', focusedItem.id);
9707
9707
  }
9708
9708
  }
@@ -9762,7 +9762,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9762
9762
  break;
9763
9763
  case 27:
9764
9764
  e.preventDefault();
9765
- this.hidePopup();
9765
+ this.hidePopup(e);
9766
9766
  if (this.mode === 'CheckBox') {
9767
9767
  this.inputElement.focus();
9768
9768
  }
@@ -9779,7 +9779,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9779
9779
  return;
9780
9780
  case 9:
9781
9781
  e.preventDefault();
9782
- this.hidePopup();
9782
+ this.hidePopup(e);
9783
9783
  this.inputElement.focus();
9784
9784
  this.overAllWrapper.classList.add(FOCUS);
9785
9785
  }
@@ -9807,6 +9807,9 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9807
9807
  this.keyNavigation(e);
9808
9808
  }
9809
9809
  if (this.mode === 'CheckBox' && this.enableSelectionOrder) {
9810
+ if (this.allowFiltering) {
9811
+ this.previousFilterText = this.targetElement();
9812
+ }
9810
9813
  this.checkBackCommand(e);
9811
9814
  }
9812
9815
  this.expandTextbox();
@@ -9855,7 +9858,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9855
9858
  this.checkPlaceholderSize();
9856
9859
  }
9857
9860
  checkBackCommand(e) {
9858
- if (e.keyCode === 8 && this.targetElement() === '') {
9861
+ if (e.keyCode === 8 && this.allowFiltering ? this.targetElement() !== this.previousFilterText : this.targetElement() === '') {
9859
9862
  this.backCommand = false;
9860
9863
  }
9861
9864
  else {
@@ -10001,7 +10004,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
10001
10004
  }
10002
10005
  this.refreshSelection();
10003
10006
  if (this.closePopupOnSelect) {
10004
- this.hidePopup();
10007
+ this.hidePopup(e);
10005
10008
  }
10006
10009
  }
10007
10010
  this.refreshPlaceHolder();
@@ -10033,7 +10036,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
10033
10036
  this.makeTextBoxEmpty();
10034
10037
  }
10035
10038
  if (this.closePopupOnSelect) {
10036
- this.hidePopup();
10039
+ this.hidePopup(e);
10037
10040
  }
10038
10041
  this.checkPlaceholderSize();
10039
10042
  }
@@ -10153,7 +10156,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
10153
10156
  value = customVal;
10154
10157
  }
10155
10158
  if (this.isPopupOpen() && this.mode !== 'CheckBox') {
10156
- this.hidePopup();
10159
+ this.hidePopup(e);
10157
10160
  }
10158
10161
  if (!this.inputFocus) {
10159
10162
  this.inputElement.focus();
@@ -10193,7 +10196,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
10193
10196
  this.expandTextbox();
10194
10197
  }
10195
10198
  removeAllItems(value, eve, isClearAll, element, mainElement) {
10196
- const index = this.value.indexOf(value);
10199
+ let index = this.value.indexOf(value);
10197
10200
  const removeVal = this.value.slice(0);
10198
10201
  removeVal.splice(index, 1);
10199
10202
  this.setProperties({ value: [].concat([], removeVal) }, true);
@@ -10266,7 +10269,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
10266
10269
  });
10267
10270
  this.invokeCheckboxSelection(element, eve, isClearAll);
10268
10271
  }
10269
- if (this.hideSelectedItem && this.fields.groupBy) {
10272
+ if (this.hideSelectedItem && this.fields.groupBy && element) {
10270
10273
  this.hideGroupItem(value);
10271
10274
  }
10272
10275
  if (this.hideSelectedItem && this.fixedHeaderElement && this.fields.groupBy && this.mode !== 'CheckBox' &&
@@ -11105,15 +11108,10 @@ let MultiSelect = class MultiSelect extends DropDownBase {
11105
11108
  }
11106
11109
  }
11107
11110
  updateDataList() {
11108
- if (this.mainList && this.ulElement) {
11109
- const isDynamicGroupItemUpdate = this.mainList.childElementCount < this.ulElement.childElementCount;
11110
- const isReactTemplateUpdate = ((this.ulElement.childElementCount > 0 &&
11111
- this.ulElement.children[0].childElementCount > 0) &&
11112
- (this.mainList.children[0].childElementCount < this.ulElement.children[0].childElementCount));
11113
- const isAngularTemplateUpdate = this.itemTemplate && this.ulElement.childElementCount > 0
11114
- && !(this.ulElement.childElementCount < this.mainList.childElementCount)
11115
- && (this.ulElement.children[0].childElementCount > 0
11116
- || (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));
11117
11115
  if (isDynamicGroupItemUpdate || isReactTemplateUpdate || isAngularTemplateUpdate) {
11118
11116
  //EJ2-57748 - for this task, we prevent the ul element cloning ( this.mainList = this.ulElement.cloneNode ? <HTMLElement>this.ulElement.cloneNode(true) : this.ulElement;)
11119
11117
  this.mainList = this.ulElement;
@@ -11330,7 +11328,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
11330
11328
  this.focusAtFirstListItem();
11331
11329
  }
11332
11330
  if (this.closePopupOnSelect) {
11333
- this.hidePopup();
11331
+ this.hidePopup(e);
11334
11332
  }
11335
11333
  else {
11336
11334
  e.preventDefault();
@@ -11521,7 +11519,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
11521
11519
  */
11522
11520
  showSpinner() {
11523
11521
  if (isNullOrUndefined(this.spinnerElement)) {
11524
- const filterClear = this.filterParent && this.filterParent.querySelector('.e-clear-icon.e-icons');
11522
+ let filterClear = this.filterParent && this.filterParent.querySelector('.e-clear-icon.e-icons');
11525
11523
  if (this.overAllClear.style.display !== 'none' || filterClear) {
11526
11524
  this.spinnerElement = filterClear ? filterClear : this.overAllClear;
11527
11525
  }
@@ -11598,7 +11596,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
11598
11596
  const raminElement = this.createElement('span', {
11599
11597
  className: REMAIN_WRAPPER$1
11600
11598
  });
11601
- const remainCompildTemp = remainContent.replace('${count}', this.value.length.toString());
11599
+ let remainCompildTemp = remainContent.replace('${count}', this.value.length.toString());
11602
11600
  raminElement.innerText = remainCompildTemp;
11603
11601
  this.viewWrapper.appendChild(raminElement);
11604
11602
  this.renderReactTemplates();
@@ -11678,8 +11676,8 @@ let MultiSelect = class MultiSelect extends DropDownBase {
11678
11676
  viewWrapper.removeChild(viewWrapper.firstChild);
11679
11677
  }
11680
11678
  raminElement.innerHTML = '';
11681
- const remainTemp = remainContent.replace('${count}', remaining.toString());
11682
- const totalTemp = totalContent.replace('${count}', remaining.toString());
11679
+ let remainTemp = remainContent.replace('${count}', remaining.toString());
11680
+ let totalTemp = totalContent.replace('${count}', remaining.toString());
11683
11681
  raminElement.innerText = (viewWrapper.firstChild && viewWrapper.firstChild.nodeType === 3) ? remainTemp : totalTemp;
11684
11682
  if (viewWrapper.firstChild && viewWrapper.firstChild.nodeType === 3) {
11685
11683
  viewWrapper.classList.remove(TOTAL_COUNT_WRAPPER$1);
@@ -11867,9 +11865,9 @@ let MultiSelect = class MultiSelect extends DropDownBase {
11867
11865
  else {
11868
11866
  for (let i = 0; i < li.length && i < count; i++) {
11869
11867
  this.removeHover();
11870
- const customVal = li[i].getAttribute('data-value');
11871
- const value = this.getFormattedValue(customVal);
11872
- const mainElement = this.mainList ? this.mainList.querySelectorAll(state ?
11868
+ let customVal = li[i].getAttribute('data-value');
11869
+ let value = this.getFormattedValue(customVal);
11870
+ let mainElement = this.mainList ? this.mainList.querySelectorAll(state ?
11873
11871
  'li.e-list-item:not([aria-selected="true"]):not(.e-reorder-hide)' :
11874
11872
  'li.e-list-item[aria-selected="true"]:not(.e-reorder-hide)')[i] : null;
11875
11873
  if (state) {
@@ -12132,7 +12130,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12132
12130
  break;
12133
12131
  case 'popupHeight':
12134
12132
  if (this.popupObj) {
12135
- const overAllHeight = parseInt(this.popupHeight, 10);
12133
+ let overAllHeight = parseInt(this.popupHeight, 10);
12136
12134
  if (this.popupHeight !== 'auto') {
12137
12135
  this.list.style.maxHeight = formatUnit(overAllHeight);
12138
12136
  this.popupWrapper.style.maxHeight = formatUnit(this.popupHeight);
@@ -12170,21 +12168,23 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12170
12168
  this.renderPopup();
12171
12169
  }
12172
12170
  presentItemValue(ulElement) {
12173
- const valuecheck = [];
12171
+ let valuecheck = [];
12174
12172
  for (let i = 0; i < this.value.length; i++) {
12175
- const checkEle = this.findListElement(((this.allowFiltering && !isNullOrUndefined(this.mainList)) ? this.mainList : ulElement), 'li', 'data-value', this.value[i]);
12173
+ let checkEle = this.findListElement(((this.allowFiltering && !isNullOrUndefined(this.mainList)) ? this.mainList : ulElement), 'li', 'data-value', this.value[i]);
12176
12174
  if (!checkEle) {
12177
12175
  valuecheck.push(this.value[i]);
12178
12176
  }
12179
12177
  }
12180
12178
  return valuecheck;
12181
12179
  }
12180
+ ;
12182
12181
  addNonPresentItems(valuecheck, ulElement, list, event) {
12183
12182
  this.dataSource.executeQuery(this.getForQuery(valuecheck)).then((e) => {
12184
12183
  this.addItem(e.result, list.length);
12185
12184
  this.updateActionList(ulElement, list, event);
12186
12185
  });
12187
12186
  }
12187
+ ;
12188
12188
  updateVal(newProp, oldProp, prop) {
12189
12189
  if (!this.list) {
12190
12190
  this.onLoadSelect();
@@ -12197,7 +12197,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12197
12197
  if (!isNullOrUndefined(this.value) && !this.allowCustomValue) {
12198
12198
  valuecheck = this.presentItemValue(this.ulElement);
12199
12199
  }
12200
- if (prop === 'value' && valuecheck.length > 0 && this.dataSource instanceof DataManager && !isNullOrUndefined(this.value)
12200
+ if (prop == 'value' && valuecheck.length > 0 && this.dataSource instanceof DataManager && !isNullOrUndefined(this.value)
12201
12201
  && this.listData != null) {
12202
12202
  this.mainData = null;
12203
12203
  this.setDynValue = true;
@@ -12251,7 +12251,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12251
12251
  *
12252
12252
  * @returns {void}
12253
12253
  */
12254
- hidePopup() {
12254
+ hidePopup(e) {
12255
12255
  const delay = 100;
12256
12256
  if (this.isPopupOpen()) {
12257
12257
  const animModel = {
@@ -12259,7 +12259,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12259
12259
  duration: 100,
12260
12260
  delay: delay ? delay : 0
12261
12261
  };
12262
- const eventArgs = { popup: this.popupObj, cancel: false, animation: animModel };
12262
+ const eventArgs = { popup: this.popupObj, cancel: false, animation: animModel, event: e || null };
12263
12263
  this.trigger('close', eventArgs, (eventArgs) => {
12264
12264
  if (!eventArgs.cancel) {
12265
12265
  if (this.fields.groupBy && this.mode !== 'CheckBox' && this.fixedHeaderElement) {
@@ -12306,7 +12306,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12306
12306
  const mainLiLength = this.ulElement.querySelectorAll('li.' + 'e-list-item').length;
12307
12307
  const liLength = this.ulElement.querySelectorAll('li.'
12308
12308
  + dropDownBaseClasses.li + '.' + HIDE_LIST).length;
12309
- if (mainLiLength > 0 && (mainLiLength === liLength) && (liLength === this.mainData.length)) {
12309
+ if (mainLiLength > 0 && (mainLiLength === liLength) && (liLength === this.mainData.length) && !(this.targetElement() !== '' && this.allowCustomValue)) {
12310
12310
  this.beforePopupOpen = false;
12311
12311
  return;
12312
12312
  }
@@ -13481,8 +13481,8 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
13481
13481
  });
13482
13482
  }
13483
13483
  }
13484
- updateActionCompleteData(li, item) {
13485
- this.jsonData.push(item);
13484
+ updateActionCompleteData(li, item, index) {
13485
+ this.jsonData.splice(index, 0, item);
13486
13486
  }
13487
13487
  initToolbar() {
13488
13488
  const pos = this.toolbarSettings.position;
@@ -13692,14 +13692,14 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
13692
13692
  triggerDrag(args) {
13693
13693
  let scrollParent;
13694
13694
  let boundRect;
13695
- const scrollMoved = 36;
13695
+ let scrollMoved = 36;
13696
13696
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
13697
- const event = args.event;
13697
+ let event = args.event;
13698
13698
  let wrapper;
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')) {
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")) {
13703
13703
  wrapper = args.target.closest('.e-listbox-wrapper');
13704
13704
  }
13705
13705
  else {
@@ -13753,8 +13753,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
13753
13753
  const getArgs = this.getDragArgs({ target: args.droppedElement }, true);
13754
13754
  const sourceArgs = { previousData: this.dataSource };
13755
13755
  const destArgs = { previousData: listObj.dataSource };
13756
- let dragArgs = extend({}, getArgs, { target: args.target, source: { previousData: this.dataSource },
13757
- previousIndex: args.previousIndex, currentIndex: args.currentIndex });
13756
+ let dragArgs = extend({}, getArgs, { target: args.target, source: { previousData: this.dataSource }, previousIndex: args.previousIndex, currentIndex: args.currentIndex });
13758
13757
  if (listObj !== this) {
13759
13758
  const sourceArgs1 = extend(sourceArgs, { currentData: this.listData });
13760
13759
  dragArgs = extend(dragArgs, { source: sourceArgs1, destination: destArgs });
@@ -13848,14 +13847,14 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
13848
13847
  currIdx++;
13849
13848
  });
13850
13849
  if (this.fields.groupBy) {
13851
- const sourceElem = this.renderItems(this.listData, this.fields);
13850
+ let sourceElem = this.renderItems(this.listData, this.fields);
13852
13851
  this.updateListItems(sourceElem, this.ulElement);
13853
13852
  this.setSelection();
13854
13853
  }
13855
13854
  if (listObj.sortOrder !== 'None' || this.selectionSettings.showCheckbox
13856
13855
  !== listObj.selectionSettings.showCheckbox || listObj.fields.groupBy || listObj.itemTemplate || this.itemTemplate) {
13857
13856
  const sortable = getComponent(ul, 'sortable');
13858
- const sourceElem = listObj.renderItems(listData, listObj.fields);
13857
+ let sourceElem = listObj.renderItems(listData, listObj.fields);
13859
13858
  listObj.updateListItems(sourceElem, ul);
13860
13859
  this.setSelection();
13861
13860
  if (sortable.placeHolderElement) {
@@ -13885,7 +13884,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
13885
13884
  }
13886
13885
  updateListItems(sourceElem, destElem) {
13887
13886
  const i = 0;
13888
- destElem.innerHTML = '';
13887
+ destElem.innerHTML = "";
13889
13888
  while (i < sourceElem.childNodes.length) {
13890
13889
  destElem.appendChild(sourceElem.childNodes[i]);
13891
13890
  }
@@ -13945,7 +13944,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
13945
13944
  enableItems(items, enable = true, isValue) {
13946
13945
  let li;
13947
13946
  items.forEach((item) => {
13948
- const text = item;
13947
+ let text = item;
13949
13948
  li = this.findListElement(this.list, 'li', 'data-value', isValue ? text : this.getValueByText(text));
13950
13949
  if (!li) {
13951
13950
  return;
@@ -14021,7 +14020,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
14021
14020
  let objValue;
14022
14021
  const dupData = [];
14023
14022
  let itemIdx;
14024
- extend(dupData, [], this.listData);
14023
+ extend(dupData, [], this.jsonData);
14025
14024
  const removeIdxes = [];
14026
14025
  const removeLiIdxes = [];
14027
14026
  for (let j = 0; j < items.length; j++) {
@@ -14676,7 +14675,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
14676
14675
  });
14677
14676
  if (isRefresh) {
14678
14677
  if (fListBox.fields.groupBy) {
14679
- const sourceElem = fListBox.renderItems(listData, fListBox.fields);
14678
+ let sourceElem = fListBox.renderItems(listData, fListBox.fields);
14680
14679
  fListBox.updateListItems(sourceElem, fListBox.ulElement);
14681
14680
  }
14682
14681
  else {
@@ -14709,7 +14708,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
14709
14708
  tListBox.jsonData = tJsonData;
14710
14709
  tListBox.sortedData = tSortData;
14711
14710
  if (isRefresh) {
14712
- const sourceElem = tListBox.renderItems(tListData, tListBox.fields);
14711
+ let sourceElem = tListBox.renderItems(tListData, tListBox.fields);
14713
14712
  tListBox.updateListItems(sourceElem, tListBox.ulElement);
14714
14713
  tListBox.setSelection();
14715
14714
  fListBox.trigger('actionComplete', { items: tempItems, eventName: this.toolbarAction });
@@ -14798,7 +14797,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
14798
14797
  tListBox.jsonData = jsonData;
14799
14798
  fListBox.listData = fListBox.sortedData = fListBox.jsonData = [];
14800
14799
  if (isRefresh) {
14801
- const sourceElem = tListBox.renderItems(listData, tListBox.fields);
14800
+ let sourceElem = tListBox.renderItems(listData, tListBox.fields);
14802
14801
  tListBox.updateListItems(sourceElem, tListBox.ulElement);
14803
14802
  this.trigger('actionComplete', { items: tempItems, eventName: this.toolbarAction });
14804
14803
  }
@@ -14859,7 +14858,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
14859
14858
  break;
14860
14859
  }
14861
14860
  }
14862
- const elems = Array.prototype.slice.call(this.element.nextElementSibling.querySelectorAll('.e-grabbed'));
14861
+ const elems = Array.prototype.slice.call(this.element.querySelectorAll('.e-grabbed'));
14863
14862
  return elems;
14864
14863
  }
14865
14864
  getDragArgs(args, isDragEnd) {
@@ -14915,7 +14914,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
14915
14914
  }
14916
14915
  }
14917
14916
  }
14918
- else if (e.keyCode !== 37 && e.keyCode !== 39 && e.code !== 'KeyA') {
14917
+ else if (e.keyCode !== 37 && e.keyCode !== 39 && e.code !== "KeyA") {
14919
14918
  this.upDownKeyHandler(e);
14920
14919
  }
14921
14920
  }
@@ -14958,9 +14957,9 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
14958
14957
  this.selectHandler({ target: ul.children[fliIdx], ctrlKey: e.ctrlKey, shiftKey: e.shiftKey }, true);
14959
14958
  }
14960
14959
  if (this.selectionSettings.showCheckbox && e.ctrlKey && e.shiftKey && (e.keyCode === 36 || e.keyCode === 35)) {
14961
- const selectedidx = Array.prototype.indexOf.call(ul.children, fli);
14962
- const sidx = e.code === 'Home' ? 0 : selectedidx;
14963
- const eidx = e.code === 'Home' ? selectedidx : ul.children.length - 1;
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;
14964
14963
  for (let i = sidx; i <= eidx; i++) {
14965
14964
  const item = ul.children[i];
14966
14965
  this.notify('updatelist', { li: item, e: {