@syncfusion/ej2-dropdowns 23.1.44 → 23.2.5

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.
Files changed (43) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/ej2-dropdowns.min.js +2 -2
  3. package/dist/ej2-dropdowns.umd.min.js +2 -2
  4. package/dist/ej2-dropdowns.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-dropdowns.es2015.js +40 -6
  6. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  7. package/dist/es6/ej2-dropdowns.es5.js +40 -5
  8. package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
  9. package/dist/global/ej2-dropdowns.min.js +2 -2
  10. package/dist/global/ej2-dropdowns.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +12 -12
  13. package/src/common/virtual-scroll.d.ts +1 -0
  14. package/src/common/virtual-scroll.js +13 -1
  15. package/src/drop-down-list/drop-down-list.js +4 -1
  16. package/src/list-box/list-box.d.ts +3 -0
  17. package/src/list-box/list-box.js +19 -2
  18. package/src/mention/mention.js +3 -0
  19. package/src/multi-select/multi-select.js +1 -1
  20. package/styles/bootstrap-dark.css +5 -0
  21. package/styles/bootstrap5-dark.css +2 -1
  22. package/styles/bootstrap5.css +2 -1
  23. package/styles/fabric-dark.css +5 -0
  24. package/styles/fluent-dark.css +2 -1
  25. package/styles/fluent.css +2 -1
  26. package/styles/highcontrast.css +5 -0
  27. package/styles/multi-select/_bootstrap-dark-definition.scss +5 -0
  28. package/styles/multi-select/_bootstrap5-definition.scss +2 -1
  29. package/styles/multi-select/_fabric-dark-definition.scss +5 -0
  30. package/styles/multi-select/_fluent-definition.scss +2 -1
  31. package/styles/multi-select/_highcontrast-definition.scss +5 -0
  32. package/styles/multi-select/_tailwind-definition.scss +2 -1
  33. package/styles/multi-select/bootstrap-dark.css +5 -0
  34. package/styles/multi-select/bootstrap5-dark.css +2 -1
  35. package/styles/multi-select/bootstrap5.css +2 -1
  36. package/styles/multi-select/fabric-dark.css +5 -0
  37. package/styles/multi-select/fluent-dark.css +2 -1
  38. package/styles/multi-select/fluent.css +2 -1
  39. package/styles/multi-select/highcontrast.css +5 -0
  40. package/styles/multi-select/tailwind-dark.css +2 -1
  41. package/styles/multi-select/tailwind.css +2 -1
  42. package/styles/tailwind-dark.css +2 -1
  43. package/styles/tailwind.css +2 -1
@@ -336,10 +336,22 @@ var VirtualScroll = /** @__PURE__ @class */ (function () {
336
336
  if (isQueryGenerated === void 0) { isQueryGenerated = false; }
337
337
  var dataSource = this.parent.dataSource;
338
338
  if (!isQueryGenerated) {
339
- query = this.getPageQuery(query, virtualItemStartIndex, virtualItemEndIndex);
339
+ if (!isNullOrUndefined(this.parent.query)) {
340
+ var newQuery = this.removeSkipAndTakeEvents(this.parent.query.clone());
341
+ query = this.getPageQuery(newQuery, virtualItemStartIndex, virtualItemEndIndex);
342
+ }
343
+ else {
344
+ query = this.getPageQuery(query, virtualItemStartIndex, virtualItemEndIndex);
345
+ }
340
346
  }
341
347
  this.parent.resetList(dataSource, this.parent.fields, query);
342
348
  };
349
+ VirtualScroll.prototype.removeSkipAndTakeEvents = function (query) {
350
+ query.queries = query.queries.filter(function (event) {
351
+ return event.fn !== 'onSkip' && event.fn !== 'onTake';
352
+ });
353
+ return query;
354
+ };
343
355
  VirtualScroll.prototype.setCurrentViewDataAsync = function () {
344
356
  // eslint-disable-next-line
345
357
  var currentData = [];
@@ -2819,6 +2831,9 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
2819
2831
  DropDownList.prototype.updateUpDownAction = function (e, isVirtualKeyAction) {
2820
2832
  if (this.allowFiltering && !this.enableVirtualization && this.getModuleName() !== 'autocomplete') {
2821
2833
  var value_1 = this.getItemData().value;
2834
+ if (isNullOrUndefined(value_1)) {
2835
+ value_1 = 'null';
2836
+ }
2822
2837
  var filterIndex = this.getIndexByValue(value_1);
2823
2838
  if (!isNullOrUndefined(filterIndex)) {
2824
2839
  this.activeIndex = filterIndex;
@@ -3047,7 +3062,6 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
3047
3062
  if (this.inputWrapper.container.classList.contains(dropDownListClasses.inputFocus) || this.isPopupOpen) {
3048
3063
  this.isDocumentClick = true;
3049
3064
  var isActive = this.isRequested;
3050
- this.isInteracted = false;
3051
3065
  this.hidePopup(e);
3052
3066
  if (!isActive) {
3053
3067
  this.onFocusOut();
@@ -5403,6 +5417,7 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
5403
5417
  this.isSelectCustom = false;
5404
5418
  this.clearAll(e);
5405
5419
  }
5420
+ this.isInteracted = false;
5406
5421
  };
5407
5422
  /* eslint-disable valid-jsdoc, jsdoc/require-param */
5408
5423
  /**
@@ -12967,7 +12982,7 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
12967
12982
  MultiSelect.prototype.updateDataList = function () {
12968
12983
  if (this.mainList && this.ulElement && !(this.isFiltered || this.filterAction || this.targetElement().trim())) {
12969
12984
  var isDynamicGroupItemUpdate = this.mainList.childElementCount < this.ulElement.childElementCount;
12970
- var isReactTemplateUpdate = ((this.ulElement.childElementCount > 0 && this.ulElement.children[0].childElementCount > 0) && (this.mainList.children[0].childElementCount < this.ulElement.children[0].childElementCount));
12985
+ var isReactTemplateUpdate = ((this.ulElement.childElementCount > 0 && this.ulElement.children[0].childElementCount > 0) && (this.mainList.children[0].childElementCount && (this.mainList.children[0].childElementCount < this.ulElement.children[0].childElementCount)));
12971
12986
  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));
12972
12987
  if (isDynamicGroupItemUpdate || isReactTemplateUpdate || isAngularTemplateUpdate) {
12973
12988
  //EJ2-57748 - for this task, we prevent the ul element cloning ( this.mainList = this.ulElement.cloneNode ? <HTMLElement>this.ulElement.cloneNode(true) : this.ulElement;)
@@ -15669,6 +15684,7 @@ var ListBox = /** @__PURE__ @class */ (function (_super) {
15669
15684
  });
15670
15685
  };
15671
15686
  ListBox.prototype.triggerDrag = function (args) {
15687
+ var _this = this;
15672
15688
  var scrollParent;
15673
15689
  var boundRect;
15674
15690
  var scrollMoved = 36;
@@ -15688,6 +15704,7 @@ var ListBox = /** @__PURE__ @class */ (function (_super) {
15688
15704
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
15689
15705
  var event = args.event;
15690
15706
  var wrapper;
15707
+ this.stopTimer();
15691
15708
  if (args.target && (args.target.classList.contains('e-listbox-wrapper') || args.target.classList.contains('e-list-item')
15692
15709
  || args.target.classList.contains('e-filter-parent') || args.target.classList.contains('e-input-group')
15693
15710
  || args.target.closest('.e-list-item'))) {
@@ -15707,10 +15724,10 @@ var ListBox = /** @__PURE__ @class */ (function (_super) {
15707
15724
  }
15708
15725
  boundRect = scrollParent.getBoundingClientRect();
15709
15726
  if ((boundRect.y + scrollParent.offsetHeight) - (event.clientY + scrollMoved) < 1) {
15710
- scrollParent.scrollTop = scrollParent.scrollTop + scrollHeight;
15727
+ this.timer = window.setInterval(function () { _this.setScrollDown(scrollParent, scrollHeight, true); }, 70);
15711
15728
  }
15712
15729
  else if ((event.clientY - scrollMoved) - boundRect.y < 1) {
15713
- scrollParent.scrollTop = scrollParent.scrollTop - scrollHeight;
15730
+ this.timer = window.setInterval(function () { _this.setScrollDown(scrollParent, scrollHeight, false); }, 70);
15714
15731
  }
15715
15732
  }
15716
15733
  if (args.target === null) {
@@ -15718,7 +15735,19 @@ var ListBox = /** @__PURE__ @class */ (function (_super) {
15718
15735
  }
15719
15736
  this.trigger('drag', this.getDragArgs(args));
15720
15737
  };
15738
+ ListBox.prototype.setScrollDown = function (scrollElem, scrollPixel, isScrollDown) {
15739
+ if (isScrollDown) {
15740
+ scrollElem.scrollTop = scrollElem.scrollTop + scrollPixel;
15741
+ }
15742
+ else {
15743
+ scrollElem.scrollTop = scrollElem.scrollTop - scrollPixel;
15744
+ }
15745
+ };
15746
+ ListBox.prototype.stopTimer = function () {
15747
+ window.clearInterval(this.timer);
15748
+ };
15721
15749
  ListBox.prototype.beforeDragEnd = function (args) {
15750
+ this.stopTimer();
15722
15751
  var items = [];
15723
15752
  this.dragValue = this.getFormattedValue(args.droppedElement.getAttribute('data-value'));
15724
15753
  if (this.value.indexOf(this.dragValue) > -1) {
@@ -17169,6 +17198,9 @@ var ListBox = /** @__PURE__ @class */ (function (_super) {
17169
17198
  var list = this.mainList.cloneNode ? this.mainList.cloneNode(true) : this.mainList;
17170
17199
  if (backCommand) {
17171
17200
  this.remoteCustomValue = false;
17201
+ if (this.isAngular && this.itemTemplate) {
17202
+ list = this.renderItems(this.listData, fields);
17203
+ }
17172
17204
  this.onActionComplete(list, this.jsonData);
17173
17205
  this.notify('reOrder', { module: 'CheckBoxSelection', enable: this.selectionSettings.showCheckbox, e: this });
17174
17206
  }
@@ -18148,6 +18180,9 @@ var Mention = /** @__PURE__ @class */ (function (_super) {
18148
18180
  var value = this.getFormattedValue(focusItem.getAttribute('data-value'));
18149
18181
  this.selectEventCallback(focusItem, this.getDataByValue(value), value, true);
18150
18182
  }
18183
+ if (this.beforePopupOpen) {
18184
+ this.renderPopup();
18185
+ }
18151
18186
  }
18152
18187
  };
18153
18188
  Mention.prototype.setDataIndex = function () {