@syncfusion/ej2-dropdowns 20.1.50 → 20.1.55

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 : 20.1.50
3
+ * version : 20.1.55
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. 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@20.1.47",
3
+ "_id": "@syncfusion/ej2-dropdowns@20.1.52",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-O84aLNrIKc+M8pYK06yf2/qlKv39Q4M7KdWQeEuXlRo6V0+OLg0HcIC1tls0H0v7ZKT9J7szMBn8GONty/VE2A==",
5
+ "_integrity": "sha512-uw5jxWaI8lVzaEenNTPgxeEUPLSoE9N4Cy1mhV28WBY9a75o+LQIM+M89CZcx/kwWxTU42iJY8OcZ3KxfcWIiQ==",
6
6
  "_location": "/@syncfusion/ej2-dropdowns",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -33,8 +33,8 @@
33
33
  "/@syncfusion/ej2-spreadsheet",
34
34
  "/@syncfusion/ej2-vue-dropdowns"
35
35
  ],
36
- "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-dropdowns/-/ej2-dropdowns-20.1.47.tgz",
37
- "_shasum": "37eea260b24af18c9082962fbb7796b8fc6a5b40",
36
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-dropdowns/-/ej2-dropdowns-20.1.52.tgz",
37
+ "_shasum": "d2654d51dc6f831b53206a21a8f364a2f4c953f9",
38
38
  "_spec": "@syncfusion/ej2-dropdowns@*",
39
39
  "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
40
40
  "author": {
@@ -42,12 +42,12 @@
42
42
  },
43
43
  "bundleDependencies": false,
44
44
  "dependencies": {
45
- "@syncfusion/ej2-base": "~20.1.50",
46
- "@syncfusion/ej2-data": "~20.1.47",
47
- "@syncfusion/ej2-inputs": "~20.1.48",
48
- "@syncfusion/ej2-lists": "~20.1.47",
49
- "@syncfusion/ej2-navigations": "~20.1.48",
50
- "@syncfusion/ej2-popups": "~20.1.47"
45
+ "@syncfusion/ej2-base": "~20.1.55",
46
+ "@syncfusion/ej2-data": "~20.1.55",
47
+ "@syncfusion/ej2-inputs": "~20.1.55",
48
+ "@syncfusion/ej2-lists": "~20.1.55",
49
+ "@syncfusion/ej2-navigations": "~20.1.55",
50
+ "@syncfusion/ej2-popups": "~20.1.55"
51
51
  },
52
52
  "deprecated": false,
53
53
  "description": "Essential JS 2 DropDown Components",
@@ -72,6 +72,6 @@
72
72
  "module": "./index.js",
73
73
  "name": "@syncfusion/ej2-dropdowns",
74
74
  "typings": "index.d.ts",
75
- "version": "20.1.50",
75
+ "version": "20.1.55",
76
76
  "sideEffects": false
77
77
  }
@@ -202,7 +202,9 @@ var AutoComplete = /** @class */ (function (_super) {
202
202
  this.setScrollPosition(e);
203
203
  if (this.autofill && this.isPopupOpen) {
204
204
  this.preventAutoFill = false;
205
- _super.prototype.setAutoFill.call(this, li);
205
+ var isKeyNavigate = (e && e.action === 'down' || e.action === 'up' ||
206
+ e.action === 'home' || e.action === 'end' || e.action === 'pageUp' || e.action === 'pageDown');
207
+ _super.prototype.setAutoFill.call(this, li, isKeyNavigate);
206
208
  }
207
209
  attributes(this.inputElement, { 'aria-activedescendant': this.selectedLI ? this.selectedLI.id : null });
208
210
  }
@@ -338,7 +338,7 @@ var ComboBox = /** @class */ (function (_super) {
338
338
  }
339
339
  }
340
340
  if (!this.isAndroidAutoFill(currentValue)) {
341
- this.setAutoFillSelection(currentValue);
341
+ this.setAutoFillSelection(currentValue, isHover);
342
342
  }
343
343
  }
344
344
  };
@@ -406,7 +406,8 @@ var ComboBox = /** @class */ (function (_super) {
406
406
  e.preventDefault();
407
407
  }
408
408
  };
409
- ComboBox.prototype.setAutoFillSelection = function (currentValue) {
409
+ ComboBox.prototype.setAutoFillSelection = function (currentValue, isKeyNavigate) {
410
+ if (isKeyNavigate === void 0) { isKeyNavigate = false; }
410
411
  var selection = this.getSelectionPoints();
411
412
  var value = this.inputElement.value.substr(0, selection.start);
412
413
  if (value && (value.toLowerCase() === currentValue.substr(0, selection.start).toLowerCase())) {
@@ -414,7 +415,7 @@ var ComboBox = /** @class */ (function (_super) {
414
415
  Input.setValue(inputValue, this.inputElement, this.floatLabelType, this.showClearButton);
415
416
  this.inputElement.setSelectionRange(selection.start, this.inputElement.value.length);
416
417
  }
417
- else {
418
+ else if (isKeyNavigate) {
418
419
  Input.setValue(currentValue, this.inputElement, this.floatLabelType, this.showClearButton);
419
420
  this.inputElement.setSelectionRange(0, this.inputElement.value.length);
420
421
  }
@@ -84,7 +84,7 @@ export function Search(inputVal, items, searchType, ignoreCase) {
84
84
  for (var i = 0, itemsData = listItems; i < itemsData.length; i++) {
85
85
  var item = itemsData[i];
86
86
  var text = (ignoreCase ? item.textContent.toLocaleLowerCase() : item.textContent).replace(/^\s+|\s+$/g, '');
87
- if ((searchType === 'Equal' && text === queryStr) || (searchType === 'StartsWith' && text.substr(0, strLength) === queryStr) || (searchType === 'EndsWith' && text.substr(text.length - queryStr.length) === queryStr) || (searchType === 'Contains' && new RegExp(queryStr, "g").test(text))) {
87
+ if ((searchType === 'Equal' && text === queryStr) || (searchType === 'StartsWith' && text.substr(0, strLength) === queryStr) || (searchType === 'EndsWith' && text.substr(text.length - queryStr.length) === queryStr) || (searchType === 'Contains' && new RegExp(queryStr, 'g').test(text))) {
88
88
  itemData.item = item;
89
89
  itemData.index = i;
90
90
  return { item: item, index: i };
@@ -159,7 +159,8 @@ var DropDownBase = /** @class */ (function (_super) {
159
159
  compareValue_1 = value;
160
160
  dataSource.filter(function (item) {
161
161
  var itemValue = getValue(fields.value, item);
162
- if (!isNullOrUndefined(itemValue) && !isNullOrUndefined(value) && itemValue.toString() === compareValue_1.toString()) {
162
+ if (!isNullOrUndefined(itemValue) && !isNullOrUndefined(value)
163
+ && itemValue.toString() === compareValue_1.toString()) {
163
164
  value = getValue(fields.text, item);
164
165
  }
165
166
  });
@@ -585,7 +586,7 @@ var DropDownBase = /** @class */ (function (_super) {
585
586
  if (this.getModuleName() === 'multiselect' && this.properties.allowCustomValue && this.fields.groupBy) {
586
587
  for (var i = 0; i < ulElement.childElementCount; i++) {
587
588
  if (ulElement.children[i].classList.contains('e-list-group-item')) {
588
- if (isNullOrUndefined(ulElement.children[i].innerHTML) || ulElement.children[i].innerHTML == "") {
589
+ if (isNullOrUndefined(ulElement.children[i].innerHTML) || ulElement.children[i].innerHTML === '') {
589
590
  addClass([ulElement.children[i]], HIDE_GROUPLIST);
590
591
  }
591
592
  }
@@ -888,6 +889,7 @@ var DropDownBase = /** @class */ (function (_super) {
888
889
  dataSource = this.selectData;
889
890
  }
890
891
  }
892
+ dataSource = this.getModuleName() === 'combobox' && this.selectData && dataSource instanceof Array && dataSource.length < this.selectData.length ? this.selectData : dataSource;
891
893
  this.setListData(dataSource, fields, query);
892
894
  }
893
895
  };
@@ -1071,7 +1073,8 @@ var DropDownBase = /** @class */ (function (_super) {
1071
1073
  }
1072
1074
  if (this.itemTemplate && !isHeader) {
1073
1075
  var itemCheck = this.templateCompiler(this.itemTemplate);
1074
- var compiledString = itemCheck ? compile(select(this.itemTemplate, document).innerHTML.trim()) : compile(this.itemTemplate);
1076
+ var compiledString = itemCheck ?
1077
+ compile(select(this.itemTemplate, document).innerHTML.trim()) : compile(this.itemTemplate);
1075
1078
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1076
1079
  var addItemTemplate = compiledString(item, this, 'itemTemplate', this.itemTemplateId, this.isStringTemplate, null, li);
1077
1080
  if (addItemTemplate) {
@@ -2498,7 +2498,7 @@ var DropDownList = /** @class */ (function (_super) {
2498
2498
  if (!this.enabled) {
2499
2499
  return;
2500
2500
  }
2501
- if (this.isFiltering() && this.dataSource instanceof DataManager && (this.actionData.list != this.actionCompleteData.list) &&
2501
+ if (this.isFiltering() && this.dataSource instanceof DataManager && (this.actionData.list !== this.actionCompleteData.list) &&
2502
2502
  this.actionData.list && this.actionData.ulElement) {
2503
2503
  this.actionCompleteData = this.actionData;
2504
2504
  this.onActionComplete(this.actionCompleteData.ulElement, this.actionCompleteData.list, null, true);
@@ -172,7 +172,7 @@ export interface DropDownTreeModel extends ComponentModel{
172
172
  cssClass?: string;
173
173
 
174
174
  /**
175
- * This property is used to customize the display text of the selected items in the Dropdown Tree. The given custom template is
175
+ * This property is used to customize the display text of the selected items in the Dropdown Tree. The given custom template is
176
176
  * added to the input instead of the selected item text in the Dropdown Tree when the multi-selection or checkbox support is enabled.
177
177
  *
178
178
  * @default "${value.length} item(s) selected"
@@ -308,7 +308,7 @@ export interface DropDownTreeModel extends ComponentModel{
308
308
  * * Delimiter : Selected items will be visualized in the text content.
309
309
  * * Default : On focus in component will act in the box mode. On blur component will act in the delimiter mode.
310
310
  * * Custom : Selected items will be visualized with the given custom template value. The given custom template
311
- * is added to the input instead of the selected item text in the Dropdown Tree when the multi-selection or checkbox support is enabled.
311
+ * is added to the input instead of the selected item text in the Dropdown Tree when the multi-selection or checkbox support is enabled.
312
312
  */
313
313
  mode?: Mode;
314
314
 
@@ -2276,7 +2276,7 @@ var DropDownTree = /** @class */ (function (_super) {
2276
2276
  addClass([this.inputWrapper], SHOW_CHIP);
2277
2277
  }
2278
2278
  var chip = this.createElement('span', {
2279
- className: CHIP,
2279
+ className: CHIP
2280
2280
  });
2281
2281
  if (!this.inputEle.classList.contains(CHIP_INPUT)) {
2282
2282
  addClass([this.inputEle], CHIP_INPUT);
@@ -2413,7 +2413,7 @@ var DropDownTree = /** @class */ (function (_super) {
2413
2413
  this.ensurePlaceHolder();
2414
2414
  };
2415
2415
  DropDownTree.prototype.resetValue = function (isDynamicChange) {
2416
- if (this.value == [] && this.text == null) {
2416
+ if (this.value === [] && this.text === null) {
2417
2417
  return;
2418
2418
  }
2419
2419
  Input.setValue(null, this.inputEle, this.floatLabelType);
@@ -2795,10 +2795,10 @@ var DropDownTree = /** @class */ (function (_super) {
2795
2795
  this.updateTreeSettings(newProp);
2796
2796
  break;
2797
2797
  case 'customTemplate':
2798
- if (this.mode !== "Custom") {
2798
+ if (this.mode !== 'Custom') {
2799
2799
  return;
2800
2800
  }
2801
- this.chipCollection.innerHTML = "";
2801
+ this.chipCollection.innerHTML = '';
2802
2802
  this.setTagValues();
2803
2803
  break;
2804
2804
  case 'sortOrder':
@@ -3015,7 +3015,7 @@ var DropDownTree = /** @class */ (function (_super) {
3015
3015
  Property('')
3016
3016
  ], DropDownTree.prototype, "cssClass", void 0);
3017
3017
  __decorate([
3018
- Property("${value.length} item(s) selected")
3018
+ Property('${value.length} item(s) selected')
3019
3019
  ], DropDownTree.prototype, "customTemplate", void 0);
3020
3020
  __decorate([
3021
3021
  Property(',')
@@ -426,10 +426,10 @@ var ListBox = /** @class */ (function (_super) {
426
426
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
427
427
  var event = args.event;
428
428
  var wrapper;
429
- if (args.target && (args.target.classList.contains("e-listbox-wrapper") || args.target.classList.contains("e-list-item")
430
- || args.target.classList.contains("e-filter-parent") || args.target.classList.contains("e-input-group"))) {
431
- if (args.target.classList.contains("e-list-item") || args.target.classList.contains("e-filter-parent")
432
- || args.target.classList.contains("e-input-group")) {
429
+ if (args.target && (args.target.classList.contains('e-listbox-wrapper') || args.target.classList.contains('e-list-item')
430
+ || args.target.classList.contains('e-filter-parent') || args.target.classList.contains('e-input-group'))) {
431
+ if (args.target.classList.contains('e-list-item') || args.target.classList.contains('e-filter-parent')
432
+ || args.target.classList.contains('e-input-group')) {
433
433
  wrapper = args.target.closest('.e-listbox-wrapper');
434
434
  }
435
435
  else {
@@ -484,7 +484,8 @@ var ListBox = /** @class */ (function (_super) {
484
484
  var getArgs = this.getDragArgs({ target: args.droppedElement }, true);
485
485
  var sourceArgs = { previousData: this.dataSource };
486
486
  var destArgs = { previousData: listObj.dataSource };
487
- var dragArgs = extend({}, getArgs, { target: args.target, source: { previousData: this.dataSource }, previousIndex: args.previousIndex, currentIndex: args.currentIndex });
487
+ var dragArgs = extend({}, getArgs, { target: args.target, source: { previousData: this.dataSource },
488
+ previousIndex: args.previousIndex, currentIndex: args.currentIndex });
488
489
  if (listObj !== this) {
489
490
  var sourceArgs1 = extend(sourceArgs, { currentData: this.listData });
490
491
  dragArgs = extend(dragArgs, { source: sourceArgs1, destination: destArgs });
@@ -615,7 +616,7 @@ var ListBox = /** @class */ (function (_super) {
615
616
  };
616
617
  ListBox.prototype.updateListItems = function (sourceElem, destElem) {
617
618
  var i = 0;
618
- destElem.innerHTML = "";
619
+ destElem.innerHTML = '';
619
620
  while (i < sourceElem.childNodes.length) {
620
621
  destElem.appendChild(sourceElem.childNodes[i]);
621
622
  }
@@ -804,6 +805,8 @@ var ListBox = /** @class */ (function (_super) {
804
805
  if (this.listData.length === 0) {
805
806
  this.l10nUpdate();
806
807
  }
808
+ this.value = null;
809
+ this.updateToolBarState();
807
810
  };
808
811
  /**
809
812
  * Gets the array of data Object that matches the given array of values.
@@ -1055,6 +1058,9 @@ var ListBox = /** @class */ (function (_super) {
1055
1058
  if (this.allowFiltering) {
1056
1059
  var filterType = this.inputString === '' ? 'contains' : this.filterType;
1057
1060
  var dataType = this.typeOfData(this.dataSource).typeof;
1061
+ if (dataType === null) {
1062
+ dataType = this.typeOfData(this.jsonData).typeof;
1063
+ }
1058
1064
  if (!(this.dataSource instanceof DataManager) && dataType === 'string' || dataType === 'number') {
1059
1065
  filterQuery.where('', filterType, this.inputString, this.ignoreCase, this.ignoreAccent);
1060
1066
  }
@@ -1650,7 +1656,7 @@ var ListBox = /** @class */ (function (_super) {
1650
1656
  }
1651
1657
  }
1652
1658
  }
1653
- else if (e.keyCode !== 37 && e.keyCode !== 39 && e.code !== "KeyA") {
1659
+ else if (e.keyCode !== 37 && e.keyCode !== 39 && e.code !== 'KeyA') {
1654
1660
  this.upDownKeyHandler(e);
1655
1661
  }
1656
1662
  }
@@ -1694,8 +1700,8 @@ var ListBox = /** @class */ (function (_super) {
1694
1700
  }
1695
1701
  if (this.selectionSettings.showCheckbox && e.ctrlKey && e.shiftKey && (e.keyCode === 36 || e.keyCode === 35)) {
1696
1702
  var selectedidx = Array.prototype.indexOf.call(ul.children, fli);
1697
- var sidx = e.code === "Home" ? 0 : selectedidx;
1698
- var eidx = e.code === "Home" ? selectedidx : ul.children.length - 1;
1703
+ var sidx = e.code === 'Home' ? 0 : selectedidx;
1704
+ var eidx = e.code === 'Home' ? selectedidx : ul.children.length - 1;
1699
1705
  for (var i = sidx; i <= eidx; i++) {
1700
1706
  var item = ul.children[i];
1701
1707
  this.notify('updatelist', { li: item, e: {
@@ -450,7 +450,7 @@ export interface MultiSelectModel extends DropDownBaseModel{
450
450
  *
451
451
  * @default false
452
452
  */
453
- addTagOnBlur?: boolean;
453
+ addTagOnBlur?: boolean;
454
454
 
455
455
  /**
456
456
  * Fires each time when selection changes happened in list items after model and input value get affected.
@@ -660,7 +660,7 @@ var MultiSelect = /** @class */ (function (_super) {
660
660
  var list = this.mainList.cloneNode ? this.mainList.cloneNode(true) : this.mainList;
661
661
  if (this.backCommand) {
662
662
  this.remoteCustomValue = false;
663
- if (this.allowCustomValue && list.querySelectorAll('li').length == 0 && this.mainData.length > 0) {
663
+ if (this.allowCustomValue && list.querySelectorAll('li').length === 0 && this.mainData.length > 0) {
664
664
  this.mainData = [];
665
665
  }
666
666
  this.onActionComplete(list, this.mainData);
@@ -1055,7 +1055,7 @@ var MultiSelect = /** @class */ (function (_super) {
1055
1055
  var filterInput = this.popupWrapper.querySelector('.' + FILTERINPUT);
1056
1056
  filterInput && filterInput.setAttribute('aria-activedescendant', focusedItem.id);
1057
1057
  }
1058
- else if (this.mode == "CheckBox") {
1058
+ else if (this.mode === 'CheckBox') {
1059
1059
  this.overAllWrapper.setAttribute('aria-activedescendant', focusedItem.id);
1060
1060
  }
1061
1061
  }
@@ -2467,8 +2467,13 @@ var MultiSelect = /** @class */ (function (_super) {
2467
2467
  MultiSelect.prototype.updateDataList = function () {
2468
2468
  if (this.mainList && this.ulElement) {
2469
2469
  var isDynamicGroupItemUpdate = this.mainList.childElementCount < this.ulElement.childElementCount;
2470
- var isReactTemplateUpdate = ((this.ulElement.childElementCount > 0 && this.ulElement.children[0].childElementCount > 0) && (this.mainList.children[0].childElementCount < this.ulElement.children[0].childElementCount));
2471
- var isAngularTemplateUpdate = this.itemTemplate && this.ulElement.childElementCount > 0 && !(this.ulElement.childElementCount < this.mainList.childElementCount) && (this.ulElement.children[0].childElementCount > 0 || (this.fields.groupBy && this.ulElement.children[1] && this.ulElement.children[1].childElementCount > 0));
2470
+ var isReactTemplateUpdate = ((this.ulElement.childElementCount > 0 &&
2471
+ this.ulElement.children[0].childElementCount > 0) &&
2472
+ (this.mainList.children[0].childElementCount < this.ulElement.children[0].childElementCount));
2473
+ var isAngularTemplateUpdate = this.itemTemplate && this.ulElement.childElementCount > 0
2474
+ && !(this.ulElement.childElementCount < this.mainList.childElementCount)
2475
+ && (this.ulElement.children[0].childElementCount > 0
2476
+ || (this.fields.groupBy && this.ulElement.children[1] && this.ulElement.children[1].childElementCount > 0));
2472
2477
  if (isDynamicGroupItemUpdate || isReactTemplateUpdate || isAngularTemplateUpdate) {
2473
2478
  //EJ2-57748 - for this task, we prevent the ul element cloning ( this.mainList = this.ulElement.cloneNode ? <HTMLElement>this.ulElement.cloneNode(true) : this.ulElement;)
2474
2479
  this.mainList = this.ulElement;
@@ -3540,7 +3545,6 @@ var MultiSelect = /** @class */ (function (_super) {
3540
3545
  }
3541
3546
  return valuecheck;
3542
3547
  };
3543
- ;
3544
3548
  MultiSelect.prototype.addNonPresentItems = function (valuecheck, ulElement, list, event) {
3545
3549
  var _this = this;
3546
3550
  this.dataSource.executeQuery(this.getForQuery(valuecheck)).then(function (e) {
@@ -3548,7 +3552,6 @@ var MultiSelect = /** @class */ (function (_super) {
3548
3552
  _this.updateActionList(ulElement, list, event);
3549
3553
  });
3550
3554
  };
3551
- ;
3552
3555
  MultiSelect.prototype.updateVal = function (newProp, oldProp, prop) {
3553
3556
  if (!this.list) {
3554
3557
  this.onLoadSelect();
@@ -3561,7 +3564,7 @@ var MultiSelect = /** @class */ (function (_super) {
3561
3564
  if (!isNullOrUndefined(this.value) && !this.allowCustomValue) {
3562
3565
  valuecheck = this.presentItemValue(this.ulElement);
3563
3566
  }
3564
- if (prop == 'value' && valuecheck.length > 0 && this.dataSource instanceof DataManager && !isNullOrUndefined(this.value)
3567
+ if (prop === 'value' && valuecheck.length > 0 && this.dataSource instanceof DataManager && !isNullOrUndefined(this.value)
3565
3568
  && this.listData != null) {
3566
3569
  this.mainData = null;
3567
3570
  this.setDynValue = true;