@guajiritos/general-autocomplete 0.0.6 → 0.0.8
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/guajiritos-general-autocomplete.mjs +4 -4
- package/esm2020/lib/guachos-general-autocomplete.component.mjs +327 -309
- package/esm2020/lib/guachos-general-autocomplete.module.mjs +108 -108
- package/esm2020/public-api.mjs +7 -7
- package/esm2020/utils/constants/contacts.mjs +9 -9
- package/esm2020/utils/interfaces/interfaces.mjs +11 -11
- package/esm2020/utils/pipes/duration.pipe.mjs +17 -17
- package/esm2020/utils/pipes/humanize-duration.pipe.mjs +16 -16
- package/esm2020/utils/pipes/i18n-field.pipe.mjs +27 -27
- package/esm2020/utils/pipes/ida-return.pipe.mjs +22 -22
- package/esm2020/utils/pipes/resolve-property-path.pipe.mjs +79 -79
- package/esm2020/utils/pipes/show-roles.pipe.mjs +23 -23
- package/esm2020/utils/pipes/show-segments.pipe.mjs +23 -23
- package/esm2020/utils/pipes/show-transport-types.pipe.mjs +23 -23
- package/esm2020/utils/services/autocomplete.service.mjs +161 -161
- package/esm2020/utils/services/utils.service.mjs +47 -47
- package/fesm2015/guajiritos-general-autocomplete.mjs +802 -784
- package/fesm2015/guajiritos-general-autocomplete.mjs.map +1 -1
- package/fesm2020/guajiritos-general-autocomplete.mjs +798 -780
- package/fesm2020/guajiritos-general-autocomplete.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/guachos-general-autocomplete.component.d.ts +72 -72
- package/lib/guachos-general-autocomplete.module.d.ts +24 -24
- package/package.json +3 -2
- package/public-api.d.ts +4 -4
- package/utils/constants/contacts.d.ts +2 -2
- package/utils/interfaces/interfaces.d.ts +33 -33
- package/utils/pipes/duration.pipe.d.ts +8 -8
- package/utils/pipes/humanize-duration.pipe.d.ts +7 -7
- package/utils/pipes/i18n-field.pipe.d.ts +7 -7
- package/utils/pipes/ida-return.pipe.d.ts +8 -8
- package/utils/pipes/resolve-property-path.pipe.d.ts +24 -24
- package/utils/pipes/show-roles.pipe.d.ts +8 -8
- package/utils/pipes/show-segments.pipe.d.ts +8 -8
- package/utils/pipes/show-transport-types.pipe.d.ts +8 -8
- package/utils/services/autocomplete.service.d.ts +15 -15
- package/utils/services/utils.service.d.ts +25 -25
@@ -1,161 +1,161 @@
|
|
1
|
-
import { HttpClient, HttpParams } from '@angular/common/http';
|
2
|
-
import { Injectable } from '@angular/core';
|
3
|
-
import { map } from 'rxjs/operators';
|
4
|
-
import
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "@angular/common/http";
|
7
|
-
export class AutocompleteService {
|
8
|
-
constructor(_httpClient) {
|
9
|
-
this._httpClient = _httpClient;
|
10
|
-
this.httpOptions = {};
|
11
|
-
}
|
12
|
-
processParams(filters, value) {
|
13
|
-
return new Promise((resolve, reject) => {
|
14
|
-
setTimeout(async () => {
|
15
|
-
let filter = {};
|
16
|
-
if (Array.isArray(filters)) {
|
17
|
-
for (const f of filters) {
|
18
|
-
await this.processFilterString(f, value).then((resp) => {
|
19
|
-
if (Object.keys(filter)?.length) {
|
20
|
-
|
21
|
-
}
|
22
|
-
else {
|
23
|
-
filter = {
|
24
|
-
...filter,
|
25
|
-
...resp
|
26
|
-
};
|
27
|
-
}
|
28
|
-
if (f === filters[filters?.length - 1]) {
|
29
|
-
resolve(filter);
|
30
|
-
}
|
31
|
-
});
|
32
|
-
}
|
33
|
-
}
|
34
|
-
else if (typeof filters === 'string') {
|
35
|
-
await this.processFilterString(filters, value).then((resp) => {
|
36
|
-
filter = {
|
37
|
-
...filter,
|
38
|
-
...resp
|
39
|
-
};
|
40
|
-
resolve(filter);
|
41
|
-
});
|
42
|
-
}
|
43
|
-
else {
|
44
|
-
reject(null);
|
45
|
-
}
|
46
|
-
}, 100);
|
47
|
-
});
|
48
|
-
}
|
49
|
-
async processFilterString(filter, value) {
|
50
|
-
let f = {};
|
51
|
-
const arrayFilters = filter?.split('[');
|
52
|
-
if (arrayFilters?.findIndex((a) => a === 'filter') >= 0) {
|
53
|
-
arrayFilters?.splice(0, 1);
|
54
|
-
}
|
55
|
-
await this.createObjectFilters(arrayFilters, value).then((data) => {
|
56
|
-
f = data;
|
57
|
-
});
|
58
|
-
return f;
|
59
|
-
}
|
60
|
-
async createObjectFilters(array, value) {
|
61
|
-
for (let filter of array) {
|
62
|
-
filter = filter?.replace(']', '');
|
63
|
-
if (array.length > 1) {
|
64
|
-
array.splice(0, 1);
|
65
|
-
return { [filter]: await this.createObjectFilters(array, value) };
|
66
|
-
}
|
67
|
-
else {
|
68
|
-
if (filter === '$like') {
|
69
|
-
return { [filter]: '%' + value + '%' };
|
70
|
-
}
|
71
|
-
else {
|
72
|
-
return { [filter]: value };
|
73
|
-
}
|
74
|
-
}
|
75
|
-
}
|
76
|
-
}
|
77
|
-
async getAutocompleteByText(url, text, field, restrictions, removeProperties, order, bodyRequest) {
|
78
|
-
let httpParams = new HttpParams().set('offset', '0');
|
79
|
-
httpParams = httpParams.append('limit', '20');
|
80
|
-
if (order) {
|
81
|
-
httpParams = httpParams.append('order', order);
|
82
|
-
}
|
83
|
-
if (!text) {
|
84
|
-
text = '';
|
85
|
-
}
|
86
|
-
if (bodyRequest) {
|
87
|
-
let body = {};
|
88
|
-
if (text && text !== '') {
|
89
|
-
await this.processParams(field, text)
|
90
|
-
.then((data) => {
|
91
|
-
body = {
|
92
|
-
...bodyRequest,
|
93
|
-
filter: data
|
94
|
-
};
|
95
|
-
});
|
96
|
-
}
|
97
|
-
else {
|
98
|
-
body = JSON.parse(JSON.stringify(bodyRequest));
|
99
|
-
}
|
100
|
-
if (restrictions?.length) {
|
101
|
-
for (let r of restrictions) {
|
102
|
-
await this.processParams(r?.filter, r?.value?.toString())
|
103
|
-
.then((data) => {
|
104
|
-
let filtersAux = { ...body?.filter };
|
105
|
-
|
106
|
-
body = {
|
107
|
-
...body,
|
108
|
-
filter: filtersAux
|
109
|
-
};
|
110
|
-
httpParams = httpParams.set('form', JSON.stringify(body));
|
111
|
-
});
|
112
|
-
}
|
113
|
-
}
|
114
|
-
else {
|
115
|
-
httpParams = httpParams.append('form', JSON.stringify(body));
|
116
|
-
}
|
117
|
-
}
|
118
|
-
else {
|
119
|
-
if (text && text !== '') {
|
120
|
-
if (Array.isArray(field)) {
|
121
|
-
for (const f of field) {
|
122
|
-
httpParams = httpParams.append(f, '%' + text + '%');
|
123
|
-
}
|
124
|
-
}
|
125
|
-
else {
|
126
|
-
if (field?.includes('$like')) {
|
127
|
-
httpParams = httpParams.append(field, '%' + text + '%');
|
128
|
-
}
|
129
|
-
else if (field) {
|
130
|
-
httpParams = httpParams.append(field, text);
|
131
|
-
}
|
132
|
-
}
|
133
|
-
}
|
134
|
-
restrictions?.forEach((restriction) => {
|
135
|
-
if (restriction?.value) {
|
136
|
-
httpParams = httpParams.append(restriction?.filter, restriction.value?.toString());
|
137
|
-
}
|
138
|
-
});
|
139
|
-
}
|
140
|
-
this.httpOptions = { params: httpParams };
|
141
|
-
return this._httpClient
|
142
|
-
.get(url, this.httpOptions)
|
143
|
-
.pipe(map((result) => {
|
144
|
-
result?.data?.map((item) => {
|
145
|
-
removeProperties?.forEach((property) => {
|
146
|
-
delete item[property];
|
147
|
-
});
|
148
|
-
});
|
149
|
-
return result;
|
150
|
-
}));
|
151
|
-
}
|
152
|
-
}
|
153
|
-
AutocompleteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
154
|
-
AutocompleteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
156
|
-
type: Injectable,
|
157
|
-
args: [{
|
158
|
-
providedIn: 'root'
|
159
|
-
}]
|
160
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlL3NyYy91dGlscy9zZXJ2aWNlcy9hdXRvY29tcGxldGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7QUFRNUIsTUFBTSxPQUFPLG1CQUFtQjtJQUM1QixZQUNZLFdBQXVCO1FBQXZCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBSTNCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO0lBRnpCLENBQUM7SUFJTyxhQUFhLENBQUMsT0FBc0MsRUFBRSxLQUFhO1FBQ3ZFLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbkMsVUFBVSxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUNsQixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBRWhCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtvQkFDeEIsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLEVBQUU7d0JBQ3JCLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTs0QkFDeEQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRTtnQ0FDN0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7NkJBQ3pCO2lDQUFNO2dDQUNILE1BQU0sR0FBRztvQ0FDTCxHQUFHLE1BQU07b0NBQ1QsR0FBRyxJQUFJO2lDQUNWLENBQUM7NkJBQ0w7NEJBRUQsSUFBSSxDQUFDLEtBQUssT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0NBQ3BDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQzs2QkFDbkI7d0JBQ0wsQ0FBQyxDQUFDLENBQUM7cUJBQ047aUJBQ0o7cUJBQU0sSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUU7b0JBQ3BDLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTt3QkFDOUQsTUFBTSxHQUFHOzRCQUNMLEdBQUcsTUFBTTs0QkFDVCxHQUFHLElBQUk7eUJBQ1YsQ0FBQzt3QkFFRixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3BCLENBQUMsQ0FBQyxDQUFDO2lCQUNOO3FCQUFNO29CQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDaEI7WUFDTCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDWixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxLQUFLLENBQUMsbUJBQW1CLENBQUMsTUFBYyxFQUFFLEtBQWE7UUFDM0QsSUFBSSxDQUFDLEdBQVEsRUFBRSxDQUFDO1FBRWhCLE1BQU0sWUFBWSxHQUFhLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFbEQsSUFBSSxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzdELFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzlCO1FBRUQsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQ25FLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVPLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxLQUFlLEVBQUUsS0FBYTtRQUM1RCxLQUFLLElBQUksTUFBTSxJQUFJLEtBQUssRUFBRTtZQUN0QixNQUFNLEdBQUcsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFFbEMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDbEIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ25CLE9BQU8sRUFBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBQyxDQUFDO2FBQ25FO2lCQUFNO2dCQUNILElBQUksTUFBTSxLQUFLLE9BQU8sRUFBRTtvQkFDcEIsT0FBTyxFQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssR0FBRyxHQUFHLEVBQUMsQ0FBQztpQkFDeEM7cUJBQU07b0JBQ0gsT0FBTyxFQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFDLENBQUM7aUJBQzVCO2FBQ0o7U0FDSjtJQUNMLENBQUM7SUFFTSxLQUFLLENBQUMscUJBQXFCLENBQUMsR0FBVyxFQUFFLElBQWEsRUFBRSxLQUF5QixFQUFFLFlBQWtDLEVBQ3pGLGdCQUEyQixFQUFFLEtBQWMsRUFBRSxXQUF5QjtRQUVyRyxJQUFJLFVBQVUsR0FBZSxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDakUsVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTlDLElBQUksS0FBSyxFQUFFO1lBQ1AsVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLElBQUksR0FBRyxFQUFFLENBQUM7U0FDYjtRQUVELElBQUksV0FBVyxFQUFFO1lBQ2IsSUFBSSxJQUFJLEdBQWdCLEVBQUUsQ0FBQztZQUMzQixJQUFJLElBQUksSUFBSSxJQUFJLEtBQUssRUFBRSxFQUFFO2dCQUNyQixNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQztxQkFDaEMsSUFBSSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7b0JBQ2hCLElBQUksR0FBRzt3QkFDSCxHQUFHLFdBQVc7d0JBQ2QsTUFBTSxFQUFFLElBQUk7cUJBQ2YsQ0FBQztnQkFDTixDQUFDLENBQUMsQ0FBQzthQUNWO2lCQUFNO2dCQUNILElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQzthQUNsRDtZQUVELElBQUksWUFBWSxFQUFFLE1BQU0sRUFBRTtnQkFDdEIsS0FBSyxJQUFJLENBQUMsSUFBSSxZQUFZLEVBQUU7b0JBQ3hCLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7eUJBQ3BELElBQUksQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO3dCQUNoQixJQUFJLFVBQVUsR0FBRyxFQUFDLEdBQUcsSUFBSSxFQUFFLE1BQU0sRUFBQyxDQUFBO3dCQUNsQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQzt3QkFDMUIsSUFBSSxHQUFHOzRCQUNILEdBQUcsSUFBSTs0QkFDUCxNQUFNLEVBQUUsVUFBVTt5QkFDckIsQ0FBQzt3QkFDRixVQUFVLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUM5RCxDQUFDLENBQUMsQ0FBQztpQkFDVjthQUNKO2lCQUFNO2dCQUNILFVBQVUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDaEU7U0FDSjthQUFNO1lBQ0gsSUFBSSxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUUsRUFBRTtnQkFDckIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUN0QixLQUFLLE1BQU0sQ0FBQyxJQUFJLEtBQUssRUFBRTt3QkFDbkIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7cUJBQ3ZEO2lCQUNKO3FCQUFNO29CQUNILElBQUksS0FBSyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTt3QkFDMUIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7cUJBQzNEO3lCQUFNLElBQUksS0FBSyxFQUFFO3dCQUNkLFVBQVUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztxQkFDL0M7aUJBQ0o7YUFDSjtZQUVELFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQyxXQUE4QixFQUFFLEVBQUU7Z0JBQ3JELElBQUksV0FBVyxFQUFFLEtBQUssRUFBRTtvQkFDcEIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7aUJBQ3RGO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLENBQUM7UUFFeEMsT0FBTyxJQUFJLENBQUMsV0FBVzthQUNsQixHQUFHLENBQU0sR0FBRyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDL0IsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQ2hCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQzVCLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtvQkFDM0MsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzFCLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ1YsQ0FBQzs7Z0hBL0pRLG1CQUFtQjtvSEFBbkIsbUJBQW1CLGNBRmhCLE1BQU07MkZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SHR0cENsaWVudCwgSHR0cFBhcmFtc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQge0FwaUZvcm1EYXRhLCBSZXN0cmljdGlvbkZpbHRlcn0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pbnRlcmZhY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50XHJcbiAgICApIHtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGh0dHBPcHRpb25zID0ge307XHJcblxyXG4gICAgcHJpdmF0ZSBwcm9jZXNzUGFyYW1zKGZpbHRlcnM6IHN0cmluZ1tdIHwgc3RyaW5nIHwgdW5kZWZpbmVkLCB2YWx1ZTogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcclxuICAgICAgICAgICAgICAgIGxldCBmaWx0ZXIgPSB7fTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWx0ZXJzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZiBvZiBmaWx0ZXJzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucHJvY2Vzc0ZpbHRlclN0cmluZyhmLCB2YWx1ZSkudGhlbigocmVzcDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LmtleXMoZmlsdGVyKT8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXy5tZXJnZShmaWx0ZXIsIHJlc3ApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZpbHRlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucmVzcFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGYgPT09IGZpbHRlcnNbZmlsdGVycz8ubGVuZ3RoIC0gMV0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGZpbHRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGZpbHRlcnMgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wcm9jZXNzRmlsdGVyU3RyaW5nKGZpbHRlcnMsIHZhbHVlKS50aGVuKChyZXNwOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uZmlsdGVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucmVzcFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShmaWx0ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICByZWplY3QobnVsbCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sIDEwMCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyBwcm9jZXNzRmlsdGVyU3RyaW5nKGZpbHRlcjogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBsZXQgZjogYW55ID0ge307XHJcblxyXG4gICAgICAgIGNvbnN0IGFycmF5RmlsdGVyczogc3RyaW5nW10gPSBmaWx0ZXI/LnNwbGl0KCdbJyk7XHJcblxyXG4gICAgICAgIGlmIChhcnJheUZpbHRlcnM/LmZpbmRJbmRleCgoYTogc3RyaW5nKSA9PiBhID09PSAnZmlsdGVyJykgPj0gMCkge1xyXG4gICAgICAgICAgICBhcnJheUZpbHRlcnM/LnNwbGljZSgwLCAxKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGF3YWl0IHRoaXMuY3JlYXRlT2JqZWN0RmlsdGVycyhhcnJheUZpbHRlcnMsIHZhbHVlKS50aGVuKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgZiA9IGRhdGE7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBmO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgY3JlYXRlT2JqZWN0RmlsdGVycyhhcnJheTogc3RyaW5nW10sIHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGZvciAobGV0IGZpbHRlciBvZiBhcnJheSkge1xyXG4gICAgICAgICAgICBmaWx0ZXIgPSBmaWx0ZXI/LnJlcGxhY2UoJ10nLCAnJyk7XHJcblxyXG4gICAgICAgICAgICBpZiAoYXJyYXkubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgICAgICAgYXJyYXkuc3BsaWNlKDAsIDEpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtbZmlsdGVyXTogYXdhaXQgdGhpcy5jcmVhdGVPYmplY3RGaWx0ZXJzKGFycmF5LCB2YWx1ZSl9O1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlciA9PT0gJyRsaWtlJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7W2ZpbHRlcl06ICclJyArIHZhbHVlICsgJyUnfTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtbZmlsdGVyXTogdmFsdWV9O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRBdXRvY29tcGxldGVCeVRleHQodXJsOiBzdHJpbmcsIHRleHQ/OiBzdHJpbmcsIGZpZWxkPzogc3RyaW5nW10gfCBzdHJpbmcsIHJlc3RyaWN0aW9ucz86IFJlc3RyaWN0aW9uRmlsdGVyW10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZVByb3BlcnRpZXM/OiBzdHJpbmdbXSwgb3JkZXI/OiBzdHJpbmcsIGJvZHlSZXF1ZXN0PzogQXBpRm9ybURhdGEpOiBQcm9taXNlPE9ic2VydmFibGU8YW55Pj4ge1xyXG5cclxuICAgICAgICBsZXQgaHR0cFBhcmFtczogSHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdvZmZzZXQnLCAnMCcpO1xyXG4gICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLmFwcGVuZCgnbGltaXQnLCAnMjAnKTtcclxuXHJcbiAgICAgICAgaWYgKG9yZGVyKSB7XHJcbiAgICAgICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLmFwcGVuZCgnb3JkZXInLCBvcmRlcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRleHQpIHtcclxuICAgICAgICAgICAgdGV4dCA9ICcnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGJvZHlSZXF1ZXN0KSB7XHJcbiAgICAgICAgICAgIGxldCBib2R5OiBBcGlGb3JtRGF0YSA9IHt9O1xyXG4gICAgICAgICAgICBpZiAodGV4dCAmJiB0ZXh0ICE9PSAnJykge1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wcm9jZXNzUGFyYW1zKGZpZWxkLCB0ZXh0KVxyXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9keSA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmJvZHlSZXF1ZXN0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBkYXRhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBib2R5ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShib2R5UmVxdWVzdCkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAocmVzdHJpY3Rpb25zPy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IHIgb2YgcmVzdHJpY3Rpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wcm9jZXNzUGFyYW1zKHI/LmZpbHRlciwgcj8udmFsdWU/LnRvU3RyaW5nKCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmaWx0ZXJzQXV4ID0gey4uLmJvZHk/LmZpbHRlcn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8ubWVyZ2UoZmlsdGVyc0F1eCwgZGF0YSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5ID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmJvZHksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBmaWx0ZXJzQXV4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuc2V0KCdmb3JtJywgSlNPTi5zdHJpbmdpZnkoYm9keSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLmFwcGVuZCgnZm9ybScsIEpTT04uc3RyaW5naWZ5KGJvZHkpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICh0ZXh0ICYmIHRleHQgIT09ICcnKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGYgb2YgZmllbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuYXBwZW5kKGYsICclJyArIHRleHQgKyAnJScpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkPy5pbmNsdWRlcygnJGxpa2UnKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtcy5hcHBlbmQoZmllbGQsICclJyArIHRleHQgKyAnJScpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZmllbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuYXBwZW5kKGZpZWxkLCB0ZXh0KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJlc3RyaWN0aW9ucz8uZm9yRWFjaCgocmVzdHJpY3Rpb246IFJlc3RyaWN0aW9uRmlsdGVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdHJpY3Rpb24/LnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuYXBwZW5kKHJlc3RyaWN0aW9uPy5maWx0ZXIsIHJlc3RyaWN0aW9uLnZhbHVlPy50b1N0cmluZygpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmh0dHBPcHRpb25zID0ge3BhcmFtczogaHR0cFBhcmFtc307XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgICAgICAgIC5nZXQ8YW55Pih1cmwsIHRoaXMuaHR0cE9wdGlvbnMpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdD8uZGF0YT8ubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlUHJvcGVydGllcz8uZm9yRWFjaCgocHJvcGVydHk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGl0ZW1bcHJvcGVydHldO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
1
|
+
import { HttpClient, HttpParams } from '@angular/common/http';
|
2
|
+
import { Injectable } from '@angular/core';
|
3
|
+
import { map } from 'rxjs/operators';
|
4
|
+
import merge from 'lodash.merge';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
import * as i1 from "@angular/common/http";
|
7
|
+
export class AutocompleteService {
|
8
|
+
constructor(_httpClient) {
|
9
|
+
this._httpClient = _httpClient;
|
10
|
+
this.httpOptions = {};
|
11
|
+
}
|
12
|
+
processParams(filters, value) {
|
13
|
+
return new Promise((resolve, reject) => {
|
14
|
+
setTimeout(async () => {
|
15
|
+
let filter = {};
|
16
|
+
if (Array.isArray(filters)) {
|
17
|
+
for (const f of filters) {
|
18
|
+
await this.processFilterString(f, value).then((resp) => {
|
19
|
+
if (Object.keys(filter)?.length) {
|
20
|
+
merge(filter, resp);
|
21
|
+
}
|
22
|
+
else {
|
23
|
+
filter = {
|
24
|
+
...filter,
|
25
|
+
...resp
|
26
|
+
};
|
27
|
+
}
|
28
|
+
if (f === filters[filters?.length - 1]) {
|
29
|
+
resolve(filter);
|
30
|
+
}
|
31
|
+
});
|
32
|
+
}
|
33
|
+
}
|
34
|
+
else if (typeof filters === 'string') {
|
35
|
+
await this.processFilterString(filters, value).then((resp) => {
|
36
|
+
filter = {
|
37
|
+
...filter,
|
38
|
+
...resp
|
39
|
+
};
|
40
|
+
resolve(filter);
|
41
|
+
});
|
42
|
+
}
|
43
|
+
else {
|
44
|
+
reject(null);
|
45
|
+
}
|
46
|
+
}, 100);
|
47
|
+
});
|
48
|
+
}
|
49
|
+
async processFilterString(filter, value) {
|
50
|
+
let f = {};
|
51
|
+
const arrayFilters = filter?.split('[');
|
52
|
+
if (arrayFilters?.findIndex((a) => a === 'filter') >= 0) {
|
53
|
+
arrayFilters?.splice(0, 1);
|
54
|
+
}
|
55
|
+
await this.createObjectFilters(arrayFilters, value).then((data) => {
|
56
|
+
f = data;
|
57
|
+
});
|
58
|
+
return f;
|
59
|
+
}
|
60
|
+
async createObjectFilters(array, value) {
|
61
|
+
for (let filter of array) {
|
62
|
+
filter = filter?.replace(']', '');
|
63
|
+
if (array.length > 1) {
|
64
|
+
array.splice(0, 1);
|
65
|
+
return { [filter]: await this.createObjectFilters(array, value) };
|
66
|
+
}
|
67
|
+
else {
|
68
|
+
if (filter === '$like') {
|
69
|
+
return { [filter]: '%' + value + '%' };
|
70
|
+
}
|
71
|
+
else {
|
72
|
+
return { [filter]: value };
|
73
|
+
}
|
74
|
+
}
|
75
|
+
}
|
76
|
+
}
|
77
|
+
async getAutocompleteByText(url, text, field, restrictions, removeProperties, order, bodyRequest) {
|
78
|
+
let httpParams = new HttpParams().set('offset', '0');
|
79
|
+
httpParams = httpParams.append('limit', '20');
|
80
|
+
if (order) {
|
81
|
+
httpParams = httpParams.append('order', order);
|
82
|
+
}
|
83
|
+
if (!text) {
|
84
|
+
text = '';
|
85
|
+
}
|
86
|
+
if (bodyRequest) {
|
87
|
+
let body = {};
|
88
|
+
if (text && text !== '') {
|
89
|
+
await this.processParams(field, text)
|
90
|
+
.then((data) => {
|
91
|
+
body = {
|
92
|
+
...bodyRequest,
|
93
|
+
filter: data
|
94
|
+
};
|
95
|
+
});
|
96
|
+
}
|
97
|
+
else {
|
98
|
+
body = JSON.parse(JSON.stringify(bodyRequest));
|
99
|
+
}
|
100
|
+
if (restrictions?.length) {
|
101
|
+
for (let r of restrictions) {
|
102
|
+
await this.processParams(r?.filter, r?.value?.toString())
|
103
|
+
.then((data) => {
|
104
|
+
let filtersAux = { ...body?.filter };
|
105
|
+
merge(filtersAux, data);
|
106
|
+
body = {
|
107
|
+
...body,
|
108
|
+
filter: filtersAux
|
109
|
+
};
|
110
|
+
httpParams = httpParams.set('form', JSON.stringify(body));
|
111
|
+
});
|
112
|
+
}
|
113
|
+
}
|
114
|
+
else {
|
115
|
+
httpParams = httpParams.append('form', JSON.stringify(body));
|
116
|
+
}
|
117
|
+
}
|
118
|
+
else {
|
119
|
+
if (text && text !== '') {
|
120
|
+
if (Array.isArray(field)) {
|
121
|
+
for (const f of field) {
|
122
|
+
httpParams = httpParams.append(f, '%' + text + '%');
|
123
|
+
}
|
124
|
+
}
|
125
|
+
else {
|
126
|
+
if (field?.includes('$like')) {
|
127
|
+
httpParams = httpParams.append(field, '%' + text + '%');
|
128
|
+
}
|
129
|
+
else if (field) {
|
130
|
+
httpParams = httpParams.append(field, text);
|
131
|
+
}
|
132
|
+
}
|
133
|
+
}
|
134
|
+
restrictions?.forEach((restriction) => {
|
135
|
+
if (restriction?.value) {
|
136
|
+
httpParams = httpParams.append(restriction?.filter, restriction.value?.toString());
|
137
|
+
}
|
138
|
+
});
|
139
|
+
}
|
140
|
+
this.httpOptions = { params: httpParams };
|
141
|
+
return this._httpClient
|
142
|
+
.get(url, this.httpOptions)
|
143
|
+
.pipe(map((result) => {
|
144
|
+
result?.data?.map((item) => {
|
145
|
+
removeProperties?.forEach((property) => {
|
146
|
+
delete item[property];
|
147
|
+
});
|
148
|
+
});
|
149
|
+
return result;
|
150
|
+
}));
|
151
|
+
}
|
152
|
+
}
|
153
|
+
AutocompleteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AutocompleteService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
154
|
+
AutocompleteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AutocompleteService, providedIn: 'root' });
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AutocompleteService, decorators: [{
|
156
|
+
type: Injectable,
|
157
|
+
args: [{
|
158
|
+
providedIn: 'root'
|
159
|
+
}]
|
160
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWFjaG9zLWdlbmVyYWwtYXV0b2NvbXBsZXRlL3NyYy91dGlscy9zZXJ2aWNlcy9hdXRvY29tcGxldGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQzs7O0FBUWpDLE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsWUFDWSxXQUF1QjtRQUF2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUkzQixnQkFBVyxHQUFHLEVBQUUsQ0FBQztJQUZ6QixDQUFDO0lBSU8sYUFBYSxDQUFDLE9BQXNDLEVBQUUsS0FBYTtRQUN2RSxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25DLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDbEIsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO2dCQUVoQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ3hCLEtBQUssTUFBTSxDQUFDLElBQUksT0FBTyxFQUFFO3dCQUNyQixNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7NEJBQ3hELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUU7Z0NBQzdCLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7NkJBQ3ZCO2lD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LEdBQUcsQ0FBTSxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQzthQUMvQixJQUFJLENBQ0QsR0FBRyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7WUFDaEIsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtnQkFDNUIsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBZ0IsRUFBRSxFQUFFO29CQUMzQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDMUIsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDVixDQUFDOztnSEEvSlEsbUJBQW1CO29IQUFuQixtQkFBbUIsY0FGaEIsTUFBTTsyRkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwQ2xpZW50LCBIdHRwUGFyYW1zfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCBtZXJnZSBmcm9tICdsb2Rhc2gubWVyZ2UnO1xyXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHtBcGlGb3JtRGF0YSwgUmVzdHJpY3Rpb25GaWx0ZXJ9IGZyb20gJy4uL2ludGVyZmFjZXMvaW50ZXJmYWNlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZVNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfaHR0cENsaWVudDogSHR0cENsaWVudFxyXG4gICAgKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBodHRwT3B0aW9ucyA9IHt9O1xyXG5cclxuICAgIHByaXZhdGUgcHJvY2Vzc1BhcmFtcyhmaWx0ZXJzOiBzdHJpbmdbXSB8IHN0cmluZyB8IHVuZGVmaW5lZCwgdmFsdWU6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBsZXQgZmlsdGVyID0ge307XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmlsdGVycykpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGYgb2YgZmlsdGVycykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnByb2Nlc3NGaWx0ZXJTdHJpbmcoZiwgdmFsdWUpLnRoZW4oKHJlc3A6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKGZpbHRlcik/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lcmdlKGZpbHRlciwgcmVzcCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlciA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uZmlsdGVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5yZXNwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZiA9PT0gZmlsdGVyc1tmaWx0ZXJzPy5sZW5ndGggLSAxXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZmlsdGVyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZmlsdGVycyA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnByb2Nlc3NGaWx0ZXJTdHJpbmcoZmlsdGVycywgdmFsdWUpLnRoZW4oKHJlc3A6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5maWx0ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5yZXNwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGZpbHRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChudWxsKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIHByb2Nlc3NGaWx0ZXJTdHJpbmcoZmlsdGVyOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGxldCBmOiBhbnkgPSB7fTtcclxuXHJcbiAgICAgICAgY29uc3QgYXJyYXlGaWx0ZXJzOiBzdHJpbmdbXSA9IGZpbHRlcj8uc3BsaXQoJ1snKTtcclxuXHJcbiAgICAgICAgaWYgKGFycmF5RmlsdGVycz8uZmluZEluZGV4KChhOiBzdHJpbmcpID0+IGEgPT09ICdmaWx0ZXInKSA+PSAwKSB7XHJcbiAgICAgICAgICAgIGFycmF5RmlsdGVycz8uc3BsaWNlKDAsIDEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYXdhaXQgdGhpcy5jcmVhdGVPYmplY3RGaWx0ZXJzKGFycmF5RmlsdGVycywgdmFsdWUpLnRoZW4oKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBmID0gZGF0YTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGY7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyBjcmVhdGVPYmplY3RGaWx0ZXJzKGFycmF5OiBzdHJpbmdbXSwgdmFsdWU6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgZm9yIChsZXQgZmlsdGVyIG9mIGFycmF5KSB7XHJcbiAgICAgICAgICAgIGZpbHRlciA9IGZpbHRlcj8ucmVwbGFjZSgnXScsICcnKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChhcnJheS5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgICAgICAgICBhcnJheS5zcGxpY2UoMCwgMSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1tmaWx0ZXJdOiBhd2FpdCB0aGlzLmNyZWF0ZU9iamVjdEZpbHRlcnMoYXJyYXksIHZhbHVlKX07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyID09PSAnJGxpa2UnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtbZmlsdGVyXTogJyUnICsgdmFsdWUgKyAnJSd9O1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1tmaWx0ZXJdOiB2YWx1ZX07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEF1dG9jb21wbGV0ZUJ5VGV4dCh1cmw6IHN0cmluZywgdGV4dD86IHN0cmluZywgZmllbGQ/OiBzdHJpbmdbXSB8IHN0cmluZywgcmVzdHJpY3Rpb25zPzogUmVzdHJpY3Rpb25GaWx0ZXJbXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlUHJvcGVydGllcz86IHN0cmluZ1tdLCBvcmRlcj86IHN0cmluZywgYm9keVJlcXVlc3Q/OiBBcGlGb3JtRGF0YSk6IFByb21pc2U8T2JzZXJ2YWJsZTxhbnk+PiB7XHJcblxyXG4gICAgICAgIGxldCBodHRwUGFyYW1zOiBIdHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ29mZnNldCcsICcwJyk7XHJcbiAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuYXBwZW5kKCdsaW1pdCcsICcyMCcpO1xyXG5cclxuICAgICAgICBpZiAob3JkZXIpIHtcclxuICAgICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuYXBwZW5kKCdvcmRlcicsIG9yZGVyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGV4dCkge1xyXG4gICAgICAgICAgICB0ZXh0ID0gJyc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoYm9keVJlcXVlc3QpIHtcclxuICAgICAgICAgICAgbGV0IGJvZHk6IEFwaUZvcm1EYXRhID0ge307XHJcbiAgICAgICAgICAgIGlmICh0ZXh0ICYmIHRleHQgIT09ICcnKSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnByb2Nlc3NQYXJhbXMoZmllbGQsIHRleHQpXHJcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib2R5ID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uYm9keVJlcXVlc3QsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGRhdGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGJvZHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGJvZHlSZXF1ZXN0KSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChyZXN0cmljdGlvbnM/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgciBvZiByZXN0cmljdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnByb2Nlc3NQYXJhbXMocj8uZmlsdGVyLCByPy52YWx1ZT8udG9TdHJpbmcoKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpbHRlcnNBdXggPSB7Li4uYm9keT8uZmlsdGVyfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVyZ2UoZmlsdGVyc0F1eCwgZGF0YSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5ID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmJvZHksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBmaWx0ZXJzQXV4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuc2V0KCdmb3JtJywgSlNPTi5zdHJpbmdpZnkoYm9keSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLmFwcGVuZCgnZm9ybScsIEpTT04uc3RyaW5naWZ5KGJvZHkpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICh0ZXh0ICYmIHRleHQgIT09ICcnKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGYgb2YgZmllbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuYXBwZW5kKGYsICclJyArIHRleHQgKyAnJScpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkPy5pbmNsdWRlcygnJGxpa2UnKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtcy5hcHBlbmQoZmllbGQsICclJyArIHRleHQgKyAnJScpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZmllbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuYXBwZW5kKGZpZWxkLCB0ZXh0KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJlc3RyaWN0aW9ucz8uZm9yRWFjaCgocmVzdHJpY3Rpb246IFJlc3RyaWN0aW9uRmlsdGVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdHJpY3Rpb24/LnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuYXBwZW5kKHJlc3RyaWN0aW9uPy5maWx0ZXIsIHJlc3RyaWN0aW9uLnZhbHVlPy50b1N0cmluZygpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmh0dHBPcHRpb25zID0ge3BhcmFtczogaHR0cFBhcmFtc307XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwQ2xpZW50XHJcbiAgICAgICAgICAgIC5nZXQ8YW55Pih1cmwsIHRoaXMuaHR0cE9wdGlvbnMpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdD8uZGF0YT8ubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlUHJvcGVydGllcz8uZm9yRWFjaCgocHJvcGVydHk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGl0ZW1bcHJvcGVydHldO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
@@ -1,48 +1,48 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
export class UtilsService {
|
4
|
-
/**
|
5
|
-
* Convierte el tiempo pasado por parámetro en horas y minutos
|
6
|
-
*
|
7
|
-
* @param time - Tiempo
|
8
|
-
* @returns Devuelve las horas y minutos
|
9
|
-
*/
|
10
|
-
static getTime(time) {
|
11
|
-
const hours = parseInt(Number(time) / 3600 + '', 10);
|
12
|
-
time = Number(time) - (hours * 3600);
|
13
|
-
const minutes = parseInt(Number(time) / 60 + '', 10);
|
14
|
-
return { hours, minutes };
|
15
|
-
}
|
16
|
-
/**
|
17
|
-
* Devuelve el tiempo en formato 'hh:mm'
|
18
|
-
*
|
19
|
-
* @param time - Tiempo
|
20
|
-
*/
|
21
|
-
static getTimePretty(time) {
|
22
|
-
const { hours, minutes } = UtilsService.getTime(time);
|
23
|
-
return (hours < 10 ? '0' + hours : hours) + ':' + (minutes < 10 ? '0' + minutes : minutes);
|
24
|
-
}
|
25
|
-
/**
|
26
|
-
* Devuelve el tiempo en formato 'hhh : mmm'
|
27
|
-
*
|
28
|
-
* @param time - Tiempo
|
29
|
-
*/
|
30
|
-
static humanizeDuration(time) {
|
31
|
-
const { hours, minutes } = UtilsService.getTime(time);
|
32
|
-
return (hours < 10 ? '0' + hours : hours) + 'h : ' + (minutes < 10 ? '0' + minutes : minutes) + 'm';
|
33
|
-
}
|
34
|
-
static resolvePropertyByPath(obj, path) {
|
35
|
-
return path.reduce((prev, curr) => {
|
36
|
-
return prev ? prev[curr] : null;
|
37
|
-
}, obj || self);
|
38
|
-
}
|
39
|
-
}
|
40
|
-
UtilsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
41
|
-
UtilsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
43
|
-
type: Injectable,
|
44
|
-
args: [{
|
45
|
-
providedIn: 'root'
|
46
|
-
}]
|
47
|
-
}] });
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class UtilsService {
|
4
|
+
/**
|
5
|
+
* Convierte el tiempo pasado por parámetro en horas y minutos
|
6
|
+
*
|
7
|
+
* @param time - Tiempo
|
8
|
+
* @returns Devuelve las horas y minutos
|
9
|
+
*/
|
10
|
+
static getTime(time) {
|
11
|
+
const hours = parseInt(Number(time) / 3600 + '', 10);
|
12
|
+
time = Number(time) - (hours * 3600);
|
13
|
+
const minutes = parseInt(Number(time) / 60 + '', 10);
|
14
|
+
return { hours, minutes };
|
15
|
+
}
|
16
|
+
/**
|
17
|
+
* Devuelve el tiempo en formato 'hh:mm'
|
18
|
+
*
|
19
|
+
* @param time - Tiempo
|
20
|
+
*/
|
21
|
+
static getTimePretty(time) {
|
22
|
+
const { hours, minutes } = UtilsService.getTime(time);
|
23
|
+
return (hours < 10 ? '0' + hours : hours) + ':' + (minutes < 10 ? '0' + minutes : minutes);
|
24
|
+
}
|
25
|
+
/**
|
26
|
+
* Devuelve el tiempo en formato 'hhh : mmm'
|
27
|
+
*
|
28
|
+
* @param time - Tiempo
|
29
|
+
*/
|
30
|
+
static humanizeDuration(time) {
|
31
|
+
const { hours, minutes } = UtilsService.getTime(time);
|
32
|
+
return (hours < 10 ? '0' + hours : hours) + 'h : ' + (minutes < 10 ? '0' + minutes : minutes) + 'm';
|
33
|
+
}
|
34
|
+
static resolvePropertyByPath(obj, path) {
|
35
|
+
return path.reduce((prev, curr) => {
|
36
|
+
return prev ? prev[curr] : null;
|
37
|
+
}, obj || self);
|
38
|
+
}
|
39
|
+
}
|
40
|
+
UtilsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
41
|
+
UtilsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UtilsService, providedIn: 'root' });
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UtilsService, decorators: [{
|
43
|
+
type: Injectable,
|
44
|
+
args: [{
|
45
|
+
providedIn: 'root'
|
46
|
+
}]
|
47
|
+
}] });
|
48
48
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1YWNob3MtZ2VuZXJhbC1hdXRvY29tcGxldGUvc3JjL3V0aWxzL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFLekMsTUFBTSxPQUFPLFlBQVk7SUFDckI7Ozs7O09BS0c7SUFDSyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQXFCO1FBQ3hDLE1BQU0sS0FBSyxHQUFXLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM3RCxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sT0FBTyxHQUFXLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUU3RCxPQUFPLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBQyxDQUFBO0lBQzNCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFZO1FBQ3BDLE1BQU0sRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFDLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwRCxPQUFPLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBcUI7UUFDaEQsTUFBTSxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBELE9BQU8sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDeEcsQ0FBQztJQUVNLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFRLEVBQUUsSUFBYztRQUN4RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBWSxFQUFFLEVBQUU7WUFDdEMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3BDLENBQUMsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQzs7eUdBekNRLFlBQVk7NkdBQVosWUFBWSxjQUZULE1BQU07MkZBRVQsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVdGlsc1NlcnZpY2Uge1xyXG4gICAgLyoqXHJcbiAgICAgKiBDb252aWVydGUgZWwgdGllbXBvIHBhc2FkbyBwb3IgcGFyw6FtZXRybyBlbiBob3JhcyB5IG1pbnV0b3NcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gdGltZSAtIFRpZW1wb1xyXG4gICAgICogQHJldHVybnMgRGV2dWVsdmUgbGFzIGhvcmFzIHkgbWludXRvc1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHN0YXRpYyBnZXRUaW1lKHRpbWU6IG51bWJlciB8IHN0cmluZyk6IHsgaG91cnM6IG51bWJlcjsgbWludXRlczogbnVtYmVyIH0ge1xyXG4gICAgICAgIGNvbnN0IGhvdXJzOiBudW1iZXIgPSBwYXJzZUludChOdW1iZXIodGltZSkgLyAzNjAwICsgJycsIDEwKTtcclxuICAgICAgICB0aW1lID0gTnVtYmVyKHRpbWUpIC0gKGhvdXJzICogMzYwMCk7XHJcbiAgICAgICAgY29uc3QgbWludXRlczogbnVtYmVyID0gcGFyc2VJbnQoTnVtYmVyKHRpbWUpIC8gNjAgKyAnJywgMTApO1xyXG5cclxuICAgICAgICByZXR1cm4ge2hvdXJzLCBtaW51dGVzfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGV2dWVsdmUgZWwgdGllbXBvIGVuIGZvcm1hdG8gJ2hoOm1tJ1xyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB0aW1lIC0gVGllbXBvXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0VGltZVByZXR0eSh0aW1lOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IHtob3VycywgbWludXRlc30gPSBVdGlsc1NlcnZpY2UuZ2V0VGltZSh0aW1lKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIChob3VycyA8IDEwID8gJzAnICsgaG91cnMgOiBob3VycykgKyAnOicgKyAobWludXRlcyA8IDEwID8gJzAnICsgbWludXRlcyA6IG1pbnV0ZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGV2dWVsdmUgZWwgdGllbXBvIGVuIGZvcm1hdG8gJ2hoaCA6IG1tbSdcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gdGltZSAtIFRpZW1wb1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGh1bWFuaXplRHVyYXRpb24odGltZTogbnVtYmVyIHwgc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB7aG91cnMsIG1pbnV0ZXN9ID0gVXRpbHNTZXJ2aWNlLmdldFRpbWUodGltZSk7XHJcblxyXG4gICAgICAgIHJldHVybiAoaG91cnMgPCAxMCA/ICcwJyArIGhvdXJzIDogaG91cnMpICsgJ2ggOiAnICsgKG1pbnV0ZXMgPCAxMCA/ICcwJyArIG1pbnV0ZXMgOiBtaW51dGVzKSArICdtJztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIHJlc29sdmVQcm9wZXJ0eUJ5UGF0aChvYmo6IGFueSwgcGF0aDogc3RyaW5nW10pOiBhbnkge1xyXG4gICAgICAgIHJldHVybiBwYXRoLnJlZHVjZSgocHJldiwgY3Vycjogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcmV2ID8gcHJldltjdXJyXSA6IG51bGw7XHJcbiAgICAgICAgfSwgb2JqIHx8IHNlbGYpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|