@syncfusion/ej2-dropdowns 24.2.9 → 25.1.37
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 +27 -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 +2014 -514
- package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
- package/dist/es6/ej2-dropdowns.es5.js +2030 -513
- 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 +10 -1
- package/src/combo-box/combo-box.d.ts +10 -2
- package/src/combo-box/combo-box.js +55 -23
- 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 +64 -5
- package/src/drop-down-base/drop-down-base.js +241 -24
- package/src/drop-down-list/drop-down-list-model.d.ts +10 -1
- package/src/drop-down-list/drop-down-list.d.ts +16 -50
- package/src/drop-down-list/drop-down-list.js +150 -196
- 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 +16 -8
- package/src/multi-select/checkbox-selection.d.ts +2 -0
- package/src/multi-select/checkbox-selection.js +16 -3
- 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 +35 -4
- package/src/multi-select/multi-select.js +1282 -174
- package/styles/auto-complete/_bds-definition.scss +2 -0
- package/styles/bootstrap-dark.css +7 -1
- package/styles/bootstrap.css +7 -1
- package/styles/bootstrap4.css +2 -1
- package/styles/bootstrap5-dark.css +2 -1
- package/styles/bootstrap5.css +2 -1
- 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/icons/_bds.scss +14 -0
- 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 +3 -1
- package/styles/fabric.css +3 -1
- package/styles/fluent-dark.css +7 -1
- package/styles/fluent.css +7 -1
- package/styles/highcontrast-light.css +3 -1
- package/styles/highcontrast.css +3 -1
- package/styles/list-box/_bds-definition.scss +136 -0
- package/styles/list-box/icons/_bds.scss +25 -0
- package/styles/material-dark.css +11 -1
- package/styles/material.css +11 -1
- package/styles/material3-dark.css +2 -1
- package/styles/material3.css +2 -1
- 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/_material-dark-definition.scss +11 -0
- package/styles/multi-select/_material-definition.scss +11 -0
- 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 +11 -1
- package/styles/multi-select/material.css +11 -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 +2 -1
- package/styles/tailwind.css +2 -1
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)) {
|
|
@@ -358,7 +364,7 @@ var Mention = /** @class */ (function (_super) {
|
|
|
358
364
|
this.range.startContainer.nodeType === 1))) {
|
|
359
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
|
}
|
|
@@ -1003,7 +1009,7 @@ var Mention = /** @class */ (function (_super) {
|
|
|
1003
1009
|
* @returns {void}
|
|
1004
1010
|
*/
|
|
1005
1011
|
Mention.prototype.wireListEvents = function () {
|
|
1006
|
-
EventHandler.add(this.list,
|
|
1012
|
+
EventHandler.add(this.list, this.keyEventName, this.onMouseClick, this);
|
|
1007
1013
|
EventHandler.add(this.list, 'mouseover', this.onMouseOver, this);
|
|
1008
1014
|
EventHandler.add(this.list, 'mouseout', this.onMouseLeave, this);
|
|
1009
1015
|
};
|
|
@@ -1013,7 +1019,7 @@ var Mention = /** @class */ (function (_super) {
|
|
|
1013
1019
|
* @returns {void}
|
|
1014
1020
|
*/
|
|
1015
1021
|
Mention.prototype.unWireListEvents = function () {
|
|
1016
|
-
EventHandler.remove(this.list,
|
|
1022
|
+
EventHandler.remove(this.list, this.keyEventName, this.onMouseClick);
|
|
1017
1023
|
EventHandler.remove(this.list, 'mouseover', this.onMouseOver);
|
|
1018
1024
|
EventHandler.remove(this.list, 'mouseout', this.onMouseLeave);
|
|
1019
1025
|
};
|
|
@@ -1028,7 +1034,9 @@ var Mention = /** @class */ (function (_super) {
|
|
|
1028
1034
|
var delay = 100;
|
|
1029
1035
|
this.closePopup(delay, e);
|
|
1030
1036
|
this.inputElement.focus();
|
|
1031
|
-
|
|
1037
|
+
if (!this.isRTE) {
|
|
1038
|
+
e.preventDefault();
|
|
1039
|
+
}
|
|
1032
1040
|
};
|
|
1033
1041
|
Mention.prototype.updateSelectedItem = function (li, e, preventSelect, isSelection) {
|
|
1034
1042
|
var _this = this;
|
|
@@ -1269,7 +1277,7 @@ var Mention = /** @class */ (function (_super) {
|
|
|
1269
1277
|
if (this.isPopupOpen) {
|
|
1270
1278
|
this.hidePopup();
|
|
1271
1279
|
}
|
|
1272
|
-
//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.
|
|
1273
1281
|
if (!isNullOrUndefined(e.pointerType) && e.pointerType === 'mouse') {
|
|
1274
1282
|
var event_1 = new CustomEvent('content-changed', { detail: { click: true } });
|
|
1275
1283
|
this.inputElement.dispatchEvent(event_1);
|
|
@@ -16,6 +16,7 @@ export declare class CheckBoxSelection {
|
|
|
16
16
|
list: HTMLElement;
|
|
17
17
|
private activeLi;
|
|
18
18
|
private activeEle;
|
|
19
|
+
private boundPreventListSelection;
|
|
19
20
|
constructor(parent?: IMulitSelect);
|
|
20
21
|
getModuleName(): string;
|
|
21
22
|
addEventListener(): void;
|
|
@@ -34,6 +35,7 @@ export declare class CheckBoxSelection {
|
|
|
34
35
|
protected setSearchBox(args: IUpdateListArgs): InputObject | void;
|
|
35
36
|
private clickOnBackIcon;
|
|
36
37
|
private clearText;
|
|
38
|
+
private preventListSelection;
|
|
37
39
|
private setDeviceSearchBox;
|
|
38
40
|
private setSearchBoxPosition;
|
|
39
41
|
protected setPopupFullScreen(): void;
|
|
@@ -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';
|
|
@@ -312,13 +312,20 @@ var CheckBoxSelection = /** @class */ (function () {
|
|
|
312
312
|
if (this.parent.allowFiltering && this.parent.targetInputElement.value === '') {
|
|
313
313
|
this.parent.search(null);
|
|
314
314
|
}
|
|
315
|
-
this.parent.refreshPopup();
|
|
316
315
|
this.parent.refreshListItems(null);
|
|
316
|
+
this.parent.refreshPopup();
|
|
317
317
|
this.clearIconElement.style.visibility = 'hidden';
|
|
318
318
|
this.filterInput.focus();
|
|
319
319
|
this.setReorder(e);
|
|
320
|
+
this.boundPreventListSelection = this.preventListSelection.bind(this);
|
|
321
|
+
this.parent.popupWrapper.addEventListener('mouseup', this.boundPreventListSelection, true);
|
|
320
322
|
e.preventDefault();
|
|
321
323
|
};
|
|
324
|
+
CheckBoxSelection.prototype.preventListSelection = function (e) {
|
|
325
|
+
e.stopPropagation();
|
|
326
|
+
this.parent.popupWrapper.removeEventListener('mouseup', this.boundPreventListSelection, true);
|
|
327
|
+
this.boundPreventListSelection = null;
|
|
328
|
+
};
|
|
322
329
|
CheckBoxSelection.prototype.setDeviceSearchBox = function () {
|
|
323
330
|
this.parent.popupObj.element.classList.add(device);
|
|
324
331
|
this.parent.popupObj.element.classList.add(mobileFilter);
|
|
@@ -512,7 +519,13 @@ var CheckBoxSelection = /** @class */ (function () {
|
|
|
512
519
|
});
|
|
513
520
|
remLi = this.parent.ulElement.querySelectorAll('li.e-active');
|
|
514
521
|
addClass(remLi, 'e-reorder-hide');
|
|
515
|
-
|
|
522
|
+
if (this.parent.enableVirtualization) {
|
|
523
|
+
var virtualUlElement = this.parent.list.querySelector('.e-virtual-ddl-content');
|
|
524
|
+
prepend([ulEle_1], virtualUlElement);
|
|
525
|
+
}
|
|
526
|
+
else {
|
|
527
|
+
prepend([ulEle_1], this.parent.list);
|
|
528
|
+
}
|
|
516
529
|
}
|
|
517
530
|
this.parent.focusAtFirstListItem();
|
|
518
531
|
}
|
|
@@ -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 { isCollide, 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;
|
|
@@ -712,8 +738,10 @@ export declare class MultiSelect extends DropDownBase implements IInput {
|
|
|
712
738
|
[key: string]: Object;
|
|
713
739
|
}[], fields: FieldSettingsModel): FieldSettingsModel;
|
|
714
740
|
private renderPopup;
|
|
741
|
+
private checkCollision;
|
|
715
742
|
private setHeaderTemplate;
|
|
716
743
|
private setFooterTemplate;
|
|
744
|
+
private updateInitialData;
|
|
717
745
|
private clearAll;
|
|
718
746
|
private clearAllCallback;
|
|
719
747
|
private windowResize;
|
|
@@ -814,6 +842,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
|
|
|
814
842
|
*/
|
|
815
843
|
onPropertyChanged(newProp: MultiSelectModel, oldProp: MultiSelectModel): void;
|
|
816
844
|
private reInitializePoup;
|
|
845
|
+
private totalItemsCount;
|
|
817
846
|
private presentItemValue;
|
|
818
847
|
private addNonPresentItems;
|
|
819
848
|
private updateVal;
|
|
@@ -872,8 +901,10 @@ export declare class MultiSelect extends DropDownBase implements IInput {
|
|
|
872
901
|
* @returns {void}
|
|
873
902
|
*/
|
|
874
903
|
render(): void;
|
|
904
|
+
private getListHeight;
|
|
875
905
|
private checkInitialValue;
|
|
876
906
|
private checkAutoFocus;
|
|
907
|
+
private updatevirtualizationList;
|
|
877
908
|
private setFloatLabelType;
|
|
878
909
|
private addValidInputClass;
|
|
879
910
|
private dropDownIcon;
|
|
@@ -933,13 +964,13 @@ export interface MultiSelectChangeEventArgs {
|
|
|
933
964
|
*
|
|
934
965
|
* @isGenericType true
|
|
935
966
|
*/
|
|
936
|
-
oldValue: number[] | string[] | boolean[];
|
|
967
|
+
oldValue: number[] | string[] | boolean[] | object[];
|
|
937
968
|
/**
|
|
938
969
|
* Returns the updated component Values.
|
|
939
970
|
*
|
|
940
971
|
* @isGenericType true
|
|
941
972
|
*/
|
|
942
|
-
value: number[] | string[] | boolean[];
|
|
973
|
+
value: number[] | string[] | boolean[] | object[];
|
|
943
974
|
/**
|
|
944
975
|
* Specifies the original event arguments.
|
|
945
976
|
*/
|