@leavittsoftware/web 2.18.0 → 2.19.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.
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PropertyValues } from 'lit';
|
|
1
2
|
import { Person } from '@leavittsoftware/lg-core-typescript';
|
|
2
3
|
import { TitaniumSingleSelectBase } from '../../titanium/single-select-base/single-select-base';
|
|
3
4
|
import '../profile-picture/profile-picture';
|
|
@@ -25,7 +26,15 @@ export declare class LeavittPersonSelect extends TitaniumSingleSelectBase<Partia
|
|
|
25
26
|
* Odata parts for the Person API call
|
|
26
27
|
*/
|
|
27
28
|
accessor odataParts: Array<string>;
|
|
29
|
+
/**
|
|
30
|
+
* Enables preloading of people for the default suggestion list. Only enable if you are searching a smaller subset of people.
|
|
31
|
+
*/
|
|
32
|
+
accessor enablePeoplePreloading: boolean;
|
|
33
|
+
accessor people: Array<Partial<Person>>;
|
|
34
|
+
firstUpdated(): Promise<void>;
|
|
35
|
+
updated(changedProps: PropertyValues<this>): Promise<void>;
|
|
28
36
|
searchTermToOData(searchTerm: string): string | null;
|
|
37
|
+
reloadPeople(): Promise<void>;
|
|
29
38
|
protected onInputChanged(searchTerm: string): void;
|
|
30
39
|
protected renderSelectedLeadingInputSlot(entity: Partial<Person>): import("lit-html").TemplateResult<1>;
|
|
31
40
|
protected renderSuggestion(person: Partial<Person>): import("lit-html").TemplateResult<1>;
|
|
@@ -45,8 +45,27 @@ let LeavittPersonSelect = class LeavittPersonSelect extends TitaniumSingleSelect
|
|
|
45
45
|
*/
|
|
46
46
|
get odataParts() { return this.#odataParts_accessor_storage; }
|
|
47
47
|
set odataParts(value) { this.#odataParts_accessor_storage = value; }
|
|
48
|
+
#enablePeoplePreloading_accessor_storage = false;
|
|
49
|
+
/**
|
|
50
|
+
* Enables preloading of people for the default suggestion list. Only enable if you are searching a smaller subset of people.
|
|
51
|
+
*/
|
|
52
|
+
get enablePeoplePreloading() { return this.#enablePeoplePreloading_accessor_storage; }
|
|
53
|
+
set enablePeoplePreloading(value) { this.#enablePeoplePreloading_accessor_storage = value; }
|
|
54
|
+
#people_accessor_storage = [];
|
|
55
|
+
get people() { return this.#people_accessor_storage; }
|
|
56
|
+
set people(value) { this.#people_accessor_storage = value; }
|
|
48
57
|
#doSearchDebouncer = new Debouncer((searchTerm) => this.#doSearch(searchTerm));
|
|
49
58
|
#abortController = new AbortController();
|
|
59
|
+
async firstUpdated() {
|
|
60
|
+
if (this.enablePeoplePreloading && !this.people.length && this.apiService) {
|
|
61
|
+
this.reloadPeople();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
async updated(changedProps) {
|
|
65
|
+
if (changedProps.has('people') && this.people) {
|
|
66
|
+
this.defaultSuggestions = this.people;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
50
69
|
searchTermToOData(searchTerm) {
|
|
51
70
|
const searchTokens = getSearchTokens(searchTerm);
|
|
52
71
|
if (searchTokens.length < 1) {
|
|
@@ -54,6 +73,21 @@ let LeavittPersonSelect = class LeavittPersonSelect extends TitaniumSingleSelect
|
|
|
54
73
|
}
|
|
55
74
|
return searchTokens.map((token) => `contains(tolower(FullName), '${token.toLowerCase()}')`).join(' and ');
|
|
56
75
|
}
|
|
76
|
+
async reloadPeople() {
|
|
77
|
+
this.people = await this.#getPeople();
|
|
78
|
+
}
|
|
79
|
+
async #getPeople() {
|
|
80
|
+
const odataParts = this.odataParts.filter((o) => !o.startsWith('top='));
|
|
81
|
+
try {
|
|
82
|
+
const get = this.apiService?.getAsync(`${this.apiControllerName}?${odataParts.join('&')}`);
|
|
83
|
+
const result = await get;
|
|
84
|
+
return result?.toList() ?? [];
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
this.dispatchEvent(new ShowSnackbarEvent(error));
|
|
88
|
+
}
|
|
89
|
+
return [];
|
|
90
|
+
}
|
|
57
91
|
async #doSearch(searchTerm) {
|
|
58
92
|
if (!searchTerm) {
|
|
59
93
|
return;
|
|
@@ -116,6 +150,12 @@ __decorate([
|
|
|
116
150
|
__decorate([
|
|
117
151
|
property({ type: Array })
|
|
118
152
|
], LeavittPersonSelect.prototype, "odataParts", null);
|
|
153
|
+
__decorate([
|
|
154
|
+
property({ type: Boolean, attribute: 'enable-people-preloading' })
|
|
155
|
+
], LeavittPersonSelect.prototype, "enablePeoplePreloading", null);
|
|
156
|
+
__decorate([
|
|
157
|
+
property({ type: Array })
|
|
158
|
+
], LeavittPersonSelect.prototype, "people", null);
|
|
119
159
|
LeavittPersonSelect = __decorate([
|
|
120
160
|
customElement('leavitt-person-select')
|
|
121
161
|
], LeavittPersonSelect);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"person-select.js","sourceRoot":"","sources":["person-select.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,OAAO,
|
|
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": "2.
|
|
3
|
+
"version": "2.19.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": "e0871d1c340d87d9ffbc4e19a3e113de585a50bb"
|
|
44
44
|
}
|