@syncfusion/ej2-dropdowns 30.2.6 → 31.1.18

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.
@@ -1323,11 +1323,13 @@ let DropDownBase = class DropDownBase extends Component {
1323
1323
  else {
1324
1324
  item = this.typeOfData(this.listData);
1325
1325
  }
1326
- if (typeof getValue((this.fields.value ? this.fields.value : 'value'), item.item) === 'number' ||
1326
+ if (!isNullOrUndefined(item.item) &&
1327
+ typeof getValue((this.fields.value ? this.fields.value : 'value'), item.item) === 'number' ||
1327
1328
  item.typeof === 'number') {
1328
1329
  return parseFloat(value);
1329
1330
  }
1330
- if (typeof getValue((this.fields.value ? this.fields.value : 'value'), item.item) === 'boolean' ||
1331
+ if (!isNullOrUndefined(item.item) &&
1332
+ typeof getValue((this.fields.value ? this.fields.value : 'value'), item.item) === 'boolean' ||
1331
1333
  item.typeof === 'boolean') {
1332
1334
  return ((value === 'true') || ('' + value === 'true'));
1333
1335
  }
@@ -2205,7 +2207,7 @@ let DropDownBase = class DropDownBase extends Component {
2205
2207
  this.renderGroupTemplate(this.fixedHeaderElement);
2206
2208
  }
2207
2209
  updateGroupFixedHeader(element, target) {
2208
- if (this.fixedHeaderElement) {
2210
+ if (this.fixedHeaderElement && this.list && this.list.parentElement) {
2209
2211
  if (!isNullOrUndefined(element.innerHTML)) {
2210
2212
  if (this.groupTemplate && this.isAngular && this.getModuleName() === 'multiselect') {
2211
2213
  this.updateFixedGroupTemplateHader(element);
@@ -2952,7 +2954,13 @@ let DropDownBase = class DropDownBase extends Component {
2952
2954
  */
2953
2955
  destroy() {
2954
2956
  if (document) {
2955
- EventHandler.remove(document, 'scroll', this.updateGroupFixedHeader);
2957
+ if (this.fields && this.fields.groupBy) {
2958
+ const elements = this.getScrollableParent();
2959
+ for (let i = 0; i < elements.length; i++) {
2960
+ const ele = elements[i];
2961
+ EventHandler.remove(ele, 'scroll', this.updateGroupFixedHeader);
2962
+ }
2963
+ }
2956
2964
  if (document.body.contains(this.list)) {
2957
2965
  EventHandler.remove(this.list, 'scroll', this.setFloatingHeader);
2958
2966
  if (!isNullOrUndefined(this.rippleFun)) {
@@ -8213,6 +8221,10 @@ let DropDownTree = class DropDownTree extends Component {
8213
8221
  }
8214
8222
  /* Handles touch events specifically for iOS devices */
8215
8223
  handleIosTouch(e) {
8224
+ const target = e.target;
8225
+ if (target && target.classList.contains('e-clear-icon')) {
8226
+ return;
8227
+ }
8216
8228
  e.preventDefault();
8217
8229
  this.dropDownClick(e);
8218
8230
  }
@@ -9964,12 +9976,16 @@ let DropDownTree = class DropDownTree extends Component {
9964
9976
  if (!this.valueTemplate) {
9965
9977
  return null;
9966
9978
  }
9967
- if (this.valueTemplateContainer) {
9979
+ if (this.isReact && !isNullOrUndefined(this.valueTemplateContainer)) {
9980
+ detach(this.valueTemplateContainer);
9981
+ this.valueTemplateContainer = null;
9982
+ }
9983
+ else if (this.valueTemplateContainer) {
9968
9984
  while (this.valueTemplateContainer.firstChild) {
9969
9985
  this.valueTemplateContainer.removeChild(this.valueTemplateContainer.firstChild);
9970
9986
  }
9971
9987
  }
9972
- else {
9988
+ if (isNullOrUndefined(this.valueTemplateContainer)) {
9973
9989
  this.valueTemplateContainer = this.createElement('span', { className: OVERFLOW_VIEW + ' ' + SHOW_TEXT + ' ' + 'e-input-value' + ' ' + HIDEICON });
9974
9990
  }
9975
9991
  this.inputWrapper.insertBefore(this.valueTemplateContainer, this.inputEle);
@@ -11258,7 +11274,7 @@ let ComboBox = class ComboBox extends DropDownList {
11258
11274
  this.itemData = e.result[0];
11259
11275
  const dataItem = this.getItemData();
11260
11276
  const value = this.allowObjectBinding ?
11261
- this.getDataByValue(dataItem.value) : dataItem.value;
11277
+ this.itemData : dataItem.value;
11262
11278
  const valueFieldValue = this.allowObjectBinding &&
11263
11279
  !isNullOrUndefined(this.value) ? getValue((this.fields.value) ?
11264
11280
  this.fields.value : '', this.value) : this.value;
@@ -11313,7 +11329,7 @@ let ComboBox = class ComboBox extends DropDownList {
11313
11329
  this.customValue();
11314
11330
  }
11315
11331
  }
11316
- else {
11332
+ else if (!isNullOrUndefined(this.activeIndex) && !isNullOrUndefined(this.liCollections[this.activeIndex])) {
11317
11333
  this.setSelection(this.liCollections[this.activeIndex], null);
11318
11334
  }
11319
11335
  this.setHiddenValue();
@@ -24043,6 +24059,9 @@ let Mention = class Mention extends DropDownBase {
24043
24059
  if (Browser.isAndroid) {
24044
24060
  return '<span contenteditable="true" class="e-mention-chip">' + showChar + value + '</span>'.concat(typeof this.suffixText === 'string' ? this.suffixText : '&#8203;');
24045
24061
  }
24062
+ else if (Browser.info.name === 'mozilla') {
24063
+ return '<span>&#65279;<span contenteditable="false" class="e-mention-chip">' + showChar + value + '</span>&#65279;</span>'.concat(typeof this.suffixText === 'string' ? this.suffixText : '&#8203;');
24064
+ }
24046
24065
  else {
24047
24066
  return '<span contenteditable="false" class="e-mention-chip">' + showChar + value + '</span>'.concat(typeof this.suffixText === 'string' ? this.suffixText : '&#8203;');
24048
24067
  }