@smartsoft001-mobilems/angular 1.0.62 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/smartsoft001-mobilems-angular.mjs +709 -0
- package/fesm2022/smartsoft001-mobilems-angular.mjs.map +1 -0
- package/index.d.ts +200 -7
- package/package.json +4 -28
- package/esm2020/index.mjs +0 -8
- package/esm2020/lib/+state/configs.facade.mjs +0 -54
- package/esm2020/lib/components/app/app.component.mjs +0 -13
- package/esm2020/lib/components/filters/filters.component.mjs +0 -351
- package/esm2020/lib/components/index.mjs +0 -8
- package/esm2020/lib/components/page/page.component.mjs +0 -11
- package/esm2020/lib/directives/index.mjs +0 -2
- package/esm2020/lib/environments/environment.mjs +0 -5
- package/esm2020/lib/services/configs/configs.service.mjs +0 -44
- package/esm2020/lib/services/crud/crud.service.mjs +0 -82
- package/esm2020/lib/services/dictionary/dictionary.service.mjs +0 -36
- package/esm2020/lib/services/index.mjs +0 -15
- package/esm2020/lib/services/style/style.service.mjs +0 -23
- package/esm2020/lib/services/style/variables.mjs +0 -33
- package/esm2020/lib/shared.config.mjs +0 -13
- package/esm2020/lib/shared.module.mjs +0 -91
- package/esm2020/lib/translations.mjs +0 -19
- package/esm2020/smartsoft001-mobilems-angular.mjs +0 -5
- package/lib/+state/configs.facade.d.ts +0 -17
- package/lib/components/app/app.component.d.ts +0 -6
- package/lib/components/filters/filters.component.d.ts +0 -87
- package/lib/components/index.d.ts +0 -5
- package/lib/components/page/page.component.d.ts +0 -6
- package/lib/directives/index.d.ts +0 -1
- package/lib/environments/environment.d.ts +0 -4
- package/lib/services/configs/configs.service.d.ts +0 -13
- package/lib/services/crud/crud.service.d.ts +0 -18
- package/lib/services/dictionary/dictionary.service.d.ts +0 -26
- package/lib/services/index.d.ts +0 -9
- package/lib/services/style/style.service.d.ts +0 -10
- package/lib/services/style/variables.d.ts +0 -2
- package/lib/shared.config.d.ts +0 -6
- package/lib/shared.module.d.ts +0 -16
- package/lib/translations.d.ts +0 -6
|
@@ -1,351 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { ContentChild, Directive, TemplateRef } from "@angular/core";
|
|
3
|
-
import { Debounce } from "lodash-decorators";
|
|
4
|
-
import { BaseComponent } from "@smartsoft001/angular";
|
|
5
|
-
import { CrudFacade } from "@smartsoft001/crud-shell-angular";
|
|
6
|
-
import * as _ from "lodash";
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@smartsoft001/crud-shell-angular";
|
|
9
|
-
export class FiltersContext extends BaseComponent {
|
|
10
|
-
constructor(facade) {
|
|
11
|
-
super();
|
|
12
|
-
this.facade = facade;
|
|
13
|
-
this.totalCount$ = this.facade.totalCount$;
|
|
14
|
-
this.facade.filter$.pipe(this.takeUntilDestroy).subscribe(val => {
|
|
15
|
-
this._filter = val;
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
set searchText(val) {
|
|
19
|
-
if (this._filter && this._filter.searchText === val)
|
|
20
|
-
return;
|
|
21
|
-
this.refresh({
|
|
22
|
-
searchText: val,
|
|
23
|
-
offset: 0
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
get searchText() {
|
|
27
|
-
return this._filter?.searchText;
|
|
28
|
-
}
|
|
29
|
-
set page(val) {
|
|
30
|
-
const offset = this._filter?.limit ? (this._filter?.limit * val) : 0;
|
|
31
|
-
if (this._filter && this._filter.offset === offset)
|
|
32
|
-
return;
|
|
33
|
-
this.refresh({
|
|
34
|
-
offset: offset
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
get page() {
|
|
38
|
-
if (!this._filter)
|
|
39
|
-
return 1;
|
|
40
|
-
if (!this._filter.offset || !this._filter.limit)
|
|
41
|
-
return 1;
|
|
42
|
-
return (this._filter.offset / this._filter.limit);
|
|
43
|
-
}
|
|
44
|
-
set limit(val) {
|
|
45
|
-
if (this._filter && this._filter.limit === val)
|
|
46
|
-
return;
|
|
47
|
-
this.refresh({
|
|
48
|
-
limit: val,
|
|
49
|
-
offset: 0
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
get limit() {
|
|
53
|
-
if (!this._filter)
|
|
54
|
-
return 20;
|
|
55
|
-
if (!this._filter.limit)
|
|
56
|
-
return 20;
|
|
57
|
-
return this._filter.limit;
|
|
58
|
-
}
|
|
59
|
-
set sortBy(val) {
|
|
60
|
-
if (this._filter && this._filter.sortBy === val)
|
|
61
|
-
return;
|
|
62
|
-
this.refresh({
|
|
63
|
-
sortBy: val
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
get sortBy() {
|
|
67
|
-
return this._filter?.sortBy;
|
|
68
|
-
}
|
|
69
|
-
set query(val) {
|
|
70
|
-
if (this._filter && this._filter.query === val)
|
|
71
|
-
return;
|
|
72
|
-
this.refresh({
|
|
73
|
-
query: val
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
get query() {
|
|
77
|
-
return this._filter?.query;
|
|
78
|
-
}
|
|
79
|
-
set sortDesc(val) {
|
|
80
|
-
if (this._filter && this._filter.sortDesc === val)
|
|
81
|
-
return;
|
|
82
|
-
this.refresh({
|
|
83
|
-
sortDesc: val
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
set sort(val) {
|
|
87
|
-
if (this._filter && this._filter.sortBy === val)
|
|
88
|
-
return;
|
|
89
|
-
this.refresh({
|
|
90
|
-
sortBy: val?.by,
|
|
91
|
-
sortDesc: val?.desc
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
get sort() {
|
|
95
|
-
return {
|
|
96
|
-
by: this._filter?.sortBy,
|
|
97
|
-
desc: this._filter?.sortDesc
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
get sortDesc() {
|
|
101
|
-
return this._filter?.sortDesc;
|
|
102
|
-
}
|
|
103
|
-
set onlyImage(val) {
|
|
104
|
-
if (!val && this.onlyImage && this._filter) {
|
|
105
|
-
const result = this._filter.query ? this._filter.query
|
|
106
|
-
?.filter(q => !(q.type === "=" && q.key === 'onlyImage')) : [];
|
|
107
|
-
this.refresh({
|
|
108
|
-
query: [
|
|
109
|
-
...result
|
|
110
|
-
]
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
if (val && !this.onlyImage && this._filter) {
|
|
114
|
-
const result = this._filter.query
|
|
115
|
-
? this._filter.query.filter(q => !(q.type === "=" && q.key === 'onlyImage')) : [];
|
|
116
|
-
this.refresh({
|
|
117
|
-
offset: 0,
|
|
118
|
-
query: [
|
|
119
|
-
...result,
|
|
120
|
-
{
|
|
121
|
-
type: "=",
|
|
122
|
-
key: "onlyImage",
|
|
123
|
-
value: 1,
|
|
124
|
-
hidden: true
|
|
125
|
-
}
|
|
126
|
-
]
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
get onlyImage() {
|
|
131
|
-
return this._filter?.query
|
|
132
|
-
?.some(q => q.type === "=" && q.key === 'onlyImage' && q.value === 1);
|
|
133
|
-
}
|
|
134
|
-
set exposure(val) {
|
|
135
|
-
if (!val && this.exposure && this._filter) {
|
|
136
|
-
const result = this._filter.query ? this._filter.query
|
|
137
|
-
?.filter(q => !(q.type === "=" && q.key === 'locationType' && q.value === "Ekspozycja")) : [];
|
|
138
|
-
this.refresh({
|
|
139
|
-
query: [
|
|
140
|
-
...result
|
|
141
|
-
]
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
if (val && !this.exposure && this._filter) {
|
|
145
|
-
const result = this._filter.query
|
|
146
|
-
? this._filter.query?.filter(q => !(q.type === "=" && q.key === 'locationType' && q.value === "Ekspozycja")) : [];
|
|
147
|
-
this.refresh({
|
|
148
|
-
offset: 0,
|
|
149
|
-
query: [
|
|
150
|
-
...result,
|
|
151
|
-
{
|
|
152
|
-
type: "=",
|
|
153
|
-
key: "locationType",
|
|
154
|
-
value: "Ekspozycja",
|
|
155
|
-
hidden: true
|
|
156
|
-
}
|
|
157
|
-
]
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
get exposure() {
|
|
162
|
-
return this._filter?.query
|
|
163
|
-
?.some(q => q.type === "=" && q.key === 'locationType' && q.value === "Ekspozycja");
|
|
164
|
-
}
|
|
165
|
-
set creators(val) {
|
|
166
|
-
this.filterSet(this.creators, val, 'creators', "=");
|
|
167
|
-
}
|
|
168
|
-
get creators() {
|
|
169
|
-
return this.filterGet("=", 'creators');
|
|
170
|
-
}
|
|
171
|
-
set createDatesFrom(val) {
|
|
172
|
-
this.filterSet(this.createDatesFrom, val, 'createDates', ">=");
|
|
173
|
-
}
|
|
174
|
-
get createDatesFrom() {
|
|
175
|
-
return this.filterGet(">=", 'createDates');
|
|
176
|
-
}
|
|
177
|
-
set createDatesTo(val) {
|
|
178
|
-
this.filterSet(this.createDatesTo, val, 'createDates', "<=");
|
|
179
|
-
}
|
|
180
|
-
get createDatesTo() {
|
|
181
|
-
return this.filterGet("<=", 'createDates');
|
|
182
|
-
}
|
|
183
|
-
set publicationDateFrom(val) {
|
|
184
|
-
this.filterSet(this.publicationDateFrom, val, 'publicationDate', ">=");
|
|
185
|
-
}
|
|
186
|
-
get publicationDateFrom() {
|
|
187
|
-
return this.filterGet(">=", 'publicationDate');
|
|
188
|
-
}
|
|
189
|
-
set publicationDateTo(val) {
|
|
190
|
-
this.filterSet(this.publicationDateTo, val, 'publicationDate', "<=");
|
|
191
|
-
}
|
|
192
|
-
get publicationDateTo() {
|
|
193
|
-
return this.filterGet("<=", 'publicationDate');
|
|
194
|
-
}
|
|
195
|
-
set createPlaces(val) {
|
|
196
|
-
this.filterSet(this.createPlaces, val, 'createPlaces', "=");
|
|
197
|
-
}
|
|
198
|
-
get createPlaces() {
|
|
199
|
-
return this.filterGet("=", 'createPlaces');
|
|
200
|
-
}
|
|
201
|
-
set keywords(val) {
|
|
202
|
-
this.filterSet(this.keywords, val, 'keywords', "=");
|
|
203
|
-
}
|
|
204
|
-
get keywords() {
|
|
205
|
-
return this.filterGet("=", 'keywords');
|
|
206
|
-
}
|
|
207
|
-
set techniques(val) {
|
|
208
|
-
this.filterSet(this.techniques, val, 'techniques', "=");
|
|
209
|
-
}
|
|
210
|
-
get techniques() {
|
|
211
|
-
return this.filterGet("=", 'techniques');
|
|
212
|
-
}
|
|
213
|
-
set materials(val) {
|
|
214
|
-
this.filterSet(this.materials, val, 'materials', "=");
|
|
215
|
-
}
|
|
216
|
-
get materials() {
|
|
217
|
-
return this.filterGet("=", 'materials');
|
|
218
|
-
}
|
|
219
|
-
set category(val) {
|
|
220
|
-
this.filterSet(this.category, val, 'category', "=");
|
|
221
|
-
}
|
|
222
|
-
get category() {
|
|
223
|
-
return this.filterGet("=", 'category');
|
|
224
|
-
}
|
|
225
|
-
set department(val) {
|
|
226
|
-
this.filterSet(this.department, val, 'department', "=");
|
|
227
|
-
}
|
|
228
|
-
get department() {
|
|
229
|
-
return this.filterGet("=", 'department');
|
|
230
|
-
}
|
|
231
|
-
set location(val) {
|
|
232
|
-
this.filterSet(this.category, val, 'location', "=");
|
|
233
|
-
}
|
|
234
|
-
get location() {
|
|
235
|
-
return this.filterGet("=", 'location');
|
|
236
|
-
}
|
|
237
|
-
set locationType(val) {
|
|
238
|
-
this.filterSet(this.category, val, 'locationType', "=");
|
|
239
|
-
}
|
|
240
|
-
get locationType() {
|
|
241
|
-
return this.filterGet("=", 'locationType');
|
|
242
|
-
}
|
|
243
|
-
set cycles(val) {
|
|
244
|
-
this.filterSet(this.cycles, val, 'cycles', "=");
|
|
245
|
-
}
|
|
246
|
-
get cycles() {
|
|
247
|
-
return this.filterGet("=", 'cycles');
|
|
248
|
-
}
|
|
249
|
-
set authors(val) {
|
|
250
|
-
this.filterSet(this.authors, val, 'authors', "=");
|
|
251
|
-
}
|
|
252
|
-
get authors() {
|
|
253
|
-
return this.filterGet("=", 'authors');
|
|
254
|
-
}
|
|
255
|
-
set targetGroups(val) {
|
|
256
|
-
this.filterSet(this.targetGroups, val, 'targetGroups', "=");
|
|
257
|
-
}
|
|
258
|
-
get targetGroups() {
|
|
259
|
-
return this.filterGet("=", 'targetGroups');
|
|
260
|
-
}
|
|
261
|
-
set template(val) {
|
|
262
|
-
this.filterSet(this.template, val, 'template', "=");
|
|
263
|
-
}
|
|
264
|
-
get template() {
|
|
265
|
-
return this.filterGet("=", 'template');
|
|
266
|
-
}
|
|
267
|
-
set types(val) {
|
|
268
|
-
this.filterSet(this.types, val, 'types', "=");
|
|
269
|
-
}
|
|
270
|
-
get types() {
|
|
271
|
-
return this.filterGet("=", 'types');
|
|
272
|
-
}
|
|
273
|
-
set extraNumbersValue(val) {
|
|
274
|
-
this.filterSet(this.creators, val, 'extraNumbersValue', "=");
|
|
275
|
-
}
|
|
276
|
-
get extraNumbersValue() {
|
|
277
|
-
return this.filterGet("=", 'extraNumbersValue');
|
|
278
|
-
}
|
|
279
|
-
refresh(filter) {
|
|
280
|
-
let change = false;
|
|
281
|
-
Object.keys(filter).forEach(key => {
|
|
282
|
-
if (!_.isEqual(this._filter[key], filter[key]))
|
|
283
|
-
change = true;
|
|
284
|
-
});
|
|
285
|
-
if (!change)
|
|
286
|
-
return;
|
|
287
|
-
this.facade.read({
|
|
288
|
-
...this.facade.filter,
|
|
289
|
-
...filter
|
|
290
|
-
});
|
|
291
|
-
}
|
|
292
|
-
filterGet(key, type) {
|
|
293
|
-
return this._filter?.query
|
|
294
|
-
?.find(q => q.type === key && q.key === type)?.value;
|
|
295
|
-
}
|
|
296
|
-
filterSet(currentValue, val, key, type) {
|
|
297
|
-
if (!val && this._filter) {
|
|
298
|
-
const result = this._filter?.query ? this._filter?.query
|
|
299
|
-
?.filter(q => !(q.type === type && q.key === key)) : [];
|
|
300
|
-
this.refresh({
|
|
301
|
-
offset: 0,
|
|
302
|
-
query: [
|
|
303
|
-
...result
|
|
304
|
-
]
|
|
305
|
-
});
|
|
306
|
-
}
|
|
307
|
-
if (val && currentValue !== val && this._filter) {
|
|
308
|
-
const result = this._filter?.query
|
|
309
|
-
? this._filter?.query?.filter(q => !(q.type === type && q.key === key)) : [];
|
|
310
|
-
this.refresh({
|
|
311
|
-
offset: 0,
|
|
312
|
-
query: [
|
|
313
|
-
...result,
|
|
314
|
-
{
|
|
315
|
-
type: type,
|
|
316
|
-
key: key,
|
|
317
|
-
value: val,
|
|
318
|
-
hidden: true
|
|
319
|
-
}
|
|
320
|
-
]
|
|
321
|
-
});
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
__decorate([
|
|
326
|
-
Debounce(500),
|
|
327
|
-
__metadata("design:type", Function),
|
|
328
|
-
__metadata("design:paramtypes", [Object]),
|
|
329
|
-
__metadata("design:returntype", void 0)
|
|
330
|
-
], FiltersContext.prototype, "refresh", null);
|
|
331
|
-
export class FiltersBaseComponent {
|
|
332
|
-
constructor(facade) {
|
|
333
|
-
this.facade = facade;
|
|
334
|
-
this.contentTpl = null;
|
|
335
|
-
}
|
|
336
|
-
ngAfterContentInit() {
|
|
337
|
-
this.context = new FiltersContext(this.facade);
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
FiltersBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FiltersBaseComponent, deps: [{ token: i1.CrudFacade }], target: i0.ɵɵFactoryTarget.Directive });
|
|
341
|
-
FiltersBaseComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: FiltersBaseComponent, selector: "smart-mobilems-filters", queries: [{ propertyName: "contentTpl", first: true, predicate: ["contentTpl"], descendants: true, read: TemplateRef }], ngImport: i0 });
|
|
342
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FiltersBaseComponent, decorators: [{
|
|
343
|
-
type: Directive,
|
|
344
|
-
args: [{
|
|
345
|
-
selector: "smart-mobilems-filters",
|
|
346
|
-
}]
|
|
347
|
-
}], ctorParameters: function () { return [{ type: i1.CrudFacade }]; }, propDecorators: { contentTpl: [{
|
|
348
|
-
type: ContentChild,
|
|
349
|
-
args: ["contentTpl", { read: TemplateRef }]
|
|
350
|
-
}] } });
|
|
351
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL2ZpbHRlcnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQW1CLFlBQVksRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFVBQVUsRUFBYyxNQUFNLGtDQUFrQyxDQUFDO0FBRXpFLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7QUFNNUIsTUFBTSxPQUFPLGNBQTBDLFNBQVEsYUFBYTtJQWtTeEUsWUFBNkIsTUFBcUI7UUFDOUMsS0FBSyxFQUFFLENBQUM7UUFEaUIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUZsRCxnQkFBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBS2xDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDcEIsSUFBSSxDQUFDLGdCQUFnQixDQUN4QixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQXZTRCxJQUFJLFVBQVUsQ0FBQyxHQUF1QjtRQUNsQyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEtBQUssR0FBRztZQUFFLE9BQU87UUFDNUQsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNULFVBQVUsRUFBRSxHQUFHO1lBQ2YsTUFBTSxFQUFFLENBQUM7U0FD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SUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxHQUFlO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLFVBQVUsQ0FBQyxHQUFlO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxHQUFlO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxHQUFlO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLFVBQVUsQ0FBQyxHQUFlO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxHQUFlO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxHQUFlO1FBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLE1BQU0sQ0FBQyxHQUFlO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxHQUFlO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFB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QW9CO3FHQUFwQixvQkFBb0IsK0lBR0YsV0FBVzsyRkFIN0Isb0JBQW9CO2tCQUh6QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7aUJBQ3JDO2lHQUlzRCxVQUFVO3NCQUE1RCxZQUFZO3VCQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyQ29udGVudEluaXQsIENvbnRlbnRDaGlsZCwgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERlYm91bmNlIH0gZnJvbSBcImxvZGFzaC1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSBcIkBzbWFydHNvZnQwMDEvYW5ndWxhclwiO1xuaW1wb3J0IHtDcnVkRmFjYWRlLCBJQ3J1ZEZpbHRlcn0gZnJvbSBcIkBzbWFydHNvZnQwMDEvY3J1ZC1zaGVsbC1hbmd1bGFyXCI7XG5pbXBvcnQge0lDcnVkRmlsdGVyUXVlcnlJdGVtfSBmcm9tIFwiQHNtYXJ0c29mdDAwMS9jcnVkLXNoZWxsLWFuZ3VsYXIvbGliL21vZGVscy9pbnRlcmZhY2VzXCI7XG5pbXBvcnQgKiBhcyBfIGZyb20gXCJsb2Rhc2hcIjtcblxuaW1wb3J0IHtJRW50aXR5fSBmcm9tIFwiQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZVwiO1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJUeXBlID0gc3RyaW5nIHwgc3RyaW5nW10gfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCBjbGFzcyBGaWx0ZXJzQ29udGV4dDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PiBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICAgIHByaXZhdGUgX2ZpbHRlcj86IElDcnVkRmlsdGVyO1xuXG4gICAgc2V0IHNlYXJjaFRleHQodmFsOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKHRoaXMuX2ZpbHRlciAmJiB0aGlzLl9maWx0ZXIuc2VhcmNoVGV4dCA9PT0gdmFsKSByZXR1cm47XG4gICAgICAgIHRoaXMucmVmcmVzaCh7XG4gICAgICAgICAgICBzZWFyY2hUZXh0OiB2YWwsXG4gICAgICAgICAgICBvZmZzZXQ6IDBcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGdldCBzZWFyY2hUZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsdGVyPy5zZWFyY2hUZXh0O1xuICAgIH1cblxuICAgIHNldCBwYWdlKHZhbDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuX2ZpbHRlcj8ubGltaXQgPyAodGhpcy5fZmlsdGVyPy5saW1pdCAqIHZhbCk6IDA7XG4gICAgICAgIGlmICh0aGlzLl9maWx0ZXIgJiYgdGhpcy5fZmlsdGVyLm9mZnNldCA9PT0gb2Zmc2V0KSByZXR1cm47XG4gICAgICAgIHRoaXMucmVmcmVzaCh7XG4gICAgICAgICAgICBvZmZzZXQ6IG9mZnNldFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZ2V0IHBhZ2UoKSB7XG4gICAgICAgIGlmICghdGhpcy5fZmlsdGVyKSByZXR1cm4gMTtcbiAgICAgICAgaWYgKCF0aGlzLl9maWx0ZXIub2Zmc2V0IHx8ICF0aGlzLl9maWx0ZXIubGltaXQpIHJldHVybiAxO1xuXG4gICAgICAgIHJldHVybiAodGhpcy5fZmlsdGVyLm9mZnNldCAvIHRoaXMuX2ZpbHRlci5saW1pdCk7XG4gICAgfVxuXG4gICAgc2V0IGxpbWl0KHZhbDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLl9maWx0ZXIgJiYgdGhpcy5fZmlsdGVyLmxpbWl0ID09PSB2YWwpIHJldHVybjtcbiAgICAgICAgdGhpcy5yZWZyZXNoKHtcbiAgICAgICAgICAgIGxpbWl0OiB2YWwsXG4gICAgICAgICAgICBvZmZzZXQ6IDBcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGdldCBsaW1pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9maWx0ZXIpIHJldHVybiAyMDtcbiAgICAgICAgaWYgKCF0aGlzLl9maWx0ZXIubGltaXQpIHJldHVybiAyMDtcblxuICAgICAgICByZXR1cm4gdGhpcy5fZmlsdGVyLmxpbWl0O1xuICAgIH1cblxuICAgIHNldCBzb3J0QnkodmFsOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKHRoaXMuX2ZpbHRlciAmJiB0aGlzLl9maWx0ZXIuc29ydEJ5ID09PSB2YWwpIHJldHVybjtcbiAgICAgICAgdGhpcy5yZWZyZXNoKHtcbiAgICAgICAgICAgIHNvcnRCeTogdmFsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBnZXQgc29ydEJ5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsdGVyPy5zb3J0Qnk7XG4gICAgfVxuXG4gICAgc2V0IHF1ZXJ5KHZhbDogSUNydWRGaWx0ZXJRdWVyeUl0ZW1bXSB8IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAodGhpcy5fZmlsdGVyICYmIHRoaXMuX2ZpbHRlci5xdWVyeSA9PT0gdmFsKSByZXR1cm47XG4gICAgICAgIHRoaXMucmVmcmVzaCh7XG4gICAgICAgICAgICBxdWVyeTogdmFsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBnZXQgcXVlcnkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWx0ZXI/LnF1ZXJ5O1xuICAgIH1cblxuICAgIHNldCBzb3J0RGVzYyh2YWw6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKHRoaXMuX2ZpbHRlciAmJiB0aGlzLl9maWx0ZXIuc29ydERlc2MgPT09IHZhbCkgcmV0dXJuO1xuICAgICAgICB0aGlzLnJlZnJlc2goe1xuICAgICAgICAgICAgc29ydERlc2M6IHZhbFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXQgc29ydCh2YWw6IHsgYnk/OiBzdHJpbmcsIGRlc2M/OiBib29sZWFuIH0gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKHRoaXMuX2ZpbHRlciAmJiB0aGlzLl9maWx0ZXIuc29ydEJ5ID09PSB2YWwpIHJldHVybjtcbiAgICAgICAgdGhpcy5yZWZyZXNoKHtcbiAgICAgICAgICAgIHNvcnRCeTogdmFsPy5ieSxcbiAgICAgICAgICAgIHNvcnREZXNjOiB2YWw/LmRlc2NcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGdldCBzb3J0KCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYnk6IHRoaXMuX2ZpbHRlcj8uc29ydEJ5LFxuICAgICAgICAgICAgZGVzYzogdGhpcy5fZmlsdGVyPy5zb3J0RGVzY1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldCBzb3J0RGVzYygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbHRlcj8uc29ydERlc2M7XG4gICAgfVxuXG4gICAgc2V0IG9ubHlJbWFnZSh2YWw6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKCF2YWwgJiYgdGhpcy5vbmx5SW1hZ2UgJiYgdGhpcy5fZmlsdGVyKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9maWx0ZXIucXVlcnkgPyB0aGlzLl9maWx0ZXIucXVlcnlcbiAgICAgICAgICAgICAgICA/LmZpbHRlcihxID0+ICEocS50eXBlID09PSBcIj1cIiAmJiBxLmtleSA9PT0gJ29ubHlJbWFnZScpKSA6IFtdO1xuXG4gICAgICAgICAgICB0aGlzLnJlZnJlc2goe1xuICAgICAgICAgICAgICAgIHF1ZXJ5OiBbXG4gICAgICAgICAgICAgICAgICAgIC4uLnJlc3VsdFxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbCAmJiAhdGhpcy5vbmx5SW1hZ2UgJiYgdGhpcy5fZmlsdGVyKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9maWx0ZXIucXVlcnlcbiAgICAgICAgICAgICAgICA/IHRoaXMuX2ZpbHRlci5xdWVyeS5maWx0ZXIocSA9PiAhKHEudHlwZSA9PT0gXCI9XCIgJiYgcS5rZXkgPT09ICdvbmx5SW1hZ2UnKSkgOiBbXTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaCh7XG4gICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBbXG4gICAgICAgICAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCI9XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFwib25seUltYWdlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGRlbjogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgb25seUltYWdlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsdGVyPy5xdWVyeVxuICAgICAgICAgICAgPy5zb21lKHEgPT4gcS50eXBlID09PSBcIj1cIiAmJiBxLmtleSA9PT0gJ29ubHlJbWFnZScgJiYgcS52YWx1ZSA9PT0gMSlcbiAgICB9XG5cbiAgICBzZXQgZXhwb3N1cmUodmFsOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmICghdmFsICYmIHRoaXMuZXhwb3N1cmUgJiYgdGhpcy5fZmlsdGVyKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9maWx0ZXIucXVlcnkgPyB0aGlzLl9maWx0ZXIucXVlcnlcbiAgICAgICAgICAgICAgICA/LmZpbHRlcihxID0+ICEocS50eXBlID09PSBcIj1cIiAmJiBxLmtleSA9PT0gJ2xvY2F0aW9uVHlwZScgJiYgcS52YWx1ZSA9PT0gXCJFa3Nwb3p5Y2phXCIpKSA6IFtdO1xuXG4gICAgICAgICAgICB0aGlzLnJlZnJlc2goe1xuICAgICAgICAgICAgICAgIHF1ZXJ5OiBbXG4gICAgICAgICAgICAgICAgICAgIC4uLnJlc3VsdFxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbCAmJiAhdGhpcy5leHBvc3VyZSAmJiB0aGlzLl9maWx0ZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2ZpbHRlci5xdWVyeVxuICAgICAgICAgICAgICAgID8gdGhpcy5fZmlsdGVyLnF1ZXJ5Py5maWx0ZXIocSA9PiAhKHEudHlwZSA9PT0gXCI9XCIgICYmIHEua2V5ID09PSAnbG9jYXRpb25UeXBlJyAmJiBxLnZhbHVlID09PSBcIkVrc3BvenljamFcIikpIDogW107XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2goe1xuICAgICAgICAgICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgICAgICAgICBxdWVyeTogW1xuICAgICAgICAgICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiPVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBcImxvY2F0aW9uVHlwZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiRWtzcG96eWNqYVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGlkZGVuOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBleHBvc3VyZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbHRlcj8ucXVlcnlcbiAgICAgICAgICAgID8uc29tZShxID0+IHEudHlwZSA9PT0gXCI9XCIgJiYgcS5rZXkgPT09ICdsb2NhdGlvblR5cGUnICYmIHEudmFsdWUgPT09IFwiRWtzcG96eWNqYVwiKVxuICAgIH1cblxuICAgIHNldCBjcmVhdG9ycyh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJTZXQodGhpcy5jcmVhdG9ycywgdmFsLCAnY3JlYXRvcnMnLCBcIj1cIik7XG4gICAgfVxuICAgIGdldCBjcmVhdG9ycygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyR2V0KFwiPVwiLCAnY3JlYXRvcnMnKTtcbiAgICB9XG5cbiAgICBzZXQgY3JlYXRlRGF0ZXNGcm9tKHZhbDogRmlsdGVyVHlwZSkge1xuICAgICAgICB0aGlzLmZpbHRlclNldCh0aGlzLmNyZWF0ZURhdGVzRnJvbSwgdmFsLCAnY3JlYXRlRGF0ZXMnLCBcIj49XCIpO1xuICAgIH1cbiAgICBnZXQgY3JlYXRlRGF0ZXNGcm9tKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoXCI+PVwiLCAnY3JlYXRlRGF0ZXMnKTtcbiAgICB9XG5cbiAgICBzZXQgY3JlYXRlRGF0ZXNUbyh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJTZXQodGhpcy5jcmVhdGVEYXRlc1RvLCB2YWwsICdjcmVhdGVEYXRlcycsIFwiPD1cIik7XG4gICAgfVxuICAgIGdldCBjcmVhdGVEYXRlc1RvKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoXCI8PVwiLCAnY3JlYXRlRGF0ZXMnKTtcbiAgICB9XG5cbiAgICBzZXQgcHVibGljYXRpb25EYXRlRnJvbSh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJTZXQodGhpcy5wdWJsaWNhdGlvbkRhdGVGcm9tLCB2YWwsICdwdWJsaWNhdGlvbkRhdGUnLCBcIj49XCIpO1xuICAgIH1cbiAgICBnZXQgcHVibGljYXRpb25EYXRlRnJvbSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyR2V0KFwiPj1cIiwgJ3B1YmxpY2F0aW9uRGF0ZScpO1xuICAgIH1cblxuICAgIHNldCBwdWJsaWNhdGlvbkRhdGVUbyh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJTZXQodGhpcy5wdWJsaWNhdGlvbkRhdGVUbywgdmFsLCAncHVibGljYXRpb25EYXRlJywgXCI8PVwiKTtcbiAgICB9XG4gICAgZ2V0IHB1YmxpY2F0aW9uRGF0ZVRvKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoXCI8PVwiLCAncHVibGljYXRpb25EYXRlJyk7XG4gICAgfVxuXG4gICAgc2V0IGNyZWF0ZVBsYWNlcyh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJTZXQodGhpcy5jcmVhdGVQbGFjZXMsIHZhbCwgJ2NyZWF0ZVBsYWNlcycsIFwiPVwiKTtcbiAgICB9XG4gICAgZ2V0IGNyZWF0ZVBsYWNlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyR2V0KFwiPVwiLCAnY3JlYXRlUGxhY2VzJyk7XG4gICAgfVxuXG4gICAgc2V0IGtleXdvcmRzKHZhbDogRmlsdGVyVHlwZSkge1xuICAgICAgICB0aGlzLmZpbHRlclNldCh0aGlzLmtleXdvcmRzLCB2YWwsICdrZXl3b3JkcycsIFwiPVwiKTtcbiAgICB9XG4gICAgZ2V0IGtleXdvcmRzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoXCI9XCIsICdrZXl3b3JkcycpO1xuICAgIH1cblxuICAgIHNldCB0ZWNobmlxdWVzKHZhbDogRmlsdGVyVHlwZSkge1xuICAgICAgICB0aGlzLmZpbHRlclNldCh0aGlzLnRlY2huaXF1ZXMsIHZhbCwgJ3RlY2huaXF1ZXMnLCBcIj1cIik7XG4gICAgfVxuICAgIGdldCB0ZWNobmlxdWVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoXCI9XCIsICd0ZWNobmlxdWVzJyk7XG4gICAgfVxuXG4gICAgc2V0IG1hdGVyaWFscyh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJTZXQodGhpcy5tYXRlcmlhbHMsIHZhbCwgJ21hdGVyaWFscycsIFwiPVwiKTtcbiAgICB9XG4gICAgZ2V0IG1hdGVyaWFscygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyR2V0KFwiPVwiLCAnbWF0ZXJpYWxzJyk7XG4gICAgfVxuXG4gICAgc2V0IGNhdGVnb3J5KHZhbDogRmlsdGVyVHlwZSkge1xuICAgICAgICB0aGlzLmZpbHRlclNldCh0aGlzLmNhdGVnb3J5LCB2YWwsICdjYXRlZ29yeScsIFwiPVwiKTtcbiAgICB9XG4gICAgZ2V0IGNhdGVnb3J5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoXCI9XCIsICdjYXRlZ29yeScpO1xuICAgIH1cblxuICAgIHNldCBkZXBhcnRtZW50KHZhbDogRmlsdGVyVHlwZSkge1xuICAgICAgICB0aGlzLmZpbHRlclNldCh0aGlzLmRlcGFydG1lbnQsIHZhbCwgJ2RlcGFydG1lbnQnLCBcIj1cIik7XG4gICAgfVxuICAgIGdldCBkZXBhcnRtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoXCI9XCIsICdkZXBhcnRtZW50Jyk7XG4gICAgfVxuXG4gICAgc2V0IGxvY2F0aW9uKHZhbDogRmlsdGVyVHlwZSkge1xuICAgICAgICB0aGlzLmZpbHRlclNldCh0aGlzLmNhdGVnb3J5LCB2YWwsICdsb2NhdGlvbicsIFwiPVwiKTtcbiAgICB9XG4gICAgZ2V0IGxvY2F0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoXCI9XCIsICdsb2NhdGlvbicpO1xuICAgIH1cblxuICAgIHNldCBsb2NhdGlvblR5cGUodmFsOiBGaWx0ZXJUeXBlKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyU2V0KHRoaXMuY2F0ZWdvcnksIHZhbCwgJ2xvY2F0aW9uVHlwZScsIFwiPVwiKTtcbiAgICB9XG4gICAgZ2V0IGxvY2F0aW9uVHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyR2V0KFwiPVwiLCAnbG9jYXRpb25UeXBlJyk7XG4gICAgfVxuXG4gICAgc2V0IGN5Y2xlcyh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJTZXQodGhpcy5jeWNsZXMsIHZhbCwgJ2N5Y2xlcycsIFwiPVwiKTtcbiAgICB9XG4gICAgZ2V0IGN5Y2xlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyR2V0KFwiPVwiLCAnY3ljbGVzJyk7XG4gICAgfVxuXG4gICAgc2V0IGF1dGhvcnModmFsOiBGaWx0ZXJUeXBlKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyU2V0KHRoaXMuYXV0aG9ycywgdmFsLCAnYXV0aG9ycycsIFwiPVwiKTtcbiAgICB9XG4gICAgZ2V0IGF1dGhvcnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlckdldChcIj1cIiwgJ2F1dGhvcnMnKTtcbiAgICB9XG5cbiAgICBzZXQgdGFyZ2V0R3JvdXBzKHZhbDogRmlsdGVyVHlwZSkge1xuICAgICAgICB0aGlzLmZpbHRlclNldCh0aGlzLnRhcmdldEdyb3VwcywgdmFsLCAndGFyZ2V0R3JvdXBzJywgXCI9XCIpO1xuICAgIH1cbiAgICBnZXQgdGFyZ2V0R3JvdXBzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoXCI9XCIsICd0YXJnZXRHcm91cHMnKTtcbiAgICB9XG5cbiAgICBzZXQgdGVtcGxhdGUodmFsOiBGaWx0ZXJUeXBlKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyU2V0KHRoaXMudGVtcGxhdGUsIHZhbCwgJ3RlbXBsYXRlJywgXCI9XCIpO1xuICAgIH1cbiAgICBnZXQgdGVtcGxhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlckdldChcIj1cIiwgJ3RlbXBsYXRlJyk7XG4gICAgfVxuXG4gICAgc2V0IHR5cGVzKHZhbDogRmlsdGVyVHlwZSkge1xuICAgICAgICB0aGlzLmZpbHRlclNldCh0aGlzLnR5cGVzLCB2YWwsICd0eXBlcycsIFwiPVwiKTtcbiAgICB9XG4gICAgZ2V0IHR5cGVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoXCI9XCIsICd0eXBlcycpO1xuICAgIH1cblxuICAgIHNldCBleHRyYU51bWJlcnNWYWx1ZSh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJTZXQodGhpcy5jcmVhdG9ycywgdmFsLCAnZXh0cmFOdW1iZXJzVmFsdWUnLCBcIj1cIik7XG4gICAgfVxuICAgIGdldCBleHRyYU51bWJlcnNWYWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyR2V0KFwiPVwiLCAnZXh0cmFOdW1iZXJzVmFsdWUnKTtcbiAgICB9XG5cbiAgICB0b3RhbENvdW50JCA9IHRoaXMuZmFjYWRlLnRvdGFsQ291bnQkO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmYWNhZGU6IENydWRGYWNhZGU8VD4pIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLmZhY2FkZS5maWx0ZXIkLnBpcGUoXG4gICAgICAgICAgICB0aGlzLnRha2VVbnRpbERlc3Ryb3lcbiAgICAgICAgKS5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2ZpbHRlciA9IHZhbDtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBARGVib3VuY2UoNTAwKVxuICAgIHByaXZhdGUgcmVmcmVzaChmaWx0ZXI6IElDcnVkRmlsdGVyKTogdm9pZCB7XG4gICAgICAgIGxldCBjaGFuZ2UgPSBmYWxzZTtcblxuICAgICAgICBPYmplY3Qua2V5cyhmaWx0ZXIpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGlmICghXy5pc0VxdWFsKCh0aGlzLl9maWx0ZXIgYXMgYW55KVtrZXldLCAoZmlsdGVyIGFzIGFueSlba2V5XSkpIGNoYW5nZSA9IHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghY2hhbmdlKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5mYWNhZGUucmVhZCh7XG4gICAgICAgICAgICAuLi50aGlzLmZhY2FkZS5maWx0ZXIsXG4gICAgICAgICAgICAuLi5maWx0ZXJcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWx0ZXJHZXQoa2V5OiBzdHJpbmcsIHR5cGU6IGFueSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsdGVyPy5xdWVyeVxuICAgICAgICAgICAgPy5maW5kKHEgPT4gcS50eXBlID09PSBrZXkgJiYgcS5rZXkgPT09IHR5cGUpPy52YWx1ZVxuICAgIH1cblxuICAgIHByaXZhdGUgZmlsdGVyU2V0KGN1cnJlbnRWYWx1ZTogRmlsdGVyVHlwZSwgdmFsOiBGaWx0ZXJUeXBlLCBrZXk6IHN0cmluZywgdHlwZTogYW55KSB7XG4gICAgICAgIGlmICghdmFsICYmIHRoaXMuX2ZpbHRlcikge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZmlsdGVyPy5xdWVyeSA/IHRoaXMuX2ZpbHRlcj8ucXVlcnlcbiAgICAgICAgICAgICAgICA/LmZpbHRlcihxID0+ICEocS50eXBlID09PSB0eXBlICYmIHEua2V5ID09PSBrZXkpKSA6IFtdO1xuXG4gICAgICAgICAgICB0aGlzLnJlZnJlc2goe1xuICAgICAgICAgICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgICAgICAgICBxdWVyeTogW1xuICAgICAgICAgICAgICAgICAgICAuLi5yZXN1bHRcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWwgJiYgY3VycmVudFZhbHVlICE9PSB2YWwgJiYgdGhpcy5fZmlsdGVyKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9maWx0ZXI/LnF1ZXJ5XG4gICAgICAgICAgICAgICAgPyB0aGlzLl9maWx0ZXI/LnF1ZXJ5Py5maWx0ZXIocSA9PiAhKHEudHlwZSA9PT0gdHlwZSAmJiBxLmtleSA9PT0ga2V5KSkgOiBbXTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaCh7XG4gICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBbXG4gICAgICAgICAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHZhbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGRlbjogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcInNtYXJ0LW1vYmlsZW1zLWZpbHRlcnNcIixcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRmlsdGVyc0Jhc2VDb21wb25lbnQ8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj5pbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIGNvbnRleHQ/OiBGaWx0ZXJzQ29udGV4dDxUPjtcblxuICAgIEBDb250ZW50Q2hpbGQoXCJjb250ZW50VHBsXCIsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgY29udGVudFRwbDogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmYWNhZGU6IENydWRGYWNhZGU8VD4pIHsgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRleHQgPSBuZXcgRmlsdGVyc0NvbnRleHQodGhpcy5mYWNhZGUpO1xuICAgIH1cbn1cblxuIl19
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { AppComponent } from "./app/app.component";
|
|
2
|
-
export * from "./app/app.component";
|
|
3
|
-
export * from "./page/page.component";
|
|
4
|
-
export * from "./filters/filters.component";
|
|
5
|
-
export const COMPONENTS = [
|
|
6
|
-
AppComponent
|
|
7
|
-
];
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFakQsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3RCLFlBQVk7Q0FDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcHBDb21wb25lbnR9IGZyb20gXCIuL2FwcC9hcHAuY29tcG9uZW50XCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2FwcC9hcHAuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYWdlL3BhZ2UuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9maWx0ZXJzL2ZpbHRlcnMuY29tcG9uZW50XCI7XG5cbmV4cG9ydCBjb25zdCBDT01QT05FTlRTID0gW1xuICAgIEFwcENvbXBvbmVudFxuXTsiXX0=
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { PageBaseComponent } from "@smartsoft001/angular";
|
|
2
|
-
import { Directive } from "@angular/core";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class PageComponent extends PageBaseComponent {
|
|
5
|
-
}
|
|
6
|
-
PageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: PageComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
7
|
-
PageComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: PageComponent, usesInheritance: true, ngImport: i0 });
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: PageComponent, decorators: [{
|
|
9
|
-
type: Directive
|
|
10
|
-
}] });
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9wYWdlL3BhZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBR3hDLE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQWlCOzswR0FBdkMsYUFBYTs4RkFBYixhQUFhOzJGQUFiLGFBQWE7a0JBRHpCLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BhZ2VCYXNlQ29tcG9uZW50fSBmcm9tIFwiQHNtYXJ0c29mdDAwMS9hbmd1bGFyXCI7XG5pbXBvcnQge0RpcmVjdGl2ZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgUGFnZUNvbXBvbmVudCBleHRlbmRzIFBhZ2VCYXNlQ29tcG9uZW50IHt9Il19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const DIRECTIVES = [];
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC9hbmd1bGFyL3NyYy9saWIvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IERJUkVDVElWRVMgPSBbXTsiXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export const environment = {
|
|
2
|
-
production: false,
|
|
3
|
-
apiUrl: ""
|
|
4
|
-
};
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC9hbmd1bGFyL3NyYy9saWIvZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN2QixVQUFVLEVBQUUsS0FBSztJQUNqQixNQUFNLEVBQUUsRUFBRTtDQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW52aXJvbm1lbnQgPSB7XG4gICAgcHJvZHVjdGlvbjogZmFsc2UsXG4gICAgYXBpVXJsOiBcIlwiXG59OyJdfQ==
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
import { HttpClient } from "@angular/common/http";
|
|
3
|
-
import moment from 'moment';
|
|
4
|
-
import { combineLatest, lastValueFrom } from "rxjs";
|
|
5
|
-
import { SharedConfig } from "../../shared.config";
|
|
6
|
-
import { map } from "rxjs/operators";
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/common/http";
|
|
9
|
-
import * as i2 from "../../shared.config";
|
|
10
|
-
export class ConfigsService {
|
|
11
|
-
constructor(httpClient, config) {
|
|
12
|
-
this.httpClient = httpClient;
|
|
13
|
-
this.config = config;
|
|
14
|
-
}
|
|
15
|
-
get() {
|
|
16
|
-
const date = moment().format("YYYY-MM-DD");
|
|
17
|
-
return lastValueFrom(combineLatest([
|
|
18
|
-
this.httpClient.post(this.config.apiUrl + "object/object-of-the-week", {
|
|
19
|
-
dateStart: date, dateEnd: date
|
|
20
|
-
}),
|
|
21
|
-
this.httpClient.get(this.config.apiUrl + "setting/theme")
|
|
22
|
-
]).pipe(map(([r1, r2]) => {
|
|
23
|
-
return {
|
|
24
|
-
id: "",
|
|
25
|
-
objectOfTheDay: {
|
|
26
|
-
id: r1?.data?.current?.objectId,
|
|
27
|
-
title: r1?.data?.current?.title
|
|
28
|
-
},
|
|
29
|
-
theme: r2.data
|
|
30
|
-
};
|
|
31
|
-
})));
|
|
32
|
-
}
|
|
33
|
-
getPage(id) {
|
|
34
|
-
return this.httpClient.get(this.config.apiUrl + "page/" + id)
|
|
35
|
-
.pipe(map(r => r.data))
|
|
36
|
-
.toPromise();
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
ConfigsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ConfigsService, deps: [{ token: i1.HttpClient }, { token: i2.SharedConfig }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
40
|
-
ConfigsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ConfigsService });
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ConfigsService, decorators: [{
|
|
42
|
-
type: Injectable
|
|
43
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.SharedConfig }]; } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zaGFyZWQvYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2NvbmZpZ3MvY29uZmlncy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUMsYUFBYSxFQUFFLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUlsRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7O0FBR25DLE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLFlBQTZCLFVBQXNCLEVBQW1CLE1BQW9CO1FBQTdELGVBQVUsR0FBVixVQUFVLENBQVk7UUFBbUIsV0FBTSxHQUFOLE1BQU0sQ0FBYztJQUMxRixDQUFDO0lBRUQsR0FBRztRQUNDLE1BQU0sSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUzQyxPQUFPLGFBQWEsQ0FBQyxhQUFhLENBQUM7WUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQWdCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLDJCQUEyQixFQUFFO2dCQUNsRixTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJO2FBQ2pDLENBQUM7WUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBZ0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFDO1NBQzNFLENBQUMsQ0FBQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsQ0FBRSxFQUFFLEVBQUUsRUFBRSxDQUFFLEVBQUUsRUFBRTtZQUNmLE9BQU87Z0JBQ0gsRUFBRSxFQUFFLEVBQUU7Z0JBQ04sY0FBYyxFQUFFO29CQUNaLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRO29CQUMvQixLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSztpQkFDbEM7Z0JBQ0QsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJO2FBQ2pCLENBQUE7UUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFvQixDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPLENBQUMsRUFBbUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBZ0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQzthQUN2RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3RCLFNBQVMsRUFBRSxDQUFBO0lBQ3BCLENBQUM7OzJHQTlCUSxjQUFjOytHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIGxhc3RWYWx1ZUZyb219IGZyb20gXCJyeGpzXCI7XG5cbmltcG9ydCB7Q29uZmlnLCBQYWdlfSBmcm9tIFwiQHNtYXJ0c29mdDAwMS1tb2JpbGVtcy9tb2RlbHNcIjtcblxuaW1wb3J0IHtTaGFyZWRDb25maWd9IGZyb20gXCIuLi8uLi9zaGFyZWQuY29uZmlnXCI7XG5pbXBvcnQge21hcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb25maWdzU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogU2hhcmVkQ29uZmlnKSB7XG4gICAgfVxuXG4gICAgZ2V0KCk6IFByb21pc2U8Q29uZmlnPiB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBtb21lbnQoKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpO1xuXG4gICAgICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5odHRwQ2xpZW50LnBvc3Q8eyBkYXRhOiBhbnkgfT4odGhpcy5jb25maWcuYXBpVXJsICsgXCJvYmplY3Qvb2JqZWN0LW9mLXRoZS13ZWVrXCIsIHtcbiAgICAgICAgICAgICAgICBkYXRlU3RhcnQ6IGRhdGUsIGRhdGVFbmQ6IGRhdGVcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGhpcy5odHRwQ2xpZW50LmdldDx7IGRhdGE6IGFueSB9Pih0aGlzLmNvbmZpZy5hcGlVcmwgKyBcInNldHRpbmcvdGhlbWVcIilcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoWyByMSwgcjIgXSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBcIlwiLFxuICAgICAgICAgICAgICAgICAgICBvYmplY3RPZlRoZURheToge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHIxPy5kYXRhPy5jdXJyZW50Py5vYmplY3RJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiByMT8uZGF0YT8uY3VycmVudD8udGl0bGVcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgdGhlbWU6IHIyLmRhdGFcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICApKSBhcyBQcm9taXNlPENvbmZpZz47XG4gICAgfVxuXG4gICAgZ2V0UGFnZShpZDogbnVtYmVyIHwgJ2hvbWUnKTogUHJvbWlzZTxQYWdlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PHsgZGF0YTogYW55IH0+KHRoaXMuY29uZmlnLmFwaVVybCArIFwicGFnZS9cIiArIGlkKVxuICAgICAgICAgICAgLnBpcGUobWFwKHIgPT4gci5kYXRhKSlcbiAgICAgICAgICAgIC50b1Byb21pc2UoKVxuICAgIH1cbn0iXX0=
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { CrudService, } from "@smartsoft001/crud-shell-angular";
|
|
2
|
-
import { of, throwError } from "rxjs";
|
|
3
|
-
import { catchError, map } from "rxjs/operators";
|
|
4
|
-
export class CrudBaseService extends CrudService {
|
|
5
|
-
constructor(config, httpClient) {
|
|
6
|
-
super(config, httpClient, null);
|
|
7
|
-
}
|
|
8
|
-
downloadPdf(name, id) {
|
|
9
|
-
return fetch(this.config.apiUrl + this.getUrlNameForDetails() + "/" + id + "/pdf")
|
|
10
|
-
.then((resp) => resp.arrayBuffer())
|
|
11
|
-
.then((resp) => {
|
|
12
|
-
const file = new Blob([resp], { type: "application/pdf" });
|
|
13
|
-
const fileURL = URL.createObjectURL(file);
|
|
14
|
-
const link = document.createElement("a");
|
|
15
|
-
link.href = fileURL;
|
|
16
|
-
link.download = name + ".pdf";
|
|
17
|
-
link.click();
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
getById(id) {
|
|
21
|
-
return this.http
|
|
22
|
-
.get(this.config.apiUrl + this.getUrlNameForDetails() + "/" + id)
|
|
23
|
-
.pipe(map((r) => r?.data));
|
|
24
|
-
}
|
|
25
|
-
getList(filter) {
|
|
26
|
-
let page = 1;
|
|
27
|
-
if (filter?.offset && filter?.limit) {
|
|
28
|
-
page = filter.offset / filter.limit;
|
|
29
|
-
}
|
|
30
|
-
let url = `${this.config.apiUrl}${this.getUrlNameForList() !== 'public-collections' ? 'search/' + this.getUrlNameForList() : 'public-collections'}/page/${page}?maxPerPage=${filter?.limit}`;
|
|
31
|
-
if (filter?.searchText) {
|
|
32
|
-
url += `&filter[phrase]=${filter.searchText}`;
|
|
33
|
-
}
|
|
34
|
-
if (filter?.sortBy) {
|
|
35
|
-
url += `&sort=${filter.sortBy}-${filter.sortDesc ? "desc" : "asc"}`;
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
url += `&sort=random`;
|
|
39
|
-
}
|
|
40
|
-
filter?.query?.forEach((q) => {
|
|
41
|
-
const isArray = Array.isArray(q.value);
|
|
42
|
-
if (isArray) {
|
|
43
|
-
q.value.forEach((value) => {
|
|
44
|
-
url += `&filter[${q.key}]${this.getQueryType(q.type, true)}=${value.id}`;
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
url += `&filter[${q.key}]${this.getQueryType(q.type, false)}=${q.value}`;
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
return this.http.get(url).pipe(map((r) => {
|
|
52
|
-
return {
|
|
53
|
-
data: r.data.items,
|
|
54
|
-
totalCount: r.data.paginatorDetails.totalItemsCount,
|
|
55
|
-
links: {},
|
|
56
|
-
};
|
|
57
|
-
}), catchError(this.handleError));
|
|
58
|
-
}
|
|
59
|
-
handleError(err) {
|
|
60
|
-
if (err.status === 404 || err.status === 406) {
|
|
61
|
-
return of({
|
|
62
|
-
data: [],
|
|
63
|
-
totalCount: 0,
|
|
64
|
-
links: {},
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
return throwError(err);
|
|
68
|
-
}
|
|
69
|
-
getQueryType(type, isArray) {
|
|
70
|
-
switch (type) {
|
|
71
|
-
case ">=":
|
|
72
|
-
return "[from]";
|
|
73
|
-
case "<=":
|
|
74
|
-
return "[to]";
|
|
75
|
-
case "=":
|
|
76
|
-
return isArray ? "[]" : "";
|
|
77
|
-
default:
|
|
78
|
-
throw "not support type";
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zaGFyZWQvYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2NydWQvY3J1ZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxXQUFXLEdBRVosTUFBTSxrQ0FBa0MsQ0FBQztBQUcxQyxPQUFPLEVBQWMsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE1BQU0sT0FBZ0IsZUFFcEIsU0FBUSxXQUFjO0lBSXRCLFlBQVksTUFBcUIsRUFBRSxVQUFzQjtRQUN2RCxLQUFLLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFXLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVksRUFBRSxFQUFVO1FBQ2xDLE9BQU8sS0FBSyxDQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUNyRTthQUNFLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ2xDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2IsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7WUFFM0QsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FB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QUFDLEdBQVE7UUFDNUIsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtZQUM1QyxPQUFPLEVBQUUsQ0FBQztnQkFDUixJQUFJLEVBQUUsRUFBRTtnQkFDUixVQUFVLEVBQUUsQ0FBQztnQkFDYixLQUFLLEVBQUUsRUFBRTthQUNWLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVTLFlBQVksQ0FDcEIsSUFBMEMsRUFDMUMsT0FBZ0I7UUFFaEIsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLElBQUk7Z0JBQ1AsT0FBTyxRQUFRLENBQUM7WUFDbEIsS0FBSyxJQUFJO2dCQUNQLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLEtBQUssR0FBRztnQkFDTixPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDN0I7Z0JBQ0UsTUFBTSxrQkFBa0IsQ0FBQztTQUM1QjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENydWRDb25maWcsXG4gIENydWRTZXJ2aWNlLFxuICBJQ3J1ZEZpbHRlcixcbn0gZnJvbSBcIkBzbWFydHNvZnQwMDEvY3J1ZC1zaGVsbC1hbmd1bGFyXCI7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSBcIkBzbWFydHNvZnQwMDEvZG9tYWluLWNvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ3J1ZEJhc2VTZXJ2aWNlPFxuICBUIGV4dGVuZHMgSUVudGl0eTxhbnk+XG4+IGV4dGVuZHMgQ3J1ZFNlcnZpY2U8VD4ge1xuICBhYnN0cmFjdCBnZXRVcmxOYW1lRm9yRGV0YWlscygpOiBzdHJpbmc7XG4gIGFic3RyYWN0IGdldFVybE5hbWVGb3JMaXN0KCk6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IENydWRDb25maWc8VD4sIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHtcbiAgICBzdXBlcihjb25maWcsIGh0dHBDbGllbnQsIG51bGwgYXMgYW55KTtcbiAgfVxuXG4gIGRvd25sb2FkUGRmKG5hbWU6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBmZXRjaChcbiAgICAgIHRoaXMuY29uZmlnLmFwaVVybCArIHRoaXMuZ2V0VXJsTmFtZUZvckRldGFpbHMoKSArIFwiL1wiICsgaWQgKyBcIi9wZGZcIlxuICAgIClcbiAgICAgIC50aGVuKChyZXNwKSA9PiByZXNwLmFycmF5QnVmZmVyKCkpXG4gICAgICAudGhlbigocmVzcCkgPT4ge1xuICAgICAgICBjb25zdCBmaWxlID0gbmV3IEJsb2IoW3Jlc3BdLCB7IHR5cGU6IFwiYXBwbGljYXRpb24vcGRmXCIgfSk7XG5cbiAgICAgICAgY29uc3QgZmlsZVVSTCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSk7XG4gICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtcbiAgICAgICAgbGluay5ocmVmID0gZmlsZVVSTDtcbiAgICAgICAgbGluay5kb3dubG9hZCA9IG5hbWUgKyBcIi5wZGZcIjtcbiAgICAgICAgbGluay5jbGljaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBnZXRCeUlkKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PHsgZGF0YTogVCB9PihcbiAgICAgICAgdGhpcy5jb25maWcuYXBpVXJsICsgdGhpcy5nZXRVcmxOYW1lRm9yRGV0YWlscygpICsgXCIvXCIgKyBpZFxuICAgICAgKVxuICAgICAgLnBpcGUobWFwKChyKSA9PiByPy5kYXRhKSk7XG4gIH1cblxuICBnZXRMaXN0KFxuICAgIGZpbHRlcj86IElDcnVkRmlsdGVyXG4gICk6IE9ic2VydmFibGU8eyBkYXRhOiBUW107IHRvdGFsQ291bnQ6IG51bWJlcjsgbGlua3M6IGFueSB9PiB7XG4gICAgbGV0IHBhZ2UgPSAxO1xuXG4gICAgaWYgKGZpbHRlcj8ub2Zmc2V0ICYmIGZpbHRlcj8ubGltaXQpIHtcbiAgICAgIHBhZ2UgPSBmaWx0ZXIub2Zmc2V0IC8gZmlsdGVyLmxpbWl0O1xuICAgIH1cblxuICAgIGxldCB1cmwgPSBgJHtcbiAgICAgIHRoaXMuY29uZmlnLmFwaVVybFxuICAgIH0ke3RoaXMuZ2V0VXJsTmFtZUZvckxpc3QoKSAhPT0gJ3B1YmxpYy1jb2xsZWN0aW9ucycgPyAnc2VhcmNoLycgKyB0aGlzLmdldFVybE5hbWVGb3JMaXN0KCkgOiAncHVibGljLWNvbGxlY3Rpb25zJ30vcGFnZS8ke3BhZ2V9P21heFBlclBhZ2U9JHtcbiAgICAgIGZpbHRlcj8ubGltaXRcbiAgICB9YDtcblxuICAgIGlmIChmaWx0ZXI/LnNlYXJjaFRleHQpIHtcbiAgICAgIHVybCArPSBgJmZpbHRlcltwaHJhc2VdPSR7ZmlsdGVyLnNlYXJjaFRleHR9YDtcbiAgICB9XG5cbiAgICBpZiAoZmlsdGVyPy5zb3J0QnkpIHtcbiAgICAgIHVybCArPSBgJnNvcnQ9JHtmaWx0ZXIuc29ydEJ5fS0ke2ZpbHRlci5zb3J0RGVzYyA/IFwiZGVzY1wiIDogXCJhc2NcIn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICB1cmwgKz0gYCZzb3J0PXJhbmRvbWA7XG4gICAgfVxuXG4gICAgZmlsdGVyPy5xdWVyeT8uZm9yRWFjaCgocSkgPT4ge1xuICAgICAgY29uc3QgaXNBcnJheSA9IEFycmF5LmlzQXJyYXkocS52YWx1ZSk7XG5cbiAgICAgIGlmIChpc0FycmF5KSB7XG4gICAgICAgIHEudmFsdWUuZm9yRWFjaCgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgIHVybCArPSBgJmZpbHRlclske3Eua2V5fV0ke3RoaXMuZ2V0UXVlcnlUeXBlKHEudHlwZSwgdHJ1ZSl9PSR7XG4gICAgICAgICAgICB2YWx1ZS5pZFxuICAgICAgICAgIH1gO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVybCArPSBgJmZpbHRlclske3Eua2V5fV0ke3RoaXMuZ2V0UXVlcnlUeXBlKHEudHlwZSwgZmFsc2UpfT0ke1xuICAgICAgICAgIHEudmFsdWVcbiAgICAgICAgfWA7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDx7IGRhdGE6IGFueSB9Pih1cmwpLnBpcGUoXG4gICAgICBtYXAoKHIpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkYXRhOiByLmRhdGEuaXRlbXMsXG4gICAgICAgICAgdG90YWxDb3VudDogci5kYXRhLnBhZ2luYXRvckRldGFpbHMudG90YWxJdGVtc0NvdW50LFxuICAgICAgICAgIGxpbmtzOiB7fSxcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlRXJyb3IoZXJyOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmIChlcnIuc3RhdHVzID09PSA0MDQgfHwgZXJyLnN0YXR1cyA9PT0gNDA2KSB7XG4gICAgICByZXR1cm4gb2Yoe1xuICAgICAgICBkYXRhOiBbXSxcbiAgICAgICAgdG90YWxDb3VudDogMCxcbiAgICAgICAgbGlua3M6IHt9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRRdWVyeVR5cGUoXG4gICAgdHlwZTogXCI9XCIgfCBcIiE9XCIgfCBcIj49XCIgfCBcIjw9XCIgfCBcIjxcIiB8IFwiPlwiLFxuICAgIGlzQXJyYXk6IGJvb2xlYW5cbiAgKSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFwiPj1cIjpcbiAgICAgICAgcmV0dXJuIFwiW2Zyb21dXCI7XG4gICAgICBjYXNlIFwiPD1cIjpcbiAgICAgICAgcmV0dXJuIFwiW3RvXVwiO1xuICAgICAgY2FzZSBcIj1cIjpcbiAgICAgICAgcmV0dXJuIGlzQXJyYXkgPyBcIltdXCIgOiBcIlwiO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgXCJub3Qgc3VwcG9ydCB0eXBlXCI7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
2
|
-
import { HttpClient } from "@angular/common/http";
|
|
3
|
-
import { SharedConfig } from "../../shared.config";
|
|
4
|
-
import { map } from "rxjs/operators";
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common/http";
|
|
7
|
-
import * as i2 from "../../shared.config";
|
|
8
|
-
export class DictionaryService {
|
|
9
|
-
constructor(httpClient, config) {
|
|
10
|
-
this.httpClient = httpClient;
|
|
11
|
-
this.config = config;
|
|
12
|
-
}
|
|
13
|
-
get(type, query = { page: 1 }) {
|
|
14
|
-
let url = this.config.apiUrl + `${query.context ? query.context : 'dictionary'}/${type}/search/page/${query.page}?sort=random`;
|
|
15
|
-
if (query.pageSize) {
|
|
16
|
-
url += `&maxPerPage=${query.pageSize}`;
|
|
17
|
-
}
|
|
18
|
-
if (query.searchText) {
|
|
19
|
-
url += `&q=${query.searchText}`;
|
|
20
|
-
}
|
|
21
|
-
return this.httpClient.get(url).pipe(map(r => r.data.items));
|
|
22
|
-
}
|
|
23
|
-
getNode(type, query = {}) {
|
|
24
|
-
let url = this.config.apiUrl + `${query.context ? query.context : 'dictionary'}/${type}/tree`;
|
|
25
|
-
if (query.nodeId) {
|
|
26
|
-
url += `?id=${query.nodeId}`;
|
|
27
|
-
}
|
|
28
|
-
return this.httpClient.get(url).pipe(map(r => r.data));
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
DictionaryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DictionaryService, deps: [{ token: i1.HttpClient }, { token: i2.SharedConfig }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
-
DictionaryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DictionaryService });
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DictionaryService, decorators: [{
|
|
34
|
-
type: Injectable
|
|
35
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.SharedConfig }]; } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zaGFyZWQvYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2RpY3Rpb25hcnkvZGljdGlvbmFyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR2hELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFTbkMsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQixZQUE2QixVQUFzQixFQUFtQixNQUFvQjtRQUE3RCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQW1CLFdBQU0sR0FBTixNQUFNLENBQWM7SUFDMUYsQ0FBQztJQUVELEdBQUcsQ0FBQyxJQUFPLEVBQUUsUUFLVCxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUU7UUFDWCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQWEsSUFBSSxJQUFJLGdCQUFpQixLQUFLLENBQUMsSUFBSyxjQUFjLENBQUM7UUFFbkksSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2hCLEdBQUcsSUFBSSxlQUFlLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMxQztRQUVELElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUNsQixHQUFHLElBQUksTUFBTSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkM7UUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ3hFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQ3pCLENBQUM7SUFDTixDQUFDO0lBRUQsT0FBTyxDQUFDLElBQU8sRUFBRSxRQUdiLEVBQUc7UUFDSCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQWEsSUFBSSxJQUFJLE9BQU8sQ0FBQztRQUVoRyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDZCxHQUFHLElBQUksT0FBTyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDaEM7UUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzdELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDbkIsQ0FBQztJQUNOLENBQUM7OzhHQXRDUSxpQkFBaUI7a0hBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSBcInJ4anNcIjtcblxuaW1wb3J0IHtTaGFyZWRDb25maWd9IGZyb20gXCIuLi8uLi9zaGFyZWQuY29uZmlnXCI7XG5pbXBvcnQge3F1ZXJ5fSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHttYXB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEaWN0aW9uYXJ5SXRlbSB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgaGFzQ2hpbGRyZW4/OiBib29sZWFuO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGljdGlvbmFyeVNlcnZpY2U8VD4ge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cENsaWVudDogSHR0cENsaWVudCwgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IFNoYXJlZENvbmZpZykge1xuICAgIH1cblxuICAgIGdldCh0eXBlOiBULCBxdWVyeToge1xuICAgICAgICBzZWFyY2hUZXh0Pzogc3RyaW5nLFxuICAgICAgICBwYWdlOiBudW1iZXIsXG4gICAgICAgIHBhZ2VTaXplPzogbnVtYmVyLFxuICAgICAgICBjb250ZXh0Pzogc3RyaW5nXG4gICAgfSA9IHsgcGFnZTogMSB9KTogT2JzZXJ2YWJsZTxJRGljdGlvbmFyeUl0ZW1bXT4ge1xuICAgICAgICBsZXQgdXJsID0gdGhpcy5jb25maWcuYXBpVXJsICsgYCR7IHF1ZXJ5LmNvbnRleHQgPyBxdWVyeS5jb250ZXh0IDogJ2RpY3Rpb25hcnknIH0vJHt0eXBlfS9zZWFyY2gvcGFnZS8keyBxdWVyeS5wYWdlIH0/c29ydD1yYW5kb21gO1xuXG4gICAgICAgIGlmIChxdWVyeS5wYWdlU2l6ZSkge1xuICAgICAgICAgICAgdXJsICs9IGAmbWF4UGVyUGFnZT0ke3F1ZXJ5LnBhZ2VTaXplfWA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocXVlcnkuc2VhcmNoVGV4dCkge1xuICAgICAgICAgICAgdXJsICs9IGAmcT0ke3F1ZXJ5LnNlYXJjaFRleHR9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PHsgZGF0YTogeyBpdGVtczogSURpY3Rpb25hcnlJdGVtW10gfSB9Pih1cmwpLnBpcGUoXG4gICAgICAgICAgICBtYXAociA9PiByLmRhdGEuaXRlbXMpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0Tm9kZSh0eXBlOiBULCBxdWVyeToge1xuICAgICAgICBub2RlSWQ/OiBudW1iZXIsXG4gICAgICAgIGNvbnRleHQ/OiBzdHJpbmdcbiAgICB9ID0geyB9KTogT2JzZXJ2YWJsZTxJRGljdGlvbmFyeUl0ZW1bXT4ge1xuICAgICAgICBsZXQgdXJsID0gdGhpcy5jb25maWcuYXBpVXJsICsgYCR7IHF1ZXJ5LmNvbnRleHQgPyBxdWVyeS5jb250ZXh0IDogJ2RpY3Rpb25hcnknIH0vJHt0eXBlfS90cmVlYDtcblxuICAgICAgICBpZiAocXVlcnkubm9kZUlkKSB7XG4gICAgICAgICAgICB1cmwgKz0gYD9pZD0ke3F1ZXJ5Lm5vZGVJZH1gO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8eyBkYXRhOiBJRGljdGlvbmFyeUl0ZW1bXSB9Pih1cmwpLnBpcGUoXG4gICAgICAgICAgICBtYXAociA9PiByLmRhdGEpXG4gICAgICAgICk7XG4gICAgfVxufSJdfQ==
|