@syncfusion/ej2-dropdowns 30.1.40 → 30.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.
@@ -1648,10 +1648,15 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
1648
1648
  _this.totalItemCount = !_this.virtualSelectAll ? e.count : _this.totalItemCount;
1649
1649
  ulElement = _this.renderItems(listItems, fields);
1650
1650
  _this.appendUncheckList = false;
1651
+ _this.isUpdateGroupTemplate = false;
1651
1652
  _this.onActionComplete(ulElement, listItems, e);
1652
1653
  if (_this.groupTemplate) {
1654
+ if (_this.isAngular && _this.getModuleName() === 'multiselect') {
1655
+ _this.updateGroupHeaderItems(ulElement);
1656
+ }
1653
1657
  _this.renderGroupTemplate(ulElement);
1654
1658
  }
1659
+ _this.isUpdateGroupTemplate = true;
1655
1660
  _this.isRequested = false;
1656
1661
  _this.bindChildItems(listItems, ulElement, fields, e);
1657
1662
  if (_this.getInitialData) {
@@ -1754,10 +1759,15 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
1754
1759
  }
1755
1760
  if (!localDataArgs.cancel) {
1756
1761
  ulElement = _this.renderItems(localDataArgs.result, fields);
1762
+ _this.isUpdateGroupTemplate = false;
1757
1763
  _this.onActionComplete(ulElement, localDataArgs.result, event);
1758
1764
  if (_this.groupTemplate) {
1765
+ if (_this.isAngular && _this.getModuleName() === 'multiselect') {
1766
+ _this.updateGroupHeaderItems(ulElement);
1767
+ }
1759
1768
  _this.renderGroupTemplate(ulElement);
1760
1769
  }
1770
+ _this.isUpdateGroupTemplate = true;
1761
1771
  _this.bindChildItems(localDataArgs.result, ulElement, fields);
1762
1772
  if (_this.getInitialData) {
1763
1773
  _this.getInitialData = false;
@@ -1776,6 +1786,20 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
1776
1786
  });
1777
1787
  }
1778
1788
  };
1789
+ DropDownBase.prototype.updateGroupHeaderItems = function (ulElement) {
1790
+ var headerElements = ulElement.querySelectorAll('.' + dropDownBaseClasses.group);
1791
+ var clonedHeaders = [];
1792
+ for (var i = 0; i < headerElements.length; i++) {
1793
+ clonedHeaders.push(headerElements[i].cloneNode ? headerElements[i].cloneNode(true) :
1794
+ headerElements[i]);
1795
+ }
1796
+ if (!this.isFilterAction) {
1797
+ this.groupHeaderItems = clonedHeaders;
1798
+ }
1799
+ else {
1800
+ this.fiteredGroupHeaderItems = clonedHeaders;
1801
+ }
1802
+ };
1779
1803
  DropDownBase.prototype.handleVirtualKeyboardActions = function (e, pageCount) {
1780
1804
  // Used this method in component side.
1781
1805
  };
@@ -1912,6 +1936,21 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
1912
1936
  if (!isNullOrUndefined(this.list)) {
1913
1937
  if (!this.isVirtualizationEnabled) {
1914
1938
  this.list.innerHTML = '';
1939
+ if (this.isUpdateGroupTemplate && this.isAngular && this.groupTemplate && this.getModuleName() === 'multiselect') {
1940
+ var headerItems = ulElement.querySelectorAll('.' + dropDownBaseClasses.group);
1941
+ if (headerItems.length > 0 && this.groupHeaderItems.length > 0) {
1942
+ var groupHeaderMap = {};
1943
+ for (var i = 0; i < this.groupHeaderItems.length; i++) {
1944
+ groupHeaderMap[this.groupHeaderItems[i].id] = this.groupHeaderItems[i].innerHTML;
1945
+ }
1946
+ for (var i = 0; i < headerItems.length; i++) {
1947
+ if (Object.prototype.hasOwnProperty.call(groupHeaderMap, headerItems[i].id)) {
1948
+ headerItems[i].innerHTML = groupHeaderMap[headerItems[i].id];
1949
+ }
1950
+ }
1951
+ }
1952
+ this.renderGroupTemplate(ulElement);
1953
+ }
1915
1954
  this.list.appendChild(ulElement);
1916
1955
  this.liCollections = this.list.querySelectorAll('.' + dropDownBaseClasses.li);
1917
1956
  this.ulElement = this.list.querySelector('ul');
@@ -2007,7 +2046,9 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
2007
2046
  if (this.fields.groupBy !== null && this.dataSource || this.element.querySelector('.' + dropDownBaseClasses.group)) {
2008
2047
  var dataSource = this.dataSource;
2009
2048
  var option = { groupTemplateID: this.groupTemplateId, isStringTemplate: this.isStringTemplate };
2010
- var headerItems = listEle.querySelectorAll('.' + dropDownBaseClasses.group);
2049
+ var headerItems = this.isAngular && this.getModuleName() === 'multiselect' && !isNullOrUndefined(listEle) &&
2050
+ listEle.classList.contains(dropDownBaseClasses.fixedHead) ? [listEle] :
2051
+ listEle.querySelectorAll('.' + dropDownBaseClasses.group);
2011
2052
  var groupcheck = this.templateCompiler(this.groupTemplate);
2012
2053
  if (typeof this.groupTemplate !== 'function' && groupcheck) {
2013
2054
  var groupValue = select(this.groupTemplate, document).innerHTML.trim();
@@ -2142,10 +2183,38 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
2142
2183
  return false;
2143
2184
  }
2144
2185
  };
2186
+ DropDownBase.prototype.updateFixedGroupTemplateHader = function (element) {
2187
+ var groupData = element.cloneNode ? element.cloneNode(true) : element;
2188
+ var isGroupDataUpdated = false;
2189
+ if (this.groupHeaderItems && this.groupHeaderItems.length > 0) {
2190
+ for (var i = 0; i < this.groupHeaderItems.length; i++) {
2191
+ if (groupData.id === this.groupHeaderItems[i].id) {
2192
+ groupData.innerHTML = this.groupHeaderItems[i].innerHTML;
2193
+ isGroupDataUpdated = true;
2194
+ break;
2195
+ }
2196
+ }
2197
+ }
2198
+ if (!isGroupDataUpdated && this.fiteredGroupHeaderItems && this.fiteredGroupHeaderItems.length > 0) {
2199
+ for (var i = 0; i < this.fiteredGroupHeaderItems.length; i++) {
2200
+ if (groupData.id === this.fiteredGroupHeaderItems[i].id) {
2201
+ groupData.innerHTML = this.fiteredGroupHeaderItems[i].innerHTML;
2202
+ break;
2203
+ }
2204
+ }
2205
+ }
2206
+ this.fixedHeaderElement.innerHTML = groupData.innerHTML;
2207
+ this.renderGroupTemplate(this.fixedHeaderElement);
2208
+ };
2145
2209
  DropDownBase.prototype.updateGroupFixedHeader = function (element, target) {
2146
2210
  if (this.fixedHeaderElement) {
2147
2211
  if (!isNullOrUndefined(element.innerHTML)) {
2148
- this.fixedHeaderElement.innerHTML = element.innerHTML;
2212
+ if (this.groupTemplate && this.isAngular && this.getModuleName() === 'multiselect') {
2213
+ this.updateFixedGroupTemplateHader(element);
2214
+ }
2215
+ else {
2216
+ this.fixedHeaderElement.innerHTML = element.innerHTML;
2217
+ }
2149
2218
  }
2150
2219
  this.fixedHeaderElement.style.position = 'fixed';
2151
2220
  this.fixedHeaderElement.style.top = (this.list.parentElement.offsetTop + this.list.offsetTop) - window.scrollY + 'px';
@@ -2335,7 +2404,12 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
2335
2404
  setStyleAttribute(this.fixedHeaderElement, { zIndex: 10 });
2336
2405
  var firstLi = this.ulElement.querySelector('.' + dropDownBaseClasses.group + ':not(.e-hide-listitem)');
2337
2406
  if (!isNullOrUndefined(firstLi)) {
2338
- this.fixedHeaderElement.innerHTML = firstLi.innerHTML;
2407
+ if (this.groupTemplate && this.isAngular && this.getModuleName() === 'multiselect') {
2408
+ this.updateFixedGroupTemplateHader(firstLi);
2409
+ }
2410
+ else {
2411
+ this.fixedHeaderElement.innerHTML = firstLi.innerHTML;
2412
+ }
2339
2413
  }
2340
2414
  };
2341
2415
  DropDownBase.prototype.getSortedDataSource = function (dataSource) {
@@ -2891,6 +2965,8 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
2891
2965
  this.ulElement = null;
2892
2966
  this.list = null;
2893
2967
  this.enableRtlElements = null;
2968
+ this.groupHeaderItems = null;
2969
+ this.fiteredGroupHeaderItems = null;
2894
2970
  this.rippleFun = null;
2895
2971
  _super.prototype.destroy.call(this);
2896
2972
  };
@@ -5275,7 +5351,14 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
5275
5351
  return;
5276
5352
  }
5277
5353
  if (this.getInitialData) {
5278
- this.updateActionCompleteDataValues(ulElement, list);
5354
+ if (this.itemTemplate && this.element.tagName === 'EJS-COMBOBOX' && this.allowFiltering) {
5355
+ setTimeout(function () {
5356
+ _this.updateActionCompleteDataValues(ulElement, list);
5357
+ }, 0);
5358
+ }
5359
+ else {
5360
+ this.updateActionCompleteDataValues(ulElement, list);
5361
+ }
5279
5362
  if (this.enableVirtualization) {
5280
5363
  this.updateSelectElementData(this.allowFiltering);
5281
5364
  }
@@ -13772,7 +13855,7 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
13772
13855
  return filterQuery;
13773
13856
  }
13774
13857
  }
13775
- if (this.filterAction) {
13858
+ if (this.isFilterAction) {
13776
13859
  if ((this.targetElement() !== null && !this.enableVirtualization) || (this.enableVirtualization &&
13777
13860
  this.targetElement() !== null && this.targetElement().trim() !== '')) {
13778
13861
  var dataType = this.typeOfData(this.dataSource).typeof;
@@ -14236,7 +14319,9 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
14236
14319
  this.ulElement = this.mainList;
14237
14320
  }
14238
14321
  this.checkPlaceholderSize();
14239
- Input.createSpanElement(this.overAllWrapper, this.createElement);
14322
+ if (this.element.querySelector('.e-multiselect .e-float-text-content') === null) {
14323
+ Input.createSpanElement(this.overAllWrapper, this.createElement);
14324
+ }
14240
14325
  this.calculateWidth();
14241
14326
  if (!isNullOrUndefined(this.overAllWrapper) && !isNullOrUndefined(this.overAllWrapper.getElementsByClassName('e-ddl-icon')[0] &&
14242
14327
  this.overAllWrapper.getElementsByClassName('e-float-text-content')[0] && this.floatLabelType !== 'Never')) {
@@ -15426,7 +15511,9 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
15426
15511
  }
15427
15512
  else {
15428
15513
  this.setFloatLabelType();
15429
- Input.createSpanElement(this.overAllWrapper, this.createElement);
15514
+ if (this.element.querySelector('.e-multiselect .e-float-text-content') === null) {
15515
+ Input.createSpanElement(this.overAllWrapper, this.createElement);
15516
+ }
15430
15517
  }
15431
15518
  this.expandTextbox();
15432
15519
  };
@@ -16277,7 +16364,9 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
16277
16364
  this.clearAllCallback(e);
16278
16365
  }
16279
16366
  this.checkAndResetCache();
16280
- Input.createSpanElement(this.overAllWrapper, this.createElement);
16367
+ if (this.element.querySelector('.e-multiselect .e-float-text-content') === null) {
16368
+ Input.createSpanElement(this.overAllWrapper, this.createElement);
16369
+ }
16281
16370
  this.calculateWidth();
16282
16371
  if (!isNullOrUndefined(this.overAllWrapper) && !isNullOrUndefined(this.overAllWrapper.getElementsByClassName('e-ddl-icon')[0] && this.overAllWrapper.getElementsByClassName('e-float-text-content')[0] && this.floatLabelType !== 'Never')) {
16283
16372
  this.overAllWrapper.getElementsByClassName('e-float-text-content')[0].classList.add('e-icon');
@@ -16433,7 +16522,7 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
16433
16522
  _this.isFilterPrevented = eventArgs.cancel;
16434
16523
  if (!eventArgs.cancel) {
16435
16524
  if (!_this.isFiltered && !eventArgs.preventDefaultAction) {
16436
- _this.filterAction = true;
16525
+ _this.isFilterAction = true;
16437
16526
  _this.isFilteringAction = true;
16438
16527
  if (_this.dataSource instanceof DataManager && _this.allowCustomValue) {
16439
16528
  _this.isCustomRendered = false;
@@ -16589,7 +16678,7 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
16589
16678
  MultiSelect.prototype.initializeData = function () {
16590
16679
  this.mainListCollection = [];
16591
16680
  this.beforePopupOpen = false;
16592
- this.filterAction = false;
16681
+ this.isFilterAction = false;
16593
16682
  this.remoteFilterAction = false;
16594
16683
  this.isFirstClick = false;
16595
16684
  this.mobFilter = true;
@@ -16923,7 +17012,7 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
16923
17012
  }
16924
17013
  };
16925
17014
  MultiSelect.prototype.updateDataList = function () {
16926
- if (this.mainList && this.ulElement && !(this.isFiltered || this.filterAction || this.targetElement().trim())) {
17015
+ if (this.mainList && this.ulElement && !(this.isFiltered || this.isFilterAction || this.targetElement().trim())) {
16927
17016
  var isDynamicGroupItemUpdate = this.mainList.childElementCount < this.ulElement.childElementCount;
16928
17017
  var isReactTemplateUpdate = ((this.ulElement.childElementCount > 0 &&
16929
17018
  this.ulElement.children[0].childElementCount > 0) &&
@@ -18162,7 +18251,7 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
18162
18251
  this.isDynamicDataChange = true;
18163
18252
  }
18164
18253
  if (this.getModuleName() === 'multiselect') {
18165
- this.filterAction = false;
18254
+ this.isFilterAction = false;
18166
18255
  this.setUpdateInitial(['fields', 'query', 'dataSource'], newProp);
18167
18256
  }
18168
18257
  for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {
@@ -18268,7 +18357,9 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
18268
18357
  case 'floatLabelType':
18269
18358
  this.setFloatLabelType();
18270
18359
  this.addValidInputClass();
18271
- Input.createSpanElement(this.overAllWrapper, this.createElement);
18360
+ if (this.element.querySelector('.e-multiselect .e-float-text-content') === null) {
18361
+ Input.createSpanElement(this.overAllWrapper, this.createElement);
18362
+ }
18272
18363
  this.calculateWidth();
18273
18364
  if (!isNullOrUndefined(this.overAllWrapper) &&
18274
18365
  !isNullOrUndefined(this.overAllWrapper.getElementsByClassName('e-ddl-icon')[0] &&
@@ -18863,7 +18954,9 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
18863
18954
  if (this.element.hasAttribute('data-val')) {
18864
18955
  this.element.setAttribute('data-val', 'false');
18865
18956
  }
18866
- Input.createSpanElement(this.overAllWrapper, this.createElement);
18957
+ if (this.element.querySelector('.e-multiselect .e-float-text-content') === null) {
18958
+ Input.createSpanElement(this.overAllWrapper, this.createElement);
18959
+ }
18867
18960
  this.calculateWidth();
18868
18961
  if (!isNullOrUndefined(this.overAllWrapper) && !isNullOrUndefined(this.overAllWrapper.getElementsByClassName('e-ddl-icon')[0] &&
18869
18962
  this.overAllWrapper.getElementsByClassName('e-float-text-content')[0] && this.floatLabelType !== 'Never')) {
@@ -20315,9 +20408,6 @@ var ListBox = /** @__PURE__ @class */ (function (_super) {
20315
20408
  this.unSelectAllText = l10nSelect.getConstant('unSelectAllText');
20316
20409
  this.popupWrapper = this.list;
20317
20410
  this.checkBoxSelectionModule.checkAllParent = null;
20318
- if (this.filterParent) {
20319
- this.filterParent = null;
20320
- }
20321
20411
  this.notify('selectAll', {});
20322
20412
  }
20323
20413
  };