@syncfusion/ej2-dropdowns 24.2.8 → 25.1.35
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/CHANGELOG.md +23 -150
- 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 +2049 -528
- package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
- package/dist/es6/ej2-dropdowns.es5.js +2072 -533
- 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 +13 -13
- package/src/auto-complete/auto-complete-model.d.ts +3 -1
- package/src/auto-complete/auto-complete.d.ts +2 -0
- package/src/auto-complete/auto-complete.js +51 -6
- package/src/combo-box/combo-box-model.d.ts +11 -2
- package/src/combo-box/combo-box.d.ts +10 -2
- package/src/combo-box/combo-box.js +75 -16
- package/src/common/interface.d.ts +32 -0
- package/src/common/virtual-scroll.d.ts +1 -3
- package/src/common/virtual-scroll.js +157 -27
- package/src/drop-down-base/drop-down-base-model.d.ts +1 -1
- package/src/drop-down-base/drop-down-base.d.ts +65 -5
- package/src/drop-down-base/drop-down-base.js +242 -25
- package/src/drop-down-list/drop-down-list-model.d.ts +10 -1
- package/src/drop-down-list/drop-down-list.d.ts +16 -51
- package/src/drop-down-list/drop-down-list.js +180 -217
- package/src/drop-down-tree/drop-down-tree-model.d.ts +16 -12
- package/src/drop-down-tree/drop-down-tree.d.ts +13 -3
- package/src/drop-down-tree/drop-down-tree.js +55 -49
- package/src/global.js +1 -1
- package/src/list-box/list-box.js +9 -4
- package/src/mention/mention.d.ts +2 -0
- package/src/mention/mention.js +21 -9
- package/src/multi-select/checkbox-selection.js +8 -2
- package/src/multi-select/float-label.d.ts +5 -5
- package/src/multi-select/index.d.ts +1 -0
- package/src/multi-select/index.js +1 -0
- package/src/multi-select/interface.d.ts +1 -0
- package/src/multi-select/multi-select-model.d.ts +17 -2
- package/src/multi-select/multi-select.d.ts +34 -4
- package/src/multi-select/multi-select.js +1271 -173
- package/styles/auto-complete/_bds-definition.scss +2 -0
- package/styles/bootstrap-dark.css +8 -2
- package/styles/bootstrap.css +8 -2
- package/styles/bootstrap4.css +3 -2
- package/styles/bootstrap5-dark.css +3 -2
- package/styles/bootstrap5.css +3 -2
- package/styles/combo-box/_bds-definition.scss +2 -0
- package/styles/drop-down-base/_bds-definition.scss +134 -0
- package/styles/drop-down-list/_bds-definition.scss +134 -0
- package/styles/drop-down-list/_layout.scss +1 -1
- package/styles/drop-down-list/bootstrap-dark.css +1 -1
- package/styles/drop-down-list/bootstrap.css +1 -1
- package/styles/drop-down-list/bootstrap4.css +1 -1
- package/styles/drop-down-list/bootstrap5-dark.css +1 -1
- package/styles/drop-down-list/bootstrap5.css +1 -1
- package/styles/drop-down-list/fabric-dark.css +1 -1
- package/styles/drop-down-list/fabric.css +1 -1
- package/styles/drop-down-list/fluent-dark.css +1 -1
- package/styles/drop-down-list/fluent.css +1 -1
- package/styles/drop-down-list/highcontrast-light.css +1 -1
- package/styles/drop-down-list/highcontrast.css +1 -1
- package/styles/drop-down-list/icons/_bds.scss +14 -0
- package/styles/drop-down-list/material-dark.css +1 -1
- package/styles/drop-down-list/material.css +1 -1
- package/styles/drop-down-list/material3-dark.css +1 -1
- package/styles/drop-down-list/material3.css +1 -1
- package/styles/drop-down-list/tailwind-dark.css +1 -1
- package/styles/drop-down-list/tailwind.css +1 -1
- package/styles/drop-down-tree/_bds-definition.scss +61 -0
- package/styles/drop-down-tree/icons/_bds.scss +11 -0
- package/styles/fabric-dark.css +4 -2
- package/styles/fabric.css +4 -2
- package/styles/fluent-dark.css +8 -2
- package/styles/fluent.css +8 -2
- package/styles/highcontrast-light.css +4 -2
- package/styles/highcontrast.css +4 -2
- package/styles/list-box/_bds-definition.scss +136 -0
- package/styles/list-box/icons/_bds.scss +25 -0
- package/styles/material-dark.css +3 -2
- package/styles/material.css +3 -2
- package/styles/material3-dark.css +3 -2
- package/styles/material3.css +3 -2
- package/styles/mention/_bds-definition.scss +1 -0
- package/styles/multi-select/_bds-definition.scss +235 -0
- package/styles/multi-select/_bootstrap-dark-definition.scss +4 -0
- package/styles/multi-select/_bootstrap-definition.scss +4 -0
- package/styles/multi-select/_fluent-definition.scss +5 -0
- package/styles/multi-select/_layout.scss +8 -1
- package/styles/multi-select/bootstrap-dark.css +7 -1
- package/styles/multi-select/bootstrap.css +7 -1
- package/styles/multi-select/bootstrap4.css +2 -1
- package/styles/multi-select/bootstrap5-dark.css +2 -1
- package/styles/multi-select/bootstrap5.css +2 -1
- package/styles/multi-select/fabric-dark.css +3 -1
- package/styles/multi-select/fabric.css +3 -1
- package/styles/multi-select/fluent-dark.css +7 -1
- package/styles/multi-select/fluent.css +7 -1
- package/styles/multi-select/highcontrast-light.css +3 -1
- package/styles/multi-select/highcontrast.css +3 -1
- package/styles/multi-select/icons/_bds.scss +26 -0
- package/styles/multi-select/material-dark.css +2 -1
- package/styles/multi-select/material.css +2 -1
- package/styles/multi-select/material3-dark.css +2 -1
- package/styles/multi-select/material3.css +2 -1
- package/styles/multi-select/tailwind-dark.css +2 -1
- package/styles/multi-select/tailwind.css +2 -1
- package/styles/tailwind-dark.css +3 -2
- package/styles/tailwind.css +3 -2
package/src/mention/mention.js
CHANGED
|
@@ -103,6 +103,8 @@ var Mention = /** @class */ (function (_super) {
|
|
|
103
103
|
this.isPopupOpen = false;
|
|
104
104
|
this.isCollided = false;
|
|
105
105
|
this.lineBreak = false;
|
|
106
|
+
this.isRTE = false;
|
|
107
|
+
this.keyEventName = 'mousedown';
|
|
106
108
|
};
|
|
107
109
|
/**
|
|
108
110
|
* Execute before render the list items
|
|
@@ -148,7 +150,7 @@ var Mention = /** @class */ (function (_super) {
|
|
|
148
150
|
};
|
|
149
151
|
Mention.prototype.bindCommonEvent = function () {
|
|
150
152
|
if (!Browser.isDevice) {
|
|
151
|
-
this.inputElement.addEventListener('keydown', this.keyDownHandler.bind(this),
|
|
153
|
+
this.inputElement.addEventListener('keydown', this.keyDownHandler.bind(this), !this.isRTE);
|
|
152
154
|
}
|
|
153
155
|
};
|
|
154
156
|
/**
|
|
@@ -178,6 +180,10 @@ var Mention = /** @class */ (function (_super) {
|
|
|
178
180
|
return parentElement.querySelector('.e-content');
|
|
179
181
|
}
|
|
180
182
|
}
|
|
183
|
+
if (targetElement && targetElement.parentElement && targetElement.parentElement.classList.contains('e-rte-content')) {
|
|
184
|
+
this.isRTE = true;
|
|
185
|
+
this.keyEventName = 'click';
|
|
186
|
+
}
|
|
181
187
|
return targetElement;
|
|
182
188
|
};
|
|
183
189
|
/**
|
|
@@ -319,7 +325,7 @@ var Mention = /** @class */ (function (_super) {
|
|
|
319
325
|
};
|
|
320
326
|
Mention.prototype.unBindCommonEvent = function () {
|
|
321
327
|
if (!Browser.isDevice) {
|
|
322
|
-
this.inputElement.removeEventListener('keydown', this.keyDownHandler.bind(this),
|
|
328
|
+
this.inputElement.removeEventListener('keydown', this.keyDownHandler.bind(this), !this.isRTE);
|
|
323
329
|
}
|
|
324
330
|
};
|
|
325
331
|
Mention.prototype.onKeyUp = function (e) {
|
|
@@ -330,7 +336,7 @@ var Mention = /** @class */ (function (_super) {
|
|
|
330
336
|
}
|
|
331
337
|
this.isTyped = e.code !== 'Enter' && e.code !== 'Space' && e.code !== 'ArrowDown' && e.code !== 'ArrowUp' ? true : false;
|
|
332
338
|
var isRteImage = document.activeElement.parentElement && document.activeElement.parentElement.querySelector('.e-rte-image') ? true : false;
|
|
333
|
-
if (document.activeElement != this.inputElement &&
|
|
339
|
+
if (document.activeElement != this.inputElement && isRteImage) {
|
|
334
340
|
this.inputElement.focus();
|
|
335
341
|
}
|
|
336
342
|
if (this.isContentEditable(this.inputElement)) {
|
|
@@ -356,9 +362,9 @@ var Mention = /** @class */ (function (_super) {
|
|
|
356
362
|
this.range.startContainer.previousElementSibling && this.range.startContainer.previousElementSibling.tagName !== 'BR' && this.range.startContainer.textContent.split('').length > 0 &&
|
|
357
363
|
(rangetextContent.length === 1 || rangetextContent[rangetextContent.length - 2].indexOf('') === -1 ||
|
|
358
364
|
this.range.startContainer.nodeType === 1))) {
|
|
359
|
-
if (this.allowSpaces && currentRange && currentRange.trim() !== '' && charRegex.test(currentRange) && currentRange.indexOf(this.mentionChar) !== -1
|
|
365
|
+
if (this.isPopupOpen && this.allowSpaces && currentRange && currentRange.trim() !== '' && charRegex.test(currentRange) && currentRange.indexOf(this.mentionChar) !== -1
|
|
360
366
|
&& !this.isMatchedText() && (currentRange.length > 1 && currentRange.replace(/\u00A0/g, ' ').charAt(currentRange.length - 2) !== ' ') &&
|
|
361
|
-
(this.list && this.list.querySelectorAll('ul').length > 0)) {
|
|
367
|
+
(this.list && this.list.querySelectorAll('ul').length > 0) && e.code !== 'Enter') {
|
|
362
368
|
this.queryString = currentRange.substring(currentRange.lastIndexOf(this.mentionChar) + 1).replace('\u00a0', ' ');
|
|
363
369
|
this.searchLists(e);
|
|
364
370
|
}
|
|
@@ -864,6 +870,9 @@ var Mention = /** @class */ (function (_super) {
|
|
|
864
870
|
this.popupObj.element.removeAttribute('style');
|
|
865
871
|
this.popupObj.element.removeAttribute('aria-disabled');
|
|
866
872
|
}
|
|
873
|
+
if (this.list.classList.contains('e-nodata')) {
|
|
874
|
+
this.list = null;
|
|
875
|
+
}
|
|
867
876
|
};
|
|
868
877
|
Mention.prototype.onDocumentClick = function (e) {
|
|
869
878
|
var target = e.target;
|
|
@@ -974,6 +983,7 @@ var Mention = /** @class */ (function (_super) {
|
|
|
974
983
|
return coordinates;
|
|
975
984
|
};
|
|
976
985
|
Mention.prototype.initValue = function () {
|
|
986
|
+
this.isDataFetched = false;
|
|
977
987
|
this.renderList();
|
|
978
988
|
if (this.dataSource instanceof DataManager) {
|
|
979
989
|
this.initRemoteRender = true;
|
|
@@ -999,7 +1009,7 @@ var Mention = /** @class */ (function (_super) {
|
|
|
999
1009
|
* @returns {void}
|
|
1000
1010
|
*/
|
|
1001
1011
|
Mention.prototype.wireListEvents = function () {
|
|
1002
|
-
EventHandler.add(this.list,
|
|
1012
|
+
EventHandler.add(this.list, this.keyEventName, this.onMouseClick, this);
|
|
1003
1013
|
EventHandler.add(this.list, 'mouseover', this.onMouseOver, this);
|
|
1004
1014
|
EventHandler.add(this.list, 'mouseout', this.onMouseLeave, this);
|
|
1005
1015
|
};
|
|
@@ -1009,7 +1019,7 @@ var Mention = /** @class */ (function (_super) {
|
|
|
1009
1019
|
* @returns {void}
|
|
1010
1020
|
*/
|
|
1011
1021
|
Mention.prototype.unWireListEvents = function () {
|
|
1012
|
-
EventHandler.remove(this.list,
|
|
1022
|
+
EventHandler.remove(this.list, this.keyEventName, this.onMouseClick);
|
|
1013
1023
|
EventHandler.remove(this.list, 'mouseover', this.onMouseOver);
|
|
1014
1024
|
EventHandler.remove(this.list, 'mouseout', this.onMouseLeave);
|
|
1015
1025
|
};
|
|
@@ -1024,7 +1034,9 @@ var Mention = /** @class */ (function (_super) {
|
|
|
1024
1034
|
var delay = 100;
|
|
1025
1035
|
this.closePopup(delay, e);
|
|
1026
1036
|
this.inputElement.focus();
|
|
1027
|
-
|
|
1037
|
+
if (!this.isRTE) {
|
|
1038
|
+
e.preventDefault();
|
|
1039
|
+
}
|
|
1028
1040
|
};
|
|
1029
1041
|
Mention.prototype.updateSelectedItem = function (li, e, preventSelect, isSelection) {
|
|
1030
1042
|
var _this = this;
|
|
@@ -1265,7 +1277,7 @@ var Mention = /** @class */ (function (_super) {
|
|
|
1265
1277
|
if (this.isPopupOpen) {
|
|
1266
1278
|
this.hidePopup();
|
|
1267
1279
|
}
|
|
1268
|
-
//New event to update the RichTextEditor value, when a mention item is selected using mouse click action.
|
|
1280
|
+
//New event to update the RichTextEditor value, when a mention item is selected using mouse click action.
|
|
1269
1281
|
if (!isNullOrUndefined(e.pointerType) && e.pointerType === 'mouse') {
|
|
1270
1282
|
var event_1 = new CustomEvent('content-changed', { detail: { click: true } });
|
|
1271
1283
|
this.inputElement.dispatchEvent(event_1);
|
|
@@ -146,7 +146,7 @@ var CheckBoxSelection = /** @class */ (function () {
|
|
|
146
146
|
}
|
|
147
147
|
EventHandler.add(this.checkAllParent, 'mousedown', this.clickHandler, this);
|
|
148
148
|
}
|
|
149
|
-
if (this.parent.list.classList.contains('e-nodata') || (this.parent.listData && this.parent.listData.length <= 1 &&
|
|
149
|
+
if (this.parent.list.classList.contains('e-nodata') || (this.parent.listData && this.parent.listData.length <= 1 && !this.parent.enableVirtualization &&
|
|
150
150
|
!(this.parent.isDynamicDataChange)) || (this.parent.isDynamicDataChange &&
|
|
151
151
|
this.parent.listData && this.parent.listData.length <= 1)) {
|
|
152
152
|
this.checkAllParent.style.display = 'none';
|
|
@@ -512,7 +512,13 @@ var CheckBoxSelection = /** @class */ (function () {
|
|
|
512
512
|
});
|
|
513
513
|
remLi = this.parent.ulElement.querySelectorAll('li.e-active');
|
|
514
514
|
addClass(remLi, 'e-reorder-hide');
|
|
515
|
-
|
|
515
|
+
if (this.parent.enableVirtualization) {
|
|
516
|
+
var virtualUlElement = this.parent.list.querySelector('.e-virtual-ddl-content');
|
|
517
|
+
prepend([ulEle_1], virtualUlElement);
|
|
518
|
+
}
|
|
519
|
+
else {
|
|
520
|
+
prepend([ulEle_1], this.parent.list);
|
|
521
|
+
}
|
|
516
522
|
}
|
|
517
523
|
this.parent.focusAtFirstListItem();
|
|
518
524
|
}
|
|
@@ -10,14 +10,14 @@ import { FloatLabelType } from '@syncfusion/ej2-inputs';
|
|
|
10
10
|
* @param {FloatLabelType} floatLabelType - Specify the FloatLabel Type.
|
|
11
11
|
* @param {string} placeholder - Specify the PlaceHolder text.
|
|
12
12
|
*/
|
|
13
|
-
export declare function createFloatLabel(overAllWrapper: HTMLDivElement, searchWrapper: HTMLElement, element: HTMLElement, inputElement: HTMLInputElement, value: number[] | string[] | boolean[], floatLabelType: FloatLabelType, placeholder: string): void;
|
|
13
|
+
export declare function createFloatLabel(overAllWrapper: HTMLDivElement, searchWrapper: HTMLElement, element: HTMLElement, inputElement: HTMLInputElement, value: number[] | string[] | boolean[] | object[], floatLabelType: FloatLabelType, placeholder: string): void;
|
|
14
14
|
/**
|
|
15
15
|
* Function to update status of the Float Label element.
|
|
16
16
|
*
|
|
17
17
|
* @param {string[] | number[] | boolean[]} value - Value of the MultiSelect.
|
|
18
18
|
* @param {HTMLElement} label - Float label element.
|
|
19
19
|
*/
|
|
20
|
-
export declare function updateFloatLabelState(value: string[] | number[] | boolean[], label: HTMLElement): void;
|
|
20
|
+
export declare function updateFloatLabelState(value: string[] | number[] | boolean[] | object[], label: HTMLElement): void;
|
|
21
21
|
/**
|
|
22
22
|
* Function to remove Float Label element.
|
|
23
23
|
*
|
|
@@ -29,7 +29,7 @@ export declare function updateFloatLabelState(value: string[] | number[] | boole
|
|
|
29
29
|
* @param {FloatLabelType} floatLabelType - Specify the FloatLabel Type.
|
|
30
30
|
* @param {string} placeholder - Specify the PlaceHolder text.
|
|
31
31
|
*/
|
|
32
|
-
export declare function removeFloating(overAllWrapper: HTMLDivElement, componentWrapper: HTMLDivElement, searchWrapper: HTMLElement, inputElement: HTMLInputElement, value: number[] | string[] | boolean[], floatLabelType: FloatLabelType, placeholder: string): void;
|
|
32
|
+
export declare function removeFloating(overAllWrapper: HTMLDivElement, componentWrapper: HTMLDivElement, searchWrapper: HTMLElement, inputElement: HTMLInputElement, value: number[] | string[] | boolean[] | object[], floatLabelType: FloatLabelType, placeholder: string): void;
|
|
33
33
|
/**
|
|
34
34
|
* Function to set the placeholder to the element.
|
|
35
35
|
*
|
|
@@ -37,7 +37,7 @@ export declare function removeFloating(overAllWrapper: HTMLDivElement, component
|
|
|
37
37
|
* @param {HTMLInputElement} inputElement - Specify the input wrapper.
|
|
38
38
|
* @param {string} placeholder - Specify the PlaceHolder text.
|
|
39
39
|
*/
|
|
40
|
-
export declare function setPlaceHolder(value: number[] | string[] | boolean[], inputElement: HTMLInputElement, placeholder: string): void;
|
|
40
|
+
export declare function setPlaceHolder(value: number[] | string[] | boolean[] | object[], inputElement: HTMLInputElement, placeholder: string): void;
|
|
41
41
|
/**
|
|
42
42
|
* Function for focusing the Float Element.
|
|
43
43
|
*
|
|
@@ -54,5 +54,5 @@ export declare function floatLabelFocus(overAllWrapper: HTMLDivElement, componen
|
|
|
54
54
|
* @param {FloatLabelType} floatLabelType - Specify the FloatLabel Type.
|
|
55
55
|
* @param {string} placeholder - Specify the PlaceHolder text.
|
|
56
56
|
*/
|
|
57
|
-
export declare function floatLabelBlur(overAllWrapper: HTMLDivElement, componentWrapper: HTMLDivElement, value: number[] | string[] | boolean[], floatLabelType: FloatLabelType, placeholder: string): void;
|
|
57
|
+
export declare function floatLabelBlur(overAllWrapper: HTMLDivElement, componentWrapper: HTMLDivElement, value: number[] | string[] | boolean[] | object[], floatLabelType: FloatLabelType, placeholder: string): void;
|
|
58
58
|
export declare function encodePlaceholder(placeholder: string): string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DropDownBase, SelectEventArgs, dropDownBaseClasses, PopupEventArgs, FilteringEventArgs } from '../drop-down-base/drop-down-base';import { FocusEventArgs, BeforeOpenEventArgs, FilterType, FieldSettings, ResultData } from '../drop-down-base/drop-down-base';import { FieldSettingsModel } from '../drop-down-base/drop-down-base-model';import { Popup, createSpinner, showSpinner, hideSpinner } from '@syncfusion/ej2-popups';import { IInput, FloatLabelType, Input } from '@syncfusion/ej2-inputs';import { attributes, setValue, SanitizeHtmlHelper, getValue } from '@syncfusion/ej2-base';import { NotifyPropertyChanges, extend } from '@syncfusion/ej2-base';import { EventHandler, Property, Event, compile, L10n, EmitType, KeyboardEventArgs } from '@syncfusion/ej2-base';import { Animation, AnimationModel, Browser, prepend, Complex } from '@syncfusion/ej2-base';import { Search } from '../common/incremental-search';import { append, addClass, removeClass, closest, detach, remove, select, selectAll } from '@syncfusion/ej2-base';import { getUniqueID, formatUnit, isNullOrUndefined, isUndefined, ModuleDeclaration } from '@syncfusion/ej2-base';import { DataManager, Query, Predicate, JsonAdaptor } from '@syncfusion/ej2-data';import { SortOrder } from '@syncfusion/ej2-lists';import { createFloatLabel, removeFloating, floatLabelFocus, floatLabelBlur, encodePlaceholder } from './float-label';
|
|
1
|
+
import { DropDownBase, SelectEventArgs, dropDownBaseClasses, PopupEventArgs, FilteringEventArgs } from '../drop-down-base/drop-down-base';import { FocusEventArgs, BeforeOpenEventArgs, FilterType, FieldSettings, ResultData } from '../drop-down-base/drop-down-base';import { FieldSettingsModel } from '../drop-down-base/drop-down-base-model';import { Popup, createSpinner, showSpinner, hideSpinner } from '@syncfusion/ej2-popups';import { IInput, FloatLabelType, Input } from '@syncfusion/ej2-inputs';import { attributes, setValue, SanitizeHtmlHelper, getValue } from '@syncfusion/ej2-base';import { NotifyPropertyChanges, extend } from '@syncfusion/ej2-base';import { EventHandler, Property, Event, compile, L10n, EmitType, KeyboardEventArgs } from '@syncfusion/ej2-base';import { Animation, AnimationModel, Browser, prepend, Complex } from '@syncfusion/ej2-base';import { Search } from '../common/incremental-search';import { append, addClass, removeClass, closest, detach, remove, select, selectAll } from '@syncfusion/ej2-base';import { getUniqueID, formatUnit, isNullOrUndefined, isUndefined, ModuleDeclaration } from '@syncfusion/ej2-base';import { DataManager, Query, Predicate, JsonAdaptor, DataOptions } from '@syncfusion/ej2-data';import { SortOrder } from '@syncfusion/ej2-lists';import { createFloatLabel, removeFloating, floatLabelFocus, floatLabelBlur, encodePlaceholder } from './float-label';
|
|
2
2
|
import {visualMode,MultiSelectChangeEventArgs,RemoveEventArgs,ISelectAllEventArgs,TaggingEventArgs,CustomValueEventArgs} from "./multi-select";
|
|
3
3
|
import {DropDownBaseModel} from "../drop-down-base/drop-down-base-model";
|
|
4
4
|
|
|
@@ -91,6 +91,13 @@ export interface MultiSelectModel extends DropDownBaseModel{
|
|
|
91
91
|
*/
|
|
92
92
|
enableHtmlSanitizer?: boolean;
|
|
93
93
|
|
|
94
|
+
/**
|
|
95
|
+
* Defines whether to enable virtual scrolling in the component.
|
|
96
|
+
*
|
|
97
|
+
* @default false
|
|
98
|
+
*/
|
|
99
|
+
enableVirtualization?: boolean;
|
|
100
|
+
|
|
94
101
|
/**
|
|
95
102
|
* Accepts the list items either through local or remote service and binds it to the MultiSelect component.
|
|
96
103
|
* It can be an array of JSON Objects or an instance of
|
|
@@ -334,6 +341,7 @@ export interface MultiSelectModel extends DropDownBaseModel{
|
|
|
334
341
|
* Selects the list item which maps the data `text` field in the component.
|
|
335
342
|
*
|
|
336
343
|
* @default null
|
|
344
|
+
* @aspType string
|
|
337
345
|
*/
|
|
338
346
|
text?: string | null;
|
|
339
347
|
|
|
@@ -344,7 +352,14 @@ export interface MultiSelectModel extends DropDownBaseModel{
|
|
|
344
352
|
* @default null
|
|
345
353
|
* @isGenericType true
|
|
346
354
|
*/
|
|
347
|
-
value?: number[] | string[] | boolean[] | null;
|
|
355
|
+
value?: number[] | string[] | boolean[] | object[] | null ;
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
* Defines whether the object binding is allowed or not in the component.
|
|
359
|
+
*
|
|
360
|
+
* @default false
|
|
361
|
+
*/
|
|
362
|
+
allowObjectBinding?: boolean;
|
|
348
363
|
|
|
349
364
|
/**
|
|
350
365
|
* Hides the selected item from the list item.
|
|
@@ -49,6 +49,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
|
|
|
49
49
|
private previousFilterText;
|
|
50
50
|
private selectedElementID;
|
|
51
51
|
private focusFirstListItem;
|
|
52
|
+
private currentFocuedListElement;
|
|
52
53
|
private isCustomRendered;
|
|
53
54
|
private isRemoteSelection;
|
|
54
55
|
private isSelectAllTarget;
|
|
@@ -128,6 +129,12 @@ export declare class MultiSelect extends DropDownBase implements IInput {
|
|
|
128
129
|
* @default true
|
|
129
130
|
*/
|
|
130
131
|
enableHtmlSanitizer: boolean;
|
|
132
|
+
/**
|
|
133
|
+
* Defines whether to enable virtual scrolling in the component.
|
|
134
|
+
*
|
|
135
|
+
* @default false
|
|
136
|
+
*/
|
|
137
|
+
enableVirtualization: boolean;
|
|
131
138
|
/**
|
|
132
139
|
* Accepts the list items either through local or remote service and binds it to the MultiSelect component.
|
|
133
140
|
* It can be an array of JSON Objects or an instance of
|
|
@@ -351,6 +358,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
|
|
|
351
358
|
* Selects the list item which maps the data `text` field in the component.
|
|
352
359
|
*
|
|
353
360
|
* @default null
|
|
361
|
+
* @aspType string
|
|
354
362
|
*/
|
|
355
363
|
text: string | null;
|
|
356
364
|
/**
|
|
@@ -360,7 +368,13 @@ export declare class MultiSelect extends DropDownBase implements IInput {
|
|
|
360
368
|
* @default null
|
|
361
369
|
* @isGenericType true
|
|
362
370
|
*/
|
|
363
|
-
value: number[] | string[] | boolean[] | null;
|
|
371
|
+
value: number[] | string[] | boolean[] | object[] | null;
|
|
372
|
+
/**
|
|
373
|
+
* Defines whether the object binding is allowed or not in the component.
|
|
374
|
+
*
|
|
375
|
+
* @default false
|
|
376
|
+
*/
|
|
377
|
+
allowObjectBinding: boolean;
|
|
364
378
|
/**
|
|
365
379
|
* Hides the selected item from the list item.
|
|
366
380
|
*
|
|
@@ -560,6 +574,9 @@ export declare class MultiSelect extends DropDownBase implements IInput {
|
|
|
560
574
|
private mainList;
|
|
561
575
|
ulElement: HTMLElement;
|
|
562
576
|
private mainData;
|
|
577
|
+
protected virtualCustomSelectData: {
|
|
578
|
+
[key: string]: Object;
|
|
579
|
+
}[];
|
|
563
580
|
private mainListCollection;
|
|
564
581
|
private customValueFlag;
|
|
565
582
|
private inputElement;
|
|
@@ -589,6 +606,8 @@ export declare class MultiSelect extends DropDownBase implements IInput {
|
|
|
589
606
|
private removeIndex;
|
|
590
607
|
private resetMainList;
|
|
591
608
|
private resetFilteredData;
|
|
609
|
+
private preventSetCurrentData;
|
|
610
|
+
private virtualCustomData;
|
|
592
611
|
private enableRTL;
|
|
593
612
|
requiredModules(): ModuleDeclaration[];
|
|
594
613
|
private updateHTMLAttribute;
|
|
@@ -597,6 +616,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
|
|
|
597
616
|
private updateCssClass;
|
|
598
617
|
private updateOldPropCssClass;
|
|
599
618
|
private onPopupShown;
|
|
619
|
+
private updateVirtualReOrderList;
|
|
600
620
|
private updateListItems;
|
|
601
621
|
private loadTemplate;
|
|
602
622
|
private setScrollPosition;
|
|
@@ -633,6 +653,8 @@ export declare class MultiSelect extends DropDownBase implements IInput {
|
|
|
633
653
|
[key: string]: Object;
|
|
634
654
|
}[] | DataManager | string[] | number[] | boolean[], query?: Query, fields?: FieldSettingsModel): void;
|
|
635
655
|
protected getQuery(query: Query): Query;
|
|
656
|
+
private virtualFilterQuery;
|
|
657
|
+
protected getTakeValue(): number;
|
|
636
658
|
private dataUpdater;
|
|
637
659
|
private tempQuery;
|
|
638
660
|
private tempValues;
|
|
@@ -651,7 +673,6 @@ export declare class MultiSelect extends DropDownBase implements IInput {
|
|
|
651
673
|
private updateValueState;
|
|
652
674
|
private updateTempValue;
|
|
653
675
|
private updateAriaActiveDescendant;
|
|
654
|
-
private getPagingCount;
|
|
655
676
|
private pageUpSelection;
|
|
656
677
|
private pageDownSelection;
|
|
657
678
|
getItems(): Element[];
|
|
@@ -665,6 +686,8 @@ export declare class MultiSelect extends DropDownBase implements IInput {
|
|
|
665
686
|
private popupKeyActions;
|
|
666
687
|
private updateAriaAttribute;
|
|
667
688
|
private homeNavigation;
|
|
689
|
+
private updateSelectionList;
|
|
690
|
+
private handleVirtualKeyboardActions;
|
|
668
691
|
private onKeyDown;
|
|
669
692
|
private arrowDown;
|
|
670
693
|
private arrowUp;
|
|
@@ -675,12 +698,14 @@ export declare class MultiSelect extends DropDownBase implements IInput {
|
|
|
675
698
|
private escapeAction;
|
|
676
699
|
private scrollBottom;
|
|
677
700
|
private scrollTop;
|
|
701
|
+
private IsScrollerAtEnd;
|
|
678
702
|
private selectListByKey;
|
|
679
703
|
private refreshListItems;
|
|
680
704
|
private removeSelectedChip;
|
|
681
705
|
private moveByTop;
|
|
682
706
|
private clickHandler;
|
|
683
707
|
private moveByList;
|
|
708
|
+
private getElementByValue;
|
|
684
709
|
private updateCheck;
|
|
685
710
|
private moveBy;
|
|
686
711
|
private chipClick;
|
|
@@ -696,6 +721,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
|
|
|
696
721
|
private removeChip;
|
|
697
722
|
private setWidth;
|
|
698
723
|
private updateChipStatus;
|
|
724
|
+
private indexOfObjectInArray;
|
|
699
725
|
private addValue;
|
|
700
726
|
private checkMaxSelection;
|
|
701
727
|
private dispatchSelect;
|
|
@@ -714,6 +740,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
|
|
|
714
740
|
private renderPopup;
|
|
715
741
|
private setHeaderTemplate;
|
|
716
742
|
private setFooterTemplate;
|
|
743
|
+
private updateInitialData;
|
|
717
744
|
private clearAll;
|
|
718
745
|
private clearAllCallback;
|
|
719
746
|
private windowResize;
|
|
@@ -814,6 +841,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
|
|
|
814
841
|
*/
|
|
815
842
|
onPropertyChanged(newProp: MultiSelectModel, oldProp: MultiSelectModel): void;
|
|
816
843
|
private reInitializePoup;
|
|
844
|
+
private totalItemsCount;
|
|
817
845
|
private presentItemValue;
|
|
818
846
|
private addNonPresentItems;
|
|
819
847
|
private updateVal;
|
|
@@ -872,8 +900,10 @@ export declare class MultiSelect extends DropDownBase implements IInput {
|
|
|
872
900
|
* @returns {void}
|
|
873
901
|
*/
|
|
874
902
|
render(): void;
|
|
903
|
+
private getListHeight;
|
|
875
904
|
private checkInitialValue;
|
|
876
905
|
private checkAutoFocus;
|
|
906
|
+
private updatevirtualizationList;
|
|
877
907
|
private setFloatLabelType;
|
|
878
908
|
private addValidInputClass;
|
|
879
909
|
private dropDownIcon;
|
|
@@ -933,13 +963,13 @@ export interface MultiSelectChangeEventArgs {
|
|
|
933
963
|
*
|
|
934
964
|
* @isGenericType true
|
|
935
965
|
*/
|
|
936
|
-
oldValue: number[] | string[] | boolean[];
|
|
966
|
+
oldValue: number[] | string[] | boolean[] | object[];
|
|
937
967
|
/**
|
|
938
968
|
* Returns the updated component Values.
|
|
939
969
|
*
|
|
940
970
|
* @isGenericType true
|
|
941
971
|
*/
|
|
942
|
-
value: number[] | string[] | boolean[];
|
|
972
|
+
value: number[] | string[] | boolean[] | object[];
|
|
943
973
|
/**
|
|
944
974
|
* Specifies the original event arguments.
|
|
945
975
|
*/
|