@leavittsoftware/web 3.0.1 → 3.1.0
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.
|
@@ -31,6 +31,7 @@ export declare class LeavittPersonSelect extends TitaniumSingleSelectBase<Partia
|
|
|
31
31
|
* Enables preloading of people for the default suggestion list. Only enable if you are searching a smaller subset of people.
|
|
32
32
|
*/
|
|
33
33
|
accessor enablePeoplePreloading: boolean;
|
|
34
|
+
accessor searchType: 'local' | 'remote';
|
|
34
35
|
accessor people: Array<Partial<Person>>;
|
|
35
36
|
firstUpdated(): Promise<void>;
|
|
36
37
|
updated(changedProps: PropertyValues<this>): Promise<void>;
|
|
@@ -3,6 +3,7 @@ import { __decorate } from "tslib";
|
|
|
3
3
|
import { html } from 'lit';
|
|
4
4
|
import { customElement, property } from 'lit/decorators.js';
|
|
5
5
|
import { TitaniumSingleSelectBase } from '../../titanium/single-select-base/single-select-base';
|
|
6
|
+
import Fuse from 'fuse.js';
|
|
6
7
|
import '../profile-picture/profile-picture';
|
|
7
8
|
import { Debouncer, getSearchTokens } from '../../titanium/helpers/helpers';
|
|
8
9
|
import { ShowSnackbarEvent } from '../../titanium/snackbar/show-snackbar-event';
|
|
@@ -54,6 +55,9 @@ let LeavittPersonSelect = class LeavittPersonSelect extends TitaniumSingleSelect
|
|
|
54
55
|
*/
|
|
55
56
|
get enablePeoplePreloading() { return this.#enablePeoplePreloading_accessor_storage; }
|
|
56
57
|
set enablePeoplePreloading(value) { this.#enablePeoplePreloading_accessor_storage = value; }
|
|
58
|
+
#searchType_accessor_storage = 'remote';
|
|
59
|
+
get searchType() { return this.#searchType_accessor_storage; }
|
|
60
|
+
set searchType(value) { this.#searchType_accessor_storage = value; }
|
|
57
61
|
#people_accessor_storage = [];
|
|
58
62
|
get people() { return this.#people_accessor_storage; }
|
|
59
63
|
set people(value) { this.#people_accessor_storage = value; }
|
|
@@ -92,31 +96,47 @@ let LeavittPersonSelect = class LeavittPersonSelect extends TitaniumSingleSelect
|
|
|
92
96
|
return [];
|
|
93
97
|
}
|
|
94
98
|
async #doSearch(searchTerm) {
|
|
99
|
+
this.#abortController.abort();
|
|
100
|
+
this.#abortController = new AbortController();
|
|
95
101
|
if (!searchTerm) {
|
|
96
102
|
return;
|
|
97
103
|
}
|
|
98
|
-
this
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
104
|
+
if (this.searchType === 'local') {
|
|
105
|
+
const options = {
|
|
106
|
+
includeScore: true,
|
|
107
|
+
keys: ['FullName'],
|
|
108
|
+
shouldSort: true,
|
|
109
|
+
threshold: 0.3,
|
|
110
|
+
};
|
|
111
|
+
if (this.searchTerm) {
|
|
112
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
113
|
+
const fuse = new Fuse(this.people, options);
|
|
114
|
+
const fuseResults = fuse.search(searchTerm);
|
|
115
|
+
this.showSuggestions(fuseResults.map((o) => o.item).slice(0, 15), fuseResults.length);
|
|
111
116
|
}
|
|
112
|
-
const get = this.apiService.getAsync(`${this.apiControllerName}?${oDataParts.join('&')}`, { abortController: this.#abortController });
|
|
113
|
-
this.loadWhile(get);
|
|
114
|
-
const result = await get;
|
|
115
|
-
this.showSuggestions(result?.entities ?? [], result?.odataCount ?? 0);
|
|
116
117
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
this.
|
|
118
|
+
else {
|
|
119
|
+
try {
|
|
120
|
+
const searchOData = this.searchTermToOData(searchTerm);
|
|
121
|
+
const oDataParts = structuredClone(this.odataParts);
|
|
122
|
+
if (searchOData) {
|
|
123
|
+
const existingFilterIndex = oDataParts.findIndex((o) => o.startsWith('filter=') || o.startsWith('$filter='));
|
|
124
|
+
if (existingFilterIndex > -1) {
|
|
125
|
+
oDataParts[existingFilterIndex] = [oDataParts[existingFilterIndex], searchOData].join(' and ');
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
oDataParts.push(`filter=${searchOData}`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
const get = this.apiService.getAsync(`${this.apiControllerName}?${oDataParts.join('&')}`, { abortController: this.#abortController });
|
|
132
|
+
this.loadWhile(get);
|
|
133
|
+
const result = await get;
|
|
134
|
+
this.showSuggestions(result?.entities ?? [], result?.odataCount ?? 0);
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
if (!error?.message?.includes('Abort error')) {
|
|
138
|
+
this.dispatchEvent(new ShowSnackbarEvent(error));
|
|
139
|
+
}
|
|
120
140
|
}
|
|
121
141
|
}
|
|
122
142
|
}
|
|
@@ -159,6 +179,9 @@ __decorate([
|
|
|
159
179
|
__decorate([
|
|
160
180
|
property({ type: Boolean, attribute: 'enable-people-preloading' })
|
|
161
181
|
], LeavittPersonSelect.prototype, "enablePeoplePreloading", null);
|
|
182
|
+
__decorate([
|
|
183
|
+
property({ type: String, attribute: 'search-type' })
|
|
184
|
+
], LeavittPersonSelect.prototype, "searchType", null);
|
|
162
185
|
__decorate([
|
|
163
186
|
property({ type: Array })
|
|
164
187
|
], LeavittPersonSelect.prototype, "people", null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"person-select.js","sourceRoot":"","sources":["person-select.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,OAAO,EAAkB,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;
|
|
1
|
+
{"version":3,"file":"person-select.js","sourceRoot":"","sources":["person-select.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leavittsoftware/web",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "",
|
|
6
6
|
"files": [
|
|
@@ -40,5 +40,5 @@
|
|
|
40
40
|
"url": "https://github.com/LeavittSoftware/titanium-elements/issues"
|
|
41
41
|
},
|
|
42
42
|
"homepage": "https://github.com/LeavittSoftware/titanium-elements/#readme",
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "77bb7d2b2d9359d4bfd2cbc465e40b5d6f7d5d9a"
|
|
44
44
|
}
|