@syncfusion/ej2-dropdowns 30.1.39 → 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;
@@ -14057,6 +14140,7 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
14057
14140
  tempData[0] = (typeof customData === 'boolean') ?
14058
14141
  (tempData[0] === 'true' ? true : (tempData[0] === 'false' ? false : tempData[0])) : tempData[0];
14059
14142
  this.resetList(tempData, field);
14143
+ this.focusAtLastListItem(value);
14060
14144
  }
14061
14145
  }
14062
14146
  else if (this.listData && this.mainData && !dataChecks && this.allowCustomValue) {
@@ -14235,7 +14319,9 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
14235
14319
  this.ulElement = this.mainList;
14236
14320
  }
14237
14321
  this.checkPlaceholderSize();
14238
- 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
+ }
14239
14325
  this.calculateWidth();
14240
14326
  if (!isNullOrUndefined(this.overAllWrapper) && !isNullOrUndefined(this.overAllWrapper.getElementsByClassName('e-ddl-icon')[0] &&
14241
14327
  this.overAllWrapper.getElementsByClassName('e-float-text-content')[0] && this.floatLabelType !== 'Never')) {
@@ -15425,6 +15511,9 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
15425
15511
  }
15426
15512
  else {
15427
15513
  this.setFloatLabelType();
15514
+ if (this.element.querySelector('.e-multiselect .e-float-text-content') === null) {
15515
+ Input.createSpanElement(this.overAllWrapper, this.createElement);
15516
+ }
15428
15517
  }
15429
15518
  this.expandTextbox();
15430
15519
  };
@@ -16275,7 +16364,9 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
16275
16364
  this.clearAllCallback(e);
16276
16365
  }
16277
16366
  this.checkAndResetCache();
16278
- 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
+ }
16279
16370
  this.calculateWidth();
16280
16371
  if (!isNullOrUndefined(this.overAllWrapper) && !isNullOrUndefined(this.overAllWrapper.getElementsByClassName('e-ddl-icon')[0] && this.overAllWrapper.getElementsByClassName('e-float-text-content')[0] && this.floatLabelType !== 'Never')) {
16281
16372
  this.overAllWrapper.getElementsByClassName('e-float-text-content')[0].classList.add('e-icon');
@@ -16431,7 +16522,7 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
16431
16522
  _this.isFilterPrevented = eventArgs.cancel;
16432
16523
  if (!eventArgs.cancel) {
16433
16524
  if (!_this.isFiltered && !eventArgs.preventDefaultAction) {
16434
- _this.filterAction = true;
16525
+ _this.isFilterAction = true;
16435
16526
  _this.isFilteringAction = true;
16436
16527
  if (_this.dataSource instanceof DataManager && _this.allowCustomValue) {
16437
16528
  _this.isCustomRendered = false;
@@ -16587,7 +16678,7 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
16587
16678
  MultiSelect.prototype.initializeData = function () {
16588
16679
  this.mainListCollection = [];
16589
16680
  this.beforePopupOpen = false;
16590
- this.filterAction = false;
16681
+ this.isFilterAction = false;
16591
16682
  this.remoteFilterAction = false;
16592
16683
  this.isFirstClick = false;
16593
16684
  this.mobFilter = true;
@@ -16921,7 +17012,7 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
16921
17012
  }
16922
17013
  };
16923
17014
  MultiSelect.prototype.updateDataList = function () {
16924
- 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())) {
16925
17016
  var isDynamicGroupItemUpdate = this.mainList.childElementCount < this.ulElement.childElementCount;
16926
17017
  var isReactTemplateUpdate = ((this.ulElement.childElementCount > 0 &&
16927
17018
  this.ulElement.children[0].childElementCount > 0) &&
@@ -18160,7 +18251,7 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
18160
18251
  this.isDynamicDataChange = true;
18161
18252
  }
18162
18253
  if (this.getModuleName() === 'multiselect') {
18163
- this.filterAction = false;
18254
+ this.isFilterAction = false;
18164
18255
  this.setUpdateInitial(['fields', 'query', 'dataSource'], newProp);
18165
18256
  }
18166
18257
  for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {
@@ -18266,7 +18357,9 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
18266
18357
  case 'floatLabelType':
18267
18358
  this.setFloatLabelType();
18268
18359
  this.addValidInputClass();
18269
- 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
+ }
18270
18363
  this.calculateWidth();
18271
18364
  if (!isNullOrUndefined(this.overAllWrapper) &&
18272
18365
  !isNullOrUndefined(this.overAllWrapper.getElementsByClassName('e-ddl-icon')[0] &&
@@ -18861,7 +18954,9 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
18861
18954
  if (this.element.hasAttribute('data-val')) {
18862
18955
  this.element.setAttribute('data-val', 'false');
18863
18956
  }
18864
- 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
+ }
18865
18960
  this.calculateWidth();
18866
18961
  if (!isNullOrUndefined(this.overAllWrapper) && !isNullOrUndefined(this.overAllWrapper.getElementsByClassName('e-ddl-icon')[0] &&
18867
18962
  this.overAllWrapper.getElementsByClassName('e-float-text-content')[0] && this.floatLabelType !== 'Never')) {
@@ -20383,6 +20478,9 @@ var ListBox = /** @__PURE__ @class */ (function (_super) {
20383
20478
  this.tBListBox = getComponent(document.getElementById(scope), this.getModuleName());
20384
20479
  this.tBListBox.updateToolBarState();
20385
20480
  }
20481
+ else if (this.refreshing) {
20482
+ this.updateToolBarState();
20483
+ }
20386
20484
  };
20387
20485
  ListBox.prototype.createButtons = function (toolElem) {
20388
20486
  var _this = this;
@@ -21408,7 +21506,6 @@ var ListBox = /** @__PURE__ @class */ (function (_super) {
21408
21506
  }
21409
21507
  this.inputString = this.filterInput.value;
21410
21508
  this.filterWireEvents();
21411
- this.ulElement.style.setProperty('height', 'calc(100% - ' + (this.filterParent.offsetHeight) + 'px)', 'important');
21412
21509
  return filterInputObj;
21413
21510
  }
21414
21511
  };