@breadstone/mosaik-elements-foundation 0.0.151 → 0.0.152
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/Controls/Behaviors/AutoCompleteable.d.ts +45 -7
- package/Controls/Behaviors/AutoCompleteable.d.ts.map +1 -1
- package/Controls/Behaviors/AutoCompleteable.js +230 -21
- package/Controls/Behaviors/AutoCompleteable.js.map +1 -1
- package/Controls/Components/Inputs/AutoCompleteBox/AutoCompleteBoxElement.d.ts +236 -3
- package/Controls/Components/Inputs/AutoCompleteBox/AutoCompleteBoxElement.d.ts.map +1 -1
- package/Controls/Components/Inputs/AutoCompleteBox/AutoCompleteBoxElement.js +647 -9
- package/Controls/Components/Inputs/AutoCompleteBox/AutoCompleteBoxElement.js.map +1 -1
- package/Controls/Components/Inputs/AutoCompleteBox/AutoCompleteBoxElementIntl.d.ts +31 -0
- package/Controls/Components/Inputs/AutoCompleteBox/AutoCompleteBoxElementIntl.d.ts.map +1 -0
- package/Controls/Components/Inputs/AutoCompleteBox/AutoCompleteBoxElementIntl.js +50 -0
- package/Controls/Components/Inputs/AutoCompleteBox/AutoCompleteBoxElementIntl.js.map +1 -0
- package/Controls/Components/Inputs/AutoCompleteBox/AutoCompleteBoxElementTemplate.d.ts.map +1 -1
- package/Controls/Components/Inputs/AutoCompleteBox/AutoCompleteBoxElementTemplate.js +64 -10
- package/Controls/Components/Inputs/AutoCompleteBox/AutoCompleteBoxElementTemplate.js.map +1 -1
- package/Controls/Components/Inputs/AutoCompleteBox/IAutoCompleteBoxElementProps.d.ts +15 -1
- package/Controls/Components/Inputs/AutoCompleteBox/IAutoCompleteBoxElementProps.d.ts.map +1 -1
- package/Controls/Controllers/AutoCompleteController.d.ts +1 -0
- package/Controls/Controllers/AutoCompleteController.d.ts.map +1 -1
- package/Controls/Controllers/AutoCompleteController.js +22 -5
- package/Controls/Controllers/AutoCompleteController.js.map +1 -1
- package/Index.d.ts +1 -1
- package/Index.d.ts.map +1 -1
- package/Index.js.map +1 -1
- package/Routing/PathToRegexp.d.ts +1 -1
- package/custom-elements.json +707 -28
- package/package.json +3 -3
|
@@ -3,21 +3,22 @@ import type { CustomElement } from '../Components/Abstracts/CustomElement';
|
|
|
3
3
|
import { AutoCompleteTextSearchMode } from '../Types/AutoCompleteTextSearchMode';
|
|
4
4
|
import type { ControlBehaviorBase, ControlBehaviorReturn } from './Abstracts/Behavior';
|
|
5
5
|
/**
|
|
6
|
-
* Represents the events of the
|
|
6
|
+
* Represents the events of the {@link AutoCompletable} mixin.
|
|
7
7
|
*
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
10
10
|
export interface IAutoCompletableEvents {
|
|
11
|
-
populating: IEventEmitter<
|
|
12
|
-
populated: IEventEmitter<
|
|
11
|
+
populating: IEventEmitter<IAutoCompletePopulatingEventDetail>;
|
|
12
|
+
populated: IEventEmitter<IAutoCompletePopulatedEventDetail>;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
|
-
* Represents the
|
|
15
|
+
* Represents the {@link IAutoCompletable} interface.
|
|
16
16
|
*
|
|
17
17
|
* @public
|
|
18
18
|
*/
|
|
19
19
|
export interface IAutoCompletable {
|
|
20
20
|
filteredItems: Array<unknown>;
|
|
21
|
+
isPopulating: boolean;
|
|
21
22
|
onFilterCallback?(items: Array<unknown>): void;
|
|
22
23
|
onSelectCallback?(item: unknown): void;
|
|
23
24
|
getDisplayValue(item: unknown): string;
|
|
@@ -25,7 +26,43 @@ export interface IAutoCompletable {
|
|
|
25
26
|
updateSelectedItem(item: unknown): void;
|
|
26
27
|
}
|
|
27
28
|
/**
|
|
28
|
-
*
|
|
29
|
+
* Describes the detail payload for the populating event.
|
|
30
|
+
*
|
|
31
|
+
* @public
|
|
32
|
+
*/
|
|
33
|
+
export interface IAutoCompletePopulatingEventDetail extends IEventDetail {
|
|
34
|
+
searchText: string;
|
|
35
|
+
requestId: number;
|
|
36
|
+
signal: AbortSignal;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Describes the detail payload for the populated event.
|
|
40
|
+
*
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
43
|
+
export interface IAutoCompletePopulatedEventDetail extends IEventDetail {
|
|
44
|
+
searchText: string;
|
|
45
|
+
items: Array<unknown>;
|
|
46
|
+
requestId: number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Describes the context passed to asynchronous suggestion providers.
|
|
50
|
+
*
|
|
51
|
+
* @public
|
|
52
|
+
*/
|
|
53
|
+
export interface IAutoCompleteItemsRequestContext {
|
|
54
|
+
readonly searchText: string;
|
|
55
|
+
readonly requestId: number;
|
|
56
|
+
readonly signal: AbortSignal;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Represents a delegate that resolves suggestion items.
|
|
60
|
+
*
|
|
61
|
+
* @public
|
|
62
|
+
*/
|
|
63
|
+
export type AutoCompleteItemsProvider = (context: IAutoCompleteItemsRequestContext) => Array<unknown> | Promise<Array<unknown>>;
|
|
64
|
+
/**
|
|
65
|
+
* Represents the {@link IAutoCompleteableProps} interface.
|
|
29
66
|
*
|
|
30
67
|
* @public
|
|
31
68
|
*/
|
|
@@ -36,6 +73,7 @@ export interface IAutoCompleteableProps {
|
|
|
36
73
|
searchMode: AutoCompleteTextSearchMode;
|
|
37
74
|
displayMemberPath: string;
|
|
38
75
|
items: Array<unknown>;
|
|
76
|
+
itemsProvider: AutoCompleteItemsProvider | null;
|
|
39
77
|
}
|
|
40
78
|
/**
|
|
41
79
|
* @public
|
|
@@ -43,8 +81,8 @@ export interface IAutoCompleteableProps {
|
|
|
43
81
|
export declare const AutoCompleteable: <T extends ControlBehaviorBase<CustomElement>>(base: T) => ControlBehaviorReturn<T, IAutoCompleteableProps & IAutoCompletableEvents & IAutoCompletable>;
|
|
44
82
|
declare global {
|
|
45
83
|
interface HTMLElementEventMap {
|
|
46
|
-
populating: CustomEvent<
|
|
47
|
-
populated: CustomEvent<
|
|
84
|
+
populating: CustomEvent<IAutoCompletePopulatingEventDetail>;
|
|
85
|
+
populated: CustomEvent<IAutoCompletePopulatedEventDetail>;
|
|
48
86
|
}
|
|
49
87
|
}
|
|
50
88
|
//# sourceMappingURL=AutoCompleteable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoCompleteable.d.ts","sourceRoot":"","sources":["../../../src/Controls/Behaviors/AutoCompleteable.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,YAAY,EAA2B,MAAM,6BAA6B,CAAC;AAEnG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAI3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAIvF;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IAInC,UAAU,EAAE,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"AutoCompleteable.d.ts","sourceRoot":"","sources":["../../../src/Controls/Behaviors/AutoCompleteable.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,YAAY,EAA2B,MAAM,6BAA6B,CAAC;AAEnG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAI3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAIvF;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IAInC,UAAU,EAAE,aAAa,CAAC,kCAAkC,CAAC,CAAC;IAE9D,SAAS,EAAE,aAAa,CAAC,iCAAiC,CAAC,CAAC;CAI/D;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAI7B,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;IAMtB,gBAAgB,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAE/C,gBAAgB,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAEvC,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IAEvC,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CAI3C;AAED;;;;GAIG;AACH,MAAM,WAAW,kCAAmC,SAAQ,YAAY;IAIpE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;CAIvB;AAED;;;;GAIG;AACH,MAAM,WAAW,iCAAkC,SAAQ,YAAY;IAInE,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CAIrB;AAED;;;;GAIG;AACH,MAAM,WAAW,gCAAgC;IAI7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAIhC;AAED;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,EAAE,gCAAgC,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAEhI;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IAInC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,OAAO,CAAC;IAQjC,UAAU,EAAE,0BAA0B,CAAC;IAGvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACtB,aAAa,EAAE,yBAAyB,GAAG,IAAI,CAAC;CAInD;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,mBAAmB,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,KAAG,qBAAqB,CAAC,CAAC,EAAE,sBAAsB,GAAG,sBAAsB,GAAG,gBAAgB,CA+gBnL,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,mBAAmB;QACzB,UAAU,EAAE,WAAW,CAAC,kCAAkC,CAAC,CAAC;QAC5D,SAAS,EAAE,WAAW,CAAC,iCAAiC,CAAC,CAAC;KAC7D;CACJ"}
|
|
@@ -31,10 +31,17 @@ export const AutoCompleteable = (base) => {
|
|
|
31
31
|
_displayMemberPath;
|
|
32
32
|
_items;
|
|
33
33
|
_filteredItems;
|
|
34
|
+
_populateTimeoutHandle;
|
|
35
|
+
_searchText;
|
|
36
|
+
_itemsProvider;
|
|
37
|
+
_isPopulating;
|
|
38
|
+
_populateRequestIdCounter;
|
|
39
|
+
_activePopulateRequestId;
|
|
40
|
+
_activePopulateAbortController;
|
|
34
41
|
// #endregion
|
|
35
42
|
// #region Ctor
|
|
36
43
|
/**
|
|
37
|
-
* Constructs a new instance of the
|
|
44
|
+
* Constructs a new instance of the {@link AutoCompleteable} class.
|
|
38
45
|
*
|
|
39
46
|
* @public
|
|
40
47
|
*/
|
|
@@ -47,22 +54,30 @@ export const AutoCompleteable = (base) => {
|
|
|
47
54
|
this._displayMemberPath = '';
|
|
48
55
|
this._items = [];
|
|
49
56
|
this._filteredItems = [];
|
|
57
|
+
this._populateTimeoutHandle = null;
|
|
58
|
+
this._searchText = '';
|
|
59
|
+
this._itemsProvider = null;
|
|
60
|
+
this._isPopulating = false;
|
|
61
|
+
this._populateRequestIdCounter = 0;
|
|
62
|
+
this._activePopulateRequestId = 0;
|
|
63
|
+
this._activePopulateAbortController = null;
|
|
50
64
|
this._populating = new HTMLElementEventEmitter(this, 'populating');
|
|
51
65
|
this._populated = new HTMLElementEventEmitter(this, 'populated');
|
|
52
66
|
this._autoCompleteController = new AutoCompleteController(this, {
|
|
53
|
-
|
|
54
|
-
|
|
67
|
+
filterBehavior: 'empty',
|
|
68
|
+
filterCallback: (items) => {
|
|
69
|
+
this.onFilterCallback(items);
|
|
55
70
|
},
|
|
56
|
-
selectCallback: (
|
|
57
|
-
this.onSelectCallback(
|
|
71
|
+
selectCallback: (item) => {
|
|
72
|
+
this.onSelectCallback(item);
|
|
58
73
|
}
|
|
59
74
|
});
|
|
60
75
|
}
|
|
61
76
|
// #endregion
|
|
62
77
|
// #region Properties
|
|
63
78
|
/**
|
|
64
|
-
* Gets or sets the
|
|
65
|
-
* The default value is
|
|
79
|
+
* Gets or sets the {@link minimumPrefixLength} property.
|
|
80
|
+
* The default value is {@code 1}, which means the search will start after typing one character.
|
|
66
81
|
*
|
|
67
82
|
* @public
|
|
68
83
|
* @attr
|
|
@@ -74,11 +89,12 @@ export const AutoCompleteable = (base) => {
|
|
|
74
89
|
if (this._minimumPrefixLength !== value) {
|
|
75
90
|
this._minimumPrefixLength = value;
|
|
76
91
|
this.requestUpdate('minimumPrefixLength');
|
|
92
|
+
this.refreshFilter();
|
|
77
93
|
}
|
|
78
94
|
}
|
|
79
95
|
/**
|
|
80
|
-
* Gets or sets the
|
|
81
|
-
* The default value is
|
|
96
|
+
* Gets or sets the {@link minimumPopulateDelay} property.
|
|
97
|
+
* The default value is {@code 500}, which means the search will be delayed by 500 milliseconds after the last keystroke.
|
|
82
98
|
*
|
|
83
99
|
* @public
|
|
84
100
|
* @attr
|
|
@@ -90,11 +106,12 @@ export const AutoCompleteable = (base) => {
|
|
|
90
106
|
if (this._minimumPopulateDelay !== value) {
|
|
91
107
|
this._minimumPopulateDelay = value;
|
|
92
108
|
this.requestUpdate('minimumPopulateDelay');
|
|
109
|
+
this.refreshFilter();
|
|
93
110
|
}
|
|
94
111
|
}
|
|
95
112
|
/**
|
|
96
|
-
* Gets or sets the
|
|
97
|
-
* The default value is
|
|
113
|
+
* Gets or sets the {@link isTextCompletionEnabled} property.
|
|
114
|
+
* The default value is {@code false}, which means text completion is disabled.
|
|
98
115
|
*
|
|
99
116
|
* @public
|
|
100
117
|
* @attr
|
|
@@ -109,8 +126,8 @@ export const AutoCompleteable = (base) => {
|
|
|
109
126
|
}
|
|
110
127
|
}
|
|
111
128
|
/**
|
|
112
|
-
* Gets or sets the
|
|
113
|
-
* The default value is
|
|
129
|
+
* Gets or sets the {@link searchMode} property.
|
|
130
|
+
* The default value is {@link AutoCompleteTextSearchMode.Contains}, which means the search will match any part of the text.
|
|
114
131
|
*
|
|
115
132
|
* @public
|
|
116
133
|
* @attr
|
|
@@ -122,10 +139,11 @@ export const AutoCompleteable = (base) => {
|
|
|
122
139
|
if (this._searchMode !== value) {
|
|
123
140
|
this._searchMode = value;
|
|
124
141
|
this.requestUpdate('searchMode');
|
|
142
|
+
this.refreshFilter();
|
|
125
143
|
}
|
|
126
144
|
}
|
|
127
145
|
/**
|
|
128
|
-
* Gets or sets the
|
|
146
|
+
* Gets or sets the {@link displayMemberPath} property.
|
|
129
147
|
* The default value is an empty string, which means the item itself will be used for display.
|
|
130
148
|
*
|
|
131
149
|
* @public
|
|
@@ -138,10 +156,11 @@ export const AutoCompleteable = (base) => {
|
|
|
138
156
|
if (this._displayMemberPath !== value) {
|
|
139
157
|
this._displayMemberPath = value;
|
|
140
158
|
this.requestUpdate('displayMemberPath');
|
|
159
|
+
this.refreshFilter();
|
|
141
160
|
}
|
|
142
161
|
}
|
|
143
162
|
/**
|
|
144
|
-
* Gets or sets the
|
|
163
|
+
* Gets or sets the {@link items} property.
|
|
145
164
|
* The default value is an empty array, which means no items are available.
|
|
146
165
|
*
|
|
147
166
|
* @public
|
|
@@ -153,14 +172,13 @@ export const AutoCompleteable = (base) => {
|
|
|
153
172
|
if (this._items !== value) {
|
|
154
173
|
this._items = value;
|
|
155
174
|
this.requestUpdate('items');
|
|
175
|
+
this.refreshFilter();
|
|
156
176
|
}
|
|
157
177
|
}
|
|
158
178
|
/**
|
|
159
|
-
* Gets or sets the
|
|
160
|
-
* The default value is an empty array, which means no items are filtered.
|
|
179
|
+
* Gets or sets the filtered items.
|
|
161
180
|
*
|
|
162
181
|
* @public
|
|
163
|
-
* @readonly
|
|
164
182
|
*/
|
|
165
183
|
get filteredItems() {
|
|
166
184
|
return this._filteredItems;
|
|
@@ -171,9 +189,40 @@ export const AutoCompleteable = (base) => {
|
|
|
171
189
|
this.requestUpdate('filteredItems');
|
|
172
190
|
}
|
|
173
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* Gets or sets the asynchronous items provider.
|
|
194
|
+
* When assigned, the provider will be invoked for every search request instead of filtering the static {@link items} list.
|
|
195
|
+
*
|
|
196
|
+
* @public
|
|
197
|
+
*/
|
|
198
|
+
get itemsProvider() {
|
|
199
|
+
return this._itemsProvider;
|
|
200
|
+
}
|
|
201
|
+
set itemsProvider(value) {
|
|
202
|
+
if (this._itemsProvider !== value) {
|
|
203
|
+
this._itemsProvider = value;
|
|
204
|
+
this.requestUpdate('itemsProvider');
|
|
205
|
+
this.refreshFilter();
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Gets a value indicating whether the control is currently populating suggestions.
|
|
210
|
+
*
|
|
211
|
+
* @public
|
|
212
|
+
* @readonly
|
|
213
|
+
*/
|
|
214
|
+
get isPopulating() {
|
|
215
|
+
return this._isPopulating;
|
|
216
|
+
}
|
|
217
|
+
set isPopulating(value) {
|
|
218
|
+
if (this._isPopulating !== value) {
|
|
219
|
+
this._isPopulating = value;
|
|
220
|
+
this.requestUpdate('isPopulating');
|
|
221
|
+
}
|
|
222
|
+
}
|
|
174
223
|
/**
|
|
175
224
|
* Called when the items are being populated.
|
|
176
|
-
* Provides reference to
|
|
225
|
+
* Provides reference to {@link IAutoCompletePopulatingEventDetail} as event detail.
|
|
177
226
|
*
|
|
178
227
|
* @public
|
|
179
228
|
* @readonly
|
|
@@ -184,7 +233,7 @@ export const AutoCompleteable = (base) => {
|
|
|
184
233
|
}
|
|
185
234
|
/**
|
|
186
235
|
* Called when the items have been populated.
|
|
187
|
-
* Provides reference to
|
|
236
|
+
* Provides reference to {@link IAutoCompletePopulatedEventDetail} as event detail.
|
|
188
237
|
*
|
|
189
238
|
* @public
|
|
190
239
|
* @readonly
|
|
@@ -213,7 +262,8 @@ export const AutoCompleteable = (base) => {
|
|
|
213
262
|
* @public
|
|
214
263
|
*/
|
|
215
264
|
updateSearchText(searchText) {
|
|
216
|
-
this.
|
|
265
|
+
this._searchText = searchText;
|
|
266
|
+
this.scheduleFilterExecution();
|
|
217
267
|
}
|
|
218
268
|
/**
|
|
219
269
|
* @public
|
|
@@ -243,6 +293,149 @@ export const AutoCompleteable = (base) => {
|
|
|
243
293
|
onPopulated(args) {
|
|
244
294
|
this._populated.emit(args);
|
|
245
295
|
}
|
|
296
|
+
// #endregion
|
|
297
|
+
// #region Helpers
|
|
298
|
+
refreshFilter() {
|
|
299
|
+
if (!this._searchText && this.minimumPrefixLength > 0) {
|
|
300
|
+
this.cancelPendingRequest(true);
|
|
301
|
+
if (this._itemsProvider) {
|
|
302
|
+
this._items = [];
|
|
303
|
+
this.requestUpdate('items');
|
|
304
|
+
}
|
|
305
|
+
this.onFilterCallback([]);
|
|
306
|
+
const populatedDetail = {
|
|
307
|
+
searchText: this._searchText,
|
|
308
|
+
items: [],
|
|
309
|
+
requestId: 0
|
|
310
|
+
};
|
|
311
|
+
this.onPopulated(populatedDetail);
|
|
312
|
+
return;
|
|
313
|
+
}
|
|
314
|
+
this.scheduleFilterExecution();
|
|
315
|
+
}
|
|
316
|
+
scheduleFilterExecution() {
|
|
317
|
+
this.clearPopulateTimeout();
|
|
318
|
+
if (this.minimumPopulateDelay <= 0) {
|
|
319
|
+
this.executeFilter();
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
this._populateTimeoutHandle = window.setTimeout(() => {
|
|
323
|
+
this._populateTimeoutHandle = null;
|
|
324
|
+
this.executeFilter();
|
|
325
|
+
}, this.minimumPopulateDelay);
|
|
326
|
+
}
|
|
327
|
+
executeFilter() {
|
|
328
|
+
this.cancelPendingRequest(false);
|
|
329
|
+
const searchText = this._searchText;
|
|
330
|
+
const requestId = this.createPopulateRequestId();
|
|
331
|
+
const abortController = new AbortController();
|
|
332
|
+
this._activePopulateRequestId = requestId;
|
|
333
|
+
this._activePopulateAbortController = abortController;
|
|
334
|
+
this.isPopulating = true;
|
|
335
|
+
const populatingDetail = {
|
|
336
|
+
searchText,
|
|
337
|
+
requestId,
|
|
338
|
+
signal: abortController.signal
|
|
339
|
+
};
|
|
340
|
+
this.onPopulating(populatingDetail);
|
|
341
|
+
if (this._itemsProvider) {
|
|
342
|
+
if (searchText.length < this.minimumPrefixLength) {
|
|
343
|
+
this.completePopulate(requestId, searchText, [], true);
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
this.onFilterCallback([]);
|
|
347
|
+
this.consumeItemsFromProvider(requestId, searchText, abortController, this._itemsProvider);
|
|
348
|
+
return;
|
|
349
|
+
}
|
|
350
|
+
this.completePopulate(requestId, searchText, this.items, false);
|
|
351
|
+
}
|
|
352
|
+
clearPopulateTimeout() {
|
|
353
|
+
if (this._populateTimeoutHandle !== null) {
|
|
354
|
+
window.clearTimeout(this._populateTimeoutHandle);
|
|
355
|
+
this._populateTimeoutHandle = null;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
disconnectedCallback() {
|
|
359
|
+
this.clearPopulateTimeout();
|
|
360
|
+
this.cancelPendingRequest(true);
|
|
361
|
+
super.disconnectedCallback();
|
|
362
|
+
}
|
|
363
|
+
cancelPendingRequest(resetPopulating) {
|
|
364
|
+
if (this._activePopulateAbortController !== null) {
|
|
365
|
+
this._activePopulateAbortController.abort();
|
|
366
|
+
this._activePopulateAbortController = null;
|
|
367
|
+
}
|
|
368
|
+
this._activePopulateRequestId = 0;
|
|
369
|
+
if (resetPopulating) {
|
|
370
|
+
this.isPopulating = false;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
createPopulateRequestId() {
|
|
374
|
+
this._populateRequestIdCounter += 1;
|
|
375
|
+
return this._populateRequestIdCounter;
|
|
376
|
+
}
|
|
377
|
+
consumeItemsFromProvider(requestId, searchText, abortController, provider) {
|
|
378
|
+
try {
|
|
379
|
+
const result = provider({
|
|
380
|
+
requestId,
|
|
381
|
+
searchText,
|
|
382
|
+
signal: abortController.signal
|
|
383
|
+
});
|
|
384
|
+
if (isPromiseLike(result)) {
|
|
385
|
+
result
|
|
386
|
+
.then((items) => {
|
|
387
|
+
if (abortController.signal.aborted) {
|
|
388
|
+
return;
|
|
389
|
+
}
|
|
390
|
+
this.completePopulate(requestId, searchText, Array.isArray(items) ? items : [], true);
|
|
391
|
+
})
|
|
392
|
+
.catch((error) => {
|
|
393
|
+
if (abortController.signal.aborted) {
|
|
394
|
+
return;
|
|
395
|
+
}
|
|
396
|
+
this.handlePopulateError(requestId, searchText, error);
|
|
397
|
+
});
|
|
398
|
+
return;
|
|
399
|
+
}
|
|
400
|
+
this.completePopulate(requestId, searchText, Array.isArray(result) ? result : [], true);
|
|
401
|
+
}
|
|
402
|
+
catch (error) {
|
|
403
|
+
if (!abortController.signal.aborted) {
|
|
404
|
+
this.handlePopulateError(requestId, searchText, error);
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
handlePopulateError(requestId, searchText, _error) {
|
|
409
|
+
this.completePopulate(requestId, searchText, [], true);
|
|
410
|
+
}
|
|
411
|
+
completePopulate(requestId, searchText, items, shouldStoreItems) {
|
|
412
|
+
if (!this.isRequestActive(requestId)) {
|
|
413
|
+
return;
|
|
414
|
+
}
|
|
415
|
+
if (shouldStoreItems) {
|
|
416
|
+
this._items = items;
|
|
417
|
+
this.requestUpdate('items');
|
|
418
|
+
}
|
|
419
|
+
const sourceItems = shouldStoreItems ? items : this.items;
|
|
420
|
+
this._autoCompleteController.updateSearchText(sourceItems, searchText, this.minimumPrefixLength, this.searchMode, this.displayMemberPath);
|
|
421
|
+
const populatedDetail = {
|
|
422
|
+
searchText,
|
|
423
|
+
items: [...this.filteredItems],
|
|
424
|
+
requestId
|
|
425
|
+
};
|
|
426
|
+
this.onPopulated(populatedDetail);
|
|
427
|
+
this.isPopulating = false;
|
|
428
|
+
this.clearActiveRequest(requestId);
|
|
429
|
+
}
|
|
430
|
+
isRequestActive(requestId) {
|
|
431
|
+
return requestId !== 0 && this._activePopulateRequestId === requestId;
|
|
432
|
+
}
|
|
433
|
+
clearActiveRequest(requestId) {
|
|
434
|
+
if (this._activePopulateRequestId === requestId) {
|
|
435
|
+
this._activePopulateRequestId = 0;
|
|
436
|
+
this._activePopulateAbortController = null;
|
|
437
|
+
}
|
|
438
|
+
}
|
|
246
439
|
}
|
|
247
440
|
__decorate([
|
|
248
441
|
Attribute({ type: Number }),
|
|
@@ -279,6 +472,16 @@ export const AutoCompleteable = (base) => {
|
|
|
279
472
|
__metadata("design:type", Array),
|
|
280
473
|
__metadata("design:paramtypes", [Array])
|
|
281
474
|
], AutoCompleteableElement.prototype, "filteredItems", null);
|
|
475
|
+
__decorate([
|
|
476
|
+
Property({ type: Function }),
|
|
477
|
+
__metadata("design:type", Object),
|
|
478
|
+
__metadata("design:paramtypes", [Object])
|
|
479
|
+
], AutoCompleteableElement.prototype, "itemsProvider", null);
|
|
480
|
+
__decorate([
|
|
481
|
+
Property({ type: Boolean }),
|
|
482
|
+
__metadata("design:type", Boolean),
|
|
483
|
+
__metadata("design:paramtypes", [Boolean])
|
|
484
|
+
], AutoCompleteableElement.prototype, "isPopulating", null);
|
|
282
485
|
__decorate([
|
|
283
486
|
Emit({ eventName: 'populating' }),
|
|
284
487
|
__metadata("design:type", Object),
|
|
@@ -291,4 +494,10 @@ export const AutoCompleteable = (base) => {
|
|
|
291
494
|
], AutoCompleteableElement.prototype, "populated", null);
|
|
292
495
|
return AutoCompleteableElement;
|
|
293
496
|
};
|
|
497
|
+
function isPromiseLike(value) {
|
|
498
|
+
if (value === null || value === undefined) {
|
|
499
|
+
return false;
|
|
500
|
+
}
|
|
501
|
+
return typeof value.then === 'function';
|
|
502
|
+
}
|
|
294
503
|
//# sourceMappingURL=AutoCompleteable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoCompleteable.js","sourceRoot":"","sources":["../../../src/Controls/Behaviors/AutoCompleteable.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AutoCompleteable.js","sourceRoot":"","sources":["../../../src/Controls/Behaviors/AutoCompleteable.ts"],"names":[],"mappings":"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"}
|