@syncfusion/ej2-dropdowns 28.1.38 → 28.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.
- package/dist/ej2-dropdowns.min.js +2 -2
- package/dist/ej2-dropdowns.umd.min.js +2 -2
- package/dist/ej2-dropdowns.umd.min.js.map +1 -1
- package/dist/es6/ej2-dropdowns.es2015.js +84 -33
- package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
- package/dist/es6/ej2-dropdowns.es5.js +85 -33
- package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
- package/dist/global/ej2-dropdowns.min.js +2 -2
- package/dist/global/ej2-dropdowns.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +8 -8
- package/src/combo-box/combo-box.js +2 -2
- package/src/common/interface.d.ts +1 -0
- package/src/common/virtual-scroll.js +1 -0
- package/src/drop-down-base/drop-down-base.js +3 -1
- package/src/drop-down-list/drop-down-list.d.ts +1 -0
- package/src/drop-down-list/drop-down-list.js +19 -4
- package/src/drop-down-tree/drop-down-tree.d.ts +1 -0
- package/src/drop-down-tree/drop-down-tree.js +13 -9
- package/src/list-box/list-box.js +1 -1
- package/src/mention/mention.js +3 -1
- package/src/multi-select/multi-select.d.ts +4 -2
- package/src/multi-select/multi-select.js +43 -15
- package/styles/bds-lite.css +8 -0
- package/styles/bds.css +8 -0
- package/styles/bootstrap-dark-lite.css +8 -0
- package/styles/bootstrap-dark.css +8 -0
- package/styles/bootstrap-lite.css +8 -0
- package/styles/bootstrap.css +8 -0
- package/styles/bootstrap4-lite.css +8 -0
- package/styles/bootstrap4.css +8 -0
- package/styles/bootstrap5-dark-lite.css +8 -0
- package/styles/bootstrap5-dark.css +8 -0
- package/styles/bootstrap5-lite.css +8 -0
- package/styles/bootstrap5.3-lite.css +8 -0
- package/styles/bootstrap5.3.css +8 -0
- package/styles/bootstrap5.css +8 -0
- package/styles/drop-down-list/_layout.scss +8 -0
- package/styles/drop-down-list/bds.css +8 -0
- package/styles/drop-down-list/bootstrap-dark.css +8 -0
- package/styles/drop-down-list/bootstrap.css +8 -0
- package/styles/drop-down-list/bootstrap4.css +8 -0
- package/styles/drop-down-list/bootstrap5-dark.css +8 -0
- package/styles/drop-down-list/bootstrap5.3.css +8 -0
- package/styles/drop-down-list/bootstrap5.css +8 -0
- package/styles/drop-down-list/fabric-dark.css +8 -0
- package/styles/drop-down-list/fabric.css +8 -0
- package/styles/drop-down-list/fluent-dark.css +8 -0
- package/styles/drop-down-list/fluent.css +8 -0
- package/styles/drop-down-list/fluent2.css +8 -0
- package/styles/drop-down-list/highcontrast-light.css +8 -0
- package/styles/drop-down-list/highcontrast.css +8 -0
- package/styles/drop-down-list/material-dark.css +8 -0
- package/styles/drop-down-list/material.css +8 -0
- package/styles/drop-down-list/material3-dark.css +8 -0
- package/styles/drop-down-list/material3.css +8 -0
- package/styles/drop-down-list/tailwind-dark.css +8 -0
- package/styles/drop-down-list/tailwind.css +8 -0
- package/styles/drop-down-list/tailwind3.css +8 -0
- package/styles/fabric-dark-lite.css +8 -0
- package/styles/fabric-dark.css +8 -0
- package/styles/fabric-lite.css +8 -0
- package/styles/fabric.css +8 -0
- package/styles/fluent-dark-lite.css +8 -0
- package/styles/fluent-dark.css +8 -0
- package/styles/fluent-lite.css +8 -0
- package/styles/fluent.css +8 -0
- package/styles/fluent2-lite.css +8 -0
- package/styles/fluent2.css +8 -0
- package/styles/highcontrast-light-lite.css +8 -0
- package/styles/highcontrast-light.css +8 -0
- package/styles/highcontrast-lite.css +8 -0
- package/styles/highcontrast.css +8 -0
- package/styles/material-dark-lite.css +8 -0
- package/styles/material-dark.css +8 -0
- package/styles/material-lite.css +8 -0
- package/styles/material.css +8 -0
- package/styles/material3-dark-lite.css +8 -0
- package/styles/material3-dark.css +8 -0
- package/styles/material3-lite.css +8 -0
- package/styles/material3.css +8 -0
- package/styles/tailwind-dark-lite.css +8 -0
- package/styles/tailwind-dark.css +8 -0
- package/styles/tailwind-lite.css +8 -0
- package/styles/tailwind.css +8 -0
- package/styles/tailwind3-lite.css +8 -0
- package/styles/tailwind3.css +8 -0
|
@@ -533,6 +533,7 @@ class VirtualScroll {
|
|
|
533
533
|
}
|
|
534
534
|
if (this.component === 'multiselect') {
|
|
535
535
|
this.parent.updatevirtualizationList();
|
|
536
|
+
this.parent.checkMaxSelection();
|
|
536
537
|
}
|
|
537
538
|
this.parent.getSkeletonCount();
|
|
538
539
|
this.parent.skeletonCount = this.parent.totalItemCount !== 0 && this.parent.totalItemCount < this.parent.itemCount * 2 &&
|
|
@@ -1927,8 +1928,10 @@ let DropDownBase = class DropDownBase extends Component {
|
|
|
1927
1928
|
scrollStop(e, isDownkey) {
|
|
1928
1929
|
const target = !isNullOrUndefined(e) ? e.target : this.list;
|
|
1929
1930
|
const computedHeight = getComputedStyle(this.getValidLi(), null).getPropertyValue('height');
|
|
1931
|
+
const computedMarginValue = getComputedStyle(this.getValidLi(), null).getPropertyValue('margin-bottom');
|
|
1932
|
+
const marginValue = parseInt(computedMarginValue, 10);
|
|
1930
1933
|
const liHeight = this.getModuleName() === 'multiselect' ? parseFloat(computedHeight) : parseInt(computedHeight, 10);
|
|
1931
|
-
const topIndex = Math.round(target.scrollTop / liHeight);
|
|
1934
|
+
const topIndex = Math.round(target.scrollTop / (liHeight + marginValue));
|
|
1932
1935
|
const liCollections = this.list.querySelectorAll('li' + ':not(.e-hide-listitem)');
|
|
1933
1936
|
const virtualListCount = this.list.querySelectorAll('.e-virtual-list').length;
|
|
1934
1937
|
for (let i = topIndex; i > -1; i--) {
|
|
@@ -2830,6 +2833,7 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
2830
2833
|
this.autoFill = false;
|
|
2831
2834
|
this.isUpdateHeaderHeight = false;
|
|
2832
2835
|
this.isUpdateFooterHeight = false;
|
|
2836
|
+
this.isReactTemplateUpdate = false;
|
|
2833
2837
|
}
|
|
2834
2838
|
/**
|
|
2835
2839
|
* Initialize the event handler.
|
|
@@ -3092,7 +3096,9 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
3092
3096
|
};
|
|
3093
3097
|
}
|
|
3094
3098
|
setEnableRtl() {
|
|
3095
|
-
|
|
3099
|
+
if (!isNullOrUndefined(this.inputElement) && !isNullOrUndefined(this.inputElement.parentElement)) {
|
|
3100
|
+
Input.setEnableRtl(this.enableRtl, [this.inputElement.parentElement]);
|
|
3101
|
+
}
|
|
3096
3102
|
if (this.popupObj) {
|
|
3097
3103
|
this.popupObj.enableRtl = this.enableRtl;
|
|
3098
3104
|
this.popupObj.dataBind();
|
|
@@ -4197,6 +4203,7 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
4197
4203
|
setTimeout(() => {
|
|
4198
4204
|
proxy.cloneElements();
|
|
4199
4205
|
proxy.isSecondClick = true;
|
|
4206
|
+
proxy.isSecondClick = proxy.isReact && proxy.isFiltering() && proxy.dataSource instanceof DataManager && !proxy.list.querySelector('ul') ? false : true;
|
|
4200
4207
|
}, duration);
|
|
4201
4208
|
}
|
|
4202
4209
|
}
|
|
@@ -5028,6 +5035,7 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
5028
5035
|
if (this.getInitialData) {
|
|
5029
5036
|
this.updateActionCompleteDataValues(ulElement, list);
|
|
5030
5037
|
this.getInitialData = false;
|
|
5038
|
+
this.isReactTemplateUpdate = true;
|
|
5031
5039
|
this.searchLists(this.filterArgs);
|
|
5032
5040
|
return;
|
|
5033
5041
|
}
|
|
@@ -5455,6 +5463,9 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
5455
5463
|
addClass([this.inputWrapper.container], [dropDownListClasses.iconAnimation]);
|
|
5456
5464
|
}
|
|
5457
5465
|
this.renderReactTemplates();
|
|
5466
|
+
if (this.isReact && this.isFiltering() && this.dataSource instanceof DataManager && this.list.querySelector('ul') && !this.isSecondClick) {
|
|
5467
|
+
this.executeCloneElements();
|
|
5468
|
+
}
|
|
5458
5469
|
if (!isNullOrUndefined(this.popupObj)) {
|
|
5459
5470
|
this.popupObj.show(new Animation(eventArgs.animation), (this.zIndex === 1000) ? this.element : null);
|
|
5460
5471
|
}
|
|
@@ -5551,6 +5562,10 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
5551
5562
|
this.destroyPopup();
|
|
5552
5563
|
if (this.isFiltering() && this.actionCompleteData.list && this.actionCompleteData.list.length > 0) {
|
|
5553
5564
|
this.isActive = true;
|
|
5565
|
+
if (this.isReactTemplateUpdate && this.isReact && this.itemTemplate && !this.enableVirtualization) {
|
|
5566
|
+
this.actionCompleteData.ulElement = this.renderItems(this.actionCompleteData.list, this.fields);
|
|
5567
|
+
this.isReactTemplateUpdate = false;
|
|
5568
|
+
}
|
|
5554
5569
|
if (this.enableVirtualization) {
|
|
5555
5570
|
this.onActionComplete(this.ulElement, this.listData, null, true);
|
|
5556
5571
|
}
|
|
@@ -6008,6 +6023,9 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
6008
6023
|
}
|
|
6009
6024
|
updateInitialData() {
|
|
6010
6025
|
const currentData = this.selectData;
|
|
6026
|
+
if (isNullOrUndefined(currentData)) {
|
|
6027
|
+
return;
|
|
6028
|
+
}
|
|
6011
6029
|
const ulElement = this.renderItems(currentData, this.fields);
|
|
6012
6030
|
this.list.scrollTop = 0;
|
|
6013
6031
|
this.virtualListInfo = {
|
|
@@ -6040,7 +6058,7 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
6040
6058
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6041
6059
|
this.list.getElementsByClassName('e-virtual-ddl')[0].style = this.GetVirtualTrackHeight();
|
|
6042
6060
|
}
|
|
6043
|
-
else if (!this.list.querySelector('.e-virtual-ddl')) {
|
|
6061
|
+
else if (!this.list.querySelector('.e-virtual-ddl') && this.list.parentElement) {
|
|
6044
6062
|
const virualElement = this.createElement('div', {
|
|
6045
6063
|
id: this.element.id + '_popup', className: 'e-virtual-ddl', styles: this.GetVirtualTrackHeight()
|
|
6046
6064
|
});
|
|
@@ -6789,7 +6807,7 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
6789
6807
|
if (this.isReact && this.isFiltering() && this.itemTemplate != null) {
|
|
6790
6808
|
setTimeout(() => {
|
|
6791
6809
|
proxy.cloneElements();
|
|
6792
|
-
proxy.isSecondClick = true;
|
|
6810
|
+
proxy.isSecondClick = proxy.isReact && proxy.isFiltering() && proxy.dataSource instanceof DataManager && !proxy.list.querySelector('ul') ? false : true;
|
|
6793
6811
|
}, duration);
|
|
6794
6812
|
}
|
|
6795
6813
|
}
|
|
@@ -6846,7 +6864,7 @@ let DropDownList = class DropDownList extends DropDownBase {
|
|
|
6846
6864
|
if (isSelectVal && this.enableVirtualization && this.selectedLI.classList) {
|
|
6847
6865
|
isSelectVal = this.selectedLI.classList.contains('e-active');
|
|
6848
6866
|
}
|
|
6849
|
-
if (this.inputElement && this.inputElement.value
|
|
6867
|
+
if (this.inputElement && this.inputElement.value === '' && !this.isInteracted && (this.isSelectCustom ||
|
|
6850
6868
|
isSelectVal && this.inputElement.value !== dataItem.text)) {
|
|
6851
6869
|
this.isSelectCustom = false;
|
|
6852
6870
|
this.clearAll(e);
|
|
@@ -7496,7 +7514,7 @@ let DropDownTree = class DropDownTree extends Component {
|
|
|
7496
7514
|
if (firstUl && firstUl.getAttribute('aria-multiselectable')) {
|
|
7497
7515
|
firstUl.removeAttribute('aria-multiselectable');
|
|
7498
7516
|
}
|
|
7499
|
-
this.
|
|
7517
|
+
this.setOldValue();
|
|
7500
7518
|
if (!this.isRemoteData) {
|
|
7501
7519
|
this.isInitialized = true;
|
|
7502
7520
|
}
|
|
@@ -7916,7 +7934,7 @@ let DropDownTree = class DropDownTree extends Component {
|
|
|
7916
7934
|
this.triggerChangeEvent(event);
|
|
7917
7935
|
}
|
|
7918
7936
|
this.removeValue = false;
|
|
7919
|
-
this.
|
|
7937
|
+
this.setOldValue();
|
|
7920
7938
|
this.trigger('blur');
|
|
7921
7939
|
}
|
|
7922
7940
|
updateView() {
|
|
@@ -7949,7 +7967,7 @@ let DropDownTree = class DropDownTree extends Component {
|
|
|
7949
7967
|
element: this.element
|
|
7950
7968
|
};
|
|
7951
7969
|
this.trigger('change', eventArgs);
|
|
7952
|
-
this.
|
|
7970
|
+
this.setOldValue();
|
|
7953
7971
|
}
|
|
7954
7972
|
}
|
|
7955
7973
|
ddtCompareValues(oldValue, newValue) {
|
|
@@ -8416,6 +8434,7 @@ let DropDownTree = class DropDownTree extends Component {
|
|
|
8416
8434
|
frameSpan.classList.add(CHECK);
|
|
8417
8435
|
ariaState = 'true';
|
|
8418
8436
|
if (!this.isReverseUpdate) {
|
|
8437
|
+
this.setOldValue();
|
|
8419
8438
|
this.isCheckAllCalled = true;
|
|
8420
8439
|
this.treeObj.checkAll();
|
|
8421
8440
|
if (!this.changeOnBlur) {
|
|
@@ -8578,7 +8597,7 @@ let DropDownTree = class DropDownTree extends Component {
|
|
|
8578
8597
|
}
|
|
8579
8598
|
}
|
|
8580
8599
|
if (valArr.length !== 0) {
|
|
8581
|
-
this.
|
|
8600
|
+
this.setOldValue();
|
|
8582
8601
|
this.setProperties({ value: valArr }, true);
|
|
8583
8602
|
this.setValidValue();
|
|
8584
8603
|
}
|
|
@@ -8589,7 +8608,7 @@ let DropDownTree = class DropDownTree extends Component {
|
|
|
8589
8608
|
else {
|
|
8590
8609
|
data = this.getItems(this.text);
|
|
8591
8610
|
if (!isNullOrUndefined(data)) {
|
|
8592
|
-
this.
|
|
8611
|
+
this.setOldValue();
|
|
8593
8612
|
this.setProperties({ value: [data[this.fields.value].toString()] }, true);
|
|
8594
8613
|
this.setValidValue();
|
|
8595
8614
|
}
|
|
@@ -8604,7 +8623,7 @@ let DropDownTree = class DropDownTree extends Component {
|
|
|
8604
8623
|
return;
|
|
8605
8624
|
}
|
|
8606
8625
|
if (!this.isInitialized) {
|
|
8607
|
-
this.
|
|
8626
|
+
this.setOldValue();
|
|
8608
8627
|
if (this.treeObj.selectedNodes.length > 0 && !this.showCheckBox) {
|
|
8609
8628
|
this.setProperties({ value: this.treeObj.selectedNodes }, true);
|
|
8610
8629
|
if (this.allowMultiSelection) {
|
|
@@ -9189,7 +9208,7 @@ let DropDownTree = class DropDownTree extends Component {
|
|
|
9189
9208
|
}
|
|
9190
9209
|
onBeforeSelect(args) {
|
|
9191
9210
|
if (args.isInteracted) {
|
|
9192
|
-
this.
|
|
9211
|
+
this.setOldValue();
|
|
9193
9212
|
if (this.value === null) {
|
|
9194
9213
|
this.setProperties({ value: [] }, true);
|
|
9195
9214
|
}
|
|
@@ -9310,7 +9329,7 @@ let DropDownTree = class DropDownTree extends Component {
|
|
|
9310
9329
|
}
|
|
9311
9330
|
beforeCheck(args) {
|
|
9312
9331
|
if (args.isInteracted) {
|
|
9313
|
-
this.
|
|
9332
|
+
this.setOldValue();
|
|
9314
9333
|
}
|
|
9315
9334
|
}
|
|
9316
9335
|
onNodeExpanded() {
|
|
@@ -9856,7 +9875,7 @@ let DropDownTree = class DropDownTree extends Component {
|
|
|
9856
9875
|
}
|
|
9857
9876
|
Input.setValue(null, this.inputEle, this.floatLabelType);
|
|
9858
9877
|
if (!isDynamicChange) {
|
|
9859
|
-
this.
|
|
9878
|
+
this.setOldValue();
|
|
9860
9879
|
this.setProperties({ value: [] }, true);
|
|
9861
9880
|
this.showOrHideValueTemplate(false);
|
|
9862
9881
|
}
|
|
@@ -9892,6 +9911,9 @@ let DropDownTree = class DropDownTree extends Component {
|
|
|
9892
9911
|
this.setLocale(false);
|
|
9893
9912
|
}
|
|
9894
9913
|
}
|
|
9914
|
+
setOldValue() {
|
|
9915
|
+
this.oldValue = Array.isArray(this.value) ? this.value.slice() : this.value;
|
|
9916
|
+
}
|
|
9895
9917
|
selectAllItems(state) {
|
|
9896
9918
|
if (this.showCheckBox) {
|
|
9897
9919
|
if (state) {
|
|
@@ -11297,7 +11319,7 @@ let ComboBox = class ComboBox extends DropDownList {
|
|
|
11297
11319
|
this.onChangeEvent(e);
|
|
11298
11320
|
}
|
|
11299
11321
|
}
|
|
11300
|
-
if (e.action === 'enter' && this.inputElement.value
|
|
11322
|
+
if (e.action === 'enter' && this.inputElement.value === '') {
|
|
11301
11323
|
this.clearAll(e);
|
|
11302
11324
|
}
|
|
11303
11325
|
else if (this.isTyped && !this.isSelected && isNullOrUndefined(li)) {
|
|
@@ -11342,7 +11364,7 @@ let ComboBox = class ComboBox extends DropDownList {
|
|
|
11342
11364
|
this.onChangeEvent(null);
|
|
11343
11365
|
}
|
|
11344
11366
|
}
|
|
11345
|
-
else if (this.inputElement.value
|
|
11367
|
+
else if (this.inputElement.value !== '') {
|
|
11346
11368
|
const previousValue = this.value;
|
|
11347
11369
|
if (isNullOrUndefined(value)) {
|
|
11348
11370
|
const value = this.inputElement.value === '' ? null : this.inputElement.value;
|
|
@@ -12487,11 +12509,11 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
12487
12509
|
this.storedSelectAllHeight = 0;
|
|
12488
12510
|
this.isUpdateHeaderHeight = false;
|
|
12489
12511
|
this.isUpdateFooterHeight = false;
|
|
12512
|
+
this.isBlurDispatching = false;
|
|
12513
|
+
this.isFilterPrevented = false;
|
|
12490
12514
|
this.isValidKey = false;
|
|
12491
12515
|
this.selectAllEventData = [];
|
|
12492
12516
|
this.selectAllEventEle = [];
|
|
12493
|
-
this.resetMainList = null;
|
|
12494
|
-
this.resetFilteredData = false;
|
|
12495
12517
|
this.preventSetCurrentData = false;
|
|
12496
12518
|
this.isSelectAllLoop = false;
|
|
12497
12519
|
this.scrollFocusStatus = false;
|
|
@@ -12946,6 +12968,19 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
12946
12968
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
12947
12969
|
this.totalItemCount = e.count;
|
|
12948
12970
|
}
|
|
12971
|
+
if (this.value && list && list.length > 0 && this.allowFiltering && this.mode !== 'CheckBox' && !this.enableVirtualization && !this.isFilterPrevented && !this.allowCustomValue) {
|
|
12972
|
+
const allItemsInValue = list.every((item) => {
|
|
12973
|
+
const itemValue = getValue((this.fields.value) ? this.fields.value : '', item);
|
|
12974
|
+
return this.value.some((val) => {
|
|
12975
|
+
const value = this.allowObjectBinding ? getValue((this.fields.value) ? this.fields.value : '', val) : val;
|
|
12976
|
+
return itemValue === value;
|
|
12977
|
+
});
|
|
12978
|
+
});
|
|
12979
|
+
if (allItemsInValue) {
|
|
12980
|
+
ulElement.innerHTML = '';
|
|
12981
|
+
list = [];
|
|
12982
|
+
}
|
|
12983
|
+
}
|
|
12949
12984
|
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
12950
12985
|
super.onActionComplete(ulElement, list, e);
|
|
12951
12986
|
this.skeletonCount = this.totalItemCount !== 0 && this.totalItemCount < (this.itemCount * 2) &&
|
|
@@ -13035,6 +13070,9 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
13035
13070
|
if (!this.enableVirtualization || (this.enableVirtualization && (!(this.dataSource instanceof DataManager)))) {
|
|
13036
13071
|
this.initialValueUpdate();
|
|
13037
13072
|
}
|
|
13073
|
+
else {
|
|
13074
|
+
this.initialValueUpdate(this.listData, true);
|
|
13075
|
+
}
|
|
13038
13076
|
this.initialUpdate();
|
|
13039
13077
|
this.refreshPlaceHolder();
|
|
13040
13078
|
if (this.mode !== 'CheckBox' && this.changeOnBlur) {
|
|
@@ -13594,6 +13632,10 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
13594
13632
|
}
|
|
13595
13633
|
onBlurHandler(eve, isDocClickFromCheck) {
|
|
13596
13634
|
let target;
|
|
13635
|
+
if (this.isBlurDispatching && this.isAngular) {
|
|
13636
|
+
this.isBlurDispatching = false;
|
|
13637
|
+
return;
|
|
13638
|
+
}
|
|
13597
13639
|
if (!isNullOrUndefined(eve)) {
|
|
13598
13640
|
target = eve.relatedTarget;
|
|
13599
13641
|
}
|
|
@@ -13639,10 +13681,6 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
13639
13681
|
}
|
|
13640
13682
|
}
|
|
13641
13683
|
this.updateDataList();
|
|
13642
|
-
if (this.resetMainList) {
|
|
13643
|
-
this.mainList = this.resetMainList;
|
|
13644
|
-
this.resetMainList = null;
|
|
13645
|
-
}
|
|
13646
13684
|
this.refreshListItems(null);
|
|
13647
13685
|
if (this.mode !== 'Box' && this.mode !== 'CheckBox') {
|
|
13648
13686
|
this.updateDelimView();
|
|
@@ -13676,6 +13714,10 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
13676
13714
|
this.overAllWrapper.getElementsByClassName('e-float-text-content')[0] && this.floatLabelType !== 'Never')) {
|
|
13677
13715
|
this.overAllWrapper.getElementsByClassName('e-float-text-content')[0].classList.add('e-icon');
|
|
13678
13716
|
}
|
|
13717
|
+
this.isBlurDispatching = true;
|
|
13718
|
+
if (this.isAngular) {
|
|
13719
|
+
this.dispatchEvent(this.inputElement, 'blur');
|
|
13720
|
+
}
|
|
13679
13721
|
}
|
|
13680
13722
|
calculateWidth() {
|
|
13681
13723
|
let elementWidth;
|
|
@@ -15310,6 +15352,10 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
15310
15352
|
if (!this.list) {
|
|
15311
15353
|
super.render();
|
|
15312
15354
|
}
|
|
15355
|
+
if (this.popupObj && document.body.contains(this.popupObj.element) && this.allowFiltering) {
|
|
15356
|
+
this.refreshPopup();
|
|
15357
|
+
return;
|
|
15358
|
+
}
|
|
15313
15359
|
if (!this.popupObj) {
|
|
15314
15360
|
if (!isNullOrUndefined(this.popupWrapper)) {
|
|
15315
15361
|
document.body.appendChild(this.popupWrapper);
|
|
@@ -15764,7 +15810,6 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
15764
15810
|
});
|
|
15765
15811
|
}
|
|
15766
15812
|
search(e) {
|
|
15767
|
-
this.resetFilteredData = true;
|
|
15768
15813
|
this.preventSetCurrentData = false;
|
|
15769
15814
|
this.firstItem = this.dataSource && this.dataSource.length > 0 ? this.dataSource[0] : null;
|
|
15770
15815
|
if (!isNullOrUndefined(e)) {
|
|
@@ -15801,6 +15846,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
15801
15846
|
cancel: false
|
|
15802
15847
|
};
|
|
15803
15848
|
this.trigger('filtering', eventArgs, (eventArgs) => {
|
|
15849
|
+
this.isFilterPrevented = eventArgs.cancel;
|
|
15804
15850
|
if (!eventArgs.cancel) {
|
|
15805
15851
|
if (!this.isFiltered && !eventArgs.preventDefaultAction) {
|
|
15806
15852
|
this.filterAction = true;
|
|
@@ -15980,7 +16026,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
15980
16026
|
else {
|
|
15981
16027
|
if (this.listData) {
|
|
15982
16028
|
if (this.enableVirtualization) {
|
|
15983
|
-
if (delim) {
|
|
16029
|
+
if (delim && !this.isDynamicRemoteVirtualData) {
|
|
15984
16030
|
data = this.delimiterWrapper && this.delimiterWrapper.innerHTML === '' ? data :
|
|
15985
16031
|
this.delimiterWrapper.innerHTML;
|
|
15986
16032
|
}
|
|
@@ -15993,7 +16039,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
15993
16039
|
}
|
|
15994
16040
|
else {
|
|
15995
16041
|
temp = isInitialVirtualData && delim ? this.text : this.getTextByValue(value);
|
|
15996
|
-
const textValues = isInitialVirtualData ? this.text : (this.text && this.text !== '' ? this.text + this.delimiterChar + temp : temp);
|
|
16042
|
+
const textValues = this.isDynamicRemoteVirtualData && value != null && value !== '' ? this.getTextByValue(value) : isInitialVirtualData ? this.text : (this.text && this.text !== '' ? this.text + this.delimiterChar + temp : temp);
|
|
15997
16043
|
data += temp + delimiterChar + ' ';
|
|
15998
16044
|
text.push(textValues);
|
|
15999
16045
|
hiddenElementContent = this.hiddenElement.innerHTML;
|
|
@@ -16153,7 +16199,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
16153
16199
|
(this.mode === 'Box' || this.mode === 'Default'))) ||
|
|
16154
16200
|
(this.enableVirtualization && value != null && text != null && !isCustomData)) {
|
|
16155
16201
|
const currentText = [];
|
|
16156
|
-
const textValues = this.text != null && this.text !== '' ? this.text + this.delimiterChar + text : text;
|
|
16202
|
+
const textValues = this.isDynamicRemoteVirtualData && text != null && text !== '' ? text : this.text != null && this.text !== '' ? this.text + this.delimiterChar + text : text;
|
|
16157
16203
|
currentText.push(textValues);
|
|
16158
16204
|
this.setProperties({ text: currentText.toString() }, true);
|
|
16159
16205
|
this.addChip(text, value);
|
|
@@ -17461,11 +17507,6 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
17461
17507
|
onPropertyChanged(newProp, oldProp) {
|
|
17462
17508
|
if (newProp.dataSource && !isNullOrUndefined(Object.keys(newProp.dataSource))
|
|
17463
17509
|
|| newProp.query && !isNullOrUndefined(Object.keys(newProp.query))) {
|
|
17464
|
-
if (this.resetFilteredData) {
|
|
17465
|
-
// The filtered data is not being reset in the component after the user focuses out.
|
|
17466
|
-
this.resetMainList = !this.resetMainList ? this.mainList : this.resetMainList;
|
|
17467
|
-
this.resetFilteredData = false;
|
|
17468
|
-
}
|
|
17469
17510
|
this.mainList = null;
|
|
17470
17511
|
this.mainData = null;
|
|
17471
17512
|
this.isFirstClick = false;
|
|
@@ -17732,6 +17773,12 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
17732
17773
|
if (!this.enableVirtualization || (this.enableVirtualization && (!(this.dataSource instanceof DataManager)))) {
|
|
17733
17774
|
this.initialValueUpdate();
|
|
17734
17775
|
}
|
|
17776
|
+
else if (!this.isInitRemoteVirtualData) {
|
|
17777
|
+
this.isDynamicRemoteVirtualData = true;
|
|
17778
|
+
this.initialValueUpdate(this.listData, true);
|
|
17779
|
+
this.isDynamicRemoteVirtualData = false;
|
|
17780
|
+
this.initialUpdate();
|
|
17781
|
+
}
|
|
17735
17782
|
if (this.mode !== 'Box' && !this.inputFocus) {
|
|
17736
17783
|
this.updateDelimView();
|
|
17737
17784
|
}
|
|
@@ -18324,9 +18371,11 @@ let MultiSelect = class MultiSelect extends DropDownBase {
|
|
|
18324
18371
|
if (e.result.length > 0) {
|
|
18325
18372
|
listItems = e.result;
|
|
18326
18373
|
this.initStatus = false;
|
|
18374
|
+
this.isInitRemoteVirtualData = true;
|
|
18327
18375
|
setTimeout(() => {
|
|
18328
18376
|
this.initialValueUpdate(listItems, true);
|
|
18329
18377
|
this.initialUpdate();
|
|
18378
|
+
this.isInitRemoteVirtualData = false;
|
|
18330
18379
|
}, 100);
|
|
18331
18380
|
this.initStatus = true;
|
|
18332
18381
|
}
|
|
@@ -21327,7 +21376,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
|
|
|
21327
21376
|
}
|
|
21328
21377
|
}
|
|
21329
21378
|
KeyUp(e) {
|
|
21330
|
-
if (this.allowFiltering && e.ctrlKey && e.keyCode === 65) {
|
|
21379
|
+
if (this.allowFiltering && ((e.ctrlKey && e.keyCode === 65) || (e.keyCode === 8 && !this.filterInput.value))) {
|
|
21331
21380
|
e.preventDefault();
|
|
21332
21381
|
return;
|
|
21333
21382
|
}
|
|
@@ -22061,7 +22110,9 @@ let Mention = class Mention extends DropDownBase {
|
|
|
22061
22110
|
? document.querySelector(this.target)
|
|
22062
22111
|
: this.target) : this.element;
|
|
22063
22112
|
if (this.isContentEditable(this.inputElement)) {
|
|
22064
|
-
this.inputElement.
|
|
22113
|
+
if (!this.inputElement.hasAttribute('contenteditable')) {
|
|
22114
|
+
this.inputElement.setAttribute('contenteditable', 'true');
|
|
22115
|
+
}
|
|
22065
22116
|
addClass([this.inputElement], ['e-mention']);
|
|
22066
22117
|
if (isNullOrUndefined(this.target)) {
|
|
22067
22118
|
addClass([this.inputElement], ['e-editable-element']);
|