@syncfusion/ej2-dropdowns 27.2.4 → 28.1.33
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/README.md +2 -2
- package/dist/ej2-dropdowns.min.js +3 -3
- package/dist/ej2-dropdowns.umd.min.js +3 -3
- package/dist/ej2-dropdowns.umd.min.js.map +1 -1
- package/dist/es6/ej2-dropdowns.es2015.js +507 -39
- package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
- package/dist/es6/ej2-dropdowns.es5.js +506 -37
- package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
- package/dist/global/ej2-dropdowns.min.js +3 -3
- package/dist/global/ej2-dropdowns.min.js.map +1 -1
- package/dist/global/index.d.ts +2 -2
- package/package.json +13 -13
- package/src/auto-complete/auto-complete.js +5 -2
- package/src/combo-box/combo-box.js +1 -1
- package/src/common/incremental-search.d.ts +1 -1
- package/src/common/incremental-search.js +5 -1
- package/src/common/virtual-scroll.js +2 -1
- package/src/drop-down-base/drop-down-base.js +21 -3
- package/src/drop-down-list/drop-down-list-model.d.ts +31 -0
- package/src/drop-down-list/drop-down-list.d.ts +44 -1
- package/src/drop-down-list/drop-down-list.js +202 -13
- package/src/drop-down-tree/drop-down-tree.js +4 -1
- package/src/list-box/list-box.d.ts +4 -0
- package/src/list-box/list-box.js +9 -4
- package/src/mention/mention.js +6 -1
- package/src/multi-select/multi-select-model.d.ts +31 -0
- package/src/multi-select/multi-select.d.ts +45 -0
- package/src/multi-select/multi-select.js +251 -10
- package/styles/auto-complete/_tailwind3-definition.scss +2 -0
- package/styles/auto-complete/bds.css +75 -0
- package/styles/auto-complete/bds.scss +4 -0
- package/styles/auto-complete/highcontrast.css +1 -1
- package/styles/auto-complete/tailwind3.css +101 -0
- package/styles/auto-complete/tailwind3.scss +4 -0
- package/styles/bds-lite.css +3013 -0
- package/styles/bds-lite.scss +28 -0
- package/styles/bds.css +3855 -0
- package/styles/bds.scss +33 -0
- package/styles/bootstrap-dark-lite.css +41 -2
- package/styles/bootstrap-dark.css +41 -2
- package/styles/bootstrap-lite.css +30 -1
- package/styles/bootstrap.css +30 -1
- package/styles/bootstrap4-lite.css +30 -0
- package/styles/bootstrap4.css +30 -0
- package/styles/bootstrap5-dark-lite.css +30 -0
- package/styles/bootstrap5-dark.css +30 -0
- package/styles/bootstrap5-lite.css +30 -0
- package/styles/bootstrap5.3-lite.css +30 -3
- package/styles/bootstrap5.3.css +30 -3
- package/styles/bootstrap5.css +30 -0
- package/styles/combo-box/_tailwind3-definition.scss +2 -0
- package/styles/combo-box/bds.css +75 -0
- package/styles/combo-box/bds.scss +4 -0
- package/styles/combo-box/highcontrast.css +1 -1
- package/styles/combo-box/tailwind3.css +101 -0
- package/styles/combo-box/tailwind3.scss +4 -0
- package/styles/drop-down-base/_bigger.scss +3 -0
- package/styles/drop-down-base/_layout.scss +7 -0
- package/styles/drop-down-base/_tailwind3-definition.scss +98 -0
- package/styles/drop-down-base/bds.css +496 -0
- package/styles/drop-down-base/bds.scss +4 -0
- package/styles/drop-down-base/bootstrap-dark.css +4 -0
- package/styles/drop-down-base/bootstrap.css +4 -0
- package/styles/drop-down-base/bootstrap4.css +4 -0
- package/styles/drop-down-base/bootstrap5-dark.css +4 -0
- package/styles/drop-down-base/bootstrap5.3.css +4 -0
- package/styles/drop-down-base/bootstrap5.css +4 -0
- package/styles/drop-down-base/fabric-dark.css +4 -0
- package/styles/drop-down-base/fabric.css +4 -0
- package/styles/drop-down-base/fluent-dark.css +4 -0
- package/styles/drop-down-base/fluent.css +4 -0
- package/styles/drop-down-base/fluent2.css +9 -5
- package/styles/drop-down-base/highcontrast-light.css +4 -0
- package/styles/drop-down-base/highcontrast.css +4 -0
- package/styles/drop-down-base/material-dark.css +4 -0
- package/styles/drop-down-base/material.css +4 -0
- package/styles/drop-down-base/material3-dark.css +4 -0
- package/styles/drop-down-base/material3.css +4 -0
- package/styles/drop-down-base/tailwind-dark.css +4 -0
- package/styles/drop-down-base/tailwind.css +4 -0
- package/styles/drop-down-base/tailwind3.css +392 -0
- package/styles/drop-down-base/tailwind3.scss +4 -0
- package/styles/drop-down-list/_highcontrast-definition.scss +1 -1
- package/styles/drop-down-list/_layout.scss +18 -2
- package/styles/drop-down-list/_tailwind3-definition.scss +135 -0
- package/styles/drop-down-list/_theme.scss +3 -1
- package/styles/drop-down-list/bds.css +609 -0
- package/styles/drop-down-list/bds.scss +10 -0
- package/styles/drop-down-list/bootstrap-dark.css +18 -1
- package/styles/drop-down-list/bootstrap.css +13 -1
- package/styles/drop-down-list/bootstrap4.css +13 -0
- package/styles/drop-down-list/bootstrap5-dark.css +13 -0
- package/styles/drop-down-list/bootstrap5.3.css +13 -0
- package/styles/drop-down-list/bootstrap5.css +13 -0
- package/styles/drop-down-list/fabric-dark.css +18 -1
- package/styles/drop-down-list/fabric.css +13 -1
- package/styles/drop-down-list/fluent-dark.css +13 -1
- package/styles/drop-down-list/fluent.css +13 -1
- package/styles/drop-down-list/fluent2.css +13 -1
- package/styles/drop-down-list/highcontrast-light.css +9 -1
- package/styles/drop-down-list/highcontrast.css +19 -1
- package/styles/drop-down-list/icons/_bootstrap-dark.scss +4 -0
- package/styles/drop-down-list/icons/_bootstrap.scss +4 -0
- package/styles/drop-down-list/icons/_bootstrap4.scss +4 -0
- package/styles/drop-down-list/icons/_bootstrap5.3.scss +4 -0
- package/styles/drop-down-list/icons/_bootstrap5.scss +4 -0
- package/styles/drop-down-list/icons/_fabric-dark.scss +4 -0
- package/styles/drop-down-list/icons/_fabric.scss +4 -0
- package/styles/drop-down-list/icons/_fluent.scss +4 -0
- package/styles/drop-down-list/icons/_fluent2.scss +4 -0
- package/styles/drop-down-list/icons/_highcontrast.scss +4 -0
- package/styles/drop-down-list/icons/_material-dark.scss +4 -0
- package/styles/drop-down-list/icons/_material.scss +4 -0
- package/styles/drop-down-list/icons/_material3.scss +4 -0
- package/styles/drop-down-list/icons/_tailwind.scss +4 -0
- package/styles/drop-down-list/icons/_tailwind3.scss +14 -0
- package/styles/drop-down-list/material-dark.css +18 -1
- package/styles/drop-down-list/material.css +13 -1
- package/styles/drop-down-list/material3-dark.css +13 -1
- package/styles/drop-down-list/material3.css +13 -1
- package/styles/drop-down-list/tailwind-dark.css +13 -1
- package/styles/drop-down-list/tailwind.css +13 -1
- package/styles/drop-down-list/tailwind3.css +455 -0
- package/styles/drop-down-list/tailwind3.scss +10 -0
- package/styles/drop-down-tree/_bigger.scss +41 -7
- package/styles/drop-down-tree/_layout.scss +34 -10
- package/styles/drop-down-tree/_tailwind3-definition.scss +67 -0
- package/styles/drop-down-tree/_theme.scss +3 -3
- package/styles/drop-down-tree/bds.css +712 -0
- package/styles/drop-down-tree/bds.scss +10 -0
- package/styles/drop-down-tree/bootstrap5.3.css +0 -3
- package/styles/drop-down-tree/icons/_tailwind3.scss +11 -0
- package/styles/drop-down-tree/tailwind3.css +512 -0
- package/styles/drop-down-tree/tailwind3.scss +10 -0
- package/styles/fabric-dark-lite.css +40 -1
- package/styles/fabric-dark.css +40 -1
- package/styles/fabric-lite.css +30 -1
- package/styles/fabric.css +30 -1
- package/styles/fluent-dark-lite.css +30 -1
- package/styles/fluent-dark.css +30 -1
- package/styles/fluent-lite.css +30 -1
- package/styles/fluent.css +30 -1
- package/styles/fluent2-lite.css +45 -12
- package/styles/fluent2.css +45 -12
- package/styles/highcontrast-light-lite.css +22 -1
- package/styles/highcontrast-light.css +22 -1
- package/styles/highcontrast-lite.css +41 -1
- package/styles/highcontrast.css +41 -1
- package/styles/list-box/_bigger.scss +18 -1
- package/styles/list-box/_layout.scss +29 -3
- package/styles/list-box/_tailwind3-definition.scss +123 -0
- package/styles/list-box/_theme.scss +11 -0
- package/styles/list-box/bds.css +971 -0
- package/styles/list-box/bds.scss +6 -0
- package/styles/list-box/fluent2.css +1 -1
- package/styles/list-box/icons/_tailwind3.scss +25 -0
- package/styles/list-box/tailwind3.css +991 -0
- package/styles/list-box/tailwind3.scss +6 -0
- package/styles/material-dark-lite.css +40 -1
- package/styles/material-dark.css +40 -1
- package/styles/material-lite.css +30 -1
- package/styles/material.css +30 -1
- package/styles/material3-dark-lite.css +36 -9
- package/styles/material3-dark.css +36 -9
- package/styles/material3-lite.css +36 -9
- package/styles/material3.css +36 -9
- package/styles/mention/_tailwind3-definition.scss +1 -0
- package/styles/mention/bds.css +78 -0
- package/styles/mention/bds.scss +6 -0
- package/styles/mention/tailwind3.css +67 -0
- package/styles/mention/tailwind3.scss +6 -0
- package/styles/multi-select/_bigger.scss +2 -2
- package/styles/multi-select/_bootstrap-dark-definition.scss +1 -1
- package/styles/multi-select/_layout.scss +27 -2
- package/styles/multi-select/_material3-definition.scss +2 -2
- package/styles/multi-select/_tailwind3-definition.scss +227 -0
- package/styles/multi-select/_theme.scss +1 -1
- package/styles/multi-select/bds.css +1575 -0
- package/styles/multi-select/bds.scss +10 -0
- package/styles/multi-select/bootstrap-dark.css +19 -1
- package/styles/multi-select/bootstrap.css +13 -0
- package/styles/multi-select/bootstrap4.css +13 -0
- package/styles/multi-select/bootstrap5-dark.css +13 -0
- package/styles/multi-select/bootstrap5.3.css +13 -0
- package/styles/multi-select/bootstrap5.css +13 -0
- package/styles/multi-select/fabric-dark.css +18 -0
- package/styles/multi-select/fabric.css +13 -0
- package/styles/multi-select/fluent-dark.css +13 -0
- package/styles/multi-select/fluent.css +13 -0
- package/styles/multi-select/fluent2.css +22 -5
- package/styles/multi-select/highcontrast-light.css +9 -0
- package/styles/multi-select/highcontrast.css +18 -0
- package/styles/multi-select/icons/_bootstrap-dark.scss +4 -0
- package/styles/multi-select/icons/_bootstrap.scss +4 -0
- package/styles/multi-select/icons/_bootstrap4.scss +4 -0
- package/styles/multi-select/icons/_bootstrap5.3.scss +4 -0
- package/styles/multi-select/icons/_bootstrap5.scss +4 -0
- package/styles/multi-select/icons/_fabric-dark.scss +4 -0
- package/styles/multi-select/icons/_fabric.scss +4 -0
- package/styles/multi-select/icons/_fluent.scss +4 -0
- package/styles/multi-select/icons/_fluent2.scss +4 -0
- package/styles/multi-select/icons/_highcontrast.scss +4 -0
- package/styles/multi-select/icons/_material-dark.scss +4 -0
- package/styles/multi-select/icons/_material.scss +4 -0
- package/styles/multi-select/icons/_material3.scss +4 -0
- package/styles/multi-select/icons/_tailwind.scss +4 -0
- package/styles/multi-select/icons/_tailwind3.scss +26 -0
- package/styles/multi-select/material-dark.css +18 -0
- package/styles/multi-select/material.css +13 -0
- package/styles/multi-select/material3-dark.css +19 -8
- package/styles/multi-select/material3.css +19 -8
- package/styles/multi-select/tailwind-dark.css +13 -0
- package/styles/multi-select/tailwind.css +13 -0
- package/styles/multi-select/tailwind3.css +1398 -0
- package/styles/multi-select/tailwind3.scss +10 -0
- package/styles/tailwind-dark-lite.css +30 -1
- package/styles/tailwind-dark.css +30 -1
- package/styles/tailwind-lite.css +30 -1
- package/styles/tailwind.css +30 -1
- package/styles/tailwind3-lite.css +2889 -0
- package/styles/tailwind3-lite.scss +28 -0
- package/styles/tailwind3.css +3550 -0
- package/styles/tailwind3.scss +33 -0
package/dist/global/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version :
|
|
4
|
-
* Copyright Syncfusion Inc. 2001 -
|
|
3
|
+
* version : 28.1.33
|
|
4
|
+
* Copyright Syncfusion Inc. 2001 - 2024. All rights reserved.
|
|
5
5
|
* Use of this code is subject to the terms of our license.
|
|
6
6
|
* A copy of the current license can be obtained at any time by e-mailing
|
|
7
7
|
* licensing@syncfusion.com. Any infringement will be prosecuted under
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_from": "@syncfusion/ej2-dropdowns@*",
|
|
3
|
-
"_id": "@syncfusion/ej2-dropdowns@
|
|
3
|
+
"_id": "@syncfusion/ej2-dropdowns@18.66.23",
|
|
4
4
|
"_inBundle": false,
|
|
5
|
-
"_integrity": "sha512-
|
|
5
|
+
"_integrity": "sha512-jAMyUmtAEAvQCfxHM/xreP16YtFzyXq5WLDXNo7lm9OShq+TNU3ATXtJdWqG321zdB5Sjmf8PUQ41NZjPfJq9w==",
|
|
6
6
|
"_location": "/@syncfusion/ej2-dropdowns",
|
|
7
7
|
"_phantomChildren": {},
|
|
8
8
|
"_requested": {
|
|
@@ -36,22 +36,22 @@
|
|
|
36
36
|
"/@syncfusion/ej2-spreadsheet",
|
|
37
37
|
"/@syncfusion/ej2-vue-dropdowns"
|
|
38
38
|
],
|
|
39
|
-
"_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-
|
|
40
|
-
"_shasum": "
|
|
39
|
+
"_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-release/@syncfusion/ej2-dropdowns/-/ej2-dropdowns-18.66.23.tgz",
|
|
40
|
+
"_shasum": "caae466fa776dcfc31bf6b912adb3791b40e4f00",
|
|
41
41
|
"_spec": "@syncfusion/ej2-dropdowns@*",
|
|
42
|
-
"_where": "/jenkins/workspace/elease-
|
|
42
|
+
"_where": "/jenkins/workspace/elease-automation_release_28.1.1/packages/included",
|
|
43
43
|
"author": {
|
|
44
44
|
"name": "Syncfusion Inc."
|
|
45
45
|
},
|
|
46
46
|
"bundleDependencies": false,
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@syncfusion/ej2-base": "~
|
|
49
|
-
"@syncfusion/ej2-data": "~
|
|
50
|
-
"@syncfusion/ej2-inputs": "~
|
|
51
|
-
"@syncfusion/ej2-lists": "~
|
|
52
|
-
"@syncfusion/ej2-navigations": "~
|
|
53
|
-
"@syncfusion/ej2-notifications": "~
|
|
54
|
-
"@syncfusion/ej2-popups": "~
|
|
48
|
+
"@syncfusion/ej2-base": "~28.1.33",
|
|
49
|
+
"@syncfusion/ej2-data": "~28.1.33",
|
|
50
|
+
"@syncfusion/ej2-inputs": "~28.1.33",
|
|
51
|
+
"@syncfusion/ej2-lists": "~28.1.33",
|
|
52
|
+
"@syncfusion/ej2-navigations": "~28.1.33",
|
|
53
|
+
"@syncfusion/ej2-notifications": "~28.1.33",
|
|
54
|
+
"@syncfusion/ej2-popups": "~28.1.33"
|
|
55
55
|
},
|
|
56
56
|
"deprecated": false,
|
|
57
57
|
"description": "Essential JS 2 DropDown Components",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"module": "./index.js",
|
|
77
77
|
"name": "@syncfusion/ej2-dropdowns",
|
|
78
78
|
"typings": "index.d.ts",
|
|
79
|
-
"version": "
|
|
79
|
+
"version": "28.1.33",
|
|
80
80
|
"sideEffects": false,
|
|
81
81
|
"homepage": "https://www.syncfusion.com/javascript-ui-controls"
|
|
82
82
|
}
|
|
@@ -234,11 +234,11 @@ var AutoComplete = /** @class */ (function (_super) {
|
|
|
234
234
|
});
|
|
235
235
|
this.list.appendChild(virtualElement).appendChild(this.list.querySelector('.e-list-parent'));
|
|
236
236
|
}
|
|
237
|
-
if (!this.list.querySelector('.e-virtual-ddl') &&
|
|
237
|
+
if (!this.list.querySelector('.e-virtual-ddl') && this.list.parentElement) {
|
|
238
238
|
var virtualElement = this.createElement('div', {
|
|
239
239
|
id: this.element.id + '_popup', className: 'e-virtual-ddl', styles: this.GetVirtualTrackHeight()
|
|
240
240
|
});
|
|
241
|
-
|
|
241
|
+
this.list.parentElement.querySelector('.e-dropdownbase').appendChild(virtualElement);
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
244
|
if ((this.getModuleName() === 'autocomplete' && !(this.dataSource instanceof DataManager)) || (this.getModuleName() === 'autocomplete' && (this.dataSource instanceof DataManager) && this.totalItemCount !== 0)) {
|
|
@@ -273,6 +273,9 @@ var AutoComplete = /** @class */ (function (_super) {
|
|
|
273
273
|
if (!isNullOrUndefined(item)) {
|
|
274
274
|
removeClass([item], dropDownListClasses.focus);
|
|
275
275
|
}
|
|
276
|
+
if (!isNullOrUndefined(this.itemData) && !this.enableVirtualization) {
|
|
277
|
+
this.focusIndexItem();
|
|
278
|
+
}
|
|
276
279
|
this.postBackAction();
|
|
277
280
|
};
|
|
278
281
|
AutoComplete.prototype.postBackAction = function () {
|
|
@@ -326,7 +326,7 @@ var ComboBox = /** @class */ (function (_super) {
|
|
|
326
326
|
var inputValue = this.inputElement.value;
|
|
327
327
|
var dataSource = this.sortedData;
|
|
328
328
|
var type = this.typeOfData(dataSource).typeof;
|
|
329
|
-
var activeItem = Search(inputValue, this.liCollections, this.filterType, true, dataSource, this.fields, type);
|
|
329
|
+
var activeItem = Search(inputValue, this.liCollections, this.filterType, true, dataSource, this.fields, type, this.ignoreAccent);
|
|
330
330
|
if (this.enableVirtualization && inputValue !== '' && this.getModuleName() !== 'autocomplete' && this.isTyped && !this.allowFiltering) {
|
|
331
331
|
var updatingincrementalindex = false;
|
|
332
332
|
var isEndIndexValid = this.viewPortInfo.endIndex >= this.incrementalEndIndex &&
|
|
@@ -31,7 +31,7 @@ export declare function incrementalSearch(keyCode: number, items: HTMLElement[],
|
|
|
31
31
|
*/
|
|
32
32
|
export declare function Search(inputVal: string, items: HTMLElement[], searchType: SearchType, ignoreCase?: boolean, dataSource?: (string | number | boolean | {
|
|
33
33
|
[key: string]: Object;
|
|
34
|
-
})[], fields?: any, type?: string): {
|
|
34
|
+
})[], fields?: any, type?: string, ignoreAccent?: boolean): {
|
|
35
35
|
item: Element | null;
|
|
36
36
|
index: number | null;
|
|
37
37
|
};
|
|
@@ -123,7 +123,7 @@ export function incrementalSearch(keyCode, items, selectedIndex, ignoreCase, ele
|
|
|
123
123
|
* @param {string} [type] - Specifies the type.
|
|
124
124
|
* @returns {{ item: Element | null, index: number | null }} Returns the search matched items.
|
|
125
125
|
*/
|
|
126
|
-
export function Search(inputVal, items, searchType, ignoreCase, dataSource, fields, type) {
|
|
126
|
+
export function Search(inputVal, items, searchType, ignoreCase, dataSource, fields, type, ignoreAccent) {
|
|
127
127
|
var listItems = items;
|
|
128
128
|
ignoreCase = ignoreCase !== undefined && ignoreCase !== null ? ignoreCase : true;
|
|
129
129
|
var itemData = { item: null, index: null };
|
|
@@ -149,6 +149,10 @@ export function Search(inputVal, items, searchType, ignoreCase, dataSource, fiel
|
|
|
149
149
|
}
|
|
150
150
|
var text = dataSource && filterValue ? (ignoreCase ? filterValue.toString().toLocaleLowerCase() : filterValue).replace(/^\s+|\s+$/g, '') : (ignoreCase ? item.textContent.toLocaleLowerCase() : item.textContent).replace(/^\s+|\s+$/g, '');
|
|
151
151
|
/* eslint-disable security/detect-non-literal-regexp */
|
|
152
|
+
if (ignoreAccent && text && queryStr) {
|
|
153
|
+
text = text.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
|
|
154
|
+
queryStr = queryStr.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
|
|
155
|
+
}
|
|
152
156
|
if ((searchType === 'Equal' && text === queryStr) || (searchType === 'StartsWith' && text.substr(0, strLength) === queryStr) || (searchType === 'EndsWith' && text.substr(text.length - queryStr.length) === queryStr) || (searchType === 'Contains' && new RegExp(queryStr, 'g').test(text))) {
|
|
153
157
|
itemData.item = item;
|
|
154
158
|
itemData.index = i;
|
|
@@ -491,7 +491,8 @@ var VirtualScroll = /** @class */ (function () {
|
|
|
491
491
|
direction: direction, sentinelInfo: info, offsets: e,
|
|
492
492
|
startIndex: this.parent.previousStartIndex, endIndex: this.parent.previousEndIndex
|
|
493
493
|
};
|
|
494
|
-
var vHeight = this.parent.popupContentElement
|
|
494
|
+
var vHeight = this.parent.popupContentElement ?
|
|
495
|
+
this.parent.popupContentElement.getBoundingClientRect().height : 0;
|
|
495
496
|
//Row Start and End Index calculation
|
|
496
497
|
var rowHeight = this.parent.listItemHeight;
|
|
497
498
|
var exactTopIndex = e.top / rowHeight;
|
|
@@ -1032,7 +1032,13 @@ var DropDownBase = /** @class */ (function (_super) {
|
|
|
1032
1032
|
var focusItem = this.fields.disabled ? listElement.querySelector('.' + dropDownBaseClasses.li + ':not(.e-disabled') : listElement.querySelector('.' + dropDownBaseClasses.li);
|
|
1033
1033
|
var selectedItem = listElement.querySelector('.' + dropDownBaseClasses.selected);
|
|
1034
1034
|
if (focusItem && !selectedItem) {
|
|
1035
|
-
|
|
1035
|
+
if (this.isVirtualizationEnabled && this.viewPortInfo.startIndex !== 0) {
|
|
1036
|
+
var elements = this.ulElement.querySelectorAll('li.' + dropDownBaseClasses.li + ':not(.e-virtual-list)' + ':not(.e-hide-listitem)');
|
|
1037
|
+
focusItem = elements && elements.length > 0 ? elements[2] : focusItem;
|
|
1038
|
+
}
|
|
1039
|
+
if (focusItem) {
|
|
1040
|
+
focusItem.classList.add(dropDownBaseClasses.focus);
|
|
1041
|
+
}
|
|
1036
1042
|
}
|
|
1037
1043
|
if (list.length <= 0) {
|
|
1038
1044
|
this.l10nUpdate();
|
|
@@ -1256,11 +1262,23 @@ var DropDownBase = /** @class */ (function (_super) {
|
|
|
1256
1262
|
new DataManager(dataSource).executeLocal(new Query().take(100))
|
|
1257
1263
|
: dataSource;
|
|
1258
1264
|
ulElement = this.templateListItem((this.getModuleName() === 'autocomplete') ? spliceData : dataSource, fields);
|
|
1265
|
+
if (this.isIncrementalRequest) {
|
|
1266
|
+
this.incrementalLiCollections = ulElement.querySelectorAll('.' + dropDownBaseClasses.li);
|
|
1267
|
+
this.incrementalUlElement = ulElement;
|
|
1268
|
+
this.incrementalListData = listData;
|
|
1269
|
+
return ulElement;
|
|
1270
|
+
}
|
|
1259
1271
|
if (this.isVirtualizationEnabled) {
|
|
1260
1272
|
var oldUlElement = this.list.querySelector('.e-list-parent');
|
|
1261
1273
|
var virtualUlElement = this.list.querySelector('.e-virtual-ddl-content');
|
|
1262
1274
|
if ((listData.length >= this.virtualizedItemsCount && oldUlElement && virtualUlElement) || (oldUlElement && virtualUlElement && this.isAllowFiltering) || (oldUlElement && virtualUlElement && this.getModuleName() === 'autocomplete')) {
|
|
1263
|
-
|
|
1275
|
+
if (this.getModuleName() === 'multiselect' && this.isCheckBoxSelection && this.appendUncheckList && this.list && this.list.querySelector('.e-active')) {
|
|
1276
|
+
virtualUlElement.appendChild(ulElement);
|
|
1277
|
+
isCheckBoxUpdate = true;
|
|
1278
|
+
}
|
|
1279
|
+
else {
|
|
1280
|
+
virtualUlElement.replaceChild(ulElement, oldUlElement);
|
|
1281
|
+
}
|
|
1264
1282
|
var reOrderList = this.list.querySelectorAll('.e-reorder');
|
|
1265
1283
|
if (this.list.querySelector('.e-virtual-ddl-content') && reOrderList && reOrderList.length > 0 && !isCheckBoxUpdate) {
|
|
1266
1284
|
this.list.querySelector('.e-virtual-ddl-content').removeChild(reOrderList[0]);
|
|
@@ -1537,7 +1555,7 @@ var DropDownBase = /** @class */ (function (_super) {
|
|
|
1537
1555
|
updateData.dataSource = this.dataSource;
|
|
1538
1556
|
}
|
|
1539
1557
|
if (this.getModuleName() === 'listbox') {
|
|
1540
|
-
if (!this.isReact || (this.isReact && !isNullOrUndefined(newProp.dataSource))) {
|
|
1558
|
+
if (!this.isReact || (this.isReact && (!isNullOrUndefined(newProp.dataSource) || !isNullOrUndefined(newProp.sortOrder)))) {
|
|
1541
1559
|
this.updateDataSource(updateData, oldProp);
|
|
1542
1560
|
}
|
|
1543
1561
|
}
|
|
@@ -166,6 +166,15 @@ export interface DropDownListModel extends DropDownBaseModel{
|
|
|
166
166
|
*/
|
|
167
167
|
enableVirtualization?: boolean;
|
|
168
168
|
|
|
169
|
+
/**
|
|
170
|
+
* Gets or sets a value that indicates whether the DropDownList popup can be resized.
|
|
171
|
+
* When set to `true`, a resize handle appears in the bottom-right corner of the popup,
|
|
172
|
+
* allowing the user to resize the width and height of the popup.
|
|
173
|
+
*
|
|
174
|
+
* @default false
|
|
175
|
+
*/
|
|
176
|
+
allowResize?: boolean;
|
|
177
|
+
|
|
169
178
|
/**
|
|
170
179
|
* Gets or sets the display text of the selected item in the component.
|
|
171
180
|
*
|
|
@@ -280,4 +289,26 @@ export interface DropDownListModel extends DropDownBaseModel{
|
|
|
280
289
|
*/
|
|
281
290
|
focus?: EmitType<Object>;
|
|
282
291
|
|
|
292
|
+
/**
|
|
293
|
+
* Triggers when the user finishes resizing the DropDown popup.
|
|
294
|
+
*
|
|
295
|
+
* @event resizeStop
|
|
296
|
+
*/
|
|
297
|
+
resizeStop?: EmitType<Object>;
|
|
298
|
+
|
|
299
|
+
/**
|
|
300
|
+
* Triggers continuously while the DropDown popup is being resized by the user.
|
|
301
|
+
* This event provides live updates on the width and height of the popup.
|
|
302
|
+
*
|
|
303
|
+
* @event resizing
|
|
304
|
+
*/
|
|
305
|
+
resizing?: EmitType<Object>;
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* Triggers when the user starts resizing the DropDown popup.
|
|
309
|
+
*
|
|
310
|
+
* @event resizeStart
|
|
311
|
+
*/
|
|
312
|
+
resizeStart?: EmitType<Object>;
|
|
313
|
+
|
|
283
314
|
}
|
|
@@ -110,6 +110,16 @@ export declare class DropDownList extends DropDownBase implements IInput {
|
|
|
110
110
|
protected isFocused: boolean;
|
|
111
111
|
private clearButton;
|
|
112
112
|
protected autoFill: boolean;
|
|
113
|
+
private resizer;
|
|
114
|
+
private isResizing;
|
|
115
|
+
private originalHeight;
|
|
116
|
+
private originalWidth;
|
|
117
|
+
private originalMouseX;
|
|
118
|
+
private originalMouseY;
|
|
119
|
+
private resizeHeight;
|
|
120
|
+
private resizeWidth;
|
|
121
|
+
private isUpdateHeaderHeight;
|
|
122
|
+
private isUpdateFooterHeight;
|
|
113
123
|
/**
|
|
114
124
|
* Sets CSS classes to the root element of the component that allows customization of appearance.
|
|
115
125
|
*
|
|
@@ -254,6 +264,14 @@ export declare class DropDownList extends DropDownBase implements IInput {
|
|
|
254
264
|
* @default false
|
|
255
265
|
*/
|
|
256
266
|
enableVirtualization: boolean;
|
|
267
|
+
/**
|
|
268
|
+
* Gets or sets a value that indicates whether the DropDownList popup can be resized.
|
|
269
|
+
* When set to `true`, a resize handle appears in the bottom-right corner of the popup,
|
|
270
|
+
* allowing the user to resize the width and height of the popup.
|
|
271
|
+
*
|
|
272
|
+
* @default false
|
|
273
|
+
*/
|
|
274
|
+
allowResize: boolean;
|
|
257
275
|
/**
|
|
258
276
|
* Gets or sets the display text of the selected item in the component.
|
|
259
277
|
*
|
|
@@ -355,6 +373,25 @@ export declare class DropDownList extends DropDownBase implements IInput {
|
|
|
355
373
|
* @event focus
|
|
356
374
|
*/
|
|
357
375
|
focus: EmitType<Object>;
|
|
376
|
+
/**
|
|
377
|
+
* Triggers when the user finishes resizing the DropDown popup.
|
|
378
|
+
*
|
|
379
|
+
* @event resizeStop
|
|
380
|
+
*/
|
|
381
|
+
resizeStop: EmitType<Object>;
|
|
382
|
+
/**
|
|
383
|
+
* Triggers continuously while the DropDown popup is being resized by the user.
|
|
384
|
+
* This event provides live updates on the width and height of the popup.
|
|
385
|
+
*
|
|
386
|
+
* @event resizing
|
|
387
|
+
*/
|
|
388
|
+
resizing: EmitType<Object>;
|
|
389
|
+
/**
|
|
390
|
+
* Triggers when the user starts resizing the DropDown popup.
|
|
391
|
+
*
|
|
392
|
+
* @event resizeStart
|
|
393
|
+
*/
|
|
394
|
+
resizeStart: EmitType<Object>;
|
|
358
395
|
/**
|
|
359
396
|
* * Constructor for creating the DropDownList component.
|
|
360
397
|
*
|
|
@@ -410,6 +447,8 @@ export declare class DropDownList extends DropDownBase implements IInput {
|
|
|
410
447
|
protected focusOutAction(e?: MouseEvent | KeyboardEventArgs): void;
|
|
411
448
|
protected onFocusOut(e?: MouseEvent | KeyboardEventArgs): void;
|
|
412
449
|
protected onFocus(e?: FocusEvent | MouseEvent | KeyboardEvent | TouchEvent): void;
|
|
450
|
+
protected resizingWireEvent(): void;
|
|
451
|
+
protected resizingUnWireEvent(): void;
|
|
413
452
|
private resetValueHandler;
|
|
414
453
|
protected wireEvent(): void;
|
|
415
454
|
protected bindCommonEvent(): void;
|
|
@@ -425,6 +464,9 @@ export declare class DropDownList extends DropDownBase implements IInput {
|
|
|
425
464
|
private wireListEvents;
|
|
426
465
|
private onSearch;
|
|
427
466
|
private onServerIncrementalSearch;
|
|
467
|
+
protected startResizing(event: MouseEvent | TouchEvent): void;
|
|
468
|
+
protected resizePopup(event?: MouseEvent | TouchEvent): void;
|
|
469
|
+
protected stopResizing(event: MouseEvent | TouchEvent): void;
|
|
428
470
|
protected onMouseClick(e: MouseEvent): void;
|
|
429
471
|
private onMouseOver;
|
|
430
472
|
private setHover;
|
|
@@ -535,7 +577,7 @@ export declare class DropDownList extends DropDownBase implements IInput {
|
|
|
535
577
|
[key: string]: Object;
|
|
536
578
|
}, index?: number): void;
|
|
537
579
|
private actionCompleteDataUpdate;
|
|
538
|
-
|
|
580
|
+
protected focusIndexItem(): void;
|
|
539
581
|
protected updateSelection(): void;
|
|
540
582
|
private updateSelectionList;
|
|
541
583
|
protected removeFocus(): void;
|
|
@@ -690,6 +732,7 @@ export interface DropDownListClassList {
|
|
|
690
732
|
backIcon: string;
|
|
691
733
|
filterBarClearIcon: string;
|
|
692
734
|
filterInput: string;
|
|
735
|
+
resizeIcon: string;
|
|
693
736
|
filterParent: string;
|
|
694
737
|
mobileFilter: string;
|
|
695
738
|
footer: string;
|