@lucca-front/ng 8.1.3 → 8.1.5-rc.1
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/esm2020/api/lib/service/api-v4.service.mjs +4 -2
- package/esm2020/formly/lib/types/api.mjs +6 -3
- package/fesm2015/lucca-front-ng-api.mjs +3 -1
- package/fesm2015/lucca-front-ng-api.mjs.map +1 -1
- package/fesm2015/lucca-front-ng-formly.mjs +5 -2
- package/fesm2015/lucca-front-ng-formly.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-api.mjs +3 -1
- package/fesm2020/lucca-front-ng-api.mjs.map +1 -1
- package/fesm2020/lucca-front-ng-formly.mjs +5 -2
- package/fesm2020/lucca-front-ng-formly.mjs.map +1 -1
- package/formly/lib/types/api.d.ts +1 -0
- package/package.json +1 -1
|
@@ -19,7 +19,9 @@ export class LuApiV4Service extends ALuApiService {
|
|
|
19
19
|
return this._filters;
|
|
20
20
|
}
|
|
21
21
|
set sort(sort) {
|
|
22
|
-
|
|
22
|
+
if (sort) {
|
|
23
|
+
this._sort = `sort=${sort}`;
|
|
24
|
+
}
|
|
23
25
|
}
|
|
24
26
|
getAll(filters = []) {
|
|
25
27
|
const query = [...this.filters, ...filters, this._sort].filter((f) => !!f);
|
|
@@ -66,4 +68,4 @@ LuApiV4Service.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", versi
|
|
|
66
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: LuApiV4Service, decorators: [{
|
|
67
69
|
type: Injectable
|
|
68
70
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXY0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9hcGkvc3JjL2xpYi9zZXJ2aWNlL2FwaS12NC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBR3BELE1BQU0sT0FBTyxjQUFrRCxTQUFRLGFBQWdCO0lBcUJ0RixZQUFzQixLQUFpQjtRQUN0QyxLQUFLLEVBQUUsQ0FBQztRQURhLFVBQUssR0FBTCxLQUFLLENBQVk7UUFmN0IsYUFBUSxHQUFhLEVBQUUsQ0FBQztJQWlCbEMsQ0FBQztJQXJCRCxJQUFJLEdBQUcsQ0FBQyxHQUFXO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFHRCxJQUFJLE9BQU8sQ0FBQyxPQUFpQjtRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQUksT0FBTztRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN0QixDQUFDO0lBR0QsSUFBSSxJQUFJLENBQUMsSUFBWTtRQUNwQixJQUFJLElBQUksRUFBRTtZQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxJQUFJLEVBQUUsQ0FBQztTQUM1QjtJQUNGLENBQUM7SUFNRCxNQUFNLENBQUMsVUFBb0IsRUFBRTtRQUM1QixNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFD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b20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSUx1QXBpSXRlbSB9IGZyb20gJy4uL2FwaS5tb2RlbCc7XHJcbmltcG9ydCB7IEFMdUFwaVNlcnZpY2UgfSBmcm9tICcuL2FwaS1zZXJ2aWNlLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEx1QXBpVjRTZXJ2aWNlPFQgZXh0ZW5kcyBJTHVBcGlJdGVtID0gSUx1QXBpSXRlbT4gZXh0ZW5kcyBBTHVBcGlTZXJ2aWNlPFQ+IHtcclxuXHRwcm90ZWN0ZWQgX2FwaTogc3RyaW5nO1xyXG5cdHNldCBhcGkoYXBpOiBzdHJpbmcpIHtcclxuXHRcdHRoaXMuX2FwaSA9IGFwaTtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBfZmlsdGVyczogc3RyaW5nW10gPSBbXTtcclxuXHRzZXQgZmlsdGVycyhmaWx0ZXJzOiBzdHJpbmdbXSkge1xyXG5cdFx0dGhpcy5fZmlsdGVycyA9IGZpbHRlcnMgfHwgW107XHJcblx0fVxyXG5cdGdldCBmaWx0ZXJzKCk6IHN0cmluZ1tdIHtcclxuXHRcdHJldHVybiB0aGlzLl9maWx0ZXJzO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF9zb3J0OiBzdHJpbmc7XHJcblx0c2V0IHNvcnQoc29ydDogc3RyaW5nKSB7XHJcblx0XHRpZiAoc29ydCkge1xyXG5cdFx0XHR0aGlzLl9zb3J0ID0gYHNvcnQ9JHtzb3J0fWA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2h0dHA6IEh0dHBDbGllbnQpIHtcclxuXHRcdHN1cGVyKCk7XHJcblx0fVxyXG5cclxuXHRnZXRBbGwoZmlsdGVyczogc3RyaW5nW10gPSBbXSk6IE9ic2VydmFibGU8VFtdPiB7XHJcblx0XHRjb25zdCBxdWVyeSA9IFsuLi50aGlzLmZpbHRlcnMsIC4uLmZpbHRlcnMsIHRoaXMuX3NvcnRdLmZpbHRlcigoZikgPT4gISFmKTtcclxuXHRcdGNvbnN0IHVybCA9IFt0aGlzLl9hcGksIHF1ZXJ5LmpvaW4oJyYnKV0uam9pbignPycpO1xyXG5cdFx0cmV0dXJuIHRoaXMuX2h0dHAuZ2V0PHsgaXRlbXM6IFRbXSB9Pih1cmwpLnBpcGUobWFwKChyZXMpID0+IHJlcy5pdGVtcykpO1xyXG5cdH1cclxuXHRnZXRQYWdlZChwYWdlID0gMCwgZmlsdGVyczogc3RyaW5nW10gPSBbXSk6IE9ic2VydmFibGU8VFtdPiB7XHJcblx0XHRjb25zdCBxdWVyeSA9IFtgcGFnZT0ke3BhZ2UgKyAxfWAsIC4uLnRoaXMuZmlsdGVycywgLi4uZmlsdGVycywgdGhpcy5fc29ydF0uZmlsdGVyKChmKSA9PiAhIWYpO1xyXG5cdFx0Y29uc3QgdXJsID0gW3RoaXMuX2FwaSwgcXVlcnkuam9pbignJicpXS5qb2luKCc/Jyk7XHJcblx0XHRyZXR1cm4gdGhpcy5faHR0cC5nZXQ8eyBpdGVtczogVFtdIH0+KHVybCkucGlwZShtYXAoKHJlcykgPT4gcmVzLml0ZW1zKSk7XHJcblx0fVxyXG5cdHNlYXJjaEFsbChjbHVlID0gJycsIGZpbHRlcnM6IHN0cmluZ1tdID0gW10pOiBPYnNlcnZhYmxlPFRbXT4ge1xyXG5cdFx0aWYgKCFjbHVlKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLmdldEFsbChmaWx0ZXJzKTtcclxuXHRcdH1cclxuXHRcdGNvbnN0IHVybFNhZmVDbHVlcyA9IGNsdWVcclxuXHRcdFx0LnNwbGl0KCcgJylcclxuXHRcdFx0Lm1hcCgoYykgPT4gZW5jb2RlVVJJQ29tcG9uZW50KGMpKVxyXG5cdFx0XHQuam9pbignLCcpO1xyXG5cdFx0Y29uc3QgcXVlcnkgPSBbYHNlYXJjaD0ke3VybFNhZmVDbHVlc31gLCAuLi50aGlzLmZpbHRlcnMsIC4uLmZpbHRlcnMsIHRoaXMuX3NvcnRdLmZpbHRlcigoZikgPT4gISFmKTtcclxuXHRcdGNvbnN0IHVybCA9IFt0aGlzLl9hcGksIHF1ZXJ5LmpvaW4oJyYnKV0uam9pbignPycpO1xyXG5cdFx0cmV0dXJuIHRoaXMuX2h0dHAuZ2V0PHsgaXRlbXM6IFRbXSB9Pih1cmwpLnBpcGUobWFwKChyZXMpID0+IHJlcy5pdGVtcykpO1xyXG5cdH1cclxuXHRzZWFyY2hQYWdlZChjbHVlID0gJycsIHBhZ2UgPSAwLCBmaWx0ZXJzOiBzdHJpbmdbXSA9IFtdKTogT2JzZXJ2YWJsZTxUW10+IHtcclxuXHRcdGlmICghY2x1ZSkge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5nZXRQYWdlZChwYWdlLCBmaWx0ZXJzKTtcclxuXHRcdH1cclxuXHRcdGNvbnN0IHVybFNhZmVDbHVlcyA9IGNsdWVcclxuXHRcdFx0LnNwbGl0KCcgJylcclxuXHRcdFx0Lm1hcCgoYykgPT4gZW5jb2RlVVJJQ29tcG9uZW50KGMpKVxyXG5cdFx0XHQuam9pbignLCcpO1xyXG5cdFx0Y29uc3QgcXVlcnkgPSBbYHNlYXJjaD0ke3VybFNhZmVDbHVlc31gLCBgcGFnZT0ke3BhZ2UgKyAxfWAsIC4uLnRoaXMuZmlsdGVycywgLi4uZmlsdGVycywgdGhpcy5fc29ydF0uZmlsdGVyKChmKSA9PiAhIWYpO1xyXG5cdFx0Y29uc3QgdXJsID0gW3RoaXMuX2FwaSwgcXVlcnkuam9pbignJicpXS5qb2luKCc/Jyk7XHJcblx0XHRyZXR1cm4gdGhpcy5faHR0cC5nZXQ8eyBpdGVtczogVFtdIH0+KHVybCkucGlwZShtYXAoKHJlcykgPT4gcmVzLml0ZW1zKSk7XHJcblx0fVxyXG5cdGNvdW50KCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcblx0XHRjb25zdCBxdWVyeSA9IFsuLi50aGlzLmZpbHRlcnMsICdmaWVsZHMucm9vdD1jb3VudCcsICdsaW1pdD0wJ10uZmlsdGVyKChmKSA9PiAhIWYpO1xyXG5cdFx0Y29uc3QgdXJsID0gW3RoaXMuX2FwaSwgcXVlcnkuam9pbignJicpXS5qb2luKCc/Jyk7XHJcblx0XHRyZXR1cm4gdGhpcy5faHR0cC5nZXQ8eyBjb3VudDogbnVtYmVyIH0+KHVybCkucGlwZShtYXAoKHJlcykgPT4gcmVzLmNvdW50KSk7XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -15,6 +15,9 @@ export class LuFormlyFieldApi extends FieldType {
|
|
|
15
15
|
get _orderBy() {
|
|
16
16
|
return this.to['orderBy'];
|
|
17
17
|
}
|
|
18
|
+
get _sort() {
|
|
19
|
+
return this.to['sort'];
|
|
20
|
+
}
|
|
18
21
|
get _standard() {
|
|
19
22
|
return (this.to['standard'] || 'v3');
|
|
20
23
|
}
|
|
@@ -26,9 +29,9 @@ export class LuFormlyFieldApi extends FieldType {
|
|
|
26
29
|
}
|
|
27
30
|
}
|
|
28
31
|
LuFormlyFieldApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: LuFormlyFieldApi, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
-
LuFormlyFieldApi.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: LuFormlyFieldApi, selector: "lu-formly-field-api", usesInheritance: true, ngImport: i0, template: "<lu-api-select\r\n\tclass=\"textfield-input\"\r\n\t[formControl]=\"formControl\"\r\n\t[formlyAttributes]=\"field\"\r\n\t[multiple]=\"to['multiple']\"\r\n\t(focus)=\"focus()\"\r\n\t(blur)=\"blur()\"\r\n\t[placeholder]=\"to.placeholder\"\r\n\t[api]=\"_api\"\r\n\t[filters]=\"_filters\"\r\n\t[orderBy]=\"_orderBy\"\r\n\t[standard]=\"_standard\"\r\n>\r\n</lu-api-select>\r\n<span [attr.for]=\"id\" class=\"textfield-label\">{{ to.label }}</span>\r\n", styles: [":host{width:100%;display:inherit;align-items:inherit;flex-direction:inherit}\n", ":host-context(.mod-framed) lu-select{display:block}:host-context(.mod-framed) lu-api-select{display:block}:host-context(.mod-framed) lu-user-select{display:block}:host-context(.mod-framed) lu-date-select{display:block}:host-context(.mod-framed) lu-department-select{display:block}\n"], components: [{ type: i1.LuApiSelectInputComponent, selector: "lu-api-select", inputs: ["standard", "api", "fields", "filters", "orderBy", "sort"] }], directives: [{ type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.FormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }] });
|
|
32
|
+
LuFormlyFieldApi.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: LuFormlyFieldApi, selector: "lu-formly-field-api", usesInheritance: true, ngImport: i0, template: "<lu-api-select\r\n\tclass=\"textfield-input\"\r\n\t[formControl]=\"formControl\"\r\n\t[formlyAttributes]=\"field\"\r\n\t[multiple]=\"to['multiple']\"\r\n\t(focus)=\"focus()\"\r\n\t(blur)=\"blur()\"\r\n\t[placeholder]=\"to.placeholder\"\r\n\t[api]=\"_api\"\r\n\t[filters]=\"_filters\"\r\n\t[orderBy]=\"_orderBy\"\r\n\t[sort]=\"_sort\"\r\n\t[standard]=\"_standard\"\r\n>\r\n</lu-api-select>\r\n<span [attr.for]=\"id\" class=\"textfield-label\">{{ to.label }}</span>\r\n", styles: [":host{width:100%;display:inherit;align-items:inherit;flex-direction:inherit}\n", ":host-context(.mod-framed) lu-select{display:block}:host-context(.mod-framed) lu-api-select{display:block}:host-context(.mod-framed) lu-user-select{display:block}:host-context(.mod-framed) lu-date-select{display:block}:host-context(.mod-framed) lu-department-select{display:block}\n"], components: [{ type: i1.LuApiSelectInputComponent, selector: "lu-api-select", inputs: ["standard", "api", "fields", "filters", "orderBy", "sort"] }], directives: [{ type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.FormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }] });
|
|
30
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: LuFormlyFieldApi, decorators: [{
|
|
31
34
|
type: Component,
|
|
32
|
-
args: [{ selector: 'lu-formly-field-api', template: "<lu-api-select\r\n\tclass=\"textfield-input\"\r\n\t[formControl]=\"formControl\"\r\n\t[formlyAttributes]=\"field\"\r\n\t[multiple]=\"to['multiple']\"\r\n\t(focus)=\"focus()\"\r\n\t(blur)=\"blur()\"\r\n\t[placeholder]=\"to.placeholder\"\r\n\t[api]=\"_api\"\r\n\t[filters]=\"_filters\"\r\n\t[orderBy]=\"_orderBy\"\r\n\t[standard]=\"_standard\"\r\n>\r\n</lu-api-select>\r\n<span [attr.for]=\"id\" class=\"textfield-label\">{{ to.label }}</span>\r\n", styles: [":host{width:100%;display:inherit;align-items:inherit;flex-direction:inherit}\n", ":host-context(.mod-framed) lu-select{display:block}:host-context(.mod-framed) lu-api-select{display:block}:host-context(.mod-framed) lu-user-select{display:block}:host-context(.mod-framed) lu-date-select{display:block}:host-context(.mod-framed) lu-department-select{display:block}\n"] }]
|
|
35
|
+
args: [{ selector: 'lu-formly-field-api', template: "<lu-api-select\r\n\tclass=\"textfield-input\"\r\n\t[formControl]=\"formControl\"\r\n\t[formlyAttributes]=\"field\"\r\n\t[multiple]=\"to['multiple']\"\r\n\t(focus)=\"focus()\"\r\n\t(blur)=\"blur()\"\r\n\t[placeholder]=\"to.placeholder\"\r\n\t[api]=\"_api\"\r\n\t[filters]=\"_filters\"\r\n\t[orderBy]=\"_orderBy\"\r\n\t[sort]=\"_sort\"\r\n\t[standard]=\"_standard\"\r\n>\r\n</lu-api-select>\r\n<span [attr.for]=\"id\" class=\"textfield-label\">{{ to.label }}</span>\r\n", styles: [":host{width:100%;display:inherit;align-items:inherit;flex-direction:inherit}\n", ":host-context(.mod-framed) lu-select{display:block}:host-context(.mod-framed) lu-api-select{display:block}:host-context(.mod-framed) lu-user-select{display:block}:host-context(.mod-framed) lu-date-select{display:block}:host-context(.mod-framed) lu-department-select{display:block}\n"] }]
|
|
33
36
|
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvZm9ybWx5L3NyYy9saWIvdHlwZXMvYXBpLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvZm9ybWx5L3NyYy9saWIvdHlwZXMvYXBpLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBUTdDLGtFQUFrRTtBQUNsRSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsU0FBUztJQUM5QyxJQUFJLElBQUk7UUFDUCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFXLENBQUM7SUFDakMsQ0FBQztJQUNELElBQUksUUFBUTtRQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBYSxDQUFDO0lBQy9DLENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDWCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFXLENBQUM7SUFDckMsQ0FBQztJQUNELElBQUksS0FBSztRQUNSLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQVcsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxTQUFTO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFXLENBQUM7SUFDaEQsQ0FBQztJQUVELEtBQUs7UUFDSixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBSTtRQUNILElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7OzZHQXRCVyxnQkFBZ0I7aUdBQWhCLGdCQUFnQixrRkNYN0IscWRBZ0JBOzJGRExhLGdCQUFnQjtrQkFQNUIsU0FBUzsrQkFDQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdsdS1mb3JtbHktZmllbGQtYXBpJyxcclxuXHRzdHlsZVVybHM6IFsnZm9ybWx5LWZpZWxkLmNvbW1vbi5zY3NzJywgJ3NlbGVjdC5zY3NzJ10sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2FwaS5odG1sJyxcclxuXHQvLyBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtY2xhc3Mtc3VmZml4XHJcbmV4cG9ydCBjbGFzcyBMdUZvcm1seUZpZWxkQXBpIGV4dGVuZHMgRmllbGRUeXBlIHtcclxuXHRnZXQgX2FwaSgpIHtcclxuXHRcdHJldHVybiB0aGlzLnRvWydhcGknXSBhcyBzdHJpbmc7XHJcblx0fVxyXG5cdGdldCBfZmlsdGVycygpIHtcclxuXHRcdHJldHVybiAodGhpcy50b1snZmlsdGVycyddIHx8IFtdKSBhcyBzdHJpbmdbXTtcclxuXHR9XHJcblx0Z2V0IF9vcmRlckJ5KCkge1xyXG5cdFx0cmV0dXJuIHRoaXMudG9bJ29yZGVyQnknXSBhcyBzdHJpbmc7XHJcblx0fVxyXG5cdGdldCBfc29ydCgpIHtcclxuXHRcdHJldHVybiB0aGlzLnRvWydzb3J0J10gYXMgc3RyaW5nO1xyXG5cdH1cclxuXHRnZXQgX3N0YW5kYXJkKCkge1xyXG5cdFx0cmV0dXJuICh0aGlzLnRvWydzdGFuZGFyZCddIHx8ICd2MycpIGFzIHN0cmluZztcclxuXHR9XHJcblx0b3ZlcnJpZGUgcmVhZG9ubHkgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xyXG5cdGZvY3VzKCkge1xyXG5cdFx0dGhpcy50b1snX2lzRm9jdXNlZCddID0gdHJ1ZTtcclxuXHR9XHJcblx0Ymx1cigpIHtcclxuXHRcdHRoaXMudG9bJ19pc0ZvY3VzZWQnXSA9IGZhbHNlO1xyXG5cdH1cclxufVxyXG4iLCI8bHUtYXBpLXNlbGVjdFxyXG5cdGNsYXNzPVwidGV4dGZpZWxkLWlucHV0XCJcclxuXHRbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxyXG5cdFtmb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCJcclxuXHRbbXVsdGlwbGVdPVwidG9bJ211bHRpcGxlJ11cIlxyXG5cdChmb2N1cyk9XCJmb2N1cygpXCJcclxuXHQoYmx1cik9XCJibHVyKClcIlxyXG5cdFtwbGFjZWhvbGRlcl09XCJ0by5wbGFjZWhvbGRlclwiXHJcblx0W2FwaV09XCJfYXBpXCJcclxuXHRbZmlsdGVyc109XCJfZmlsdGVyc1wiXHJcblx0W29yZGVyQnldPVwiX29yZGVyQnlcIlxyXG5cdFtzb3J0XT1cIl9zb3J0XCJcclxuXHRbc3RhbmRhcmRdPVwiX3N0YW5kYXJkXCJcclxuPlxyXG48L2x1LWFwaS1zZWxlY3Q+XHJcbjxzcGFuIFthdHRyLmZvcl09XCJpZFwiIGNsYXNzPVwidGV4dGZpZWxkLWxhYmVsXCI+e3sgdG8ubGFiZWwgfX08L3NwYW4+XHJcbiJdfQ==
|
|
@@ -112,7 +112,9 @@ class LuApiV4Service extends ALuApiService {
|
|
|
112
112
|
return this._filters;
|
|
113
113
|
}
|
|
114
114
|
set sort(sort) {
|
|
115
|
-
|
|
115
|
+
if (sort) {
|
|
116
|
+
this._sort = `sort=${sort}`;
|
|
117
|
+
}
|
|
116
118
|
}
|
|
117
119
|
getAll(filters = []) {
|
|
118
120
|
const query = [...this.filters, ...filters, this._sort].filter((f) => !!f);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-api.mjs","sources":["../../../packages/ng/api/src/lib/select/feeder/api-feeder.model.ts","../../../packages/ng/api/src/lib/service/api-service.model.ts","../../../packages/ng/api/src/lib/service/api-v3.service.ts","../../../packages/ng/api/src/lib/service/api-v4.service.ts","../../../packages/ng/api/src/lib/service/api-hybrid.service.ts","../../../packages/ng/api/src/lib/select/feeder/api-feeder.component.ts","../../../packages/ng/api/src/lib/select/feeder/api-feeder.module.ts","../../../packages/ng/api/src/lib/select/searcher/api-searcher.model.ts","../../../packages/ng/api/src/lib/select/searcher/api-searcher.component.ts","../../../packages/ng/api/src/lib/select/searcher/api-searcher.component.html","../../../packages/ng/api/src/lib/select/searcher/api-searcher.module.ts","../../../packages/ng/api/src/lib/select/input/api-select-input.component.ts","../../../packages/ng/api/src/lib/select/input/api-select-input.component.html","../../../packages/ng/api/src/lib/select/input/api-select-input.module.ts","../../../packages/ng/api/src/lib/select/pager/api-pager.model.ts","../../../packages/ng/api/src/lib/select/pager/api-pager.component.ts","../../../packages/ng/api/src/lib/select/pager/api-pager.module.ts","../../../packages/ng/api/src/lib/select/api-select.module.ts","../../../packages/ng/api/src/lib/api.module.ts","../../../packages/ng/api/src/public-api.ts","../../../packages/ng/api/src/lucca-front-ng-api.ts"],"sourcesContent":["import { ILuOptionOperator } from '@lucca-front/ng/option';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { ILuApiItem } from '../../api.model';\r\nimport { ILuApiService } from '../../service/index';\r\n\r\nexport type ILuApiOptionFeeder<T extends ILuApiItem = ILuApiItem> = ILuOptionOperator<T>;\r\nexport interface ILuApiFeederService<T extends ILuApiItem = ILuApiItem> {\r\n\tgetAll(): Observable<T[]>;\r\n}\r\n\r\nexport abstract class ALuApiOptionFeeder<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>> implements ILuApiOptionFeeder<T> {\r\n\toutOptions$ = new BehaviorSubject<T[]>([]);\r\n\tprotected _service: S;\r\n\tconstructor(service: S) {\r\n\t\tthis._service = service;\r\n\t}\r\n\tonOpen() {\r\n\t\tthis._service.getAll().subscribe((items) => this.outOptions$.next(items));\r\n\t}\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport interface ILuApiService<T extends import('../api.model').ILuApiItem = import('../api.model').ILuApiItem> {\r\n\tgetAll(filters?: string[]): Observable<T[]>;\r\n\tgetPaged(page: number, filters?: string[]): Observable<T[]>;\r\n\tsearchAll(clue: string, filters?: string[]): Observable<T[]>;\r\n\tsearchPaged(clue: string, page: number, filters?: string[]): Observable<T[]>;\r\n}\r\n\r\nexport abstract class ALuApiService<T extends import('../api.model').ILuApiItem = import('../api.model').ILuApiItem> implements ILuApiService<T> {\r\n\tabstract getAll(filters?: string[]): Observable<T[]>;\r\n\tabstract getPaged(page: number, filters?: string[]): Observable<T[]>;\r\n\tabstract searchAll(clue: string, filters?: string[]): Observable<T[]>;\r\n\tabstract searchPaged(clue: string, page: number, filters?: string[]): Observable<T[]>;\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ILuApiCollectionResponse, ILuApiItem } from '../api.model';\r\nimport { ALuApiService } from './api-service.model';\r\n\r\nconst MAGIC_PAGE_SIZE = 20;\r\n\r\n@Injectable()\r\nexport class LuApiV3Service<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\r\n\tprotected _api: string;\r\n\tset api(api: string) {\r\n\t\tthis._api = api;\r\n\t}\r\n\tprotected _fields = 'fields=id,name';\r\n\tset fields(fields: string) {\r\n\t\tif (fields) {\r\n\t\t\tthis._fields = `fields=${fields}`;\r\n\t\t}\r\n\t}\r\n\tprotected _filters: string[] = [];\r\n\tset filters(filters: string[]) {\r\n\t\tif (filters) {\r\n\t\t\tthis._filters = filters || [];\r\n\t\t}\r\n\t}\r\n\tprotected _orderBy = 'orderBy=name,asc';\r\n\tset orderBy(orderBy: string) {\r\n\t\tif (orderBy) {\r\n\t\t\tthis._orderBy = `orderBy=${orderBy}`;\r\n\t\t}\r\n\t}\r\n\r\n\tget url() {\r\n\t\treturn `${this._api}?${[...this._filters, this._orderBy, this._fields].filter((f) => !!f).join('&')}`;\r\n\t}\r\n\r\n\tconstructor(protected _http: HttpClient) {\r\n\t\tsuper();\r\n\t}\r\n\r\n\tgetAll(filters: string[] = []): Observable<T[]> {\r\n\t\treturn this._get([this.url, ...filters].join('&'));\r\n\t}\r\n\r\n\tgetPaged(page: number, filters: string[] = []): Observable<T[]> {\r\n\t\tconst paging = `paging=${page * MAGIC_PAGE_SIZE},${MAGIC_PAGE_SIZE}`;\r\n\t\tconst url = [this.url, paging, ...filters].join('&');\r\n\t\treturn this._get(url);\r\n\t}\r\n\r\n\tsearchAll(clue: string, filters: string[] = []): Observable<T[]> {\r\n\t\tif (!clue) {\r\n\t\t\treturn this.getAll(filters);\r\n\t\t}\r\n\t\tconst url = [this.url, this._clueFilter(clue), ...filters].join('&');\r\n\t\treturn this._get(url);\r\n\t}\r\n\r\n\tsearchPaged(clue: string, page: number, filters: string[] = []): Observable<T[]> {\r\n\t\tif (!clue) {\r\n\t\t\treturn this.getPaged(page, filters);\r\n\t\t}\r\n\t\tconst paging = `paging=${page * MAGIC_PAGE_SIZE},${MAGIC_PAGE_SIZE}`;\r\n\t\tconst url = [this.url, this._clueFilter(clue), paging, ...filters].join('&');\r\n\t\treturn this._get(url);\r\n\t}\r\n\r\n\tprotected _get(url: string): Observable<T[]> {\r\n\t\treturn this._http.get<ILuApiCollectionResponse<T>>(url).pipe(map((response) => response.data.items));\r\n\t}\r\n\tprotected _clueFilter(clue: string) {\r\n\t\tconst urlSafeClue = encodeURIComponent(clue);\r\n\t\treturn `name=like,${urlSafeClue}`;\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ILuApiItem } from '../api.model';\r\nimport { ALuApiService } from './api-service.model';\r\n\r\n@Injectable()\r\nexport class LuApiV4Service<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\r\n\tprotected _api: string;\r\n\tset api(api: string) {\r\n\t\tthis._api = api;\r\n\t}\r\n\r\n\tprotected _filters: string[] = [];\r\n\tset filters(filters: string[]) {\r\n\t\tthis._filters = filters || [];\r\n\t}\r\n\tget filters(): string[] {\r\n\t\treturn this._filters;\r\n\t}\r\n\r\n\tprotected _sort: string;\r\n\tset sort(sort: string) {\r\n\t\tthis._sort = `sort=${sort}`;\r\n\t}\r\n\r\n\tconstructor(protected _http: HttpClient) {\r\n\t\tsuper();\r\n\t}\r\n\r\n\tgetAll(filters: string[] = []): Observable<T[]> {\r\n\t\tconst query = [...this.filters, ...filters, this._sort].filter((f) => !!f);\r\n\t\tconst url = [this._api, query.join('&')].join('?');\r\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\r\n\t}\r\n\tgetPaged(page = 0, filters: string[] = []): Observable<T[]> {\r\n\t\tconst query = [`page=${page + 1}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\r\n\t\tconst url = [this._api, query.join('&')].join('?');\r\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\r\n\t}\r\n\tsearchAll(clue = '', filters: string[] = []): Observable<T[]> {\r\n\t\tif (!clue) {\r\n\t\t\treturn this.getAll(filters);\r\n\t\t}\r\n\t\tconst urlSafeClues = clue\r\n\t\t\t.split(' ')\r\n\t\t\t.map((c) => encodeURIComponent(c))\r\n\t\t\t.join(',');\r\n\t\tconst query = [`search=${urlSafeClues}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\r\n\t\tconst url = [this._api, query.join('&')].join('?');\r\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\r\n\t}\r\n\tsearchPaged(clue = '', page = 0, filters: string[] = []): Observable<T[]> {\r\n\t\tif (!clue) {\r\n\t\t\treturn this.getPaged(page, filters);\r\n\t\t}\r\n\t\tconst urlSafeClues = clue\r\n\t\t\t.split(' ')\r\n\t\t\t.map((c) => encodeURIComponent(c))\r\n\t\t\t.join(',');\r\n\t\tconst query = [`search=${urlSafeClues}`, `page=${page + 1}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\r\n\t\tconst url = [this._api, query.join('&')].join('?');\r\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\r\n\t}\r\n\tcount(): Observable<number> {\r\n\t\tconst query = [...this.filters, 'fields.root=count', 'limit=0'].filter((f) => !!f);\r\n\t\tconst url = [this._api, query.join('&')].join('?');\r\n\t\treturn this._http.get<{ count: number }>(url).pipe(map((res) => res.count));\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ILuApiItem } from '../api.model';\r\nimport { ALuApiService } from './api-service.model';\r\nimport { LuApiV3Service } from './api-v3.service';\r\nimport { LuApiV4Service } from './api-v4.service';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class LuApiHybridService<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\r\n\tprivate _v3Service: LuApiV3Service<T>;\r\n\tprivate _v4Service: LuApiV4Service<T>;\r\n\r\n\tprivate _standard = 'v3';\r\n\tset standard(std: string) {\r\n\t\tthis._standard = std;\r\n\t}\r\n\r\n\t// both\r\n\tset api(api: string) {\r\n\t\tthis._v3Service.api = api;\r\n\t\tthis._v4Service.api = api;\r\n\t}\r\n\tset filters(filters: string[]) {\r\n\t\tthis._v3Service.filters = filters;\r\n\t\tthis._v4Service.filters = filters;\r\n\t}\r\n\r\n\t// api v3 only\r\n\tset fields(fields: string) {\r\n\t\tthis._v3Service.fields = fields;\r\n\t}\r\n\tset orderBy(orderBy: string) {\r\n\t\tthis._v3Service.orderBy = orderBy;\r\n\t}\r\n\r\n\t// api v4 only\r\n\tset sort(sort: string) {\r\n\t\tthis._v4Service.sort = sort;\r\n\t}\r\n\r\n\tprivate get _service(): ALuApiService<T> {\r\n\t\tswitch (this._standard) {\r\n\t\t\tcase 'v4':\r\n\t\t\t\treturn this._v4Service;\r\n\t\t\tcase 'v3':\r\n\t\t\tdefault:\r\n\t\t\t\treturn this._v3Service;\r\n\t\t}\r\n\t}\r\n\r\n\tconstructor(private _http: HttpClient) {\r\n\t\tsuper();\r\n\t\tthis._v3Service = new LuApiV3Service(this._http);\r\n\t\tthis._v4Service = new LuApiV4Service(this._http);\r\n\t}\r\n\r\n\tgetAll(filters: string[] = []): Observable<T[]> {\r\n\t\treturn this._service.getAll(filters);\r\n\t}\r\n\r\n\tgetPaged(page: number, filters: string[] = []): Observable<T[]> {\r\n\t\treturn this._service.getPaged(page, filters);\r\n\t}\r\n\r\n\tsearchAll(clue: string, filters: string[] = []): Observable<T[]> {\r\n\t\treturn this._service.searchAll(clue, filters);\r\n\t}\r\n\r\n\tsearchPaged(clue: string, page: number, filters: string[] = []): Observable<T[]> {\r\n\t\treturn this._service.searchPaged(clue, page, filters);\r\n\t}\r\n}\r\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, Input, Optional, Self, SkipSelf } from '@angular/core';\r\nimport { ALuOnOpenSubscriber, ILuOnOpenSubscriber } from '@lucca-front/ng/core';\r\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ILuApiItem } from '../../api.model';\r\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\r\nimport { ALuApiOptionFeeder } from './api-feeder.model';\r\n@Component({\r\n\tselector: 'lu-api-feeder',\r\n\ttemplate: '',\r\n\tstyleUrls: [],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuApiFeederComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnOpenSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuApiFeederComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuApiService,\r\n\t\t\tuseClass: LuApiHybridService,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuApiFeederComponent<T extends ILuApiItem = ILuApiItem> extends ALuApiOptionFeeder<T, LuApiHybridService<T>> implements ILuOptionOperator<T>, ILuOnOpenSubscriber {\r\n\toverride outOptions$ = new BehaviorSubject<T[]>([]);\r\n\tconstructor(\r\n\t\t@Inject(ALuApiService)\r\n\t\t@Optional()\r\n\t\t@SkipSelf()\r\n\t\thostService: LuApiHybridService<T>,\r\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\r\n\t) {\r\n\t\tsuper(hostService || selfService);\r\n\t}\r\n\r\n\t@Input() set standard(standard: string) {\r\n\t\tthis._service.standard = standard;\r\n\t}\r\n\t@Input() set api(api: string) {\r\n\t\tthis._service.api = api;\r\n\t}\r\n\t@Input() set fields(fields: string) {\r\n\t\tthis._service.fields = fields;\r\n\t}\r\n\t@Input() set filters(filters: string[]) {\r\n\t\tthis._service.filters = filters;\r\n\t}\r\n\t@Input() set orderBy(orderBy: string) {\r\n\t\tthis._service.orderBy = orderBy;\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuApiFeederComponent } from './api-feeder.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n\timports: [HttpClientModule],\r\n\tdeclarations: [LuApiFeederComponent],\r\n\texports: [LuApiFeederComponent],\r\n})\r\nexport class LuApiFeederModule {}\r\n","import { ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\r\nimport { merge, Observable, of, Subject } from 'rxjs';\r\nimport { catchError, map, mapTo, scan, share, startWith, switchMap } from 'rxjs/operators';\r\nimport { ILuApiService } from '../../service/index';\r\nimport { ILuApiOptionFeeder } from '../feeder/index';\r\n\r\nexport type ILuApiOptionSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> = ILuApiOptionFeeder<T>;\r\n\r\nexport abstract class ALuApiOptionSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\r\n\timplements ILuApiOptionFeeder<T>, ILuOnOpenSubscriber\r\n{\r\n\toutOptions$ = new Subject<T[]>();\r\n\tloading$: Observable<boolean>;\r\n\tempty$: Observable<boolean>;\r\n\r\n\tprotected _clue$: Observable<string>;\r\n\r\n\tset clue$(clue$: Observable<string>) {\r\n\t\t// this.initObservables(clue$);\r\n\t\tthis._clue$ = clue$;\r\n\t}\r\n\tconstructor(protected _service: S) {}\r\n\tinit() {\r\n\t\tthis.initObservables();\r\n\t}\r\n\tonOpen() {\r\n\t\tthis.resetClue();\r\n\t}\r\n\tonClose() {\r\n\t\tthis.clearOptions();\r\n\t}\r\n\tprotected initObservables() {\r\n\t\t// this._clue$ = clue$.pipe(share());\r\n\t\tconst results$ = this._clue$.pipe(\r\n\t\t\tswitchMap((clue) => this._service.searchAll(clue)),\r\n\t\t\tcatchError(() => of([])),\r\n\t\t\tshare(),\r\n\t\t);\r\n\r\n\t\tresults$.subscribe((items) => this.outOptions$.next(items));\r\n\t\tthis.loading$ = merge(this._clue$.pipe(mapTo(true)), results$.pipe(mapTo(false)));\r\n\t\tthis.empty$ = results$.pipe(map((o) => o.length === 0));\r\n\t}\r\n\tabstract resetClue();\r\n\tprotected clearOptions() {\r\n\t\tthis.outOptions$.next([]);\r\n\t}\r\n}\r\n\r\nexport type ILuApiOptionPagedSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> = ILuApiOptionSearcher<T>;\r\n\r\nexport abstract class ALuApiOptionPagedSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\r\n\textends ALuApiOptionSearcher<T, S>\r\n\timplements ILuApiOptionPagedSearcher<T>, ILuOnScrollBottomSubscriber\r\n{\r\n\toverride outOptions$ = new Subject<T[]>();\r\n\toverride loading$: Observable<boolean>;\r\n\tprotected _loading = false;\r\n\tprotected _page$ = new Subject<void>();\r\n\tprotected _isLastPage: boolean;\r\n\tprotected _options: T[] = [];\r\n\r\n\tconstructor(service: S) {\r\n\t\tsuper(service);\r\n\t}\r\n\toverride onOpen() {\r\n\t\tthis.resetClue();\r\n\t}\r\n\tonScrollBottom() {\r\n\t\tif (!this._loading && !this._isLastPage) {\r\n\t\t\tthis._page$.next();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected override initObservables() {\r\n\t\tconst pager$ = this._page$.pipe(\r\n\t\t\tscan((acc) => acc + 1, 0),\r\n\t\t\tstartWith(0),\r\n\t\t);\r\n\t\tconst query$ = this._clue$.pipe(\r\n\t\t\tswitchMap((clue) => pager$.pipe(map<number, [number, string]>((page) => [page, clue]))),\r\n\t\t\tshare(),\r\n\t\t);\r\n\r\n\t\tconst results$ = query$.pipe(\r\n\t\t\tswitchMap(([page, clue]) =>\r\n\t\t\t\tthis._service.searchPaged(clue, page).pipe(\r\n\t\t\t\t\tcatchError(() => of([])),\r\n\t\t\t\t\tmap<T[], [T[], number]>((items) => [items, page]),\r\n\t\t\t\t),\r\n\t\t\t),\r\n\t\t\tshare(),\r\n\t\t);\r\n\r\n\t\tresults$.subscribe(([items, page]) => {\r\n\t\t\tif (page === 0) {\r\n\t\t\t\tthis._options = [...items];\r\n\t\t\t} else {\r\n\t\t\t\tthis._options.push(...items);\r\n\t\t\t}\r\n\t\t\tthis._isLastPage = !items.length;\r\n\t\t\tthis.outOptions$.next([...this._options]);\r\n\t\t});\r\n\t\tthis.loading$ = merge(query$.pipe(mapTo(true)), results$.pipe(mapTo(false)));\r\n\t\tthis.loading$.subscribe((l) => (this._loading = l));\r\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => o.length === 0));\r\n\t}\r\n\tabstract override resetClue();\r\n}\r\n","import { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Inject, Input, OnInit, Optional, Self, SkipSelf, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\r\nimport { ALuOptionOperator } from '@lucca-front/ng/option';\r\nimport { Observable } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\r\nimport { ALuApiOptionPagedSearcher, ALuApiOptionSearcher } from './api-searcher.model';\r\n\r\n@Component({\r\n\tselector: 'lu-api-searcher',\r\n\ttemplateUrl: 'api-searcher.component.html',\r\n\tstyleUrls: ['api-searcher.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuApiSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnOpenSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuApiSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuApiService,\r\n\t\t\tuseClass: LuApiHybridService,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuApiSearcherComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> extends ALuApiOptionSearcher<T, LuApiHybridService<T>> implements OnInit {\r\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\r\n\tsearchInput: ElementRef<HTMLElement>;\r\n\r\n\t@Input() set standard(standard: string) {\r\n\t\tthis._service.standard = standard;\r\n\t}\r\n\t@Input() set api(api: string) {\r\n\t\tthis._service.api = api;\r\n\t}\r\n\t@Input() set fields(fields: string) {\r\n\t\tthis._service.fields = fields;\r\n\t}\r\n\t@Input() set filters(filters: string[]) {\r\n\t\tthis._service.filters = filters;\r\n\t}\r\n\t@Input() set orderBy(orderBy: string) {\r\n\t\tthis._service.orderBy = orderBy;\r\n\t}\r\n\t@Input() set sort(sort: string) {\r\n\t\tthis._service.sort = sort;\r\n\t}\r\n\t@Input() debounceTime = 250;\r\n\r\n\tclueControl: FormControl;\r\n\tconstructor(\r\n\t\t@Inject(ALuApiService)\r\n\t\t@Optional()\r\n\t\t@SkipSelf()\r\n\t\thostService: LuApiHybridService<T>,\r\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\r\n\t) {\r\n\t\tsuper(hostService || selfService);\r\n\t}\r\n\tngOnInit() {\r\n\t\tthis.clueControl = new FormControl(undefined);\r\n\t\tthis.clue$ = this.clueControl.valueChanges.pipe(debounceTime(this.debounceTime)) as Observable<string>;\r\n\t\tsuper.init();\r\n\t}\r\n\r\n\toverride onOpen() {\r\n\t\tthis.searchInput.nativeElement.focus();\r\n\t\tsuper.onOpen();\r\n\t}\r\n\tresetClue() {\r\n\t\tthis.clueControl.setValue('');\r\n\t}\r\n}\r\n\r\n@Component({\r\n\tselector: 'lu-api-paged-searcher',\r\n\ttemplateUrl: 'api-searcher.component.html',\r\n\tstyleUrls: ['api-searcher.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnOpenSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnCloseSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuApiService,\r\n\t\t\tuseClass: LuApiHybridService,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuApiPagedSearcherComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem>\r\n\textends ALuApiOptionPagedSearcher<T, LuApiHybridService<T>>\r\n\timplements OnInit\r\n{\r\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\r\n\tsearchInput: ElementRef<HTMLElement>;\r\n\t@Input() set standard(standard: string) {\r\n\t\tthis._service.standard = standard;\r\n\t}\r\n\t@Input() set api(api: string) {\r\n\t\tthis._service.api = api;\r\n\t}\r\n\t@Input() set fields(fields: string) {\r\n\t\tthis._service.fields = fields;\r\n\t}\r\n\t@Input() set filters(filters: string[]) {\r\n\t\tthis._service.filters = filters;\r\n\t}\r\n\t@Input() set orderBy(orderBy: string) {\r\n\t\tthis._service.orderBy = orderBy;\r\n\t}\r\n\t@Input() set sort(sort: string) {\r\n\t\tthis._service.sort = sort;\r\n\t}\r\n\t@Input() debounceTime = 250;\r\n\r\n\tclueControl: FormControl;\r\n\tconstructor(@Inject(ALuApiService) @Optional() @SkipSelf() hostService: LuApiHybridService<T>, @Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>) {\r\n\t\tsuper(hostService || selfService);\r\n\t}\r\n\tngOnInit() {\r\n\t\tthis.clueControl = new FormControl(undefined);\r\n\t\tthis.clue$ = this.clueControl.valueChanges.pipe(debounceTime(this.debounceTime)) as Observable<string>;\r\n\t\tsuper.init();\r\n\t}\r\n\r\n\toverride onOpen() {\r\n\t\tthis.searchInput.nativeElement.focus();\r\n\t\tsuper.onOpen();\r\n\t}\r\n\tresetClue() {\r\n\t\tthis.clueControl.reset('');\r\n\t}\r\n}\r\n","<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\r\n\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\r\n</div>\r\n<lu-option-placeholder *ngIf=\"(empty$ | async) && (loading$ | async) === false\" (onClear)=\"resetClue()\"></lu-option-placeholder>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuApiSearcherComponent, LuApiPagedSearcherComponent } from './api-searcher.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LuOptionPlaceholderModule } from '@lucca-front/ng/option';\r\n\r\n@NgModule({\r\n\timports: [HttpClientModule, ReactiveFormsModule, CommonModule, LuOptionPlaceholderModule],\r\n\tdeclarations: [LuApiSearcherComponent, LuApiPagedSearcherComponent],\r\n\texports: [LuApiSearcherComponent, LuApiPagedSearcherComponent],\r\n})\r\nexport class LuApiSearcherModule {}\r\n","import { Overlay } from '@angular/cdk/overlay';\r\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, Input, Renderer2, ViewContainerRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ILuOptionItem, LuOptionComparer, LuOptionPickerAdvancedComponent } from '@lucca-front/ng/option';\r\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\r\n\r\n@Component({\r\n\tselector: 'lu-api-select',\r\n\ttemplateUrl: './api-select-input.component.html',\r\n\tstyleUrls: ['./api-select-input.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => LuApiSelectInputComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuApiSelectInputComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem>\r\n\textends ALuSelectInputComponent<T, LuOptionPickerAdvancedComponent<T, ILuOptionItem<T>>>\r\n\timplements ControlValueAccessor, AfterViewInit\r\n{\r\n\t@Input() standard: string;\r\n\t@Input() api: string;\r\n\t@Input() fields: string;\r\n\t@Input() filters: string[];\r\n\t@Input() orderBy: string;\r\n\t@Input() sort: string;\r\n\r\n\tbyId: LuOptionComparer<T> = (option1: T, option2: T) => option1 && option2 && option1.id === option2.id;\r\n\tconstructor(\r\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\r\n\t\tprotected override _overlay: Overlay,\r\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\r\n\t\tprotected override _viewContainerRef: ViewContainerRef,\r\n\t\tprotected override _renderer: Renderer2,\r\n\t) {\r\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\r\n\t}\r\n}\r\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\r\n<div class=\"lu-select-value\">\r\n\t<div class=\"lu-select-display-wrapper\">\r\n\t\t<ng-container #display></ng-container>\r\n\t</div>\r\n</div>\r\n<div class=\"lu-select-suffix\">\r\n\t<lu-input-clearer></lu-input-clearer>\r\n</div>\r\n<span [class.chip]=\"multiple\" *luDisplayer=\"let option\">{{ option.name }}</span>\r\n<lu-option-picker-advanced [option-comparer]=\"byId\">\r\n\t<header class=\"lu-picker-header\">\r\n\t\t<lu-api-paged-searcher\r\n\t\t\t[standard]=\"standard\"\r\n\t\t\t[api]=\"api\"\r\n\t\t\t[fields]=\"fields\"\r\n\t\t\t[filters]=\"filters\"\r\n\t\t\t[orderBy]=\"orderBy\"\r\n\t\t\t[sort]=\"sort\"\r\n\t\t></lu-api-paged-searcher>\r\n\t</header>\r\n\t<lu-option *luForOptions=\"let option\" [value]=\"option\">{{ option.name }}</lu-option>\r\n</lu-option-picker-advanced>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { LuInputClearerModule, LuInputDisplayerModule } from '@lucca-front/ng/input';\r\nimport { LuForOptionsModule, LuOptionPickerModule } from '@lucca-front/ng/option';\r\nimport { LuApiSearcherModule } from '../searcher/index';\r\nimport { LuApiSelectInputComponent } from './api-select-input.component';\r\n\r\n@NgModule({\r\n\timports: [CommonModule, LuOptionPickerModule, LuForOptionsModule, LuApiSearcherModule, LuInputClearerModule, LuInputDisplayerModule],\r\n\tdeclarations: [LuApiSelectInputComponent],\r\n\texports: [LuApiSelectInputComponent],\r\n})\r\nexport class LuApiSelectInputModule {}\r\n","import { ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\r\nimport { ILuOptionOperator } from '@lucca-front/ng/option';\r\nimport { merge, Observable, of, Subject } from 'rxjs';\r\nimport { catchError, distinctUntilChanged, map, mapTo, switchMap, tap } from 'rxjs/operators';\r\nimport { ILuApiItem } from '../../api.model';\r\nimport { ILuApiService } from '../../service/index';\r\n\r\nenum Strategy {\r\n\tappend,\r\n\treplace,\r\n}\r\nexport type ILuApiOptionPager<T extends ILuApiItem = ILuApiItem> = ILuOptionOperator<T>;\r\nexport interface ILuApiPagerService<T extends ILuApiItem = ILuApiItem> {\r\n\tgetPaged(page: number): Observable<T[]>;\r\n}\r\n\r\nexport abstract class ALuApiOptionPager<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\r\n\timplements ILuApiOptionPager<T>, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber\r\n{\r\n\toutOptions$ = new Subject<T[]>();\r\n\tloading$: Observable<boolean>;\r\n\r\n\tprotected _loading = false;\r\n\tprotected _results$: Observable<{ items: T[]; strategy: Strategy }>;\r\n\tprotected _options: T[] = [];\r\n\tprotected _page$ = new Subject<number>();\r\n\tprotected _page: number;\r\n\tprotected _initialized = false;\r\n\tconstructor(protected _service: S) {}\r\n\tprotected init() {\r\n\t\tthis.initObservables();\r\n\t}\r\n\tonOpen() {\r\n\t\tif (!this._initialized) {\r\n\t\t\tthis._page$.next(0);\r\n\t\t\tthis._initialized = true;\r\n\t\t}\r\n\t}\r\n\t// onClose() {\r\n\t// \tthis._page$.next(0);\r\n\t// }\r\n\tonScrollBottom() {\r\n\t\tif (!this._loading) {\r\n\t\t\tthis._page$.next(this._page + 1);\r\n\t\t}\r\n\t}\r\n\tprotected initObservables() {\r\n\t\tconst _results$: Observable<{ items: T[]; strategy: Strategy }> = this._page$.pipe(\r\n\t\t\tdistinctUntilChanged(),\r\n\t\t\ttap((p) => (this._page = p)),\r\n\t\t\tswitchMap((page) => {\r\n\t\t\t\tif (page === undefined) {\r\n\t\t\t\t\treturn of({ items: [] as T[], strategy: Strategy.replace });\r\n\t\t\t\t}\r\n\t\t\t\treturn this._service.getPaged(page).pipe(\r\n\t\t\t\t\tmap((items) => ({\r\n\t\t\t\t\t\titems: items,\r\n\t\t\t\t\t\tstrategy: page === 0 ? Strategy.replace : Strategy.append,\r\n\t\t\t\t\t})),\r\n\t\t\t\t);\r\n\t\t\t}),\r\n\t\t\tcatchError(() => of({ items: [] as T[], strategy: Strategy.replace })),\r\n\t\t\ttap((results) => {\r\n\t\t\t\tif (results.strategy === Strategy.replace) {\r\n\t\t\t\t\tthis._options = [...results.items];\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis._options.push(...results.items);\r\n\t\t\t\t}\r\n\t\t\t\tthis.outOptions$.next([...this._options]);\r\n\t\t\t}),\r\n\t\t);\r\n\r\n\t\tthis.loading$ = merge(this._page$.pipe(mapTo(true)), _results$.pipe(mapTo(false)));\r\n\t\tthis.loading$.subscribe((l) => (this._loading = l));\r\n\t}\r\n}\r\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, Input, OnInit, Optional, Self, SkipSelf } from '@angular/core';\r\nimport { ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\r\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\r\nimport { ILuApiItem } from '../../api.model';\r\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\r\nimport { ALuApiOptionPager } from './api-pager.model';\r\n\r\n@Component({\r\n\tselector: 'lu-api-pager',\r\n\ttemplate: '',\r\n\tstyleUrls: [],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuApiService,\r\n\t\t\tuseClass: LuApiHybridService,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnOpenSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuApiPagerComponent<T extends ILuApiItem = ILuApiItem>\r\n\textends ALuApiOptionPager<T, LuApiHybridService<T>>\r\n\timplements ILuOptionOperator<T>, OnInit, ILuOnScrollBottomSubscriber, ILuOnOpenSubscriber\r\n{\r\n\tconstructor(\r\n\t\t@Inject(ALuApiService)\r\n\t\t@Optional()\r\n\t\t@SkipSelf()\r\n\t\thostService: LuApiHybridService<T>,\r\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\r\n\t) {\r\n\t\tsuper(hostService || selfService);\r\n\t}\r\n\r\n\t@Input() set standard(standard: string) {\r\n\t\tthis._service.standard = standard;\r\n\t}\r\n\t@Input() set api(api: string) {\r\n\t\tthis._service.api = api;\r\n\t}\r\n\t@Input() set fields(fields: string) {\r\n\t\tthis._service.fields = fields;\r\n\t}\r\n\t@Input() set filters(filters: string[]) {\r\n\t\tthis._service.filters = filters;\r\n\t}\r\n\t@Input() set orderBy(orderBy: string) {\r\n\t\tthis._service.orderBy = orderBy;\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tsuper.init();\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuApiPagerComponent } from './api-pager.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n\timports: [HttpClientModule],\r\n\tdeclarations: [LuApiPagerComponent],\r\n\texports: [LuApiPagerComponent],\r\n})\r\nexport class LuApiPagerModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuApiFeederModule } from './feeder/index';\r\nimport { LuApiSelectInputModule } from './input/index';\r\nimport { LuApiPagerModule } from './pager/index';\r\nimport { LuApiSearcherModule } from './searcher/index';\r\n\r\n@NgModule({\r\n\timports: [LuApiFeederModule, LuApiSearcherModule, LuApiPagerModule, LuApiSelectInputModule],\r\n\texports: [LuApiFeederModule, LuApiSearcherModule, LuApiPagerModule, LuApiSelectInputModule],\r\n})\r\nexport class LuApiSelectModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuApiSelectModule } from './select/index';\r\n\r\n@NgModule({\r\n\timports: [LuApiSelectModule],\r\n\texports: [LuApiSelectModule],\r\n})\r\nexport class LuApiModule {}\r\n","/*\r\n * Public API Surface of safe-content\r\n */\r\n\r\nexport * from './index';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-api.mjs","sources":["../../../packages/ng/api/src/lib/select/feeder/api-feeder.model.ts","../../../packages/ng/api/src/lib/service/api-service.model.ts","../../../packages/ng/api/src/lib/service/api-v3.service.ts","../../../packages/ng/api/src/lib/service/api-v4.service.ts","../../../packages/ng/api/src/lib/service/api-hybrid.service.ts","../../../packages/ng/api/src/lib/select/feeder/api-feeder.component.ts","../../../packages/ng/api/src/lib/select/feeder/api-feeder.module.ts","../../../packages/ng/api/src/lib/select/searcher/api-searcher.model.ts","../../../packages/ng/api/src/lib/select/searcher/api-searcher.component.ts","../../../packages/ng/api/src/lib/select/searcher/api-searcher.component.html","../../../packages/ng/api/src/lib/select/searcher/api-searcher.module.ts","../../../packages/ng/api/src/lib/select/input/api-select-input.component.ts","../../../packages/ng/api/src/lib/select/input/api-select-input.component.html","../../../packages/ng/api/src/lib/select/input/api-select-input.module.ts","../../../packages/ng/api/src/lib/select/pager/api-pager.model.ts","../../../packages/ng/api/src/lib/select/pager/api-pager.component.ts","../../../packages/ng/api/src/lib/select/pager/api-pager.module.ts","../../../packages/ng/api/src/lib/select/api-select.module.ts","../../../packages/ng/api/src/lib/api.module.ts","../../../packages/ng/api/src/public-api.ts","../../../packages/ng/api/src/lucca-front-ng-api.ts"],"sourcesContent":["import { ILuOptionOperator } from '@lucca-front/ng/option';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { ILuApiItem } from '../../api.model';\r\nimport { ILuApiService } from '../../service/index';\r\n\r\nexport type ILuApiOptionFeeder<T extends ILuApiItem = ILuApiItem> = ILuOptionOperator<T>;\r\nexport interface ILuApiFeederService<T extends ILuApiItem = ILuApiItem> {\r\n\tgetAll(): Observable<T[]>;\r\n}\r\n\r\nexport abstract class ALuApiOptionFeeder<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>> implements ILuApiOptionFeeder<T> {\r\n\toutOptions$ = new BehaviorSubject<T[]>([]);\r\n\tprotected _service: S;\r\n\tconstructor(service: S) {\r\n\t\tthis._service = service;\r\n\t}\r\n\tonOpen() {\r\n\t\tthis._service.getAll().subscribe((items) => this.outOptions$.next(items));\r\n\t}\r\n}\r\n","import { Observable } from 'rxjs';\r\n\r\nexport interface ILuApiService<T extends import('../api.model').ILuApiItem = import('../api.model').ILuApiItem> {\r\n\tgetAll(filters?: string[]): Observable<T[]>;\r\n\tgetPaged(page: number, filters?: string[]): Observable<T[]>;\r\n\tsearchAll(clue: string, filters?: string[]): Observable<T[]>;\r\n\tsearchPaged(clue: string, page: number, filters?: string[]): Observable<T[]>;\r\n}\r\n\r\nexport abstract class ALuApiService<T extends import('../api.model').ILuApiItem = import('../api.model').ILuApiItem> implements ILuApiService<T> {\r\n\tabstract getAll(filters?: string[]): Observable<T[]>;\r\n\tabstract getPaged(page: number, filters?: string[]): Observable<T[]>;\r\n\tabstract searchAll(clue: string, filters?: string[]): Observable<T[]>;\r\n\tabstract searchPaged(clue: string, page: number, filters?: string[]): Observable<T[]>;\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ILuApiCollectionResponse, ILuApiItem } from '../api.model';\r\nimport { ALuApiService } from './api-service.model';\r\n\r\nconst MAGIC_PAGE_SIZE = 20;\r\n\r\n@Injectable()\r\nexport class LuApiV3Service<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\r\n\tprotected _api: string;\r\n\tset api(api: string) {\r\n\t\tthis._api = api;\r\n\t}\r\n\tprotected _fields = 'fields=id,name';\r\n\tset fields(fields: string) {\r\n\t\tif (fields) {\r\n\t\t\tthis._fields = `fields=${fields}`;\r\n\t\t}\r\n\t}\r\n\tprotected _filters: string[] = [];\r\n\tset filters(filters: string[]) {\r\n\t\tif (filters) {\r\n\t\t\tthis._filters = filters || [];\r\n\t\t}\r\n\t}\r\n\tprotected _orderBy = 'orderBy=name,asc';\r\n\tset orderBy(orderBy: string) {\r\n\t\tif (orderBy) {\r\n\t\t\tthis._orderBy = `orderBy=${orderBy}`;\r\n\t\t}\r\n\t}\r\n\r\n\tget url() {\r\n\t\treturn `${this._api}?${[...this._filters, this._orderBy, this._fields].filter((f) => !!f).join('&')}`;\r\n\t}\r\n\r\n\tconstructor(protected _http: HttpClient) {\r\n\t\tsuper();\r\n\t}\r\n\r\n\tgetAll(filters: string[] = []): Observable<T[]> {\r\n\t\treturn this._get([this.url, ...filters].join('&'));\r\n\t}\r\n\r\n\tgetPaged(page: number, filters: string[] = []): Observable<T[]> {\r\n\t\tconst paging = `paging=${page * MAGIC_PAGE_SIZE},${MAGIC_PAGE_SIZE}`;\r\n\t\tconst url = [this.url, paging, ...filters].join('&');\r\n\t\treturn this._get(url);\r\n\t}\r\n\r\n\tsearchAll(clue: string, filters: string[] = []): Observable<T[]> {\r\n\t\tif (!clue) {\r\n\t\t\treturn this.getAll(filters);\r\n\t\t}\r\n\t\tconst url = [this.url, this._clueFilter(clue), ...filters].join('&');\r\n\t\treturn this._get(url);\r\n\t}\r\n\r\n\tsearchPaged(clue: string, page: number, filters: string[] = []): Observable<T[]> {\r\n\t\tif (!clue) {\r\n\t\t\treturn this.getPaged(page, filters);\r\n\t\t}\r\n\t\tconst paging = `paging=${page * MAGIC_PAGE_SIZE},${MAGIC_PAGE_SIZE}`;\r\n\t\tconst url = [this.url, this._clueFilter(clue), paging, ...filters].join('&');\r\n\t\treturn this._get(url);\r\n\t}\r\n\r\n\tprotected _get(url: string): Observable<T[]> {\r\n\t\treturn this._http.get<ILuApiCollectionResponse<T>>(url).pipe(map((response) => response.data.items));\r\n\t}\r\n\tprotected _clueFilter(clue: string) {\r\n\t\tconst urlSafeClue = encodeURIComponent(clue);\r\n\t\treturn `name=like,${urlSafeClue}`;\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ILuApiItem } from '../api.model';\r\nimport { ALuApiService } from './api-service.model';\r\n\r\n@Injectable()\r\nexport class LuApiV4Service<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\r\n\tprotected _api: string;\r\n\tset api(api: string) {\r\n\t\tthis._api = api;\r\n\t}\r\n\r\n\tprotected _filters: string[] = [];\r\n\tset filters(filters: string[]) {\r\n\t\tthis._filters = filters || [];\r\n\t}\r\n\tget filters(): string[] {\r\n\t\treturn this._filters;\r\n\t}\r\n\r\n\tprotected _sort: string;\r\n\tset sort(sort: string) {\r\n\t\tif (sort) {\r\n\t\t\tthis._sort = `sort=${sort}`;\r\n\t\t}\r\n\t}\r\n\r\n\tconstructor(protected _http: HttpClient) {\r\n\t\tsuper();\r\n\t}\r\n\r\n\tgetAll(filters: string[] = []): Observable<T[]> {\r\n\t\tconst query = [...this.filters, ...filters, this._sort].filter((f) => !!f);\r\n\t\tconst url = [this._api, query.join('&')].join('?');\r\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\r\n\t}\r\n\tgetPaged(page = 0, filters: string[] = []): Observable<T[]> {\r\n\t\tconst query = [`page=${page + 1}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\r\n\t\tconst url = [this._api, query.join('&')].join('?');\r\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\r\n\t}\r\n\tsearchAll(clue = '', filters: string[] = []): Observable<T[]> {\r\n\t\tif (!clue) {\r\n\t\t\treturn this.getAll(filters);\r\n\t\t}\r\n\t\tconst urlSafeClues = clue\r\n\t\t\t.split(' ')\r\n\t\t\t.map((c) => encodeURIComponent(c))\r\n\t\t\t.join(',');\r\n\t\tconst query = [`search=${urlSafeClues}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\r\n\t\tconst url = [this._api, query.join('&')].join('?');\r\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\r\n\t}\r\n\tsearchPaged(clue = '', page = 0, filters: string[] = []): Observable<T[]> {\r\n\t\tif (!clue) {\r\n\t\t\treturn this.getPaged(page, filters);\r\n\t\t}\r\n\t\tconst urlSafeClues = clue\r\n\t\t\t.split(' ')\r\n\t\t\t.map((c) => encodeURIComponent(c))\r\n\t\t\t.join(',');\r\n\t\tconst query = [`search=${urlSafeClues}`, `page=${page + 1}`, ...this.filters, ...filters, this._sort].filter((f) => !!f);\r\n\t\tconst url = [this._api, query.join('&')].join('?');\r\n\t\treturn this._http.get<{ items: T[] }>(url).pipe(map((res) => res.items));\r\n\t}\r\n\tcount(): Observable<number> {\r\n\t\tconst query = [...this.filters, 'fields.root=count', 'limit=0'].filter((f) => !!f);\r\n\t\tconst url = [this._api, query.join('&')].join('?');\r\n\t\treturn this._http.get<{ count: number }>(url).pipe(map((res) => res.count));\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ILuApiItem } from '../api.model';\r\nimport { ALuApiService } from './api-service.model';\r\nimport { LuApiV3Service } from './api-v3.service';\r\nimport { LuApiV4Service } from './api-v4.service';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class LuApiHybridService<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {\r\n\tprivate _v3Service: LuApiV3Service<T>;\r\n\tprivate _v4Service: LuApiV4Service<T>;\r\n\r\n\tprivate _standard = 'v3';\r\n\tset standard(std: string) {\r\n\t\tthis._standard = std;\r\n\t}\r\n\r\n\t// both\r\n\tset api(api: string) {\r\n\t\tthis._v3Service.api = api;\r\n\t\tthis._v4Service.api = api;\r\n\t}\r\n\tset filters(filters: string[]) {\r\n\t\tthis._v3Service.filters = filters;\r\n\t\tthis._v4Service.filters = filters;\r\n\t}\r\n\r\n\t// api v3 only\r\n\tset fields(fields: string) {\r\n\t\tthis._v3Service.fields = fields;\r\n\t}\r\n\tset orderBy(orderBy: string) {\r\n\t\tthis._v3Service.orderBy = orderBy;\r\n\t}\r\n\r\n\t// api v4 only\r\n\tset sort(sort: string) {\r\n\t\tthis._v4Service.sort = sort;\r\n\t}\r\n\r\n\tprivate get _service(): ALuApiService<T> {\r\n\t\tswitch (this._standard) {\r\n\t\t\tcase 'v4':\r\n\t\t\t\treturn this._v4Service;\r\n\t\t\tcase 'v3':\r\n\t\t\tdefault:\r\n\t\t\t\treturn this._v3Service;\r\n\t\t}\r\n\t}\r\n\r\n\tconstructor(private _http: HttpClient) {\r\n\t\tsuper();\r\n\t\tthis._v3Service = new LuApiV3Service(this._http);\r\n\t\tthis._v4Service = new LuApiV4Service(this._http);\r\n\t}\r\n\r\n\tgetAll(filters: string[] = []): Observable<T[]> {\r\n\t\treturn this._service.getAll(filters);\r\n\t}\r\n\r\n\tgetPaged(page: number, filters: string[] = []): Observable<T[]> {\r\n\t\treturn this._service.getPaged(page, filters);\r\n\t}\r\n\r\n\tsearchAll(clue: string, filters: string[] = []): Observable<T[]> {\r\n\t\treturn this._service.searchAll(clue, filters);\r\n\t}\r\n\r\n\tsearchPaged(clue: string, page: number, filters: string[] = []): Observable<T[]> {\r\n\t\treturn this._service.searchPaged(clue, page, filters);\r\n\t}\r\n}\r\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, Input, Optional, Self, SkipSelf } from '@angular/core';\r\nimport { ALuOnOpenSubscriber, ILuOnOpenSubscriber } from '@lucca-front/ng/core';\r\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ILuApiItem } from '../../api.model';\r\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\r\nimport { ALuApiOptionFeeder } from './api-feeder.model';\r\n@Component({\r\n\tselector: 'lu-api-feeder',\r\n\ttemplate: '',\r\n\tstyleUrls: [],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuApiFeederComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnOpenSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuApiFeederComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuApiService,\r\n\t\t\tuseClass: LuApiHybridService,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuApiFeederComponent<T extends ILuApiItem = ILuApiItem> extends ALuApiOptionFeeder<T, LuApiHybridService<T>> implements ILuOptionOperator<T>, ILuOnOpenSubscriber {\r\n\toverride outOptions$ = new BehaviorSubject<T[]>([]);\r\n\tconstructor(\r\n\t\t@Inject(ALuApiService)\r\n\t\t@Optional()\r\n\t\t@SkipSelf()\r\n\t\thostService: LuApiHybridService<T>,\r\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\r\n\t) {\r\n\t\tsuper(hostService || selfService);\r\n\t}\r\n\r\n\t@Input() set standard(standard: string) {\r\n\t\tthis._service.standard = standard;\r\n\t}\r\n\t@Input() set api(api: string) {\r\n\t\tthis._service.api = api;\r\n\t}\r\n\t@Input() set fields(fields: string) {\r\n\t\tthis._service.fields = fields;\r\n\t}\r\n\t@Input() set filters(filters: string[]) {\r\n\t\tthis._service.filters = filters;\r\n\t}\r\n\t@Input() set orderBy(orderBy: string) {\r\n\t\tthis._service.orderBy = orderBy;\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuApiFeederComponent } from './api-feeder.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n\timports: [HttpClientModule],\r\n\tdeclarations: [LuApiFeederComponent],\r\n\texports: [LuApiFeederComponent],\r\n})\r\nexport class LuApiFeederModule {}\r\n","import { ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\r\nimport { merge, Observable, of, Subject } from 'rxjs';\r\nimport { catchError, map, mapTo, scan, share, startWith, switchMap } from 'rxjs/operators';\r\nimport { ILuApiService } from '../../service/index';\r\nimport { ILuApiOptionFeeder } from '../feeder/index';\r\n\r\nexport type ILuApiOptionSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> = ILuApiOptionFeeder<T>;\r\n\r\nexport abstract class ALuApiOptionSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\r\n\timplements ILuApiOptionFeeder<T>, ILuOnOpenSubscriber\r\n{\r\n\toutOptions$ = new Subject<T[]>();\r\n\tloading$: Observable<boolean>;\r\n\tempty$: Observable<boolean>;\r\n\r\n\tprotected _clue$: Observable<string>;\r\n\r\n\tset clue$(clue$: Observable<string>) {\r\n\t\t// this.initObservables(clue$);\r\n\t\tthis._clue$ = clue$;\r\n\t}\r\n\tconstructor(protected _service: S) {}\r\n\tinit() {\r\n\t\tthis.initObservables();\r\n\t}\r\n\tonOpen() {\r\n\t\tthis.resetClue();\r\n\t}\r\n\tonClose() {\r\n\t\tthis.clearOptions();\r\n\t}\r\n\tprotected initObservables() {\r\n\t\t// this._clue$ = clue$.pipe(share());\r\n\t\tconst results$ = this._clue$.pipe(\r\n\t\t\tswitchMap((clue) => this._service.searchAll(clue)),\r\n\t\t\tcatchError(() => of([])),\r\n\t\t\tshare(),\r\n\t\t);\r\n\r\n\t\tresults$.subscribe((items) => this.outOptions$.next(items));\r\n\t\tthis.loading$ = merge(this._clue$.pipe(mapTo(true)), results$.pipe(mapTo(false)));\r\n\t\tthis.empty$ = results$.pipe(map((o) => o.length === 0));\r\n\t}\r\n\tabstract resetClue();\r\n\tprotected clearOptions() {\r\n\t\tthis.outOptions$.next([]);\r\n\t}\r\n}\r\n\r\nexport type ILuApiOptionPagedSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> = ILuApiOptionSearcher<T>;\r\n\r\nexport abstract class ALuApiOptionPagedSearcher<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\r\n\textends ALuApiOptionSearcher<T, S>\r\n\timplements ILuApiOptionPagedSearcher<T>, ILuOnScrollBottomSubscriber\r\n{\r\n\toverride outOptions$ = new Subject<T[]>();\r\n\toverride loading$: Observable<boolean>;\r\n\tprotected _loading = false;\r\n\tprotected _page$ = new Subject<void>();\r\n\tprotected _isLastPage: boolean;\r\n\tprotected _options: T[] = [];\r\n\r\n\tconstructor(service: S) {\r\n\t\tsuper(service);\r\n\t}\r\n\toverride onOpen() {\r\n\t\tthis.resetClue();\r\n\t}\r\n\tonScrollBottom() {\r\n\t\tif (!this._loading && !this._isLastPage) {\r\n\t\t\tthis._page$.next();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected override initObservables() {\r\n\t\tconst pager$ = this._page$.pipe(\r\n\t\t\tscan((acc) => acc + 1, 0),\r\n\t\t\tstartWith(0),\r\n\t\t);\r\n\t\tconst query$ = this._clue$.pipe(\r\n\t\t\tswitchMap((clue) => pager$.pipe(map<number, [number, string]>((page) => [page, clue]))),\r\n\t\t\tshare(),\r\n\t\t);\r\n\r\n\t\tconst results$ = query$.pipe(\r\n\t\t\tswitchMap(([page, clue]) =>\r\n\t\t\t\tthis._service.searchPaged(clue, page).pipe(\r\n\t\t\t\t\tcatchError(() => of([])),\r\n\t\t\t\t\tmap<T[], [T[], number]>((items) => [items, page]),\r\n\t\t\t\t),\r\n\t\t\t),\r\n\t\t\tshare(),\r\n\t\t);\r\n\r\n\t\tresults$.subscribe(([items, page]) => {\r\n\t\t\tif (page === 0) {\r\n\t\t\t\tthis._options = [...items];\r\n\t\t\t} else {\r\n\t\t\t\tthis._options.push(...items);\r\n\t\t\t}\r\n\t\t\tthis._isLastPage = !items.length;\r\n\t\t\tthis.outOptions$.next([...this._options]);\r\n\t\t});\r\n\t\tthis.loading$ = merge(query$.pipe(mapTo(true)), results$.pipe(mapTo(false)));\r\n\t\tthis.loading$.subscribe((l) => (this._loading = l));\r\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => o.length === 0));\r\n\t}\r\n\tabstract override resetClue();\r\n}\r\n","import { ChangeDetectionStrategy, Component, ElementRef, forwardRef, Inject, Input, OnInit, Optional, Self, SkipSelf, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\r\nimport { ALuOptionOperator } from '@lucca-front/ng/option';\r\nimport { Observable } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\r\nimport { ALuApiOptionPagedSearcher, ALuApiOptionSearcher } from './api-searcher.model';\r\n\r\n@Component({\r\n\tselector: 'lu-api-searcher',\r\n\ttemplateUrl: 'api-searcher.component.html',\r\n\tstyleUrls: ['api-searcher.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuApiSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnOpenSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuApiSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuApiService,\r\n\t\t\tuseClass: LuApiHybridService,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuApiSearcherComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem> extends ALuApiOptionSearcher<T, LuApiHybridService<T>> implements OnInit {\r\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\r\n\tsearchInput: ElementRef<HTMLElement>;\r\n\r\n\t@Input() set standard(standard: string) {\r\n\t\tthis._service.standard = standard;\r\n\t}\r\n\t@Input() set api(api: string) {\r\n\t\tthis._service.api = api;\r\n\t}\r\n\t@Input() set fields(fields: string) {\r\n\t\tthis._service.fields = fields;\r\n\t}\r\n\t@Input() set filters(filters: string[]) {\r\n\t\tthis._service.filters = filters;\r\n\t}\r\n\t@Input() set orderBy(orderBy: string) {\r\n\t\tthis._service.orderBy = orderBy;\r\n\t}\r\n\t@Input() set sort(sort: string) {\r\n\t\tthis._service.sort = sort;\r\n\t}\r\n\t@Input() debounceTime = 250;\r\n\r\n\tclueControl: FormControl;\r\n\tconstructor(\r\n\t\t@Inject(ALuApiService)\r\n\t\t@Optional()\r\n\t\t@SkipSelf()\r\n\t\thostService: LuApiHybridService<T>,\r\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\r\n\t) {\r\n\t\tsuper(hostService || selfService);\r\n\t}\r\n\tngOnInit() {\r\n\t\tthis.clueControl = new FormControl(undefined);\r\n\t\tthis.clue$ = this.clueControl.valueChanges.pipe(debounceTime(this.debounceTime)) as Observable<string>;\r\n\t\tsuper.init();\r\n\t}\r\n\r\n\toverride onOpen() {\r\n\t\tthis.searchInput.nativeElement.focus();\r\n\t\tsuper.onOpen();\r\n\t}\r\n\tresetClue() {\r\n\t\tthis.clueControl.setValue('');\r\n\t}\r\n}\r\n\r\n@Component({\r\n\tselector: 'lu-api-paged-searcher',\r\n\ttemplateUrl: 'api-searcher.component.html',\r\n\tstyleUrls: ['api-searcher.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnOpenSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnCloseSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuApiPagedSearcherComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuApiService,\r\n\t\t\tuseClass: LuApiHybridService,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuApiPagedSearcherComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem>\r\n\textends ALuApiOptionPagedSearcher<T, LuApiHybridService<T>>\r\n\timplements OnInit\r\n{\r\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\r\n\tsearchInput: ElementRef<HTMLElement>;\r\n\t@Input() set standard(standard: string) {\r\n\t\tthis._service.standard = standard;\r\n\t}\r\n\t@Input() set api(api: string) {\r\n\t\tthis._service.api = api;\r\n\t}\r\n\t@Input() set fields(fields: string) {\r\n\t\tthis._service.fields = fields;\r\n\t}\r\n\t@Input() set filters(filters: string[]) {\r\n\t\tthis._service.filters = filters;\r\n\t}\r\n\t@Input() set orderBy(orderBy: string) {\r\n\t\tthis._service.orderBy = orderBy;\r\n\t}\r\n\t@Input() set sort(sort: string) {\r\n\t\tthis._service.sort = sort;\r\n\t}\r\n\t@Input() debounceTime = 250;\r\n\r\n\tclueControl: FormControl;\r\n\tconstructor(@Inject(ALuApiService) @Optional() @SkipSelf() hostService: LuApiHybridService<T>, @Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>) {\r\n\t\tsuper(hostService || selfService);\r\n\t}\r\n\tngOnInit() {\r\n\t\tthis.clueControl = new FormControl(undefined);\r\n\t\tthis.clue$ = this.clueControl.valueChanges.pipe(debounceTime(this.debounceTime)) as Observable<string>;\r\n\t\tsuper.init();\r\n\t}\r\n\r\n\toverride onOpen() {\r\n\t\tthis.searchInput.nativeElement.focus();\r\n\t\tsuper.onOpen();\r\n\t}\r\n\tresetClue() {\r\n\t\tthis.clueControl.reset('');\r\n\t}\r\n}\r\n","<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\r\n\t<input #searchInput class=\"textfield-input\" [formControl]=\"clueControl\" />\r\n</div>\r\n<lu-option-placeholder *ngIf=\"(empty$ | async) && (loading$ | async) === false\" (onClear)=\"resetClue()\"></lu-option-placeholder>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuApiSearcherComponent, LuApiPagedSearcherComponent } from './api-searcher.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LuOptionPlaceholderModule } from '@lucca-front/ng/option';\r\n\r\n@NgModule({\r\n\timports: [HttpClientModule, ReactiveFormsModule, CommonModule, LuOptionPlaceholderModule],\r\n\tdeclarations: [LuApiSearcherComponent, LuApiPagedSearcherComponent],\r\n\texports: [LuApiSearcherComponent, LuApiPagedSearcherComponent],\r\n})\r\nexport class LuApiSearcherModule {}\r\n","import { Overlay } from '@angular/cdk/overlay';\r\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, Input, Renderer2, ViewContainerRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ILuOptionItem, LuOptionComparer, LuOptionPickerAdvancedComponent } from '@lucca-front/ng/option';\r\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\r\n\r\n@Component({\r\n\tselector: 'lu-api-select',\r\n\ttemplateUrl: './api-select-input.component.html',\r\n\tstyleUrls: ['./api-select-input.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => LuApiSelectInputComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuApiSelectInputComponent<T extends import('../../api.model').ILuApiItem = import('../../api.model').ILuApiItem>\r\n\textends ALuSelectInputComponent<T, LuOptionPickerAdvancedComponent<T, ILuOptionItem<T>>>\r\n\timplements ControlValueAccessor, AfterViewInit\r\n{\r\n\t@Input() standard: string;\r\n\t@Input() api: string;\r\n\t@Input() fields: string;\r\n\t@Input() filters: string[];\r\n\t@Input() orderBy: string;\r\n\t@Input() sort: string;\r\n\r\n\tbyId: LuOptionComparer<T> = (option1: T, option2: T) => option1 && option2 && option1.id === option2.id;\r\n\tconstructor(\r\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\r\n\t\tprotected override _overlay: Overlay,\r\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\r\n\t\tprotected override _viewContainerRef: ViewContainerRef,\r\n\t\tprotected override _renderer: Renderer2,\r\n\t) {\r\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\r\n\t}\r\n}\r\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\r\n<div class=\"lu-select-value\">\r\n\t<div class=\"lu-select-display-wrapper\">\r\n\t\t<ng-container #display></ng-container>\r\n\t</div>\r\n</div>\r\n<div class=\"lu-select-suffix\">\r\n\t<lu-input-clearer></lu-input-clearer>\r\n</div>\r\n<span [class.chip]=\"multiple\" *luDisplayer=\"let option\">{{ option.name }}</span>\r\n<lu-option-picker-advanced [option-comparer]=\"byId\">\r\n\t<header class=\"lu-picker-header\">\r\n\t\t<lu-api-paged-searcher\r\n\t\t\t[standard]=\"standard\"\r\n\t\t\t[api]=\"api\"\r\n\t\t\t[fields]=\"fields\"\r\n\t\t\t[filters]=\"filters\"\r\n\t\t\t[orderBy]=\"orderBy\"\r\n\t\t\t[sort]=\"sort\"\r\n\t\t></lu-api-paged-searcher>\r\n\t</header>\r\n\t<lu-option *luForOptions=\"let option\" [value]=\"option\">{{ option.name }}</lu-option>\r\n</lu-option-picker-advanced>\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { LuInputClearerModule, LuInputDisplayerModule } from '@lucca-front/ng/input';\r\nimport { LuForOptionsModule, LuOptionPickerModule } from '@lucca-front/ng/option';\r\nimport { LuApiSearcherModule } from '../searcher/index';\r\nimport { LuApiSelectInputComponent } from './api-select-input.component';\r\n\r\n@NgModule({\r\n\timports: [CommonModule, LuOptionPickerModule, LuForOptionsModule, LuApiSearcherModule, LuInputClearerModule, LuInputDisplayerModule],\r\n\tdeclarations: [LuApiSelectInputComponent],\r\n\texports: [LuApiSelectInputComponent],\r\n})\r\nexport class LuApiSelectInputModule {}\r\n","import { ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\r\nimport { ILuOptionOperator } from '@lucca-front/ng/option';\r\nimport { merge, Observable, of, Subject } from 'rxjs';\r\nimport { catchError, distinctUntilChanged, map, mapTo, switchMap, tap } from 'rxjs/operators';\r\nimport { ILuApiItem } from '../../api.model';\r\nimport { ILuApiService } from '../../service/index';\r\n\r\nenum Strategy {\r\n\tappend,\r\n\treplace,\r\n}\r\nexport type ILuApiOptionPager<T extends ILuApiItem = ILuApiItem> = ILuOptionOperator<T>;\r\nexport interface ILuApiPagerService<T extends ILuApiItem = ILuApiItem> {\r\n\tgetPaged(page: number): Observable<T[]>;\r\n}\r\n\r\nexport abstract class ALuApiOptionPager<T extends ILuApiItem = ILuApiItem, S extends ILuApiService<T> = ILuApiService<T>>\r\n\timplements ILuApiOptionPager<T>, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber\r\n{\r\n\toutOptions$ = new Subject<T[]>();\r\n\tloading$: Observable<boolean>;\r\n\r\n\tprotected _loading = false;\r\n\tprotected _results$: Observable<{ items: T[]; strategy: Strategy }>;\r\n\tprotected _options: T[] = [];\r\n\tprotected _page$ = new Subject<number>();\r\n\tprotected _page: number;\r\n\tprotected _initialized = false;\r\n\tconstructor(protected _service: S) {}\r\n\tprotected init() {\r\n\t\tthis.initObservables();\r\n\t}\r\n\tonOpen() {\r\n\t\tif (!this._initialized) {\r\n\t\t\tthis._page$.next(0);\r\n\t\t\tthis._initialized = true;\r\n\t\t}\r\n\t}\r\n\t// onClose() {\r\n\t// \tthis._page$.next(0);\r\n\t// }\r\n\tonScrollBottom() {\r\n\t\tif (!this._loading) {\r\n\t\t\tthis._page$.next(this._page + 1);\r\n\t\t}\r\n\t}\r\n\tprotected initObservables() {\r\n\t\tconst _results$: Observable<{ items: T[]; strategy: Strategy }> = this._page$.pipe(\r\n\t\t\tdistinctUntilChanged(),\r\n\t\t\ttap((p) => (this._page = p)),\r\n\t\t\tswitchMap((page) => {\r\n\t\t\t\tif (page === undefined) {\r\n\t\t\t\t\treturn of({ items: [] as T[], strategy: Strategy.replace });\r\n\t\t\t\t}\r\n\t\t\t\treturn this._service.getPaged(page).pipe(\r\n\t\t\t\t\tmap((items) => ({\r\n\t\t\t\t\t\titems: items,\r\n\t\t\t\t\t\tstrategy: page === 0 ? Strategy.replace : Strategy.append,\r\n\t\t\t\t\t})),\r\n\t\t\t\t);\r\n\t\t\t}),\r\n\t\t\tcatchError(() => of({ items: [] as T[], strategy: Strategy.replace })),\r\n\t\t\ttap((results) => {\r\n\t\t\t\tif (results.strategy === Strategy.replace) {\r\n\t\t\t\t\tthis._options = [...results.items];\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis._options.push(...results.items);\r\n\t\t\t\t}\r\n\t\t\t\tthis.outOptions$.next([...this._options]);\r\n\t\t\t}),\r\n\t\t);\r\n\r\n\t\tthis.loading$ = merge(this._page$.pipe(mapTo(true)), _results$.pipe(mapTo(false)));\r\n\t\tthis.loading$.subscribe((l) => (this._loading = l));\r\n\t}\r\n}\r\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, Input, OnInit, Optional, Self, SkipSelf } from '@angular/core';\r\nimport { ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\r\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\r\nimport { ILuApiItem } from '../../api.model';\r\nimport { ALuApiService, LuApiHybridService } from '../../service/index';\r\nimport { ALuApiOptionPager } from './api-pager.model';\r\n\r\n@Component({\r\n\tselector: 'lu-api-pager',\r\n\ttemplate: '',\r\n\tstyleUrls: [],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: ALuOptionOperator,\r\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuApiService,\r\n\t\t\tuseClass: LuApiHybridService,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuOnOpenSubscriber,\r\n\t\t\tuseExisting: forwardRef(() => LuApiPagerComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t],\r\n})\r\nexport class LuApiPagerComponent<T extends ILuApiItem = ILuApiItem>\r\n\textends ALuApiOptionPager<T, LuApiHybridService<T>>\r\n\timplements ILuOptionOperator<T>, OnInit, ILuOnScrollBottomSubscriber, ILuOnOpenSubscriber\r\n{\r\n\tconstructor(\r\n\t\t@Inject(ALuApiService)\r\n\t\t@Optional()\r\n\t\t@SkipSelf()\r\n\t\thostService: LuApiHybridService<T>,\r\n\t\t@Inject(ALuApiService) @Self() selfService: LuApiHybridService<T>,\r\n\t) {\r\n\t\tsuper(hostService || selfService);\r\n\t}\r\n\r\n\t@Input() set standard(standard: string) {\r\n\t\tthis._service.standard = standard;\r\n\t}\r\n\t@Input() set api(api: string) {\r\n\t\tthis._service.api = api;\r\n\t}\r\n\t@Input() set fields(fields: string) {\r\n\t\tthis._service.fields = fields;\r\n\t}\r\n\t@Input() set filters(filters: string[]) {\r\n\t\tthis._service.filters = filters;\r\n\t}\r\n\t@Input() set orderBy(orderBy: string) {\r\n\t\tthis._service.orderBy = orderBy;\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tsuper.init();\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuApiPagerComponent } from './api-pager.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n\timports: [HttpClientModule],\r\n\tdeclarations: [LuApiPagerComponent],\r\n\texports: [LuApiPagerComponent],\r\n})\r\nexport class LuApiPagerModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuApiFeederModule } from './feeder/index';\r\nimport { LuApiSelectInputModule } from './input/index';\r\nimport { LuApiPagerModule } from './pager/index';\r\nimport { LuApiSearcherModule } from './searcher/index';\r\n\r\n@NgModule({\r\n\timports: [LuApiFeederModule, LuApiSearcherModule, LuApiPagerModule, LuApiSelectInputModule],\r\n\texports: [LuApiFeederModule, LuApiSearcherModule, LuApiPagerModule, LuApiSelectInputModule],\r\n})\r\nexport class LuApiSelectModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuApiSelectModule } from './select/index';\r\n\r\n@NgModule({\r\n\timports: [LuApiSelectModule],\r\n\texports: [LuApiSelectModule],\r\n})\r\nexport class LuApiModule {}\r\n","/*\r\n * Public API Surface of safe-content\r\n */\r\n\r\nexport * from './index';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,9 @@ class LuFormlyFieldApi extends FieldType {
|
|
|
36
36
|
get _orderBy() {
|
|
37
37
|
return this.to['orderBy'];
|
|
38
38
|
}
|
|
39
|
+
get _sort() {
|
|
40
|
+
return this.to['sort'];
|
|
41
|
+
}
|
|
39
42
|
get _standard() {
|
|
40
43
|
return (this.to['standard'] || 'v3');
|
|
41
44
|
}
|
|
@@ -47,10 +50,10 @@ class LuFormlyFieldApi extends FieldType {
|
|
|
47
50
|
}
|
|
48
51
|
}
|
|
49
52
|
LuFormlyFieldApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: LuFormlyFieldApi, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
-
LuFormlyFieldApi.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: LuFormlyFieldApi, selector: "lu-formly-field-api", usesInheritance: true, ngImport: i0, template: "<lu-api-select\r\n\tclass=\"textfield-input\"\r\n\t[formControl]=\"formControl\"\r\n\t[formlyAttributes]=\"field\"\r\n\t[multiple]=\"to['multiple']\"\r\n\t(focus)=\"focus()\"\r\n\t(blur)=\"blur()\"\r\n\t[placeholder]=\"to.placeholder\"\r\n\t[api]=\"_api\"\r\n\t[filters]=\"_filters\"\r\n\t[orderBy]=\"_orderBy\"\r\n\t[standard]=\"_standard\"\r\n>\r\n</lu-api-select>\r\n<span [attr.for]=\"id\" class=\"textfield-label\">{{ to.label }}</span>\r\n", styles: [":host{width:100%;display:inherit;align-items:inherit;flex-direction:inherit}\n", ":host-context(.mod-framed) lu-select{display:block}:host-context(.mod-framed) lu-api-select{display:block}:host-context(.mod-framed) lu-user-select{display:block}:host-context(.mod-framed) lu-date-select{display:block}:host-context(.mod-framed) lu-department-select{display:block}\n"], components: [{ type: i1.LuApiSelectInputComponent, selector: "lu-api-select", inputs: ["standard", "api", "fields", "filters", "orderBy", "sort"] }], directives: [{ type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.FormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }] });
|
|
53
|
+
LuFormlyFieldApi.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: LuFormlyFieldApi, selector: "lu-formly-field-api", usesInheritance: true, ngImport: i0, template: "<lu-api-select\r\n\tclass=\"textfield-input\"\r\n\t[formControl]=\"formControl\"\r\n\t[formlyAttributes]=\"field\"\r\n\t[multiple]=\"to['multiple']\"\r\n\t(focus)=\"focus()\"\r\n\t(blur)=\"blur()\"\r\n\t[placeholder]=\"to.placeholder\"\r\n\t[api]=\"_api\"\r\n\t[filters]=\"_filters\"\r\n\t[orderBy]=\"_orderBy\"\r\n\t[sort]=\"_sort\"\r\n\t[standard]=\"_standard\"\r\n>\r\n</lu-api-select>\r\n<span [attr.for]=\"id\" class=\"textfield-label\">{{ to.label }}</span>\r\n", styles: [":host{width:100%;display:inherit;align-items:inherit;flex-direction:inherit}\n", ":host-context(.mod-framed) lu-select{display:block}:host-context(.mod-framed) lu-api-select{display:block}:host-context(.mod-framed) lu-user-select{display:block}:host-context(.mod-framed) lu-date-select{display:block}:host-context(.mod-framed) lu-department-select{display:block}\n"], components: [{ type: i1.LuApiSelectInputComponent, selector: "lu-api-select", inputs: ["standard", "api", "fields", "filters", "orderBy", "sort"] }], directives: [{ type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.FormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }] });
|
|
51
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: LuFormlyFieldApi, decorators: [{
|
|
52
55
|
type: Component,
|
|
53
|
-
args: [{ selector: 'lu-formly-field-api', template: "<lu-api-select\r\n\tclass=\"textfield-input\"\r\n\t[formControl]=\"formControl\"\r\n\t[formlyAttributes]=\"field\"\r\n\t[multiple]=\"to['multiple']\"\r\n\t(focus)=\"focus()\"\r\n\t(blur)=\"blur()\"\r\n\t[placeholder]=\"to.placeholder\"\r\n\t[api]=\"_api\"\r\n\t[filters]=\"_filters\"\r\n\t[orderBy]=\"_orderBy\"\r\n\t[standard]=\"_standard\"\r\n>\r\n</lu-api-select>\r\n<span [attr.for]=\"id\" class=\"textfield-label\">{{ to.label }}</span>\r\n", styles: [":host{width:100%;display:inherit;align-items:inherit;flex-direction:inherit}\n", ":host-context(.mod-framed) lu-select{display:block}:host-context(.mod-framed) lu-api-select{display:block}:host-context(.mod-framed) lu-user-select{display:block}:host-context(.mod-framed) lu-date-select{display:block}:host-context(.mod-framed) lu-department-select{display:block}\n"] }]
|
|
56
|
+
args: [{ selector: 'lu-formly-field-api', template: "<lu-api-select\r\n\tclass=\"textfield-input\"\r\n\t[formControl]=\"formControl\"\r\n\t[formlyAttributes]=\"field\"\r\n\t[multiple]=\"to['multiple']\"\r\n\t(focus)=\"focus()\"\r\n\t(blur)=\"blur()\"\r\n\t[placeholder]=\"to.placeholder\"\r\n\t[api]=\"_api\"\r\n\t[filters]=\"_filters\"\r\n\t[orderBy]=\"_orderBy\"\r\n\t[sort]=\"_sort\"\r\n\t[standard]=\"_standard\"\r\n>\r\n</lu-api-select>\r\n<span [attr.for]=\"id\" class=\"textfield-label\">{{ to.label }}</span>\r\n", styles: [":host{width:100%;display:inherit;align-items:inherit;flex-direction:inherit}\n", ":host-context(.mod-framed) lu-select{display:block}:host-context(.mod-framed) lu-api-select{display:block}:host-context(.mod-framed) lu-user-select{display:block}:host-context(.mod-framed) lu-date-select{display:block}:host-context(.mod-framed) lu-department-select{display:block}\n"] }]
|
|
54
57
|
}] });
|
|
55
58
|
|
|
56
59
|
// eslint-disable-next-line @angular-eslint/component-class-suffix
|