@syncfusion/ej2-dropdowns 28.1.39 → 28.1.41

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.39
3
+ * version : 28.1.41
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.38",
3
+ "_id": "@syncfusion/ej2-dropdowns@28.1.39",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-FGCpdclni6qQ3LeUi4ZYQp/ziJ/TarJpuufjvLID6+Emm8qvjpqsXHRpBBx7ySxGBqSv9EvFvwwX3tlEU7Q9uw==",
5
+ "_integrity": "sha512-//F+3tKpHvooXKrEpdaelWdehcgo92MbgKaI4QOyCn3zBaXTAH4CJ3pEqUNCTz4ML3EhOvDFyRFYWMemRFCP1g==",
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.38.tgz",
40
- "_shasum": "5d383cb4f7b3f08fbaff11b8bb86a5c3320adbab",
39
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-dropdowns/-/ej2-dropdowns-28.1.39.tgz",
40
+ "_shasum": "2502edc8b2aaac370eb276fbec8f3ab0ae2b0702",
41
41
  "_spec": "@syncfusion/ej2-dropdowns@*",
42
42
  "_where": "/jenkins/workspace/elease-automation_release_28.1.1/packages/included",
43
43
  "author": {
@@ -47,9 +47,9 @@
47
47
  "dependencies": {
48
48
  "@syncfusion/ej2-base": "~28.1.33",
49
49
  "@syncfusion/ej2-data": "~28.1.33",
50
- "@syncfusion/ej2-inputs": "~28.1.37",
50
+ "@syncfusion/ej2-inputs": "~28.1.41",
51
51
  "@syncfusion/ej2-lists": "~28.1.37",
52
- "@syncfusion/ej2-navigations": "~28.1.39",
52
+ "@syncfusion/ej2-navigations": "~28.1.41",
53
53
  "@syncfusion/ej2-notifications": "~28.1.33",
54
54
  "@syncfusion/ej2-popups": "~28.1.39"
55
55
  },
@@ -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.39",
79
+ "version": "28.1.41",
80
80
  "sideEffects": false,
81
81
  "homepage": "https://www.syncfusion.com/javascript-ui-controls"
82
82
  }
@@ -111,4 +111,5 @@ export interface IDropdownlist extends Component<HTMLElement> {
111
111
  findListElement(list: HTMLElement, findNode: string, attribute: string, value: string | boolean | number): HTMLElement;
112
112
  scrollStop(e?: Event): void;
113
113
  targetElement(): string;
114
+ checkMaxSelection(): void;
114
115
  }
@@ -322,6 +322,7 @@ var VirtualScroll = /** @class */ (function () {
322
322
  }
323
323
  if (this.component === 'multiselect') {
324
324
  this.parent.updatevirtualizationList();
325
+ this.parent.checkMaxSelection();
325
326
  }
326
327
  this.parent.getSkeletonCount();
327
328
  this.parent.skeletonCount = this.parent.totalItemCount !== 0 && this.parent.totalItemCount < this.parent.itemCount * 2 &&
@@ -358,7 +358,9 @@ var DropDownList = /** @class */ (function (_super) {
358
358
  };
359
359
  };
360
360
  DropDownList.prototype.setEnableRtl = function () {
361
- Input.setEnableRtl(this.enableRtl, [this.inputElement.parentElement]);
361
+ if (!isNullOrUndefined(this.inputElement) && !isNullOrUndefined(this.inputElement.parentElement)) {
362
+ Input.setEnableRtl(this.enableRtl, [this.inputElement.parentElement]);
363
+ }
362
364
  if (this.popupObj) {
363
365
  this.popupObj.enableRtl = this.enableRtl;
364
366
  this.popupObj.dataBind();
@@ -3309,6 +3311,9 @@ var DropDownList = /** @class */ (function (_super) {
3309
3311
  };
3310
3312
  DropDownList.prototype.updateInitialData = function () {
3311
3313
  var currentData = this.selectData;
3314
+ if (isNullOrUndefined(currentData)) {
3315
+ return;
3316
+ }
3312
3317
  var ulElement = this.renderItems(currentData, this.fields);
3313
3318
  this.list.scrollTop = 0;
3314
3319
  this.virtualListInfo = {
@@ -3341,7 +3346,7 @@ var DropDownList = /** @class */ (function (_super) {
3341
3346
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3342
3347
  this.list.getElementsByClassName('e-virtual-ddl')[0].style = this.GetVirtualTrackHeight();
3343
3348
  }
3344
- else if (!this.list.querySelector('.e-virtual-ddl')) {
3349
+ else if (!this.list.querySelector('.e-virtual-ddl') && this.list.parentElement) {
3345
3350
  var virualElement = this.createElement('div', {
3346
3351
  id: this.element.id + '_popup', className: 'e-virtual-ddl', styles: this.GetVirtualTrackHeight()
3347
3352
  });
@@ -4099,7 +4104,7 @@ var DropDownList = /** @class */ (function (_super) {
4099
4104
  if (this.isReact && this.isFiltering() && this.itemTemplate != null) {
4100
4105
  setTimeout(function () {
4101
4106
  proxy.cloneElements();
4102
- proxy.isSecondClick = true;
4107
+ proxy.isSecondClick = proxy.isReact && proxy.isFiltering() && proxy.dataSource instanceof DataManager && !proxy.list.querySelector('ul') ? false : true;
4103
4108
  }, duration);
4104
4109
  }
4105
4110
  };
@@ -878,6 +878,7 @@ export declare class DropDownTree extends Component<HTMLElement> implements INot
878
878
  private removeChip;
879
879
  private resetValue;
880
880
  private clearCheckAll;
881
+ private setOldValue;
881
882
  private selectAllItems;
882
883
  private updateTreeSettings;
883
884
  private updateCheckBoxState;
@@ -347,7 +347,7 @@ var DropDownTree = /** @class */ (function (_super) {
347
347
  if (firstUl && firstUl.getAttribute('aria-multiselectable')) {
348
348
  firstUl.removeAttribute('aria-multiselectable');
349
349
  }
350
- this.oldValue = this.value;
350
+ this.setOldValue();
351
351
  if (!this.isRemoteData) {
352
352
  this.isInitialized = true;
353
353
  }
@@ -775,7 +775,7 @@ var DropDownTree = /** @class */ (function (_super) {
775
775
  this.triggerChangeEvent(event);
776
776
  }
777
777
  this.removeValue = false;
778
- this.oldValue = this.value;
778
+ this.setOldValue();
779
779
  this.trigger('blur');
780
780
  };
781
781
  DropDownTree.prototype.updateView = function () {
@@ -808,7 +808,7 @@ var DropDownTree = /** @class */ (function (_super) {
808
808
  element: this.element
809
809
  };
810
810
  this.trigger('change', eventArgs);
811
- this.oldValue = this.value;
811
+ this.setOldValue();
812
812
  }
813
813
  };
814
814
  DropDownTree.prototype.ddtCompareValues = function (oldValue, newValue) {
@@ -1297,6 +1297,7 @@ var DropDownTree = /** @class */ (function (_super) {
1297
1297
  frameSpan.classList.add(CHECK);
1298
1298
  ariaState = 'true';
1299
1299
  if (!this.isReverseUpdate) {
1300
+ this.setOldValue();
1300
1301
  this.isCheckAllCalled = true;
1301
1302
  this.treeObj.checkAll();
1302
1303
  if (!this.changeOnBlur) {
@@ -1461,7 +1462,7 @@ var DropDownTree = /** @class */ (function (_super) {
1461
1462
  }
1462
1463
  }
1463
1464
  if (valArr.length !== 0) {
1464
- this.oldValue = this.value;
1465
+ this.setOldValue();
1465
1466
  this.setProperties({ value: valArr }, true);
1466
1467
  this.setValidValue();
1467
1468
  }
@@ -1472,7 +1473,7 @@ var DropDownTree = /** @class */ (function (_super) {
1472
1473
  else {
1473
1474
  data = this.getItems(this.text);
1474
1475
  if (!isNOU(data)) {
1475
- this.oldValue = this.value;
1476
+ this.setOldValue();
1476
1477
  this.setProperties({ value: [data[this.fields.value].toString()] }, true);
1477
1478
  this.setValidValue();
1478
1479
  }
@@ -1487,7 +1488,7 @@ var DropDownTree = /** @class */ (function (_super) {
1487
1488
  return;
1488
1489
  }
1489
1490
  if (!this.isInitialized) {
1490
- this.oldValue = this.value;
1491
+ this.setOldValue();
1491
1492
  if (this.treeObj.selectedNodes.length > 0 && !this.showCheckBox) {
1492
1493
  this.setProperties({ value: this.treeObj.selectedNodes }, true);
1493
1494
  if (this.allowMultiSelection) {
@@ -2080,7 +2081,7 @@ var DropDownTree = /** @class */ (function (_super) {
2080
2081
  };
2081
2082
  DropDownTree.prototype.onBeforeSelect = function (args) {
2082
2083
  if (args.isInteracted) {
2083
- this.oldValue = this.value ? this.value.slice() : this.value;
2084
+ this.setOldValue();
2084
2085
  if (this.value === null) {
2085
2086
  this.setProperties({ value: [] }, true);
2086
2087
  }
@@ -2201,7 +2202,7 @@ var DropDownTree = /** @class */ (function (_super) {
2201
2202
  };
2202
2203
  DropDownTree.prototype.beforeCheck = function (args) {
2203
2204
  if (args.isInteracted) {
2204
- this.oldValue = this.value ? this.value.slice() : this.value;
2205
+ this.setOldValue();
2205
2206
  }
2206
2207
  };
2207
2208
  DropDownTree.prototype.onNodeExpanded = function () {
@@ -2752,7 +2753,7 @@ var DropDownTree = /** @class */ (function (_super) {
2752
2753
  }
2753
2754
  Input.setValue(null, this.inputEle, this.floatLabelType);
2754
2755
  if (!isDynamicChange) {
2755
- this.oldValue = this.value;
2756
+ this.setOldValue();
2756
2757
  this.setProperties({ value: [] }, true);
2757
2758
  this.showOrHideValueTemplate(false);
2758
2759
  }
@@ -2788,6 +2789,9 @@ var DropDownTree = /** @class */ (function (_super) {
2788
2789
  this.setLocale(false);
2789
2790
  }
2790
2791
  };
2792
+ DropDownTree.prototype.setOldValue = function () {
2793
+ this.oldValue = Array.isArray(this.value) ? this.value.slice() : this.value;
2794
+ };
2791
2795
  DropDownTree.prototype.selectAllItems = function (state) {
2792
2796
  if (this.showCheckBox) {
2793
2797
  if (state) {
@@ -646,6 +646,8 @@ export declare class MultiSelect extends DropDownBase implements IInput {
646
646
  private header;
647
647
  private footer;
648
648
  private initStatus;
649
+ private isInitRemoteVirtualData;
650
+ private isDynamicRemoteVirtualData;
649
651
  private popupWrapper;
650
652
  private keyCode;
651
653
  private beforePopupOpen;
@@ -656,8 +658,6 @@ export declare class MultiSelect extends DropDownBase implements IInput {
656
658
  private selectAllEventEle;
657
659
  private filterParent;
658
660
  private removeIndex;
659
- private resetMainList;
660
- private resetFilteredData;
661
661
  private preventSetCurrentData;
662
662
  private virtualCustomData;
663
663
  private isSelectAllLoop;
@@ -108,8 +108,6 @@ var MultiSelect = /** @class */ (function (_super) {
108
108
  _this.isValidKey = false;
109
109
  _this.selectAllEventData = [];
110
110
  _this.selectAllEventEle = [];
111
- _this.resetMainList = null;
112
- _this.resetFilteredData = false;
113
111
  _this.preventSetCurrentData = false;
114
112
  _this.isSelectAllLoop = false;
115
113
  _this.scrollFocusStatus = false;
@@ -670,6 +668,9 @@ var MultiSelect = /** @class */ (function (_super) {
670
668
  if (!this.enableVirtualization || (this.enableVirtualization && (!(this.dataSource instanceof DataManager)))) {
671
669
  this.initialValueUpdate();
672
670
  }
671
+ else {
672
+ this.initialValueUpdate(this.listData, true);
673
+ }
673
674
  this.initialUpdate();
674
675
  this.refreshPlaceHolder();
675
676
  if (this.mode !== 'CheckBox' && this.changeOnBlur) {
@@ -1281,10 +1282,6 @@ var MultiSelect = /** @class */ (function (_super) {
1281
1282
  }
1282
1283
  }
1283
1284
  this.updateDataList();
1284
- if (this.resetMainList) {
1285
- this.mainList = this.resetMainList;
1286
- this.resetMainList = null;
1287
- }
1288
1285
  this.refreshListItems(null);
1289
1286
  if (this.mode !== 'Box' && this.mode !== 'CheckBox') {
1290
1287
  this.updateDelimView();
@@ -3433,7 +3430,6 @@ var MultiSelect = /** @class */ (function (_super) {
3433
3430
  };
3434
3431
  MultiSelect.prototype.search = function (e) {
3435
3432
  var _this = this;
3436
- this.resetFilteredData = true;
3437
3433
  this.preventSetCurrentData = false;
3438
3434
  this.firstItem = this.dataSource && this.dataSource.length > 0 ? this.dataSource[0] : null;
3439
3435
  if (!isNullOrUndefined(e)) {
@@ -3650,7 +3646,7 @@ var MultiSelect = /** @class */ (function (_super) {
3650
3646
  else {
3651
3647
  if (this_1.listData) {
3652
3648
  if (this_1.enableVirtualization) {
3653
- if (delim) {
3649
+ if (delim && !this_1.isDynamicRemoteVirtualData) {
3654
3650
  data = this_1.delimiterWrapper && this_1.delimiterWrapper.innerHTML === '' ? data :
3655
3651
  this_1.delimiterWrapper.innerHTML;
3656
3652
  }
@@ -3663,7 +3659,7 @@ var MultiSelect = /** @class */ (function (_super) {
3663
3659
  }
3664
3660
  else {
3665
3661
  temp = isInitialVirtualData && delim ? this_1.text : this_1.getTextByValue(value);
3666
- var textValues = isInitialVirtualData ? this_1.text : (this_1.text && this_1.text !== '' ? this_1.text + this_1.delimiterChar + temp : temp);
3662
+ var textValues = this_1.isDynamicRemoteVirtualData && value != null && value !== '' ? this_1.getTextByValue(value) : isInitialVirtualData ? this_1.text : (this_1.text && this_1.text !== '' ? this_1.text + this_1.delimiterChar + temp : temp);
3667
3663
  data += temp + delimiterChar + ' ';
3668
3664
  text.push(textValues);
3669
3665
  hiddenElementContent = this_1.hiddenElement.innerHTML;
@@ -3831,7 +3827,7 @@ var MultiSelect = /** @class */ (function (_super) {
3831
3827
  (this.mode === 'Box' || this.mode === 'Default'))) ||
3832
3828
  (this.enableVirtualization && value != null && text != null && !isCustomData)) {
3833
3829
  var currentText = [];
3834
- var textValues = this.text != null && this.text !== '' ? this.text + this.delimiterChar + text : text;
3830
+ var textValues = this.isDynamicRemoteVirtualData && text != null && text !== '' ? text : this.text != null && this.text !== '' ? this.text + this.delimiterChar + text : text;
3835
3831
  currentText.push(textValues);
3836
3832
  this.setProperties({ text: currentText.toString() }, true);
3837
3833
  this.addChip(text, value);
@@ -5145,11 +5141,6 @@ var MultiSelect = /** @class */ (function (_super) {
5145
5141
  MultiSelect.prototype.onPropertyChanged = function (newProp, oldProp) {
5146
5142
  if (newProp.dataSource && !isNullOrUndefined(Object.keys(newProp.dataSource))
5147
5143
  || newProp.query && !isNullOrUndefined(Object.keys(newProp.query))) {
5148
- if (this.resetFilteredData) {
5149
- // The filtered data is not being reset in the component after the user focuses out.
5150
- this.resetMainList = !this.resetMainList ? this.mainList : this.resetMainList;
5151
- this.resetFilteredData = false;
5152
- }
5153
5144
  this.mainList = null;
5154
5145
  this.mainData = null;
5155
5146
  this.isFirstClick = false;
@@ -5418,6 +5409,12 @@ var MultiSelect = /** @class */ (function (_super) {
5418
5409
  if (!this.enableVirtualization || (this.enableVirtualization && (!(this.dataSource instanceof DataManager)))) {
5419
5410
  this.initialValueUpdate();
5420
5411
  }
5412
+ else if (!this.isInitRemoteVirtualData) {
5413
+ this.isDynamicRemoteVirtualData = true;
5414
+ this.initialValueUpdate(this.listData, true);
5415
+ this.isDynamicRemoteVirtualData = false;
5416
+ this.initialUpdate();
5417
+ }
5421
5418
  if (this.mode !== 'Box' && !this.inputFocus) {
5422
5419
  this.updateDelimView();
5423
5420
  }
@@ -6015,9 +6012,11 @@ var MultiSelect = /** @class */ (function (_super) {
6015
6012
  if (e.result.length > 0) {
6016
6013
  listItems_2 = e.result;
6017
6014
  _this.initStatus = false;
6015
+ _this.isInitRemoteVirtualData = true;
6018
6016
  setTimeout(function () {
6019
6017
  _this.initialValueUpdate(listItems_2, true);
6020
6018
  _this.initialUpdate();
6019
+ _this.isInitRemoteVirtualData = false;
6021
6020
  }, 100);
6022
6021
  _this.initStatus = true;
6023
6022
  }