@syncfusion/ej2-dropdowns 28.1.41 → 28.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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 28.1.41
3
+ * version : 28.2.4
4
4
  * Copyright Syncfusion Inc. 2001 - 2024. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-dropdowns@*",
3
- "_id": "@syncfusion/ej2-dropdowns@28.1.39",
3
+ "_id": "@syncfusion/ej2-dropdowns@28.2.3",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-//F+3tKpHvooXKrEpdaelWdehcgo92MbgKaI4QOyCn3zBaXTAH4CJ3pEqUNCTz4ML3EhOvDFyRFYWMemRFCP1g==",
5
+ "_integrity": "sha512-WulRpVG/X8MKND+b8VTrUWqLsSAuAuKBXGfbE+MjWzmsCBEnJGLHs6AXGK/h3nZDkYfnnEls6NzbntieoldQQg==",
6
6
  "_location": "/@syncfusion/ej2-dropdowns",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -36,8 +36,8 @@
36
36
  "/@syncfusion/ej2-spreadsheet",
37
37
  "/@syncfusion/ej2-vue-dropdowns"
38
38
  ],
39
- "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-dropdowns/-/ej2-dropdowns-28.1.39.tgz",
40
- "_shasum": "2502edc8b2aaac370eb276fbec8f3ab0ae2b0702",
39
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-dropdowns/-/ej2-dropdowns-28.2.3.tgz",
40
+ "_shasum": "ca88d206fbb04487749275d9457708a7755a54a7",
41
41
  "_spec": "@syncfusion/ej2-dropdowns@*",
42
42
  "_where": "/jenkins/workspace/elease-automation_release_28.1.1/packages/included",
43
43
  "author": {
@@ -45,13 +45,13 @@
45
45
  },
46
46
  "bundleDependencies": false,
47
47
  "dependencies": {
48
- "@syncfusion/ej2-base": "~28.1.33",
49
- "@syncfusion/ej2-data": "~28.1.33",
50
- "@syncfusion/ej2-inputs": "~28.1.41",
51
- "@syncfusion/ej2-lists": "~28.1.37",
52
- "@syncfusion/ej2-navigations": "~28.1.41",
53
- "@syncfusion/ej2-notifications": "~28.1.33",
54
- "@syncfusion/ej2-popups": "~28.1.39"
48
+ "@syncfusion/ej2-base": "~28.2.3",
49
+ "@syncfusion/ej2-data": "~28.2.3",
50
+ "@syncfusion/ej2-inputs": "~28.2.3",
51
+ "@syncfusion/ej2-lists": "~28.2.3",
52
+ "@syncfusion/ej2-navigations": "~28.2.4",
53
+ "@syncfusion/ej2-notifications": "~28.2.3",
54
+ "@syncfusion/ej2-popups": "~28.2.3"
55
55
  },
56
56
  "deprecated": false,
57
57
  "description": "Essential JS 2 DropDown Components",
@@ -76,7 +76,7 @@
76
76
  "module": "./index.js",
77
77
  "name": "@syncfusion/ej2-dropdowns",
78
78
  "typings": "index.d.ts",
79
- "version": "28.1.41",
79
+ "version": "28.2.4",
80
80
  "sideEffects": false,
81
81
  "homepage": "https://www.syncfusion.com/javascript-ui-controls"
82
82
  }
@@ -190,7 +190,7 @@ var VirtualScroll = /** @class */ (function () {
190
190
  endIndex = this.parent.viewPortInfo.endIndex - this.parent.value.length;
191
191
  if (this.parent.viewPortInfo.startIndex === 0) {
192
192
  this.parent.updateVirtualReOrderList(true);
193
- if (this.parent.value.length < this.parent.itemCount) {
193
+ if (this.parent.value.length < this.parent.itemCount && this.parent.value.length !== this.parent.totalItemCount) {
194
194
  var oldUlElement = this.parent.list.querySelector('.e-list-parent' + ':not(.e-reorder)');
195
195
  if (oldUlElement) {
196
196
  this.parent.list.querySelector('.e-virtual-ddl-content').removeChild(oldUlElement);
@@ -253,6 +253,12 @@ var VirtualScroll = /** @class */ (function () {
253
253
  if (isListUpdated) {
254
254
  for (var i = this.parent.viewPortInfo.startIndex; i < endIndex; i++) {
255
255
  var index = i;
256
+ if (this.component === 'multiselect' && this.parent.mode === 'CheckBox') {
257
+ var oldUlElement = this.parent.list.querySelector('.e-list-parent' + '.e-reorder');
258
+ if (oldUlElement) {
259
+ this.parent.list.querySelector('.e-virtual-ddl-content').removeChild(oldUlElement);
260
+ }
261
+ }
256
262
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
257
263
  var alreadyAddedData = this.parent.generatedDataObject[index];
258
264
  if (this.component === 'multiselect' && this.parent.hideSelectedItem) {
@@ -294,6 +294,7 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
294
294
  protected preventDefActionFilter: boolean;
295
295
  protected isDynamicData: boolean;
296
296
  protected isPrimitiveData: boolean;
297
+ protected isCustomFiltering: boolean;
297
298
  protected virtualListInfo: VirtualInfo;
298
299
  protected viewPortInfo: VirtualInfo;
299
300
  protected selectedValueInfo: VirtualInfo;
@@ -577,6 +578,7 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
577
578
  private setListData;
578
579
  protected handleVirtualKeyboardActions(e: KeyboardEventArgs, pageCount: number): void;
579
580
  protected updatePopupState(): void;
581
+ protected updatePopupPosition(): void;
580
582
  protected virtualSelectionAll(state: boolean, li: NodeListOf<HTMLElement> | HTMLElement[], event: MouseEvent | KeyboardEventArgs): void;
581
583
  protected updateRemoteData(): void;
582
584
  private bindChildItems;
@@ -136,6 +136,7 @@ var DropDownBase = /** @class */ (function (_super) {
136
136
  _this.CurrentEvent = null;
137
137
  _this.isDynamicData = false;
138
138
  _this.isPrimitiveData = false;
139
+ _this.isCustomFiltering = false;
139
140
  _this.virtualListInfo = {
140
141
  currentPageNumber: null,
141
142
  direction: null,
@@ -724,7 +725,7 @@ var DropDownBase = /** @class */ (function (_super) {
724
725
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
725
726
  newQuery.queries[queryElements].e.nos = e.count;
726
727
  }
727
- if (_this.getModuleName() === 'multiselect' && (newQuery.queries[queryElements].e.condition === 'or' || newQuery.queries[queryElements].e.operator === 'equal')) {
728
+ if (_this.getModuleName() === 'multiselect' && (newQuery.queries[queryElements].e.condition === 'or' || newQuery.queries[queryElements].e.operator === 'equal') && !_this.isCustomFiltering) {
728
729
  isReOrder = false;
729
730
  }
730
731
  }
@@ -748,6 +749,7 @@ var DropDownBase = /** @class */ (function (_super) {
748
749
  _this.trigger('actionComplete', e, function (e) {
749
750
  if (!e.cancel) {
750
751
  _this.isRequesting = false;
752
+ _this.isCustomFiltering = false;
751
753
  var listItems = e.result;
752
754
  if (_this.isIncrementalRequest) {
753
755
  ulElement = _this.renderItems(listItems, fields);
@@ -785,6 +787,7 @@ var DropDownBase = /** @class */ (function (_super) {
785
787
  }
786
788
  if (_this.isVirtualizationEnabled) {
787
789
  _this.getFilteringSkeletonCount();
790
+ _this.updatePopupPosition();
788
791
  }
789
792
  if (_this.virtualSelectAll && _this.virtualSelectAllData) {
790
793
  _this.virtualSelectionAll(_this.virtualSelectAllState, _this.liCollections, _this.CurrentEvent);
@@ -826,7 +829,7 @@ var DropDownBase = /** @class */ (function (_super) {
826
829
  newQuery.queries[queryElements].e.nos = listItems.count;
827
830
  listItems = (newQuery).executeLocal(dataManager);
828
831
  }
829
- if (_this.getModuleName() === 'multiselect' && (newQuery.queries[queryElements].e.condition === 'or' || newQuery.queries[queryElements].e.operator === 'equal')) {
832
+ if (_this.getModuleName() === 'multiselect' && (newQuery.queries[queryElements].e.condition === 'or' || newQuery.queries[queryElements].e.operator === 'equal') && !_this.isCustomFiltering) {
830
833
  isReOrder = false;
831
834
  }
832
835
  }
@@ -859,6 +862,7 @@ var DropDownBase = /** @class */ (function (_super) {
859
862
  var localDataArgs = { cancel: false, result: listItems };
860
863
  _this.isPreventChange = _this.isAngular && _this.preventChange ? true : _this.isPreventChange;
861
864
  _this.trigger('actionComplete', localDataArgs, function (localDataArgs) {
865
+ _this.isCustomFiltering = false;
862
866
  if (_this.isIncrementalRequest) {
863
867
  ulElement = _this.renderItems(localDataArgs.result, fields);
864
868
  return;
@@ -893,6 +897,9 @@ var DropDownBase = /** @class */ (function (_super) {
893
897
  DropDownBase.prototype.updatePopupState = function () {
894
898
  // Used this method in component side.
895
899
  };
900
+ DropDownBase.prototype.updatePopupPosition = function () {
901
+ // Used this method in component side.
902
+ };
896
903
  DropDownBase.prototype.virtualSelectionAll = function (state, li, event) {
897
904
  // Used this method in component side.
898
905
  };
@@ -2631,6 +2631,9 @@ var DropDownTree = /** @class */ (function (_super) {
2631
2631
  }
2632
2632
  chip.appendChild(chipContent);
2633
2633
  this.chipCollection.appendChild(chip);
2634
+ if (this.isReact) {
2635
+ this.renderReactTemplates();
2636
+ }
2634
2637
  };
2635
2638
  DropDownTree.prototype.setSelectAllWrapper = function (state) {
2636
2639
  if (this.isFirstRender) {
@@ -3360,6 +3363,9 @@ var DropDownTree = /** @class */ (function (_super) {
3360
3363
  addClass([this.inputWrapper], [INPUTFOCUS]);
3361
3364
  }
3362
3365
  }
3366
+ if (this.isFilteredData) {
3367
+ this.treeObj['treeData'] = this.treeData;
3368
+ }
3363
3369
  if (this.destroyPopupOnHide) {
3364
3370
  this.isFirstRender = true;
3365
3371
  this.destroyPopup();
@@ -120,6 +120,7 @@ export declare class ListBox extends DropDownBase {
120
120
  private popupWrapper;
121
121
  private targetInputElement;
122
122
  private isValidKey;
123
+ private isBackSpace;
123
124
  private isFiltered;
124
125
  private clearFilterIconElem;
125
126
  private remoteFilterAction;
@@ -100,6 +100,7 @@ var ListBox = /** @class */ (function (_super) {
100
100
  function ListBox(options, element) {
101
101
  var _this = _super.call(this, options, element) || this;
102
102
  _this.isValidKey = false;
103
+ _this.isBackSpace = false;
103
104
  _this.isDataSourceUpdate = false;
104
105
  _this.keyDownStatus = false;
105
106
  return _this;
@@ -368,6 +369,7 @@ var ListBox = /** @class */ (function (_super) {
368
369
  }
369
370
  };
370
371
  ListBox.prototype.onActionComplete = function (ulElement, list, e) {
372
+ var _this = this;
371
373
  var searchEle;
372
374
  var filterElem;
373
375
  var txtLength;
@@ -434,8 +436,9 @@ var ListBox = /** @class */ (function (_super) {
434
436
  }
435
437
  filterElem.selectionStart = txtLength;
436
438
  filterElem.selectionEnd = txtLength;
437
- if (filterElem.value !== '') {
439
+ if (filterElem.value !== '' || (filterElem.value === '' && this.isBackSpace)) {
438
440
  filterElem.focus();
441
+ setTimeout(function () { _this.isBackSpace = false; });
439
442
  }
440
443
  }
441
444
  }
@@ -2040,7 +2043,7 @@ var ListBox = /** @class */ (function (_super) {
2040
2043
  };
2041
2044
  ListBox.prototype.KeyUp = function (e) {
2042
2045
  var _this = this;
2043
- if (this.allowFiltering && ((e.ctrlKey && e.keyCode === 65) || (e.keyCode === 8 && !this.filterInput.value))) {
2046
+ if (this.allowFiltering && e.ctrlKey && e.keyCode === 65) {
2044
2047
  e.preventDefault();
2045
2048
  return;
2046
2049
  }
@@ -2049,6 +2052,7 @@ var ListBox = /** @class */ (function (_super) {
2049
2052
  if (!isNullOrUndefined(isWordCharacter)) {
2050
2053
  this.isValidKey = true;
2051
2054
  }
2055
+ this.isBackSpace = e.keyCode === 8;
2052
2056
  this.isValidKey = (e.keyCode === 8) || (e.keyCode === 46) || this.isValidKey;
2053
2057
  if (this.isValidKey) {
2054
2058
  this.isValidKey = false;
@@ -72,6 +72,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
72
72
  private isUpdateFooterHeight;
73
73
  private isBlurDispatching;
74
74
  private isFilterPrevented;
75
+ private isFilteringAction;
75
76
  /**
76
77
  * The `fields` property maps the columns of the data table and binds the data to the component.
77
78
  * * text - Maps the text column from data table for each list item.
@@ -737,6 +738,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
737
738
  private refreshPopup;
738
739
  private checkTextLength;
739
740
  private popupKeyActions;
741
+ protected updatePopupPosition(): void;
740
742
  private updateAriaAttribute;
741
743
  private homeNavigation;
742
744
  private updateSelectionList;
@@ -105,6 +105,7 @@ var MultiSelect = /** @class */ (function (_super) {
105
105
  _this.isUpdateFooterHeight = false;
106
106
  _this.isBlurDispatching = false;
107
107
  _this.isFilterPrevented = false;
108
+ _this.isFilteringAction = false;
108
109
  _this.isValidKey = false;
109
110
  _this.selectAllEventData = [];
110
111
  _this.selectAllEventEle = [];
@@ -566,7 +567,7 @@ var MultiSelect = /** @class */ (function (_super) {
566
567
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
567
568
  this.totalItemCount = e.count;
568
569
  }
569
- if (this.value && list && list.length > 0 && this.allowFiltering && this.mode !== 'CheckBox' && !this.enableVirtualization && !this.isFilterPrevented && !this.allowCustomValue) {
570
+ if (this.value && list && list.length > 0 && this.allowFiltering && this.mode !== 'CheckBox' && !this.enableVirtualization && !this.isFilterPrevented && !this.allowCustomValue && this.isFilteringAction) {
570
571
  var allItemsInValue = list.every(function (item) {
571
572
  var itemValue = getValue((_this.fields.value) ? _this.fields.value : '', item);
572
573
  return _this.value.some(function (val) {
@@ -1589,6 +1590,9 @@ var MultiSelect = /** @class */ (function (_super) {
1589
1590
  break;
1590
1591
  }
1591
1592
  };
1593
+ MultiSelect.prototype.updatePopupPosition = function () {
1594
+ this.refreshPopup();
1595
+ };
1592
1596
  MultiSelect.prototype.updateAriaAttribute = function () {
1593
1597
  var focusedItem = this.list.querySelector('.' + dropDownBaseClasses.focus);
1594
1598
  if (!isNullOrUndefined(focusedItem)) {
@@ -3240,6 +3244,9 @@ var MultiSelect = /** @class */ (function (_super) {
3240
3244
  this.totalItemCount = this.value && this.value.length ? this.totalItemCount - this.value.length : this.totalItemCount;
3241
3245
  }
3242
3246
  this.getSkeletonCount();
3247
+ this.skeletonCount = this.totalItemCount !== 0 && this.totalItemCount < this.itemCount * 2 &&
3248
+ ((!(this.dataSource instanceof DataManager)) || ((this.dataSource instanceof DataManager) &&
3249
+ (this.totalItemCount <= this.itemCount))) ? 0 : this.skeletonCount;
3243
3250
  this.UpdateSkeleton();
3244
3251
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3245
3252
  if (this.list.getElementsByClassName('e-virtual-ddl')[0]) {
@@ -3460,6 +3467,7 @@ var MultiSelect = /** @class */ (function (_super) {
3460
3467
  _this.isFiltered = true;
3461
3468
  _this.customFilterQuery = query;
3462
3469
  _this.remoteFilterAction = true;
3470
+ _this.isCustomFiltering = true;
3463
3471
  _this.dataUpdater(dataSource, query, fields);
3464
3472
  },
3465
3473
  event: e,
@@ -3470,10 +3478,12 @@ var MultiSelect = /** @class */ (function (_super) {
3470
3478
  if (!eventArgs.cancel) {
3471
3479
  if (!_this.isFiltered && !eventArgs.preventDefaultAction) {
3472
3480
  _this.filterAction = true;
3481
+ _this.isFilteringAction = true;
3473
3482
  if (_this.dataSource instanceof DataManager && _this.allowCustomValue) {
3474
3483
  _this.isCustomRendered = false;
3475
3484
  }
3476
3485
  _this.dataUpdater(_this.dataSource, null, _this.fields);
3486
+ _this.isFilteringAction = false;
3477
3487
  }
3478
3488
  }
3479
3489
  });