@smartsoft001-mobilems/angular 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,14 +1,14 @@
1
+ import { __decorate, __metadata } from 'tslib';
1
2
  import * as i0 from '@angular/core';
2
- import { inject, Injectable, signal, Component, Directive, effect, contentChild, APP_INITIALIZER, NgModule } from '@angular/core';
3
+ import { Injectable, inject, signal, Component, Directive, effect, contentChild, APP_INITIALIZER, NgModule } from '@angular/core';
3
4
  import { DomSanitizer } from '@angular/platform-browser';
4
- import { StyleService as StyleService$1, AppBaseComponent, PageBaseComponent, BaseComponent, SharedModule as SharedModule$1 } from '@smartsoft001/angular';
5
+ import { ReduxAction, AppBaseComponent, PageBaseComponent, BaseComponent } from '@smartsoft001/angular';
5
6
  import { HttpClient } from '@angular/common/http';
6
7
  import * as moment from 'moment';
7
8
  import { lastValueFrom, combineLatest, firstValueFrom, of, throwError } from 'rxjs';
8
9
  import { map, catchError } from 'rxjs/operators';
9
10
  import { CrudService, CrudFacade } from '@smartsoft001/crud-shell-angular';
10
11
  import { RouterOutlet, RouterModule } from '@angular/router';
11
- import { __decorate, __metadata } from 'tslib';
12
12
  import * as _ from 'lodash';
13
13
  import { Debounce } from 'lodash-decorators';
14
14
 
@@ -36,28 +36,6 @@ const environment = {
36
36
  apiUrl: '',
37
37
  };
38
38
 
39
- const variables = {};
40
-
41
- class StyleService {
42
- constructor() {
43
- this.styleService = inject(StyleService$1);
44
- }
45
- init(elementRef) {
46
- const customVariables = {
47
- ...variables,
48
- };
49
- this.styleService.init(elementRef, customVariables);
50
- }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: StyleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
52
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: StyleService, providedIn: 'root' }); }
53
- }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: StyleService, decorators: [{
55
- type: Injectable,
56
- args: [{
57
- providedIn: 'root',
58
- }]
59
- }] });
60
-
61
39
  class SharedConfig {
62
40
  constructor() {
63
41
  this.apiUrl = '';
@@ -108,6 +86,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
108
86
  }]
109
87
  }] });
110
88
 
89
+ class DictionaryService {
90
+ constructor() {
91
+ this.httpClient = inject(HttpClient);
92
+ this.config = inject(SharedConfig);
93
+ }
94
+ get(type, query = { page: 1 }) {
95
+ let url = this.config.apiUrl +
96
+ `${query.context ? query.context : 'dictionary'}/${type}/search/page/${query.page}?sort=random`;
97
+ if (query.pageSize) {
98
+ url += `&maxPerPage=${query.pageSize}`;
99
+ }
100
+ if (query.searchText) {
101
+ url += `&q=${query.searchText}`;
102
+ }
103
+ return this.httpClient
104
+ .get(url)
105
+ .pipe(map((r) => r.data.items));
106
+ }
107
+ getNode(type, query = {}) {
108
+ let url = this.config.apiUrl +
109
+ `${query.context ? query.context : 'dictionary'}/${type}/tree`;
110
+ if (query.nodeId !== null && query.nodeId !== undefined) {
111
+ //In case the nodeId is 0 or is cast to false
112
+ url += `?id=${query.nodeId}`;
113
+ }
114
+ return this.httpClient
115
+ .get(url)
116
+ .pipe(map((r) => r.data));
117
+ }
118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: DictionaryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
119
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: DictionaryService, providedIn: 'root' }); }
120
+ }
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: DictionaryService, decorators: [{
122
+ type: Injectable,
123
+ args: [{
124
+ providedIn: 'root',
125
+ }]
126
+ }] });
127
+
111
128
  class CrudBaseService extends CrudService {
112
129
  downloadPdf(name, id) {
113
130
  return fetch(this.config.apiUrl + this.getUrlNameForDetails() + '/' + id + '/pdf')
@@ -192,52 +209,7 @@ class CrudBaseService extends CrudService {
192
209
  }
193
210
  }
194
211
 
195
- class DictionaryService {
196
- constructor() {
197
- this.httpClient = inject(HttpClient);
198
- this.config = inject(SharedConfig);
199
- }
200
- get(type, query = { page: 1 }) {
201
- let url = this.config.apiUrl +
202
- `${query.context ? query.context : 'dictionary'}/${type}/search/page/${query.page}?sort=random`;
203
- if (query.pageSize) {
204
- url += `&maxPerPage=${query.pageSize}`;
205
- }
206
- if (query.searchText) {
207
- url += `&q=${query.searchText}`;
208
- }
209
- return this.httpClient
210
- .get(url)
211
- .pipe(map((r) => r.data.items));
212
- }
213
- getNode(type, query = {}) {
214
- let url = this.config.apiUrl +
215
- `${query.context ? query.context : 'dictionary'}/${type}/tree`;
216
- if (query.nodeId !== null && query.nodeId !== undefined) {
217
- //In case the nodeId is 0 or is cast to false
218
- url += `?id=${query.nodeId}`;
219
- }
220
- return this.httpClient
221
- .get(url)
222
- .pipe(map((r) => r.data));
223
- }
224
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: DictionaryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
225
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: DictionaryService, providedIn: 'root' }); }
226
- }
227
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: DictionaryService, decorators: [{
228
- type: Injectable,
229
- args: [{
230
- providedIn: 'root',
231
- }]
232
- }] });
233
-
234
- const SERVICES = [
235
- DictionaryService,
236
- StyleService,
237
- ConfigsService,
238
- ConfigsFacade,
239
- CrudBaseService,
240
- ];
212
+ const SERVICES = [DictionaryService, ConfigsService, ConfigsFacade];
241
213
 
242
214
  class ConfigsFacade {
243
215
  constructor() {
@@ -267,37 +239,29 @@ class ConfigsFacade {
267
239
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: ConfigsFacade, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
268
240
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: ConfigsFacade }); }
269
241
  }
242
+ __decorate([
243
+ ReduxAction(),
244
+ __metadata("design:type", Function),
245
+ __metadata("design:paramtypes", [Number]),
246
+ __metadata("design:returntype", Promise)
247
+ ], ConfigsFacade.prototype, "getPage", null);
248
+ __decorate([
249
+ ReduxAction(),
250
+ __metadata("design:type", Function),
251
+ __metadata("design:paramtypes", []),
252
+ __metadata("design:returntype", Promise)
253
+ ], ConfigsFacade.prototype, "init", null);
270
254
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: ConfigsFacade, decorators: [{
271
255
  type: Injectable
272
- }] });
256
+ }], propDecorators: { getPage: [], init: [] } });
273
257
 
274
258
  class AppComponent extends AppBaseComponent {
275
259
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: AppComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
276
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: AppComponent, isStandalone: true, selector: "smart-mobilems-app", usesInheritance: true, ngImport: i0, template: `
277
- <ng-content select="header"></ng-content>
278
-
279
- <main>
280
- <router-outlet></router-outlet>
281
- </main>
282
-
283
- <ng-content select="footer"></ng-content>
284
- `, isInline: true, dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
260
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: AppComponent, isStandalone: true, selector: "smart-mobilems-app", usesInheritance: true, ngImport: i0, template: "<ng-content select=\"header\"></ng-content>\n\n<main>\n <router-outlet></router-outlet>\n</main>\n\n<ng-content select=\"footer\"></ng-content>\n", dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
285
261
  }
286
262
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: AppComponent, decorators: [{
287
263
  type: Component,
288
- args: [{
289
- selector: 'smart-mobilems-app',
290
- imports: [RouterOutlet],
291
- template: `
292
- <ng-content select="header"></ng-content>
293
-
294
- <main>
295
- <router-outlet></router-outlet>
296
- </main>
297
-
298
- <ng-content select="footer"></ng-content>
299
- `,
300
- }]
264
+ args: [{ selector: 'smart-mobilems-app', imports: [RouterOutlet], template: "<ng-content select=\"header\"></ng-content>\n\n<main>\n <router-outlet></router-outlet>\n</main>\n\n<ng-content select=\"footer\"></ng-content>\n" }]
301
265
  }] });
302
266
 
303
267
  class PageComponent extends PageBaseComponent {
@@ -655,7 +619,7 @@ const DIRECTIVES = [];
655
619
  function initializeApp(configsFacade) {
656
620
  return () => {
657
621
  setTimeout(() => {
658
- configsFacade.init();
622
+ configsFacade.init().then();
659
623
  });
660
624
  };
661
625
  }
@@ -689,15 +653,15 @@ class SharedModule {
689
653
  };
690
654
  }
691
655
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
692
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.0", ngImport: i0, type: SharedModule, imports: [RouterModule, AppComponent], exports: [SharedModule$1] }); }
693
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: SharedModule, imports: [RouterModule, SharedModule$1] }); }
656
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.0", ngImport: i0, type: SharedModule, imports: [RouterModule, AppComponent], exports: [AppComponent] }); }
657
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: SharedModule, imports: [RouterModule] }); }
694
658
  }
695
659
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: SharedModule, decorators: [{
696
660
  type: NgModule,
697
661
  args: [{
698
662
  declarations: [...DIRECTIVES],
699
663
  imports: [RouterModule, COMPONENTS],
700
- exports: [SharedModule$1, ...DIRECTIVES],
664
+ exports: [...DIRECTIVES, ...COMPONENTS], // Export our own components instead of SmartSharedModule
701
665
  }]
702
666
  }] });
703
667
 
@@ -705,5 +669,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
705
669
  * Generated bundle index. Do not edit.
706
670
  */
707
671
 
708
- export { AppComponent, COMPONENTS, ConfigsFacade, ConfigsService, CrudBaseService, DictionaryService, FiltersBaseComponent, FiltersContext, PageComponent, SERVICES, SharedConfig, SharedModule, StyleService, TRANSLATE_DATA_PL, environment, setTranslationsAndLang };
672
+ export { AppComponent, COMPONENTS, ConfigsFacade, ConfigsService, CrudBaseService, DictionaryService, FiltersBaseComponent, FiltersContext, PageComponent, SERVICES, SharedConfig, SharedModule, TRANSLATE_DATA_PL, environment, setTranslationsAndLang };
709
673
  //# sourceMappingURL=smartsoft001-mobilems-angular.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"smartsoft001-mobilems-angular.mjs","sources":["../tmp-esm2022/lib/translations.js","../tmp-esm2022/lib/environments/environment.js","../tmp-esm2022/lib/services/style/variables.js","../tmp-esm2022/lib/services/style/style.service.js","../tmp-esm2022/lib/shared.config.js","../tmp-esm2022/lib/services/configs/configs.service.js","../tmp-esm2022/lib/services/crud/crud-base.service.js","../tmp-esm2022/lib/services/dictionary/dictionary.service.js","../tmp-esm2022/lib/services/index.js","../tmp-esm2022/lib/+state/configs.facade.js","../tmp-esm2022/lib/components/app/app.component.js","../tmp-esm2022/lib/components/page/page.component.js","../tmp-esm2022/lib/components/filters/filters.component.js","../tmp-esm2022/lib/components/index.js","../tmp-esm2022/lib/directives/index.js","../tmp-esm2022/lib/shared.module.js","../tmp-esm2022/smartsoft001-mobilems-angular.js"],"sourcesContent":["export function setTranslationsAndLang(service) {\n const map = {\n pl: TRANSLATE_DATA_PL,\n };\n Object.keys(map).forEach((key) => {\n service.setTranslation(key, map[key], true);\n });\n if (!service.currentLang) {\n const lang = service.getBrowserLang();\n service.use(lang ?? 'en');\n }\n}\nexport const TRANSLATE_DATA_PL = {\n MODEL: {\n //..\n },\n //..\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2hhcmVkL2FuZ3VsYXIvc3JjL2xpYi90cmFuc2xhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLHNCQUFzQixDQUFDLE9BQXlCO0lBQzlELE1BQU0sR0FBRyxHQUFHO1FBQ1YsRUFBRSxFQUFFLGlCQUFpQjtLQUN0QixDQUFDO0lBRUYsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUMvQixPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRyxHQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkQsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0FBQ0gsQ0FBQztBQU9ELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFtQjtJQUMvQyxLQUFLLEVBQUU7SUFDTCxJQUFJO0tBQ0w7SUFDRCxJQUFJO0NBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNldFRyYW5zbGF0aW9uc0FuZExhbmcoc2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xuICBjb25zdCBtYXAgPSB7XG4gICAgcGw6IFRSQU5TTEFURV9EQVRBX1BMLFxuICB9O1xuXG4gIE9iamVjdC5rZXlzKG1hcCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgc2VydmljZS5zZXRUcmFuc2xhdGlvbihrZXksIChtYXAgYXMgYW55KVtrZXldLCB0cnVlKTtcbiAgfSk7XG5cbiAgaWYgKCFzZXJ2aWNlLmN1cnJlbnRMYW5nKSB7XG4gICAgY29uc3QgbGFuZyA9IHNlcnZpY2UuZ2V0QnJvd3NlckxhbmcoKTtcbiAgICBzZXJ2aWNlLnVzZShsYW5nID8/ICdlbicpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zbGF0ZURhdGEge1xuICBNT0RFTDogb2JqZWN0O1xuICAvLy4uXG59XG5cbmV4cG9ydCBjb25zdCBUUkFOU0xBVEVfREFUQV9QTDogSVRyYW5zbGF0ZURhdGEgPSB7XG4gIE1PREVMOiB7XG4gICAgLy8uLlxuICB9LFxuICAvLy4uXG59O1xuIl19","export const environment = {\n production: false,\n apiUrl: '',\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zaGFyZWQvYW5ndWxhci9zcmMvbGliL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsVUFBVSxFQUFFLEtBQUs7SUFDakIsTUFBTSxFQUFFLEVBQUU7Q0FDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVudmlyb25tZW50ID0ge1xuICBwcm9kdWN0aW9uOiBmYWxzZSxcbiAgYXBpVXJsOiAnJyxcbn07XG4iXX0=","export const variables = {};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2hhcmVkL2FuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9zdHlsZS92YXJpYWJsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEVBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbInR5cGUgSVN0eWxlID0gUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPjtcblxuZXhwb3J0IGNvbnN0IHZhcmlhYmxlcyA9IHt9IGFzIElTdHlsZTtcbiJdfQ==","import { inject, Injectable } from '@angular/core';\nimport { StyleService as SmartStyleService } from '@smartsoft001/angular';\nimport { variables } from './variables';\nimport * as i0 from \"@angular/core\";\nexport class StyleService {\n constructor() {\n this.styleService = inject(SmartStyleService);\n }\n init(elementRef) {\n const customVariables = {\n ...variables,\n };\n this.styleService.init(elementRef, customVariables);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: StyleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: StyleService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: StyleService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NoYXJlZC9hbmd1bGFyL3NyYy9saWIvc2VydmljZXMvc3R5bGUvc3R5bGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxJQUFJLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFLeEMsTUFBTSxPQUFPLFlBQVk7SUFIekI7UUFJVSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBU2xEO0lBUEMsSUFBSSxDQUFDLFVBQXNCO1FBQ3pCLE1BQU0sZUFBZSxHQUFHO1lBQ3RCLEdBQUcsU0FBUztTQUNiLENBQUM7UUFFRixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDdEQsQ0FBQzs4R0FUVSxZQUFZO2tIQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3R5bGVTZXJ2aWNlIGFzIFNtYXJ0U3R5bGVTZXJ2aWNlIH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9hbmd1bGFyJztcblxuaW1wb3J0IHsgdmFyaWFibGVzIH0gZnJvbSAnLi92YXJpYWJsZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU3R5bGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdHlsZVNlcnZpY2UgPSBpbmplY3QoU21hcnRTdHlsZVNlcnZpY2UpO1xuXG4gIGluaXQoZWxlbWVudFJlZjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIGNvbnN0IGN1c3RvbVZhcmlhYmxlcyA9IHtcbiAgICAgIC4uLnZhcmlhYmxlcyxcbiAgICB9O1xuXG4gICAgdGhpcy5zdHlsZVNlcnZpY2UuaW5pdChlbGVtZW50UmVmLCBjdXN0b21WYXJpYWJsZXMpO1xuICB9XG59XG4iXX0=","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class SharedConfig {\n constructor() {\n this.apiUrl = '';\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: SharedConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: SharedConfig }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: SharedConfig, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NoYXJlZC9hbmd1bGFyL3NyYy9saWIvc2hhcmVkLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8sWUFBWTtJQUR6QjtRQUVFLFdBQU0sR0FBRyxFQUFFLENBQUM7S0FDYjs4R0FGWSxZQUFZO2tIQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTaGFyZWRDb25maWcge1xuICBhcGlVcmwgPSAnJztcbn1cbiJdfQ==","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport * as moment from 'moment';\nimport { combineLatest, firstValueFrom, lastValueFrom } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { SharedConfig } from '../../shared.config';\nimport * as i0 from \"@angular/core\";\nexport class ConfigsService {\n constructor() {\n this.httpClient = inject(HttpClient);\n this.config = inject(SharedConfig);\n }\n get() {\n const date = moment().format('YYYY-MM-DD');\n return lastValueFrom(combineLatest([\n this.httpClient.post(this.config.apiUrl + 'object/object-of-the-week', {\n dateStart: date,\n dateEnd: date,\n }),\n this.httpClient.get(this.config.apiUrl + 'setting/theme'),\n ]).pipe(map(([r1, r2]) => {\n return {\n id: '',\n objectOfTheDay: {\n id: Number(r1?.data?.current?.objectId),\n title: r1?.data?.current?.title,\n },\n theme: r2.data,\n };\n })));\n }\n getPage(id) {\n return firstValueFrom(this.httpClient\n .get(this.config.apiUrl + 'page/' + id)\n .pipe(map((r) => r.data)));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ConfigsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ConfigsService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ConfigsService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2hhcmVkL2FuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9jb25maWdzL2NvbmZpZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBS25ELE1BQU0sT0FBTyxjQUFjO0lBSDNCO1FBSW1CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQXNDaEQ7SUFwQ0MsR0FBRztRQUNELE1BQU0sSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUzQyxPQUFPLGFBQWEsQ0FDbEIsYUFBYSxDQUFDO1lBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBRWpCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLDJCQUEyQixFQUFFO2dCQUNuRCxTQUFTLEVBQUUsSUFBSTtnQkFDZixPQUFPLEVBQUUsSUFBSTthQUNkLENBQUM7WUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUNyQztTQUNGLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNmLE9BQU87Z0JBQ0wsRUFBRSxFQUFFLEVBQUU7Z0JBQ04sY0FBYyxFQUFFO29CQUNkLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDO29CQUN2QyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSztpQkFDaEM7Z0JBQ0QsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFjO2FBQ3pCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxDQUFDLEVBQW1CO1FBQ3pCLE9BQU8sY0FBYyxDQUNuQixJQUFJLENBQUMsVUFBVTthQUNaLEdBQUcsQ0FBZ0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQzthQUNyRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDNUIsQ0FBQztJQUNKLENBQUM7OEdBdkNVLGNBQWM7a0hBQWQsY0FBYyxjQUZiLE1BQU07OzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmaXJzdFZhbHVlRnJvbSwgbGFzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDb25maWcsIElUaGVtZSwgUGFnZSB9IGZyb20gJ0BzbWFydHNvZnQwMDEtbW9iaWxlbXMvbW9kZWxzJztcblxuaW1wb3J0IHsgU2hhcmVkQ29uZmlnIH0gZnJvbSAnLi4vLi4vc2hhcmVkLmNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDb25maWdzU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3QoU2hhcmVkQ29uZmlnKTtcblxuICBnZXQoKTogUHJvbWlzZTxDb25maWc+IHtcbiAgICBjb25zdCBkYXRlID0gbW9tZW50KCkuZm9ybWF0KCdZWVlZLU1NLUREJyk7XG5cbiAgICByZXR1cm4gbGFzdFZhbHVlRnJvbShcbiAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmh0dHBDbGllbnQucG9zdDx7XG4gICAgICAgICAgZGF0YTogdW5rbm93biAmIHsgY3VycmVudDogeyBvYmplY3RJZDogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH0gfTtcbiAgICAgICAgfT4odGhpcy5jb25maWcuYXBpVXJsICsgJ29iamVjdC9vYmplY3Qtb2YtdGhlLXdlZWsnLCB7XG4gICAgICAgICAgZGF0ZVN0YXJ0OiBkYXRlLFxuICAgICAgICAgIGRhdGVFbmQ6IGRhdGUsXG4gICAgICAgIH0pLFxuICAgICAgICB0aGlzLmh0dHBDbGllbnQuZ2V0PHsgZGF0YTogdW5rbm93biB9PihcbiAgICAgICAgICB0aGlzLmNvbmZpZy5hcGlVcmwgKyAnc2V0dGluZy90aGVtZScsXG4gICAgICAgICksXG4gICAgICBdKS5waXBlKFxuICAgICAgICBtYXAoKFtyMSwgcjJdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlkOiAnJyxcbiAgICAgICAgICAgIG9iamVjdE9mVGhlRGF5OiB7XG4gICAgICAgICAgICAgIGlkOiBOdW1iZXIocjE/LmRhdGE/LmN1cnJlbnQ/Lm9iamVjdElkKSxcbiAgICAgICAgICAgICAgdGl0bGU6IHIxPy5kYXRhPy5jdXJyZW50Py50aXRsZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGVtZTogcjIuZGF0YSBhcyBJVGhlbWUsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBnZXRQYWdlKGlkOiBudW1iZXIgfCAnaG9tZScpOiBQcm9taXNlPFBhZ2U+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgLmdldDx7IGRhdGE6IGFueSB9Pih0aGlzLmNvbmZpZy5hcGlVcmwgKyAncGFnZS8nICsgaWQpXG4gICAgICAgIC5waXBlKG1hcCgocikgPT4gci5kYXRhKSksXG4gICAgKTtcbiAgfVxufVxuIl19","import { CrudService, } from '@smartsoft001/crud-shell-angular';\nimport { firstValueFrom, of, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nexport class CrudBaseService extends CrudService {\n downloadPdf(name, id) {\n return fetch(this.config.apiUrl + this.getUrlNameForDetails() + '/' + id + '/pdf')\n .then((resp) => resp.arrayBuffer())\n .then((resp) => {\n const file = new Blob([resp], { type: 'application/pdf' });\n const fileURL = URL.createObjectURL(file);\n const link = document.createElement('a');\n link.href = fileURL;\n link.download = name + '.pdf';\n link.click();\n });\n }\n getById(id) {\n return firstValueFrom(this.http\n .get(this.config.apiUrl + this.getUrlNameForDetails() + '/' + id)\n .pipe(map((r) => r?.data)));\n }\n getList(filter) {\n let page = 1;\n if (filter?.offset && filter?.limit) {\n page = filter.offset / filter.limit;\n }\n let url = this.getBaseListUrl(page, filter);\n if (filter?.searchText) {\n url += `&filter[phrase]=${filter.searchText}`;\n }\n if (filter?.sortBy) {\n url += `&sort=${filter.sortBy}-${filter.sortDesc ? 'desc' : 'asc'}`;\n }\n else {\n url += `&sort=random`;\n }\n filter?.query?.forEach((q) => {\n const isArray = Array.isArray(q.value);\n if (isArray) {\n q.value.forEach((value) => {\n url += `&filter[${q.key}]${this.getQueryType(q.type, true)}=${value.id}`;\n });\n }\n else {\n url += `&filter[${q.key}]${this.getQueryType(q.type, false)}=${q.value}`;\n }\n });\n return firstValueFrom(this.http\n .get(url)\n .pipe(map((r) => {\n const response = r;\n return {\n data: response.data?.items ?? [],\n totalCount: response.data?.paginatorDetails?.totalItemsCount ?? 0,\n links: {},\n };\n }), catchError(this.handleError)));\n }\n getBaseListUrl(page, filter) {\n return `${this.config.apiUrl}${this.getUrlNameForList() !== 'public-collections'\n ? 'search/' + this.getUrlNameForList()\n : 'public-collections'}/page/${page}?maxPerPage=${filter?.limit}`;\n }\n handleError(err) {\n if (err.status === 404 || err.status === 406) {\n return of({\n data: [],\n totalCount: 0,\n links: {},\n });\n }\n return throwError(() => new Error(`There was an error: ${err.status}`));\n }\n getQueryType(type, isArray) {\n switch (type) {\n case '>=':\n return '[from]';\n case '<=':\n return '[to]';\n case '=':\n return isArray ? '[]' : '';\n default:\n throw 'Type not supported!';\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC1iYXNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zaGFyZWQvYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2NydWQvY3J1ZC1iYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsR0FHWixNQUFNLGtDQUFrQyxDQUFDO0FBRTFDLE9BQU8sRUFBRSxjQUFjLEVBQWMsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE1BQU0sT0FBZ0IsZUFFcEIsU0FBUSxXQUFjO0lBSXRCLFdBQVcsQ0FBQyxJQUFZLEVBQUUsRUFBVTtRQUNsQyxPQUFPLEtBQUssQ0FDVixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FDckU7YUFDRSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUNsQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNiLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1lBRTNELE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztZQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxNQUFNLENB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QyxNQUFNLEdBQzFCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLG9CQUFvQjtZQUMvQyxDQUFDLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN0QyxDQUFDLENBQUMsb0JBQ04sU0FBUyxJQUFJLGVBQWUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFUyxXQUFXLENBQUMsR0FBaUM7UUFDckQsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQzdDLE9BQU8sRUFBRSxDQUFDO2dCQUNSLElBQUksRUFBRSxFQUFFO2dCQUNSLFVBQVUsRUFBRSxDQUFDO2dCQUNiLEtBQUssRUFBRSxFQUFFO2FBQ1YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLHVCQUF1QixHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFUyxZQUFZLENBQ3BCLElBQTBDLEVBQzFDLE9BQWdCO1FBRWhCLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLElBQUk7Z0JBQ1AsT0FBTyxRQUFRLENBQUM7WUFDbEIsS0FBSyxJQUFJO2dCQUNQLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLEtBQUssR0FBRztnQkFDTixPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDN0I7Z0JBQ0UsTUFBTSxxQkFBcUIsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ3J1ZFNlcnZpY2UsXG4gIElDcnVkRmlsdGVyLFxuICBJQ3J1ZEZpbHRlclF1ZXJ5SXRlbSxcbn0gZnJvbSAnQHNtYXJ0c29mdDAwMS9jcnVkLXNoZWxsLWFuZ3VsYXInO1xuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDcnVkQmFzZVNlcnZpY2U8XG4gIFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4sXG4+IGV4dGVuZHMgQ3J1ZFNlcnZpY2U8VD4ge1xuICBhYnN0cmFjdCBnZXRVcmxOYW1lRm9yRGV0YWlscygpOiBzdHJpbmc7XG4gIGFic3RyYWN0IGdldFVybE5hbWVGb3JMaXN0KCk6IHN0cmluZztcblxuICBkb3dubG9hZFBkZihuYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gZmV0Y2goXG4gICAgICB0aGlzLmNvbmZpZy5hcGlVcmwgKyB0aGlzLmdldFVybE5hbWVGb3JEZXRhaWxzKCkgKyAnLycgKyBpZCArICcvcGRmJyxcbiAgICApXG4gICAgICAudGhlbigocmVzcCkgPT4gcmVzcC5hcnJheUJ1ZmZlcigpKVxuICAgICAgLnRoZW4oKHJlc3ApID0+IHtcbiAgICAgICAgY29uc3QgZmlsZSA9IG5ldyBCbG9iKFtyZXNwXSwgeyB0eXBlOiAnYXBwbGljYXRpb24vcGRmJyB9KTtcblxuICAgICAgICBjb25zdCBmaWxlVVJMID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKTtcbiAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgICAgbGluay5ocmVmID0gZmlsZVVSTDtcbiAgICAgICAgbGluay5kb3dubG9hZCA9IG5hbWUgKyAnLnBkZic7XG4gICAgICAgIGxpbmsuY2xpY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0QnlJZChpZDogc3RyaW5nKTogUHJvbWlzZTxUPiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwXG4gICAgICAgIC5nZXQ8e1xuICAgICAgICAgIGRhdGE6IFQ7XG4gICAgICAgIH0+KHRoaXMuY29uZmlnLmFwaVVybCArIHRoaXMuZ2V0VXJsTmFtZUZvckRldGFpbHMoKSArICcvJyArIGlkKVxuICAgICAgICAucGlwZShtYXAoKHIpID0+IChyIGFzIHsgZGF0YTogVCB9KT8uZGF0YSkpLFxuICAgICk7XG4gIH1cblxuICBnZXRMaXN0PFQ+KFxuICAgIGZpbHRlcj86IElDcnVkRmlsdGVyLFxuICApOiBQcm9taXNlPHsgZGF0YTogVFtdOyB0b3RhbENvdW50OiBudW1iZXI7IGxpbmtzOiB1bmtub3duIH0+IHtcbiAgICBsZXQgcGFnZSA9IDE7XG5cbiAgICBpZiAoZmlsdGVyPy5vZmZzZXQgJiYgZmlsdGVyPy5saW1pdCkge1xuICAgICAgcGFnZSA9IGZpbHRlci5vZmZzZXQgLyBmaWx0ZXIubGltaXQ7XG4gICAgfVxuXG4gICAgbGV0IHVybCA9IHRoaXMuZ2V0QmFzZUxpc3RVcmwocGFnZSwgZmlsdGVyIGFzIHsgbGltaXQ6IG51bWJlciB9KTtcblxuICAgIGlmIChmaWx0ZXI/LnNlYXJjaFRleHQpIHtcbiAgICAgIHVybCArPSBgJmZpbHRlcltwaHJhc2VdPSR7ZmlsdGVyLnNlYXJjaFRleHR9YDtcbiAgICB9XG5cbiAgICBpZiAoZmlsdGVyPy5zb3J0QnkpIHtcbiAgICAgIHVybCArPSBgJnNvcnQ9JHtmaWx0ZXIuc29ydEJ5fS0ke2ZpbHRlci5zb3J0RGVzYyA/ICdkZXNjJyA6ICdhc2MnfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVybCArPSBgJnNvcnQ9cmFuZG9tYDtcbiAgICB9XG5cbiAgICBmaWx0ZXI/LnF1ZXJ5Py5mb3JFYWNoKChxOiBJQ3J1ZEZpbHRlclF1ZXJ5SXRlbSkgPT4ge1xuICAgICAgY29uc3QgaXNBcnJheSA9IEFycmF5LmlzQXJyYXkocS52YWx1ZSk7XG5cbiAgICAgIGlmIChpc0FycmF5KSB7XG4gICAgICAgIHEudmFsdWUuZm9yRWFjaCgodmFsdWU6IHVua25vd24gJiB7IGlkOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICAgIHVybCArPSBgJmZpbHRlclske3Eua2V5fV0ke3RoaXMuZ2V0UXVlcnlUeXBlKHEudHlwZSwgdHJ1ZSl9PSR7XG4gICAgICAgICAgICB2YWx1ZS5pZFxuICAgICAgICAgIH1gO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVybCArPSBgJmZpbHRlclske3Eua2V5fV0ke3RoaXMuZ2V0UXVlcnlUeXBlKHEudHlwZSwgZmFsc2UpfT0ke1xuICAgICAgICAgIHEudmFsdWVcbiAgICAgICAgfWA7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHBcbiAgICAgICAgLmdldDx7XG4gICAgICAgICAgZGF0YTogdW5rbm93biAmIHtcbiAgICAgICAgICAgIGl0ZW1zOiB1bmtub3duO1xuICAgICAgICAgICAgcGFnaW5hdG9yRGV0YWlsczoge1xuICAgICAgICAgICAgICB0b3RhbEl0ZW1zQ291bnQ6IG51bWJlcjtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfTtcbiAgICAgICAgfT4odXJsKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gciBhcyB7XG4gICAgICAgICAgICAgIGRhdGE/OiB7XG4gICAgICAgICAgICAgICAgaXRlbXM/OiBUW107XG4gICAgICAgICAgICAgICAgcGFnaW5hdG9yRGV0YWlscz86IHtcbiAgICAgICAgICAgICAgICAgIHRvdGFsSXRlbXNDb3VudD86IG51bWJlcjtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGRhdGE6IHJlc3BvbnNlLmRhdGE/Lml0ZW1zID8/IFtdLFxuICAgICAgICAgICAgICB0b3RhbENvdW50OiByZXNwb25zZS5kYXRhPy5wYWdpbmF0b3JEZXRhaWxzPy50b3RhbEl0ZW1zQ291bnQgPz8gMCxcbiAgICAgICAgICAgICAgbGlua3M6IHt9LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpLFxuICAgICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0QmFzZUxpc3RVcmwoXG4gICAgcGFnZTogbnVtYmVyLFxuICAgIGZpbHRlcjoge1xuICAgICAgbGltaXQ6IG51bWJlcjtcbiAgICB9LFxuICApIHtcbiAgICByZXR1cm4gYCR7dGhpcy5jb25maWcuYXBpVXJsfSR7XG4gICAgICB0aGlzLmdldFVybE5hbWVGb3JMaXN0KCkgIT09ICdwdWJsaWMtY29sbGVjdGlvbnMnXG4gICAgICAgID8gJ3NlYXJjaC8nICsgdGhpcy5nZXRVcmxOYW1lRm9yTGlzdCgpXG4gICAgICAgIDogJ3B1YmxpYy1jb2xsZWN0aW9ucydcbiAgICB9L3BhZ2UvJHtwYWdlfT9tYXhQZXJQYWdlPSR7ZmlsdGVyPy5saW1pdH1gO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUVycm9yKGVycjogdW5rbm93biAmIHsgc3RhdHVzOiBudW1iZXIgfSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKGVyci5zdGF0dXMgPT09IDQwNCB8fCBlcnIuc3RhdHVzID09PSA0MDYpIHtcbiAgICAgIHJldHVybiBvZih7XG4gICAgICAgIGRhdGE6IFtdLFxuICAgICAgICB0b3RhbENvdW50OiAwLFxuICAgICAgICBsaW5rczoge30sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoYFRoZXJlIHdhcyBhbiBlcnJvcjogJHtlcnIuc3RhdHVzfWApKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRRdWVyeVR5cGUoXG4gICAgdHlwZTogJz0nIHwgJyE9JyB8ICc+PScgfCAnPD0nIHwgJzwnIHwgJz4nLFxuICAgIGlzQXJyYXk6IGJvb2xlYW4sXG4gICkge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnPj0nOlxuICAgICAgICByZXR1cm4gJ1tmcm9tXSc7XG4gICAgICBjYXNlICc8PSc6XG4gICAgICAgIHJldHVybiAnW3RvXSc7XG4gICAgICBjYXNlICc9JzpcbiAgICAgICAgcmV0dXJuIGlzQXJyYXkgPyAnW10nIDogJyc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyAnVHlwZSBub3Qgc3VwcG9ydGVkISc7XG4gICAgfVxuICB9XG59XG4iXX0=","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { map } from 'rxjs/operators';\nimport { SharedConfig } from '../../shared.config';\nimport * as i0 from \"@angular/core\";\nexport class DictionaryService {\n constructor() {\n this.httpClient = inject(HttpClient);\n this.config = inject(SharedConfig);\n }\n get(type, query = { page: 1 }) {\n let url = this.config.apiUrl +\n `${query.context ? query.context : 'dictionary'}/${type}/search/page/${query.page}?sort=random`;\n if (query.pageSize) {\n url += `&maxPerPage=${query.pageSize}`;\n }\n if (query.searchText) {\n url += `&q=${query.searchText}`;\n }\n return this.httpClient\n .get(url)\n .pipe(map((r) => r.data.items));\n }\n getNode(type, query = {}) {\n let url = this.config.apiUrl +\n `${query.context ? query.context : 'dictionary'}/${type}/tree`;\n if (query.nodeId !== null && query.nodeId !== undefined) {\n //In case the nodeId is 0 or is cast to false\n url += `?id=${query.nodeId}`;\n }\n return this.httpClient\n .get(url)\n .pipe(map((r) => r.data));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: DictionaryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: DictionaryService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: DictionaryService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2hhcmVkL2FuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9kaWN0aW9uYXJ5L2RpY3Rpb25hcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFXbkQsTUFBTSxPQUFPLGlCQUFpQjtJQUg5QjtRQUltQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLFdBQU0sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7S0FnRGhEO0lBOUNDLEdBQUcsQ0FDRCxJQUFPLEVBQ1AsUUFLSSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUU7UUFFZixJQUFJLEdBQUcsR0FDTCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDbEIsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksSUFBSSxnQkFBZ0IsS0FBSyxDQUFDLElBQUksY0FBYyxDQUFDO1FBRWxHLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLEdBQUcsSUFBSSxlQUFlLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QyxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckIsR0FBRyxJQUFJLE1BQU0sS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLEdBQUcsQ0FBeUMsR0FBRyxDQUFDO2FBQ2hELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsT0FBTyxDQUNMLElBQU8sRUFDUCxRQUdJLEVBQUU7UUFFTixJQUFJLEdBQUcsR0FDTCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDbEIsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksSUFBSSxPQUFPLENBQUM7UUFFakUsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hELDZDQUE2QztZQUM3QyxHQUFHLElBQUksT0FBTyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDL0IsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsR0FBRyxDQUE4QixHQUFHLENBQUM7YUFDckMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQzs4R0FqRFUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2hhcmVkQ29uZmlnIH0gZnJvbSAnLi4vLi4vc2hhcmVkLmNvbmZpZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURpY3Rpb25hcnlJdGVtIHtcbiAgaWQ6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xuICBoYXNDaGlsZHJlbj86IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBEaWN0aW9uYXJ5U2VydmljZTxUPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3QoU2hhcmVkQ29uZmlnKTtcblxuICBnZXQoXG4gICAgdHlwZTogVCxcbiAgICBxdWVyeToge1xuICAgICAgc2VhcmNoVGV4dD86IHN0cmluZztcbiAgICAgIHBhZ2U6IG51bWJlcjtcbiAgICAgIHBhZ2VTaXplPzogbnVtYmVyO1xuICAgICAgY29udGV4dD86IHN0cmluZztcbiAgICB9ID0geyBwYWdlOiAxIH0sXG4gICk6IE9ic2VydmFibGU8SURpY3Rpb25hcnlJdGVtW10+IHtcbiAgICBsZXQgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnLmFwaVVybCArXG4gICAgICBgJHtxdWVyeS5jb250ZXh0ID8gcXVlcnkuY29udGV4dCA6ICdkaWN0aW9uYXJ5J30vJHt0eXBlfS9zZWFyY2gvcGFnZS8ke3F1ZXJ5LnBhZ2V9P3NvcnQ9cmFuZG9tYDtcblxuICAgIGlmIChxdWVyeS5wYWdlU2l6ZSkge1xuICAgICAgdXJsICs9IGAmbWF4UGVyUGFnZT0ke3F1ZXJ5LnBhZ2VTaXplfWA7XG4gICAgfVxuXG4gICAgaWYgKHF1ZXJ5LnNlYXJjaFRleHQpIHtcbiAgICAgIHVybCArPSBgJnE9JHtxdWVyeS5zZWFyY2hUZXh0fWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldDx7IGRhdGE6IHsgaXRlbXM6IElEaWN0aW9uYXJ5SXRlbVtdIH0gfT4odXJsKVxuICAgICAgLnBpcGUobWFwKChyKSA9PiByLmRhdGEuaXRlbXMpKTtcbiAgfVxuXG4gIGdldE5vZGUoXG4gICAgdHlwZTogVCxcbiAgICBxdWVyeToge1xuICAgICAgbm9kZUlkPzogbnVtYmVyO1xuICAgICAgY29udGV4dD86IHN0cmluZztcbiAgICB9ID0ge30sXG4gICk6IE9ic2VydmFibGU8SURpY3Rpb25hcnlJdGVtW10+IHtcbiAgICBsZXQgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnLmFwaVVybCArXG4gICAgICBgJHtxdWVyeS5jb250ZXh0ID8gcXVlcnkuY29udGV4dCA6ICdkaWN0aW9uYXJ5J30vJHt0eXBlfS90cmVlYDtcblxuICAgIGlmIChxdWVyeS5ub2RlSWQgIT09IG51bGwgJiYgcXVlcnkubm9kZUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vSW4gY2FzZSB0aGUgbm9kZUlkIGlzIDAgb3IgaXMgY2FzdCB0byBmYWxzZVxuICAgICAgdXJsICs9IGA/aWQ9JHtxdWVyeS5ub2RlSWR9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0PHsgZGF0YTogSURpY3Rpb25hcnlJdGVtW10gfT4odXJsKVxuICAgICAgLnBpcGUobWFwKChyKSA9PiByLmRhdGEpKTtcbiAgfVxufVxuIl19","import { StyleService } from './style/style.service';\nimport { ConfigsFacade } from '../+state/configs.facade';\nimport { ConfigsService } from './configs/configs.service';\nimport { CrudBaseService } from './crud/crud-base.service';\nimport { DictionaryService } from './dictionary/dictionary.service';\nexport * from './dictionary/dictionary.service';\nexport * from './style/style.service';\nexport * from './configs/configs.service';\nexport * from './crud/crud-base.service';\nexport const SERVICES = [\n DictionaryService,\n StyleService,\n ConfigsService,\n ConfigsFacade,\n CrudBaseService,\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zaGFyZWQvYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVwRSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztJQUN0QixpQkFBaUI7SUFDakIsWUFBWTtJQUNaLGNBQWM7SUFDZCxhQUFhO0lBQ2IsZUFBZTtDQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3R5bGVTZXJ2aWNlIH0gZnJvbSAnLi9zdHlsZS9zdHlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ3NGYWNhZGUgfSBmcm9tICcuLi8rc3RhdGUvY29uZmlncy5mYWNhZGUnO1xuaW1wb3J0IHsgQ29uZmlnc1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3MvY29uZmlncy5zZXJ2aWNlJztcbmltcG9ydCB7IENydWRCYXNlU2VydmljZSB9IGZyb20gJy4vY3J1ZC9jcnVkLWJhc2Uuc2VydmljZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5U2VydmljZSB9IGZyb20gJy4vZGljdGlvbmFyeS9kaWN0aW9uYXJ5LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2RpY3Rpb25hcnkvZGljdGlvbmFyeS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3R5bGUvc3R5bGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3MvY29uZmlncy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY3J1ZC9jcnVkLWJhc2Uuc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBTRVJWSUNFUyA9IFtcbiAgRGljdGlvbmFyeVNlcnZpY2UsXG4gIFN0eWxlU2VydmljZSxcbiAgQ29uZmlnc1NlcnZpY2UsXG4gIENvbmZpZ3NGYWNhZGUsXG4gIENydWRCYXNlU2VydmljZSxcbl07XG4iXX0=","import { inject, Injectable, signal } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ConfigsService } from '../services';\nimport * as i0 from \"@angular/core\";\nexport class ConfigsFacade {\n constructor() {\n this.service = inject(ConfigsService);\n this.sanitizer = inject(DomSanitizer);\n }\n static { this._source = signal(null, ...(ngDevMode ? [{ debugName: \"_source\" }] : [])); }\n get data() {\n return ConfigsFacade._source();\n }\n getPage(id) {\n return this.service.getPage(id).then((page) => {\n if (!page)\n return page;\n return {\n ...page,\n content: this.sanitizer.bypassSecurityTrustHtml(page.content),\n };\n });\n }\n init() {\n return this.service.get().then((config) => {\n ConfigsFacade._source.set(config);\n return config;\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ConfigsFacade, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ConfigsFacade }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ConfigsFacade, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zaGFyZWQvYW5ndWxhci9zcmMvbGliLytzdGF0ZS9jb25maWdzLmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUl6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUc3QyxNQUFNLE9BQU8sYUFBYTtJQUQxQjtRQUVVLFlBQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDakMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQTJCMUM7YUF6QmdCLFlBQU8sR0FBa0MsTUFBTSxDQUM1RCxJQUFJLG1EQUNMLEFBRnFCLENBRXBCO0lBRUYsSUFBSSxJQUFJO1FBQ04sT0FBTyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELE9BQU8sQ0FBQyxFQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBVSxFQUFFLEVBQUU7WUFDbEQsSUFBSSxDQUFDLElBQUk7Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFFdkIsT0FBTztnQkFDTCxHQUFHLElBQUk7Z0JBQ1AsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUM5RCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSTtRQUNGLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUNoRCxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQyxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBNUJVLGFBQWE7a0hBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7IENvbmZpZywgUGFnZSB9IGZyb20gJ0BzbWFydHNvZnQwMDEtbW9iaWxlbXMvbW9kZWxzJztcblxuaW1wb3J0IHsgQ29uZmlnc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb25maWdzRmFjYWRlIHtcbiAgcHJpdmF0ZSBzZXJ2aWNlID0gaW5qZWN0KENvbmZpZ3NTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcblxuICBwcml2YXRlIHN0YXRpYyBfc291cmNlOiBXcml0YWJsZVNpZ25hbDxDb25maWcgfCBudWxsPiA9IHNpZ25hbDxDb25maWcgfCBudWxsPihcbiAgICBudWxsLFxuICApO1xuXG4gIGdldCBkYXRhKCk6IENvbmZpZyB8IG51bGwge1xuICAgIHJldHVybiBDb25maWdzRmFjYWRlLl9zb3VyY2UoKTtcbiAgfVxuXG4gIGdldFBhZ2UoaWQ6IG51bWJlcik6IFByb21pc2U8UGFnZT4ge1xuICAgIHJldHVybiB0aGlzLnNlcnZpY2UuZ2V0UGFnZShpZCkudGhlbigocGFnZTogUGFnZSkgPT4ge1xuICAgICAgaWYgKCFwYWdlKSByZXR1cm4gcGFnZTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucGFnZSxcbiAgICAgICAgY29udGVudDogdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwocGFnZS5jb250ZW50KSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBpbml0KCk6IFByb21pc2U8Q29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5nZXQoKS50aGVuKChjb25maWc6IENvbmZpZykgPT4ge1xuICAgICAgQ29uZmlnc0ZhY2FkZS5fc291cmNlLnNldChjb25maWcpO1xuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9KTtcbiAgfVxufVxuIl19","import { Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\nimport { AppBaseComponent } from '@smartsoft001/angular';\nimport * as i0 from \"@angular/core\";\nexport class AppComponent extends AppBaseComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: AppComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.0\", type: AppComponent, isStandalone: true, selector: \"smart-mobilems-app\", usesInheritance: true, ngImport: i0, template: `\n <ng-content select=\"header\"></ng-content>\n\n <main>\n <router-outlet></router-outlet>\n </main>\n\n <ng-content select=\"footer\"></ng-content>\n `, isInline: true, dependencies: [{ kind: \"directive\", type: RouterOutlet, selector: \"router-outlet\", inputs: [\"name\", \"routerOutletData\"], outputs: [\"activate\", \"deactivate\", \"attach\", \"detach\"], exportAs: [\"outlet\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: AppComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'smart-mobilems-app',\n imports: [RouterOutlet],\n template: `\n <ng-content select=\"header\"></ng-content>\n\n <main>\n <router-outlet></router-outlet>\n </main>\n\n <ng-content select=\"footer\"></ng-content>\n `,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NoYXJlZC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hcHAvYXBwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFlekQsTUFBTSxPQUFPLFlBQWEsU0FBUSxnQkFBZ0I7OEdBQXJDLFlBQVk7a0dBQVosWUFBWSxxR0FWYjs7Ozs7Ozs7R0FRVCw0REFUUyxZQUFZOzsyRkFXWCxZQUFZO2tCQWJ4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsUUFBUSxFQUFFOzs7Ozs7OztHQVFUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BzbWFydHNvZnQwMDEvYW5ndWxhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LW1vYmlsZW1zLWFwcCcsXG4gIGltcG9ydHM6IFtSb3V0ZXJPdXRsZXRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImhlYWRlclwiPjwvbmctY29udGVudD5cblxuICAgIDxtYWluPlxuICAgICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICAgIDwvbWFpbj5cblxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZvb3RlclwiPjwvbmctY29udGVudD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQXBwQ29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCB7fVxuIl19","import { Directive } from '@angular/core';\nimport { PageBaseComponent } from '@smartsoft001/angular';\nimport * as i0 from \"@angular/core\";\nexport class PageComponent extends PageBaseComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: PageComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.0\", type: PageComponent, isStandalone: true, usesInheritance: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: PageComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zaGFyZWQvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcGFnZS9wYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUcxRCxNQUFNLE9BQU8sYUFBYyxTQUFRLGlCQUFpQjs4R0FBdkMsYUFBYTtrR0FBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYWdlQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BzbWFydHNvZnQwMDEvYW5ndWxhcic7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFBhZ2VDb21wb25lbnQgZXh0ZW5kcyBQYWdlQmFzZUNvbXBvbmVudCB7fVxuIl19","import { __decorate, __metadata } from \"tslib\";\nimport { contentChild, Directive, effect, inject, } from '@angular/core';\nimport { BaseComponent } from '@smartsoft001/angular';\nimport { CrudFacade, } from '@smartsoft001/crud-shell-angular';\nimport * as _ from 'lodash';\nimport { Debounce } from 'lodash-decorators';\nimport * as i0 from \"@angular/core\";\nexport class FiltersContext extends BaseComponent {\n set searchText(val) {\n if (this._filter && this._filter.searchText === val)\n return;\n this.refresh({\n searchText: val,\n offset: 0,\n });\n }\n get searchText() {\n return this._filter?.searchText;\n }\n set page(val) {\n const offset = this._filter?.limit ? this._filter?.limit * val : 0;\n if (this._filter && this._filter.offset === offset)\n return;\n this.refresh({\n offset: offset,\n });\n }\n get page() {\n if (!this._filter)\n return 1;\n if (!this._filter.offset || !this._filter.limit)\n return 1;\n return this._filter.offset / this._filter.limit;\n }\n set limit(val) {\n if (this._filter && this._filter.limit === val)\n return;\n this.refresh({\n limit: val,\n offset: 0,\n });\n }\n get limit() {\n if (!this._filter)\n return 20;\n if (!this._filter.limit)\n return 20;\n return this._filter.limit;\n }\n set sortBy(val) {\n if (this._filter && this._filter.sortBy === val)\n return;\n this.refresh({\n sortBy: val,\n });\n }\n get sortBy() {\n return this._filter?.sortBy;\n }\n set query(val) {\n if (this._filter && this._filter.query === val)\n return;\n this.refresh({\n query: val,\n });\n }\n get query() {\n return this._filter?.query;\n }\n set sortDesc(val) {\n if (this._filter && this._filter.sortDesc === val)\n return;\n this.refresh({\n sortDesc: val,\n });\n }\n get sortDesc() {\n return this._filter?.sortDesc;\n }\n set sort(val) {\n if (this._filter && this._filter.sortBy === val)\n return;\n this.refresh({\n sortBy: val?.by,\n sortDesc: val?.desc,\n });\n }\n get sort() {\n return {\n by: this._filter?.sortBy,\n desc: this._filter?.sortDesc,\n };\n }\n set onlyImage(val) {\n if (!val && this.onlyImage && this._filter) {\n const result = this._filter.query\n ? this._filter.query?.filter((q) => !(q.type === '=' && q.key === 'onlyImage'))\n : [];\n this.refresh({\n query: [...result],\n });\n }\n if (val && !this.onlyImage && this._filter) {\n const result = this._filter.query\n ? this._filter.query.filter((q) => !(q.type === '=' && q.key === 'onlyImage'))\n : [];\n this.refresh({\n offset: 0,\n query: [\n ...result,\n {\n type: '=',\n key: 'onlyImage',\n value: 1,\n hidden: true,\n },\n ],\n });\n }\n }\n get onlyImage() {\n return this._filter?.query?.some((q) => q.type === '=' && q.key === 'onlyImage' && q.value === 1);\n }\n set exposure(val) {\n if (!val && this.exposure && this._filter) {\n const result = this._filter.query\n ? this._filter.query?.filter((q) => !(q.type === '=' &&\n q.key === 'locationType' &&\n q.value === 'Ekspozycja'))\n : [];\n this.refresh({\n query: [...result],\n });\n }\n if (val && !this.exposure && this._filter) {\n const result = this._filter.query\n ? this._filter.query?.filter((q) => !(q.type === '=' &&\n q.key === 'locationType' &&\n q.value === 'Ekspozycja'))\n : [];\n this.refresh({\n offset: 0,\n query: [\n ...result,\n {\n type: '=',\n key: 'locationType',\n value: 'Ekspozycja',\n hidden: true,\n },\n ],\n });\n }\n }\n get exposure() {\n return this._filter?.query?.some((q) => q.type === '=' && q.key === 'locationType' && q.value === 'Ekspozycja');\n }\n set creators(val) {\n this.filterSet(this.creators, val, 'creators', '=');\n }\n get creators() {\n return this.filterGet('=', 'creators');\n }\n set createDatesFrom(val) {\n this.filterSet(this.createDatesFrom, val, 'createDates', '>=');\n }\n get createDatesFrom() {\n return this.filterGet('>=', 'createDates');\n }\n set createDatesTo(val) {\n this.filterSet(this.createDatesTo, val, 'createDates', '<=');\n }\n get createDatesTo() {\n return this.filterGet('<=', 'createDates');\n }\n set publicationDateFrom(val) {\n this.filterSet(this.publicationDateFrom, val, 'publicationDate', '>=');\n }\n get publicationDateFrom() {\n return this.filterGet('>=', 'publicationDate');\n }\n set publicationDateTo(val) {\n this.filterSet(this.publicationDateTo, val, 'publicationDate', '<=');\n }\n get publicationDateTo() {\n return this.filterGet('<=', 'publicationDate');\n }\n set createPlaces(val) {\n this.filterSet(this.createPlaces, val, 'createPlaces', '=');\n }\n get createPlaces() {\n return this.filterGet('=', 'createPlaces');\n }\n set keywords(val) {\n this.filterSet(this.keywords, val, 'keywords', '=');\n }\n get keywords() {\n return this.filterGet('=', 'keywords');\n }\n set techniques(val) {\n this.filterSet(this.techniques, val, 'techniques', '=');\n }\n get techniques() {\n return this.filterGet('=', 'techniques');\n }\n set materials(val) {\n this.filterSet(this.materials, val, 'materials', '=');\n }\n get materials() {\n return this.filterGet('=', 'materials');\n }\n set category(val) {\n this.filterSet(this.category, val, 'category', '=');\n }\n get category() {\n return this.filterGet('=', 'category');\n }\n set department(val) {\n this.filterSet(this.department, val, 'department', '=');\n }\n get department() {\n return this.filterGet('=', 'department');\n }\n set location(val) {\n this.filterSet(this.category, val, 'location', '=');\n }\n get location() {\n return this.filterGet('=', 'location');\n }\n set locationType(val) {\n this.filterSet(this.category, val, 'locationType', '=');\n }\n get locationType() {\n return this.filterGet('=', 'locationType');\n }\n set cycles(val) {\n this.filterSet(this.cycles, val, 'cycles', '=');\n }\n get cycles() {\n return this.filterGet('=', 'cycles');\n }\n set authors(val) {\n this.filterSet(this.authors, val, 'authors', '=');\n }\n get authors() {\n return this.filterGet('=', 'authors');\n }\n set targetGroups(val) {\n this.filterSet(this.targetGroups, val, 'targetGroups', '=');\n }\n get targetGroups() {\n return this.filterGet('=', 'targetGroups');\n }\n set template(val) {\n this.filterSet(this.template, val, 'template', '=');\n }\n get template() {\n return this.filterGet('=', 'template');\n }\n set types(val) {\n this.filterSet(this.types, val, 'types', '=');\n }\n get types() {\n return this.filterGet('=', 'types');\n }\n set extraNumbersValue(val) {\n this.filterSet(this.creators, val, 'extraNumbersValue', '=');\n }\n get extraNumbersValue() {\n return this.filterGet('=', 'extraNumbersValue');\n }\n constructor() {\n super();\n this.facade = inject((CrudFacade));\n this.totalCount = this.facade.totalCount;\n effect(() => {\n this._filter = this.facade.filter();\n });\n }\n refresh(filter) {\n let change = false;\n Object.keys(filter).forEach((key) => {\n if (!_.isEqual(this._filter[key], filter[key]))\n change = true;\n });\n if (!change)\n return;\n this.facade.read({\n ...this.facade.filter,\n ...filter,\n });\n }\n filterGet(key, type) {\n return this._filter?.query?.find((q) => q.type === key && q.key === type)?.value;\n }\n filterSet(currentValue, val, key, type) {\n if (!val && this._filter) {\n const result = this._filter?.query\n ? this._filter?.query?.filter((q) => !(q.type === type && q.key === key))\n : [];\n this.refresh({\n offset: 0,\n query: [...result],\n });\n }\n if (val && currentValue !== val && this._filter) {\n const result = this._filter?.query\n ? this._filter?.query?.filter((q) => !(q.type === type && q.key === key))\n : [];\n this.refresh({\n offset: 0,\n query: [\n ...result,\n {\n type: type,\n key: key,\n value: val,\n hidden: true,\n },\n ],\n });\n }\n }\n}\n__decorate([\n Debounce(500),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], FiltersContext.prototype, \"refresh\", null);\nexport class FiltersBaseComponent {\n constructor() {\n this.contentTpl = contentChild('contentTpl', ...(ngDevMode ? [{ debugName: \"contentTpl\" }] : []));\n }\n ngAfterContentInit() {\n this.context = new FiltersContext();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FiltersBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.2.0\", version: \"20.1.0\", type: FiltersBaseComponent, isStandalone: true, selector: \"smart-mobilems-filters\", queries: [{ propertyName: \"contentTpl\", first: true, predicate: [\"contentTpl\"], descendants: true, isSignal: true }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FiltersBaseComponent, decorators: [{\n type: Directive,\n args: [{\n selector: 'smart-mobilems-filters',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zaGFyZWQvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9maWx0ZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFlBQVksRUFDWixTQUFTLEVBQ1QsTUFBTSxFQUNOLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUNMLFVBQVUsR0FHWCxNQUFNLGtDQUFrQyxDQUFDO0FBRTFDLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFJN0MsTUFBTSxPQUFPLGNBQTBDLFNBQVEsYUFBYTtJQUsxRSxJQUFJLFVBQVUsQ0FBQyxHQUF1QjtRQUNwQyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEtBQUssR0FBRztZQUFFLE9BQU87UUFDNUQsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNYLFVBQVUsRUFBRSxHQUFHO1lBQ2YsTUFBTSxFQUFFLENBQUM7U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsR0FBVztRQUNsQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElB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QUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLEdBQWU7UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksU0FBUyxDQUFDLEdBQWU7UUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUNELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEdBQWU7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLEdBQWU7UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEdBQWU7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLEdBQWU7UUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLEdBQWU7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLEdBQWU7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUNELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLEdBQWU7UUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRSxjQUFj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QyxDQUFDOzhHQVRtQixvQkFBb0I7a0dBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFIekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2lCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIGNvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgU2lnbmFsLFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9hbmd1bGFyJztcbmltcG9ydCB7XG4gIENydWRGYWNhZGUsXG4gIElDcnVkRmlsdGVyLFxuICBJQ3J1ZEZpbHRlclF1ZXJ5SXRlbSxcbn0gZnJvbSAnQHNtYXJ0c29mdDAwMS9jcnVkLXNoZWxsLWFuZ3VsYXInO1xuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRGVib3VuY2UgfSBmcm9tICdsb2Rhc2gtZGVjb3JhdG9ycyc7XG5cbmV4cG9ydCB0eXBlIEZpbHRlclR5cGUgPSBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IGNsYXNzIEZpbHRlcnNDb250ZXh0PFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmFjYWRlID0gaW5qZWN0KENydWRGYWNhZGU8VD4pO1xuXG4gIHByaXZhdGUgX2ZpbHRlcj86IElDcnVkRmlsdGVyO1xuXG4gIHNldCBzZWFyY2hUZXh0KHZhbDogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHRoaXMuX2ZpbHRlciAmJiB0aGlzLl9maWx0ZXIuc2VhcmNoVGV4dCA9PT0gdmFsKSByZXR1cm47XG4gICAgdGhpcy5yZWZyZXNoKHtcbiAgICAgIHNlYXJjaFRleHQ6IHZhbCxcbiAgICAgIG9mZnNldDogMCxcbiAgICB9KTtcbiAgfVxuICBnZXQgc2VhcmNoVGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyPy5zZWFyY2hUZXh0O1xuICB9XG5cbiAgc2V0IHBhZ2UodmFsOiBudW1iZXIpIHtcbiAgICBjb25zdCBvZmZzZXQgPSB0aGlzLl9maWx0ZXI/LmxpbWl0ID8gdGhpcy5fZmlsdGVyPy5saW1pdCAqIHZhbCA6IDA7XG4gICAgaWYgKHRoaXMuX2ZpbHRlciAmJiB0aGlzLl9maWx0ZXIub2Zmc2V0ID09PSBvZmZzZXQpIHJldHVybjtcbiAgICB0aGlzLnJlZnJlc2goe1xuICAgICAgb2Zmc2V0OiBvZmZzZXQsXG4gICAgfSk7XG4gIH1cbiAgZ2V0IHBhZ2UoKSB7XG4gICAgaWYgKCF0aGlzLl9maWx0ZXIpIHJldHVybiAxO1xuICAgIGlmICghdGhpcy5fZmlsdGVyLm9mZnNldCB8fCAhdGhpcy5fZmlsdGVyLmxpbWl0KSByZXR1cm4gMTtcblxuICAgIHJldHVybiB0aGlzLl9maWx0ZXIub2Zmc2V0IC8gdGhpcy5fZmlsdGVyLmxpbWl0O1xuICB9XG5cbiAgc2V0IGxpbWl0KHZhbDogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuX2ZpbHRlciAmJiB0aGlzLl9maWx0ZXIubGltaXQgPT09IHZhbCkgcmV0dXJuO1xuICAgIHRoaXMucmVmcmVzaCh7XG4gICAgICBsaW1pdDogdmFsLFxuICAgICAgb2Zmc2V0OiAwLFxuICAgIH0pO1xuICB9XG4gIGdldCBsaW1pdCgpIHtcbiAgICBpZiAoIXRoaXMuX2ZpbHRlcikgcmV0dXJuIDIwO1xuICAgIGlmICghdGhpcy5fZmlsdGVyLmxpbWl0KSByZXR1cm4gMjA7XG5cbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyLmxpbWl0O1xuICB9XG5cbiAgc2V0IHNvcnRCeSh2YWw6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh0aGlzLl9maWx0ZXIgJiYgdGhpcy5fZmlsdGVyLnNvcnRCeSA9PT0gdmFsKSByZXR1cm47XG4gICAgdGhpcy5yZWZyZXNoKHtcbiAgICAgIHNvcnRCeTogdmFsLFxuICAgIH0pO1xuICB9XG4gIGdldCBzb3J0QnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcj8uc29ydEJ5O1xuICB9XG5cbiAgc2V0IHF1ZXJ5KHZhbDogSUNydWRGaWx0ZXJRdWVyeUl0ZW1bXSB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh0aGlzLl9maWx0ZXIgJiYgdGhpcy5fZmlsdGVyLnF1ZXJ5ID09PSB2YWwpIHJldHVybjtcbiAgICB0aGlzLnJlZnJlc2goe1xuICAgICAgcXVlcnk6IHZhbCxcbiAgICB9KTtcbiAgfVxuICBnZXQgcXVlcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcj8ucXVlcnk7XG4gIH1cblxuICBzZXQgc29ydERlc2ModmFsOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHRoaXMuX2ZpbHRlciAmJiB0aGlzLl9maWx0ZXIuc29ydERlc2MgPT09IHZhbCkgcmV0dXJuO1xuICAgIHRoaXMucmVmcmVzaCh7XG4gICAgICBzb3J0RGVzYzogdmFsLFxuICAgIH0pO1xuICB9XG4gIGdldCBzb3J0RGVzYygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyPy5zb3J0RGVzYztcbiAgfVxuXG4gIHNldCBzb3J0KHZhbDogeyBieT86IHN0cmluZzsgZGVzYz86IGJvb2xlYW4gfSB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh0aGlzLl9maWx0ZXIgJiYgdGhpcy5fZmlsdGVyLnNvcnRCeSA9PT0gdmFsKSByZXR1cm47XG4gICAgdGhpcy5yZWZyZXNoKHtcbiAgICAgIHNvcnRCeTogdmFsPy5ieSxcbiAgICAgIHNvcnREZXNjOiB2YWw/LmRlc2MsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgc29ydCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnk6IHRoaXMuX2ZpbHRlcj8uc29ydEJ5LFxuICAgICAgZGVzYzogdGhpcy5fZmlsdGVyPy5zb3J0RGVzYyxcbiAgICB9O1xuICB9XG5cbiAgc2V0IG9ubHlJbWFnZSh2YWw6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbCAmJiB0aGlzLm9ubHlJbWFnZSAmJiB0aGlzLl9maWx0ZXIpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2ZpbHRlci5xdWVyeVxuICAgICAgICA/IHRoaXMuX2ZpbHRlci5xdWVyeT8uZmlsdGVyKFxuICAgICAgICAgICAgKHE6IElDcnVkRmlsdGVyUXVlcnlJdGVtKSA9PlxuICAgICAgICAgICAgICAhKHEudHlwZSA9PT0gJz0nICYmIHEua2V5ID09PSAnb25seUltYWdlJyksXG4gICAgICAgICAgKVxuICAgICAgICA6IFtdO1xuXG4gICAgICB0aGlzLnJlZnJlc2goe1xuICAgICAgICBxdWVyeTogWy4uLnJlc3VsdF0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodmFsICYmICF0aGlzLm9ubHlJbWFnZSAmJiB0aGlzLl9maWx0ZXIpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2ZpbHRlci5xdWVyeVxuICAgICAgICA/IHRoaXMuX2ZpbHRlci5xdWVyeS5maWx0ZXIoXG4gICAgICAgICAgICAocTogSUNydWRGaWx0ZXJRdWVyeUl0ZW0pID0+XG4gICAgICAgICAgICAgICEocS50eXBlID09PSAnPScgJiYgcS5rZXkgPT09ICdvbmx5SW1hZ2UnKSxcbiAgICAgICAgICApXG4gICAgICAgIDogW107XG4gICAgICB0aGlzLnJlZnJlc2goe1xuICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgIHF1ZXJ5OiBbXG4gICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICc9JyxcbiAgICAgICAgICAgIGtleTogJ29ubHlJbWFnZScsXG4gICAgICAgICAgICB2YWx1ZTogMSxcbiAgICAgICAgICAgIGhpZGRlbjogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIGdldCBvbmx5SW1hZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcj8ucXVlcnk/LnNvbWUoXG4gICAgICAocTogSUNydWRGaWx0ZXJRdWVyeUl0ZW0pID0+XG4gICAgICAgIHEudHlwZSA9PT0gJz0nICYmIHEua2V5ID09PSAnb25seUltYWdlJyAmJiBxLnZhbHVlID09PSAxLFxuICAgICk7XG4gIH1cblxuICBzZXQgZXhwb3N1cmUodmFsOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWwgJiYgdGhpcy5leHBvc3VyZSAmJiB0aGlzLl9maWx0ZXIpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2ZpbHRlci5xdWVyeVxuICAgICAgICA/IHRoaXMuX2ZpbHRlci5xdWVyeT8uZmlsdGVyKFxuICAgICAgICAgICAgKHE6IElDcnVkRmlsdGVyUXVlcnlJdGVtKSA9PlxuICAgICAgICAgICAgICAhKFxuICAgICAgICAgICAgICAgIHEudHlwZSA9PT0gJz0nICYmXG4gICAgICAgICAgICAgICAgcS5rZXkgPT09ICdsb2NhdGlvblR5cGUnICYmXG4gICAgICAgICAgICAgICAgcS52YWx1ZSA9PT0gJ0Vrc3BvenljamEnXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgKVxuICAgICAgICA6IFtdO1xuXG4gICAgICB0aGlzLnJlZnJlc2goe1xuICAgICAgICBxdWVyeTogWy4uLnJlc3VsdF0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodmFsICYmICF0aGlzLmV4cG9zdXJlICYmIHRoaXMuX2ZpbHRlcikge1xuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZmlsdGVyLnF1ZXJ5XG4gICAgICAgID8gdGhpcy5fZmlsdGVyLnF1ZXJ5Py5maWx0ZXIoXG4gICAgICAgICAgICAocTogSUNydWRGaWx0ZXJRdWVyeUl0ZW0pID0+XG4gICAgICAgICAgICAgICEoXG4gICAgICAgICAgICAgICAgcS50eXBlID09PSAnPScgJiZcbiAgICAgICAgICAgICAgICBxLmtleSA9PT0gJ2xvY2F0aW9uVHlwZScgJiZcbiAgICAgICAgICAgICAgICBxLnZhbHVlID09PSAnRWtzcG96eWNqYSdcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICApXG4gICAgICAgIDogW107XG4gICAgICB0aGlzLnJlZnJlc2goe1xuICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgIHF1ZXJ5OiBbXG4gICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICc9JyxcbiAgICAgICAgICAgIGtleTogJ2xvY2F0aW9uVHlwZScsXG4gICAgICAgICAgICB2YWx1ZTogJ0Vrc3BvenljamEnLFxuICAgICAgICAgICAgaGlkZGVuOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgZ2V0IGV4cG9zdXJlKCkge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXI/LnF1ZXJ5Py5zb21lKFxuICAgICAgKHE6IElDcnVkRmlsdGVyUXVlcnlJdGVtKSA9PlxuICAgICAgICBxLnR5cGUgPT09ICc9JyAmJiBxLmtleSA9PT0gJ2xvY2F0aW9uVHlwZScgJiYgcS52YWx1ZSA9PT0gJ0Vrc3BvenljamEnLFxuICAgICk7XG4gIH1cblxuICBzZXQgY3JlYXRvcnModmFsOiBGaWx0ZXJUeXBlKSB7XG4gICAgdGhpcy5maWx0ZXJTZXQodGhpcy5jcmVhdG9ycywgdmFsLCAnY3JlYXRvcnMnLCAnPScpO1xuICB9XG4gIGdldCBjcmVhdG9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoJz0nLCAnY3JlYXRvcnMnKTtcbiAgfVxuXG4gIHNldCBjcmVhdGVEYXRlc0Zyb20odmFsOiBGaWx0ZXJUeXBlKSB7XG4gICAgdGhpcy5maWx0ZXJTZXQodGhpcy5jcmVhdGVEYXRlc0Zyb20sIHZhbCwgJ2NyZWF0ZURhdGVzJywgJz49Jyk7XG4gIH1cbiAgZ2V0IGNyZWF0ZURhdGVzRnJvbSgpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoJz49JywgJ2NyZWF0ZURhdGVzJyk7XG4gIH1cblxuICBzZXQgY3JlYXRlRGF0ZXNUbyh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICB0aGlzLmZpbHRlclNldCh0aGlzLmNyZWF0ZURhdGVzVG8sIHZhbCwgJ2NyZWF0ZURhdGVzJywgJzw9Jyk7XG4gIH1cbiAgZ2V0IGNyZWF0ZURhdGVzVG8oKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyR2V0KCc8PScsICdjcmVhdGVEYXRlcycpO1xuICB9XG5cbiAgc2V0IHB1YmxpY2F0aW9uRGF0ZUZyb20odmFsOiBGaWx0ZXJUeXBlKSB7XG4gICAgdGhpcy5maWx0ZXJTZXQodGhpcy5wdWJsaWNhdGlvbkRhdGVGcm9tLCB2YWwsICdwdWJsaWNhdGlvbkRhdGUnLCAnPj0nKTtcbiAgfVxuICBnZXQgcHVibGljYXRpb25EYXRlRnJvbSgpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoJz49JywgJ3B1YmxpY2F0aW9uRGF0ZScpO1xuICB9XG5cbiAgc2V0IHB1YmxpY2F0aW9uRGF0ZVRvKHZhbDogRmlsdGVyVHlwZSkge1xuICAgIHRoaXMuZmlsdGVyU2V0KHRoaXMucHVibGljYXRpb25EYXRlVG8sIHZhbCwgJ3B1YmxpY2F0aW9uRGF0ZScsICc8PScpO1xuICB9XG4gIGdldCBwdWJsaWNhdGlvbkRhdGVUbygpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoJzw9JywgJ3B1YmxpY2F0aW9uRGF0ZScpO1xuICB9XG5cbiAgc2V0IGNyZWF0ZVBsYWNlcyh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICB0aGlzLmZpbHRlclNldCh0aGlzLmNyZWF0ZVBsYWNlcywgdmFsLCAnY3JlYXRlUGxhY2VzJywgJz0nKTtcbiAgfVxuICBnZXQgY3JlYXRlUGxhY2VzKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckdldCgnPScsICdjcmVhdGVQbGFjZXMnKTtcbiAgfVxuXG4gIHNldCBrZXl3b3Jkcyh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICB0aGlzLmZpbHRlclNldCh0aGlzLmtleXdvcmRzLCB2YWwsICdrZXl3b3JkcycsICc9Jyk7XG4gIH1cbiAgZ2V0IGtleXdvcmRzKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckdldCgnPScsICdrZXl3b3JkcycpO1xuICB9XG5cbiAgc2V0IHRlY2huaXF1ZXModmFsOiBGaWx0ZXJUeXBlKSB7XG4gICAgdGhpcy5maWx0ZXJTZXQodGhpcy50ZWNobmlxdWVzLCB2YWwsICd0ZWNobmlxdWVzJywgJz0nKTtcbiAgfVxuICBnZXQgdGVjaG5pcXVlcygpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoJz0nLCAndGVjaG5pcXVlcycpO1xuICB9XG5cbiAgc2V0IG1hdGVyaWFscyh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICB0aGlzLmZpbHRlclNldCh0aGlzLm1hdGVyaWFscywgdmFsLCAnbWF0ZXJpYWxzJywgJz0nKTtcbiAgfVxuICBnZXQgbWF0ZXJpYWxzKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckdldCgnPScsICdtYXRlcmlhbHMnKTtcbiAgfVxuXG4gIHNldCBjYXRlZ29yeSh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICB0aGlzLmZpbHRlclNldCh0aGlzLmNhdGVnb3J5LCB2YWwsICdjYXRlZ29yeScsICc9Jyk7XG4gIH1cbiAgZ2V0IGNhdGVnb3J5KCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckdldCgnPScsICdjYXRlZ29yeScpO1xuICB9XG5cbiAgc2V0IGRlcGFydG1lbnQodmFsOiBGaWx0ZXJUeXBlKSB7XG4gICAgdGhpcy5maWx0ZXJTZXQodGhpcy5kZXBhcnRtZW50LCB2YWwsICdkZXBhcnRtZW50JywgJz0nKTtcbiAgfVxuICBnZXQgZGVwYXJ0bWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoJz0nLCAnZGVwYXJ0bWVudCcpO1xuICB9XG5cbiAgc2V0IGxvY2F0aW9uKHZhbDogRmlsdGVyVHlwZSkge1xuICAgIHRoaXMuZmlsdGVyU2V0KHRoaXMuY2F0ZWdvcnksIHZhbCwgJ2xvY2F0aW9uJywgJz0nKTtcbiAgfVxuICBnZXQgbG9jYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyR2V0KCc9JywgJ2xvY2F0aW9uJyk7XG4gIH1cblxuICBzZXQgbG9jYXRpb25UeXBlKHZhbDogRmlsdGVyVHlwZSkge1xuICAgIHRoaXMuZmlsdGVyU2V0KHRoaXMuY2F0ZWdvcnksIHZhbCwgJ2xvY2F0aW9uVHlwZScsICc9Jyk7XG4gIH1cbiAgZ2V0IGxvY2F0aW9uVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoJz0nLCAnbG9jYXRpb25UeXBlJyk7XG4gIH1cblxuICBzZXQgY3ljbGVzKHZhbDogRmlsdGVyVHlwZSkge1xuICAgIHRoaXMuZmlsdGVyU2V0KHRoaXMuY3ljbGVzLCB2YWwsICdjeWNsZXMnLCAnPScpO1xuICB9XG4gIGdldCBjeWNsZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyR2V0KCc9JywgJ2N5Y2xlcycpO1xuICB9XG5cbiAgc2V0IGF1dGhvcnModmFsOiBGaWx0ZXJUeXBlKSB7XG4gICAgdGhpcy5maWx0ZXJTZXQodGhpcy5hdXRob3JzLCB2YWwsICdhdXRob3JzJywgJz0nKTtcbiAgfVxuICBnZXQgYXV0aG9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoJz0nLCAnYXV0aG9ycycpO1xuICB9XG5cbiAgc2V0IHRhcmdldEdyb3Vwcyh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICB0aGlzLmZpbHRlclNldCh0aGlzLnRhcmdldEdyb3VwcywgdmFsLCAndGFyZ2V0R3JvdXBzJywgJz0nKTtcbiAgfVxuICBnZXQgdGFyZ2V0R3JvdXBzKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckdldCgnPScsICd0YXJnZXRHcm91cHMnKTtcbiAgfVxuXG4gIHNldCB0ZW1wbGF0ZSh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICB0aGlzLmZpbHRlclNldCh0aGlzLnRlbXBsYXRlLCB2YWwsICd0ZW1wbGF0ZScsICc9Jyk7XG4gIH1cbiAgZ2V0IHRlbXBsYXRlKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckdldCgnPScsICd0ZW1wbGF0ZScpO1xuICB9XG5cbiAgc2V0IHR5cGVzKHZhbDogRmlsdGVyVHlwZSkge1xuICAgIHRoaXMuZmlsdGVyU2V0KHRoaXMudHlwZXMsIHZhbCwgJ3R5cGVzJywgJz0nKTtcbiAgfVxuICBnZXQgdHlwZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyR2V0KCc9JywgJ3R5cGVzJyk7XG4gIH1cblxuICBzZXQgZXh0cmFOdW1iZXJzVmFsdWUodmFsOiBGaWx0ZXJUeXBlKSB7XG4gICAgdGhpcy5maWx0ZXJTZXQodGhpcy5jcmVhdG9ycywgdmFsLCAnZXh0cmFOdW1iZXJzVmFsdWUnLCAnPScpO1xuICB9XG4gIGdldCBleHRyYU51bWJlcnNWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoJz0nLCAnZXh0cmFOdW1iZXJzVmFsdWUnKTtcbiAgfVxuXG4gIHRvdGFsQ291bnQ6IFNpZ25hbDxudW1iZXI+ID0gKHRoaXMuZmFjYWRlIGFzIGFueSkudG90YWxDb3VudDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMuX2ZpbHRlciA9ICh0aGlzLmZhY2FkZSBhcyBhbnkpLmZpbHRlcigpO1xuICAgIH0pO1xuICB9XG5cbiAgQERlYm91bmNlKDUwMClcbiAgcHJpdmF0ZSByZWZyZXNoKGZpbHRlcjogSUNydWRGaWx0ZXIpOiB2b2lkIHtcbiAgICBsZXQgY2hhbmdlID0gZmFsc2U7XG5cbiAgICBPYmplY3Qua2V5cyhmaWx0ZXIpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKCFfLmlzRXF1YWwoKHRoaXMuX2ZpbHRlciBhcyBhbnkpW2tleV0sIChmaWx0ZXIgYXMgYW55KVtrZXldKSlcbiAgICAgICAgY2hhbmdlID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIGlmICghY2hhbmdlKSByZXR1cm47XG5cbiAgICAodGhpcy5mYWNhZGUgYXMgYW55KS5yZWFkKHtcbiAgICAgIC4uLih0aGlzLmZhY2FkZSBhcyBhbnkpLmZpbHRlcixcbiAgICAgIC4uLmZpbHRlcixcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyR2V0KGtleTogc3RyaW5nLCB0eXBlOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyPy5xdWVyeT8uZmluZChcbiAgICAgIChxOiBJQ3J1ZEZpbHRlclF1ZXJ5SXRlbSkgPT4gcS50eXBlID09PSBrZXkgJiYgcS5rZXkgPT09IHR5cGUsXG4gICAgKT8udmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGZpbHRlclNldChcbiAgICBjdXJyZW50VmFsdWU6IEZpbHRlclR5cGUsXG4gICAgdmFsOiBGaWx0ZXJUeXBlLFxuICAgIGtleTogc3RyaW5nLFxuICAgIHR5cGU6IGFueSxcbiAgKSB7XG4gICAgaWYgKCF2YWwgJiYgdGhpcy5fZmlsdGVyKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9maWx0ZXI/LnF1ZXJ5XG4gICAgICAgID8gdGhpcy5fZmlsdGVyPy5xdWVyeT8uZmlsdGVyKFxuICAgICAgICAgICAgKHE6IElDcnVkRmlsdGVyUXVlcnlJdGVtKSA9PiAhKHEudHlwZSA9PT0gdHlwZSAmJiBxLmtleSA9PT0ga2V5KSxcbiAgICAgICAgICApXG4gICAgICAgIDogW107XG5cbiAgICAgIHRoaXMucmVmcmVzaCh7XG4gICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgcXVlcnk6IFsuLi5yZXN1bHRdLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHZhbCAmJiBjdXJyZW50VmFsdWUgIT09IHZhbCAmJiB0aGlzLl9maWx0ZXIpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2ZpbHRlcj8ucXVlcnlcbiAgICAgICAgPyB0aGlzLl9maWx0ZXI/LnF1ZXJ5Py5maWx0ZXIoXG4gICAgICAgICAgICAocTogSUNydWRGaWx0ZXJRdWVyeUl0ZW0pID0+ICEocS50eXBlID09PSB0eXBlICYmIHEua2V5ID09PSBrZXkpLFxuICAgICAgICAgIClcbiAgICAgICAgOiBbXTtcbiAgICAgIHRoaXMucmVmcmVzaCh7XG4gICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgcXVlcnk6IFtcbiAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgICAgdmFsdWU6IHZhbCxcbiAgICAgICAgICAgIGhpZGRlbjogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LW1vYmlsZW1zLWZpbHRlcnMnLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGaWx0ZXJzQmFzZUNvbXBvbmVudDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PlxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXRcbntcbiAgY29udGV4dD86IEZpbHRlcnNDb250ZXh0PFQ+O1xuXG4gIGNvbnRlbnRUcGwgPSBjb250ZW50Q2hpbGQ8VGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZD4oJ2NvbnRlbnRUcGwnKTtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0ID0gbmV3IEZpbHRlcnNDb250ZXh0KCk7XG4gIH1cbn1cbiJdfQ==","import { AppComponent } from './app/app.component';\nexport * from './app/app.component';\nexport * from './page/page.component';\nexport * from './filters/filters.component';\nexport const COMPONENTS = [AppComponent];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zaGFyZWQvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5ELGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAvYXBwLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYXBwL2FwcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlL3BhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVycy9maWx0ZXJzLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBDT01QT05FTlRTID0gW0FwcENvbXBvbmVudF07XG4iXX0=","export const DIRECTIVES = [];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zaGFyZWQvYW5ndWxhci9zcmMvbGliL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBESVJFQ1RJVkVTID0gW107XG4iXX0=","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SharedModule as SmartSharedModule } from '@smartsoft001/angular';\nimport { ConfigsFacade } from './+state/configs.facade';\nimport { COMPONENTS } from './components';\nimport { DIRECTIVES } from './directives';\nimport { SharedConfig } from './shared.config';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./components/app/app.component\";\nfunction initializeApp(configsFacade) {\n return () => {\n setTimeout(() => {\n configsFacade.init();\n });\n };\n}\nexport class SharedModule {\n static forFeature(config) {\n return {\n ngModule: SharedModule,\n providers: [\n {\n provide: SharedConfig,\n useValue: config,\n },\n ],\n };\n }\n static forRoot(config) {\n return {\n ngModule: SharedModule,\n providers: [\n {\n provide: SharedConfig,\n useValue: config,\n },\n {\n provide: APP_INITIALIZER,\n useFactory: initializeApp,\n multi: true,\n deps: [ConfigsFacade],\n },\n ],\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.0\", ngImport: i0, type: SharedModule, imports: [RouterModule, i1.AppComponent], exports: [SmartSharedModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: SharedModule, imports: [RouterModule, SmartSharedModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: SharedModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [...DIRECTIVES],\n imports: [RouterModule, COMPONENTS],\n exports: [SmartSharedModule, ...DIRECTIVES],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NoYXJlZC9hbmd1bGFyL3NyYy9saWIvc2hhcmVkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLElBQUksaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRS9DLFNBQVMsYUFBYSxDQUFDLGFBQTRCO0lBQ2pELE9BQU8sR0FBRyxFQUFFO1FBQ1YsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUM7QUFPRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixNQUFNLENBQUMsVUFBVSxDQUFDLE1BQW9CO1FBQ3BDLE9BQU87WUFDTCxRQUFRLEVBQUUsWUFBWTtZQUN0QixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLFlBQVk7b0JBQ3JCLFFBQVEsRUFBRSxNQUFNO2lCQUNqQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQW9CO1FBQ2pDLE9BQU87WUFDTCxRQUFRLEVBQUUsWUFBWTtZQUN0QixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLFlBQVk7b0JBQ3JCLFFBQVEsRUFBRSxNQUFNO2lCQUNqQjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsZUFBZTtvQkFDeEIsVUFBVSxFQUFFLGFBQWE7b0JBQ3pCLEtBQUssRUFBRSxJQUFJO29CQUNYLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDdEI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOzhHQTdCVSxZQUFZOytHQUFaLFlBQVksWUFIYixZQUFZLDhCQUNaLGlCQUFpQjsrR0FFaEIsWUFBWSxZQUhiLFlBQVksRUFDWixpQkFBaUI7OzJGQUVoQixZQUFZO2tCQUx4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUM3QixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLFVBQVUsQ0FBQztpQkFDNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIGFzIFNtYXJ0U2hhcmVkTW9kdWxlIH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9hbmd1bGFyJztcblxuaW1wb3J0IHsgQ29uZmlnc0ZhY2FkZSB9IGZyb20gJy4vK3N0YXRlL2NvbmZpZ3MuZmFjYWRlJztcbmltcG9ydCB7IENPTVBPTkVOVFMgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgRElSRUNUSVZFUyB9IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBTaGFyZWRDb25maWcgfSBmcm9tICcuL3NoYXJlZC5jb25maWcnO1xuXG5mdW5jdGlvbiBpbml0aWFsaXplQXBwKGNvbmZpZ3NGYWNhZGU6IENvbmZpZ3NGYWNhZGUpOiAoKSA9PiB2b2lkIHtcbiAgcmV0dXJuICgpID0+IHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbmZpZ3NGYWNhZGUuaW5pdCgpO1xuICAgIH0pO1xuICB9O1xufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFsuLi5ESVJFQ1RJVkVTXSxcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZSwgQ09NUE9ORU5UU10sXG4gIGV4cG9ydHM6IFtTbWFydFNoYXJlZE1vZHVsZSwgLi4uRElSRUNUSVZFU10sXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlZE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JGZWF0dXJlKGNvbmZpZzogU2hhcmVkQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxTaGFyZWRNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFNoYXJlZE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogU2hhcmVkQ29uZmlnLFxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maWcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IFNoYXJlZENvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8U2hhcmVkTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBTaGFyZWRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFNoYXJlZENvbmZpZyxcbiAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGluaXRpYWxpemVBcHAsXG4gICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgZGVwczogW0NvbmZpZ3NGYWNhZGVdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2Z0MDAxLW1vYmlsZW1zLWFuZ3VsYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zaGFyZWQvYW5ndWxhci9zcmMvc21hcnRzb2Z0MDAxLW1vYmlsZW1zLWFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["SmartStyleService","i1.AppComponent","SmartSharedModule"],"mappings":"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"}
1
+ {"version":3,"file":"smartsoft001-mobilems-angular.mjs","sources":["../tmp-esm2022/lib/translations.js","../tmp-esm2022/lib/environments/environment.js","../tmp-esm2022/lib/shared.config.js","../tmp-esm2022/lib/services/configs/configs.service.js","../tmp-esm2022/lib/services/dictionary/dictionary.service.js","../tmp-esm2022/lib/services/crud/crud-base.service.js","../tmp-esm2022/lib/services/index.js","../tmp-esm2022/lib/+state/configs.facade.js","../tmp-esm2022/lib/components/app/app.component.js","../tmp-esm2022/lib/components/page/page.component.js","../tmp-esm2022/lib/components/filters/filters.component.js","../tmp-esm2022/lib/components/index.js","../tmp-esm2022/lib/directives/index.js","../tmp-esm2022/lib/shared.module.js","../tmp-esm2022/smartsoft001-mobilems-angular.js"],"sourcesContent":["export function setTranslationsAndLang(service) {\n const map = {\n pl: TRANSLATE_DATA_PL,\n };\n Object.keys(map).forEach((key) => {\n service.setTranslation(key, map[key], true);\n });\n if (!service.currentLang) {\n const lang = service.getBrowserLang();\n service.use(lang ?? 'en');\n }\n}\nexport const TRANSLATE_DATA_PL = {\n MODEL: {\n //..\n },\n //..\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2hhcmVkL2FuZ3VsYXIvc3JjL2xpYi90cmFuc2xhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLHNCQUFzQixDQUFDLE9BQXlCO0lBQzlELE1BQU0sR0FBRyxHQUFHO1FBQ1YsRUFBRSxFQUFFLGlCQUFpQjtLQUN0QixDQUFDO0lBRUYsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUMvQixPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRyxHQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkQsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0FBQ0gsQ0FBQztBQU9ELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFtQjtJQUMvQyxLQUFLLEVBQUU7SUFDTCxJQUFJO0tBQ0w7SUFDRCxJQUFJO0NBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNldFRyYW5zbGF0aW9uc0FuZExhbmcoc2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xuICBjb25zdCBtYXAgPSB7XG4gICAgcGw6IFRSQU5TTEFURV9EQVRBX1BMLFxuICB9O1xuXG4gIE9iamVjdC5rZXlzKG1hcCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgc2VydmljZS5zZXRUcmFuc2xhdGlvbihrZXksIChtYXAgYXMgYW55KVtrZXldLCB0cnVlKTtcbiAgfSk7XG5cbiAgaWYgKCFzZXJ2aWNlLmN1cnJlbnRMYW5nKSB7XG4gICAgY29uc3QgbGFuZyA9IHNlcnZpY2UuZ2V0QnJvd3NlckxhbmcoKTtcbiAgICBzZXJ2aWNlLnVzZShsYW5nID8/ICdlbicpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zbGF0ZURhdGEge1xuICBNT0RFTDogb2JqZWN0O1xuICAvLy4uXG59XG5cbmV4cG9ydCBjb25zdCBUUkFOU0xBVEVfREFUQV9QTDogSVRyYW5zbGF0ZURhdGEgPSB7XG4gIE1PREVMOiB7XG4gICAgLy8uLlxuICB9LFxuICAvLy4uXG59O1xuIl19","export const environment = {\n production: false,\n apiUrl: '',\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zaGFyZWQvYW5ndWxhci9zcmMvbGliL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsVUFBVSxFQUFFLEtBQUs7SUFDakIsTUFBTSxFQUFFLEVBQUU7Q0FDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVudmlyb25tZW50ID0ge1xuICBwcm9kdWN0aW9uOiBmYWxzZSxcbiAgYXBpVXJsOiAnJyxcbn07XG4iXX0=","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class SharedConfig {\n constructor() {\n this.apiUrl = '';\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: SharedConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: SharedConfig }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: SharedConfig, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NoYXJlZC9hbmd1bGFyL3NyYy9saWIvc2hhcmVkLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8sWUFBWTtJQUR6QjtRQUVFLFdBQU0sR0FBRyxFQUFFLENBQUM7S0FDYjs4R0FGWSxZQUFZO2tIQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTaGFyZWRDb25maWcge1xuICBhcGlVcmwgPSAnJztcbn1cbiJdfQ==","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport * as moment from 'moment';\nimport { combineLatest, firstValueFrom, lastValueFrom } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { SharedConfig } from '../../shared.config';\nimport * as i0 from \"@angular/core\";\nexport class ConfigsService {\n constructor() {\n this.httpClient = inject(HttpClient);\n this.config = inject(SharedConfig);\n }\n get() {\n const date = moment().format('YYYY-MM-DD');\n return lastValueFrom(combineLatest([\n this.httpClient.post(this.config.apiUrl + 'object/object-of-the-week', {\n dateStart: date,\n dateEnd: date,\n }),\n this.httpClient.get(this.config.apiUrl + 'setting/theme'),\n ]).pipe(map(([r1, r2]) => {\n return {\n id: '',\n objectOfTheDay: {\n id: Number(r1?.data?.current?.objectId),\n title: r1?.data?.current?.title,\n },\n theme: r2.data,\n };\n })));\n }\n getPage(id) {\n return firstValueFrom(this.httpClient\n .get(this.config.apiUrl + 'page/' + id)\n .pipe(map((r) => r.data)));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ConfigsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ConfigsService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ConfigsService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2hhcmVkL2FuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9jb25maWdzL2NvbmZpZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBS25ELE1BQU0sT0FBTyxjQUFjO0lBSDNCO1FBSW1CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQXNDaEQ7SUFwQ0MsR0FBRztRQUNELE1BQU0sSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUzQyxPQUFPLGFBQWEsQ0FDbEIsYUFBYSxDQUFDO1lBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBRWpCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLDJCQUEyQixFQUFFO2dCQUNuRCxTQUFTLEVBQUUsSUFBSTtnQkFDZixPQUFPLEVBQUUsSUFBSTthQUNkLENBQUM7WUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUNyQztTQUNGLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNmLE9BQU87Z0JBQ0wsRUFBRSxFQUFFLEVBQUU7Z0JBQ04sY0FBYyxFQUFFO29CQUNkLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDO29CQUN2QyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSztpQkFDaEM7Z0JBQ0QsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFjO2FBQ3pCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxDQUFDLEVBQW1CO1FBQ3pCLE9BQU8sY0FBYyxDQUNuQixJQUFJLENBQUMsVUFBVTthQUNaLEdBQUcsQ0FBZ0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQzthQUNyRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDNUIsQ0FBQztJQUNKLENBQUM7OEdBdkNVLGNBQWM7a0hBQWQsY0FBYyxjQUZiLE1BQU07OzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmaXJzdFZhbHVlRnJvbSwgbGFzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDb25maWcsIElUaGVtZSwgUGFnZSB9IGZyb20gJ0BzbWFydHNvZnQwMDEtbW9iaWxlbXMvbW9kZWxzJztcblxuaW1wb3J0IHsgU2hhcmVkQ29uZmlnIH0gZnJvbSAnLi4vLi4vc2hhcmVkLmNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDb25maWdzU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3QoU2hhcmVkQ29uZmlnKTtcblxuICBnZXQoKTogUHJvbWlzZTxDb25maWc+IHtcbiAgICBjb25zdCBkYXRlID0gbW9tZW50KCkuZm9ybWF0KCdZWVlZLU1NLUREJyk7XG5cbiAgICByZXR1cm4gbGFzdFZhbHVlRnJvbShcbiAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmh0dHBDbGllbnQucG9zdDx7XG4gICAgICAgICAgZGF0YTogdW5rbm93biAmIHsgY3VycmVudDogeyBvYmplY3RJZDogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH0gfTtcbiAgICAgICAgfT4odGhpcy5jb25maWcuYXBpVXJsICsgJ29iamVjdC9vYmplY3Qtb2YtdGhlLXdlZWsnLCB7XG4gICAgICAgICAgZGF0ZVN0YXJ0OiBkYXRlLFxuICAgICAgICAgIGRhdGVFbmQ6IGRhdGUsXG4gICAgICAgIH0pLFxuICAgICAgICB0aGlzLmh0dHBDbGllbnQuZ2V0PHsgZGF0YTogdW5rbm93biB9PihcbiAgICAgICAgICB0aGlzLmNvbmZpZy5hcGlVcmwgKyAnc2V0dGluZy90aGVtZScsXG4gICAgICAgICksXG4gICAgICBdKS5waXBlKFxuICAgICAgICBtYXAoKFtyMSwgcjJdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlkOiAnJyxcbiAgICAgICAgICAgIG9iamVjdE9mVGhlRGF5OiB7XG4gICAgICAgICAgICAgIGlkOiBOdW1iZXIocjE/LmRhdGE/LmN1cnJlbnQ/Lm9iamVjdElkKSxcbiAgICAgICAgICAgICAgdGl0bGU6IHIxPy5kYXRhPy5jdXJyZW50Py50aXRsZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGVtZTogcjIuZGF0YSBhcyBJVGhlbWUsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBnZXRQYWdlKGlkOiBudW1iZXIgfCAnaG9tZScpOiBQcm9taXNlPFBhZ2U+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgLmdldDx7IGRhdGE6IGFueSB9Pih0aGlzLmNvbmZpZy5hcGlVcmwgKyAncGFnZS8nICsgaWQpXG4gICAgICAgIC5waXBlKG1hcCgocikgPT4gci5kYXRhKSksXG4gICAgKTtcbiAgfVxufVxuIl19","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { map } from 'rxjs/operators';\nimport { SharedConfig } from '../../shared.config';\nimport * as i0 from \"@angular/core\";\nexport class DictionaryService {\n constructor() {\n this.httpClient = inject(HttpClient);\n this.config = inject(SharedConfig);\n }\n get(type, query = { page: 1 }) {\n let url = this.config.apiUrl +\n `${query.context ? query.context : 'dictionary'}/${type}/search/page/${query.page}?sort=random`;\n if (query.pageSize) {\n url += `&maxPerPage=${query.pageSize}`;\n }\n if (query.searchText) {\n url += `&q=${query.searchText}`;\n }\n return this.httpClient\n .get(url)\n .pipe(map((r) => r.data.items));\n }\n getNode(type, query = {}) {\n let url = this.config.apiUrl +\n `${query.context ? query.context : 'dictionary'}/${type}/tree`;\n if (query.nodeId !== null && query.nodeId !== undefined) {\n //In case the nodeId is 0 or is cast to false\n url += `?id=${query.nodeId}`;\n }\n return this.httpClient\n .get(url)\n .pipe(map((r) => r.data));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: DictionaryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: DictionaryService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: DictionaryService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2hhcmVkL2FuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9kaWN0aW9uYXJ5L2RpY3Rpb25hcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFXbkQsTUFBTSxPQUFPLGlCQUFpQjtJQUg5QjtRQUltQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLFdBQU0sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7S0FnRGhEO0lBOUNDLEdBQUcsQ0FDRCxJQUFPLEVBQ1AsUUFLSSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUU7UUFFZixJQUFJLEdBQUcsR0FDTCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDbEIsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksSUFBSSxnQkFBZ0IsS0FBSyxDQUFDLElBQUksY0FBYyxDQUFDO1FBRWxHLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLEdBQUcsSUFBSSxlQUFlLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QyxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckIsR0FBRyxJQUFJLE1BQU0sS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLEdBQUcsQ0FBeUMsR0FBRyxDQUFDO2FBQ2hELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsT0FBTyxDQUNMLElBQU8sRUFDUCxRQUdJLEVBQUU7UUFFTixJQUFJLEdBQUcsR0FDTCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDbEIsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksSUFBSSxPQUFPLENBQUM7UUFFakUsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hELDZDQUE2QztZQUM3QyxHQUFHLElBQUksT0FBTyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDL0IsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsR0FBRyxDQUE4QixHQUFHLENBQUM7YUFDckMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQzs4R0FqRFUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2hhcmVkQ29uZmlnIH0gZnJvbSAnLi4vLi4vc2hhcmVkLmNvbmZpZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURpY3Rpb25hcnlJdGVtIHtcbiAgaWQ6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xuICBoYXNDaGlsZHJlbj86IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBEaWN0aW9uYXJ5U2VydmljZTxUPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3QoU2hhcmVkQ29uZmlnKTtcblxuICBnZXQoXG4gICAgdHlwZTogVCxcbiAgICBxdWVyeToge1xuICAgICAgc2VhcmNoVGV4dD86IHN0cmluZztcbiAgICAgIHBhZ2U6IG51bWJlcjtcbiAgICAgIHBhZ2VTaXplPzogbnVtYmVyO1xuICAgICAgY29udGV4dD86IHN0cmluZztcbiAgICB9ID0geyBwYWdlOiAxIH0sXG4gICk6IE9ic2VydmFibGU8SURpY3Rpb25hcnlJdGVtW10+IHtcbiAgICBsZXQgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnLmFwaVVybCArXG4gICAgICBgJHtxdWVyeS5jb250ZXh0ID8gcXVlcnkuY29udGV4dCA6ICdkaWN0aW9uYXJ5J30vJHt0eXBlfS9zZWFyY2gvcGFnZS8ke3F1ZXJ5LnBhZ2V9P3NvcnQ9cmFuZG9tYDtcblxuICAgIGlmIChxdWVyeS5wYWdlU2l6ZSkge1xuICAgICAgdXJsICs9IGAmbWF4UGVyUGFnZT0ke3F1ZXJ5LnBhZ2VTaXplfWA7XG4gICAgfVxuXG4gICAgaWYgKHF1ZXJ5LnNlYXJjaFRleHQpIHtcbiAgICAgIHVybCArPSBgJnE9JHtxdWVyeS5zZWFyY2hUZXh0fWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldDx7IGRhdGE6IHsgaXRlbXM6IElEaWN0aW9uYXJ5SXRlbVtdIH0gfT4odXJsKVxuICAgICAgLnBpcGUobWFwKChyKSA9PiByLmRhdGEuaXRlbXMpKTtcbiAgfVxuXG4gIGdldE5vZGUoXG4gICAgdHlwZTogVCxcbiAgICBxdWVyeToge1xuICAgICAgbm9kZUlkPzogbnVtYmVyO1xuICAgICAgY29udGV4dD86IHN0cmluZztcbiAgICB9ID0ge30sXG4gICk6IE9ic2VydmFibGU8SURpY3Rpb25hcnlJdGVtW10+IHtcbiAgICBsZXQgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnLmFwaVVybCArXG4gICAgICBgJHtxdWVyeS5jb250ZXh0ID8gcXVlcnkuY29udGV4dCA6ICdkaWN0aW9uYXJ5J30vJHt0eXBlfS90cmVlYDtcblxuICAgIGlmIChxdWVyeS5ub2RlSWQgIT09IG51bGwgJiYgcXVlcnkubm9kZUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vSW4gY2FzZSB0aGUgbm9kZUlkIGlzIDAgb3IgaXMgY2FzdCB0byBmYWxzZVxuICAgICAgdXJsICs9IGA/aWQ9JHtxdWVyeS5ub2RlSWR9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0PHsgZGF0YTogSURpY3Rpb25hcnlJdGVtW10gfT4odXJsKVxuICAgICAgLnBpcGUobWFwKChyKSA9PiByLmRhdGEpKTtcbiAgfVxufVxuIl19","import { CrudService, } from '@smartsoft001/crud-shell-angular';\nimport { firstValueFrom, of, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nexport class CrudBaseService extends CrudService {\n downloadPdf(name, id) {\n return fetch(this.config.apiUrl + this.getUrlNameForDetails() + '/' + id + '/pdf')\n .then((resp) => resp.arrayBuffer())\n .then((resp) => {\n const file = new Blob([resp], { type: 'application/pdf' });\n const fileURL = URL.createObjectURL(file);\n const link = document.createElement('a');\n link.href = fileURL;\n link.download = name + '.pdf';\n link.click();\n });\n }\n getById(id) {\n return firstValueFrom(this.http\n .get(this.config.apiUrl + this.getUrlNameForDetails() + '/' + id)\n .pipe(map((r) => r?.data)));\n }\n getList(filter) {\n let page = 1;\n if (filter?.offset && filter?.limit) {\n page = filter.offset / filter.limit;\n }\n let url = this.getBaseListUrl(page, filter);\n if (filter?.searchText) {\n url += `&filter[phrase]=${filter.searchText}`;\n }\n if (filter?.sortBy) {\n url += `&sort=${filter.sortBy}-${filter.sortDesc ? 'desc' : 'asc'}`;\n }\n else {\n url += `&sort=random`;\n }\n filter?.query?.forEach((q) => {\n const isArray = Array.isArray(q.value);\n if (isArray) {\n q.value.forEach((value) => {\n url += `&filter[${q.key}]${this.getQueryType(q.type, true)}=${value.id}`;\n });\n }\n else {\n url += `&filter[${q.key}]${this.getQueryType(q.type, false)}=${q.value}`;\n }\n });\n return firstValueFrom(this.http\n .get(url)\n .pipe(map((r) => {\n const response = r;\n return {\n data: response.data?.items ?? [],\n totalCount: response.data?.paginatorDetails?.totalItemsCount ?? 0,\n links: {},\n };\n }), catchError(this.handleError)));\n }\n getBaseListUrl(page, filter) {\n return `${this.config.apiUrl}${this.getUrlNameForList() !== 'public-collections'\n ? 'search/' + this.getUrlNameForList()\n : 'public-collections'}/page/${page}?maxPerPage=${filter?.limit}`;\n }\n handleError(err) {\n if (err.status === 404 || err.status === 406) {\n return of({\n data: [],\n totalCount: 0,\n links: {},\n });\n }\n return throwError(() => new Error(`There was an error: ${err.status}`));\n }\n getQueryType(type, isArray) {\n switch (type) {\n case '>=':\n return '[from]';\n case '<=':\n return '[to]';\n case '=':\n return isArray ? '[]' : '';\n default:\n throw 'Type not supported!';\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC1iYXNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zaGFyZWQvYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2NydWQvY3J1ZC1iYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsR0FHWixNQUFNLGtDQUFrQyxDQUFDO0FBRTFDLE9BQU8sRUFBRSxjQUFjLEVBQWMsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE1BQU0sT0FBZ0IsZUFFcEIsU0FBUSxXQUFjO0lBSXRCLFdBQVcsQ0FBQyxJQUFZLEVBQUUsRUFBVTtRQUNsQyxPQUFPLEtBQUssQ0FDVixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FDckU7YUFDRSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUNsQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNiLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1lBRTNELE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztZQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxNQUFNLENBQUM7WUFDOUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsT0FBTyxDQUFDLEVBQVU7UUFDaEIsT0FBTyxjQUFjLENBQ25CLElBQUksQ0FBQyxJQUFJO2FBQ04sR0FBRyxDQUVELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7YUFDOUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUUsQ0FBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUM5QyxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sQ0FDTCxNQUFvQjtRQUVwQixJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7UUFFYixJQUFJLE1BQU0sRUFBRSxNQUFNLElBQUksTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ3BDLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDdEMsQ0FBQztRQUVELElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE1BQTJCLENBQUMsQ0FBQztRQUVqRSxJQUFJLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUN2QixHQUFHLElBQUksbUJBQW1CLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoRCxDQUFDO1FBRUQsSUFBSSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDbkIsR0FBRyxJQUFJLFNBQVMsTUFBTSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3RFLENBQUM7YUFBTSxDQUFDO1lBQ04sR0FBRyxJQUFJLGNBQWMsQ0FBQztRQUN4QixDQUFDO1FBRUQsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUF1QixFQUFFLEVBQUU7WUFDakQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFdkMsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQStCLEVBQUUsRUFBRTtvQkFDbEQsR0FBRyxJQUFJLFdBQVcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQ3hELEtBQUssQ0FBQyxFQUNSLEVBQUUsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDTixHQUFHLElBQUksV0FBVyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFDekQsQ0FBQyxDQUFDLEtBQ0osRUFBRSxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxjQUFjLENBQ25CLElBQUksQ0FBQyxJQUFJO2FBQ04sR0FBRyxDQU9ELEdBQUcsQ0FBQzthQUNOLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNSLE1BQU0sUUFBUSxHQUFHLENBT2hCLENBQUM7WUFDRixPQUFPO2dCQUNMLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFO2dCQUNoQyxVQUFVLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLElBQUksQ0FBQztnQkFDakUsS0FBSyxFQUFFLEVBQUU7YUFDVixDQUFDO1FBQ0osQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDN0IsQ0FDSixDQUFDO0lBQ0osQ0FBQztJQUVTLGNBQWMsQ0FDdEIsSUFBWSxFQUNaLE1BRUM7UUFFRCxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQzFCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLG9CQUFvQjtZQUMvQyxDQUFDLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN0QyxDQUFDLENBQUMsb0JBQ04sU0FBUyxJQUFJLGVBQWUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFUyxXQUFXLENBQUMsR0FBaUM7UUFDckQsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQzdDLE9BQU8sRUFBRSxDQUFDO2dCQUNSLElBQUksRUFBRSxFQUFFO2dCQUNSLFVBQVUsRUFBRSxDQUFDO2dCQUNiLEtBQUssRUFBRSxFQUFFO2FBQ1YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLHVCQUF1QixHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFUyxZQUFZLENBQ3BCLElBQTBDLEVBQzFDLE9BQWdCO1FBRWhCLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLElBQUk7Z0JBQ1AsT0FBTyxRQUFRLENBQUM7WUFDbEIsS0FBSyxJQUFJO2dCQUNQLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLEtBQUssR0FBRztnQkFDTixPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDN0I7Z0JBQ0UsTUFBTSxxQkFBcUIsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ3J1ZFNlcnZpY2UsXG4gIElDcnVkRmlsdGVyLFxuICBJQ3J1ZEZpbHRlclF1ZXJ5SXRlbSxcbn0gZnJvbSAnQHNtYXJ0c29mdDAwMS9jcnVkLXNoZWxsLWFuZ3VsYXInO1xuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDcnVkQmFzZVNlcnZpY2U8XG4gIFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4sXG4+IGV4dGVuZHMgQ3J1ZFNlcnZpY2U8VD4ge1xuICBhYnN0cmFjdCBnZXRVcmxOYW1lRm9yRGV0YWlscygpOiBzdHJpbmc7XG4gIGFic3RyYWN0IGdldFVybE5hbWVGb3JMaXN0KCk6IHN0cmluZztcblxuICBkb3dubG9hZFBkZihuYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gZmV0Y2goXG4gICAgICB0aGlzLmNvbmZpZy5hcGlVcmwgKyB0aGlzLmdldFVybE5hbWVGb3JEZXRhaWxzKCkgKyAnLycgKyBpZCArICcvcGRmJyxcbiAgICApXG4gICAgICAudGhlbigocmVzcCkgPT4gcmVzcC5hcnJheUJ1ZmZlcigpKVxuICAgICAgLnRoZW4oKHJlc3ApID0+IHtcbiAgICAgICAgY29uc3QgZmlsZSA9IG5ldyBCbG9iKFtyZXNwXSwgeyB0eXBlOiAnYXBwbGljYXRpb24vcGRmJyB9KTtcblxuICAgICAgICBjb25zdCBmaWxlVVJMID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKTtcbiAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgICAgbGluay5ocmVmID0gZmlsZVVSTDtcbiAgICAgICAgbGluay5kb3dubG9hZCA9IG5hbWUgKyAnLnBkZic7XG4gICAgICAgIGxpbmsuY2xpY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0QnlJZChpZDogc3RyaW5nKTogUHJvbWlzZTxUPiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwXG4gICAgICAgIC5nZXQ8e1xuICAgICAgICAgIGRhdGE6IFQ7XG4gICAgICAgIH0+KHRoaXMuY29uZmlnLmFwaVVybCArIHRoaXMuZ2V0VXJsTmFtZUZvckRldGFpbHMoKSArICcvJyArIGlkKVxuICAgICAgICAucGlwZShtYXAoKHIpID0+IChyIGFzIHsgZGF0YTogVCB9KT8uZGF0YSkpLFxuICAgICk7XG4gIH1cblxuICBnZXRMaXN0PFQ+KFxuICAgIGZpbHRlcj86IElDcnVkRmlsdGVyLFxuICApOiBQcm9taXNlPHsgZGF0YTogVFtdOyB0b3RhbENvdW50OiBudW1iZXI7IGxpbmtzOiB1bmtub3duIH0+IHtcbiAgICBsZXQgcGFnZSA9IDE7XG5cbiAgICBpZiAoZmlsdGVyPy5vZmZzZXQgJiYgZmlsdGVyPy5saW1pdCkge1xuICAgICAgcGFnZSA9IGZpbHRlci5vZmZzZXQgLyBmaWx0ZXIubGltaXQ7XG4gICAgfVxuXG4gICAgbGV0IHVybCA9IHRoaXMuZ2V0QmFzZUxpc3RVcmwocGFnZSwgZmlsdGVyIGFzIHsgbGltaXQ6IG51bWJlciB9KTtcblxuICAgIGlmIChmaWx0ZXI/LnNlYXJjaFRleHQpIHtcbiAgICAgIHVybCArPSBgJmZpbHRlcltwaHJhc2VdPSR7ZmlsdGVyLnNlYXJjaFRleHR9YDtcbiAgICB9XG5cbiAgICBpZiAoZmlsdGVyPy5zb3J0QnkpIHtcbiAgICAgIHVybCArPSBgJnNvcnQ9JHtmaWx0ZXIuc29ydEJ5fS0ke2ZpbHRlci5zb3J0RGVzYyA/ICdkZXNjJyA6ICdhc2MnfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVybCArPSBgJnNvcnQ9cmFuZG9tYDtcbiAgICB9XG5cbiAgICBmaWx0ZXI/LnF1ZXJ5Py5mb3JFYWNoKChxOiBJQ3J1ZEZpbHRlclF1ZXJ5SXRlbSkgPT4ge1xuICAgICAgY29uc3QgaXNBcnJheSA9IEFycmF5LmlzQXJyYXkocS52YWx1ZSk7XG5cbiAgICAgIGlmIChpc0FycmF5KSB7XG4gICAgICAgIHEudmFsdWUuZm9yRWFjaCgodmFsdWU6IHVua25vd24gJiB7IGlkOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICAgIHVybCArPSBgJmZpbHRlclske3Eua2V5fV0ke3RoaXMuZ2V0UXVlcnlUeXBlKHEudHlwZSwgdHJ1ZSl9PSR7XG4gICAgICAgICAgICB2YWx1ZS5pZFxuICAgICAgICAgIH1gO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVybCArPSBgJmZpbHRlclske3Eua2V5fV0ke3RoaXMuZ2V0UXVlcnlUeXBlKHEudHlwZSwgZmFsc2UpfT0ke1xuICAgICAgICAgIHEudmFsdWVcbiAgICAgICAgfWA7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHBcbiAgICAgICAgLmdldDx7XG4gICAgICAgICAgZGF0YTogdW5rbm93biAmIHtcbiAgICAgICAgICAgIGl0ZW1zOiB1bmtub3duO1xuICAgICAgICAgICAgcGFnaW5hdG9yRGV0YWlsczoge1xuICAgICAgICAgICAgICB0b3RhbEl0ZW1zQ291bnQ6IG51bWJlcjtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfTtcbiAgICAgICAgfT4odXJsKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gciBhcyB7XG4gICAgICAgICAgICAgIGRhdGE/OiB7XG4gICAgICAgICAgICAgICAgaXRlbXM/OiBUW107XG4gICAgICAgICAgICAgICAgcGFnaW5hdG9yRGV0YWlscz86IHtcbiAgICAgICAgICAgICAgICAgIHRvdGFsSXRlbXNDb3VudD86IG51bWJlcjtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGRhdGE6IHJlc3BvbnNlLmRhdGE/Lml0ZW1zID8/IFtdLFxuICAgICAgICAgICAgICB0b3RhbENvdW50OiByZXNwb25zZS5kYXRhPy5wYWdpbmF0b3JEZXRhaWxzPy50b3RhbEl0ZW1zQ291bnQgPz8gMCxcbiAgICAgICAgICAgICAgbGlua3M6IHt9LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpLFxuICAgICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0QmFzZUxpc3RVcmwoXG4gICAgcGFnZTogbnVtYmVyLFxuICAgIGZpbHRlcjoge1xuICAgICAgbGltaXQ6IG51bWJlcjtcbiAgICB9LFxuICApIHtcbiAgICByZXR1cm4gYCR7dGhpcy5jb25maWcuYXBpVXJsfSR7XG4gICAgICB0aGlzLmdldFVybE5hbWVGb3JMaXN0KCkgIT09ICdwdWJsaWMtY29sbGVjdGlvbnMnXG4gICAgICAgID8gJ3NlYXJjaC8nICsgdGhpcy5nZXRVcmxOYW1lRm9yTGlzdCgpXG4gICAgICAgIDogJ3B1YmxpYy1jb2xsZWN0aW9ucydcbiAgICB9L3BhZ2UvJHtwYWdlfT9tYXhQZXJQYWdlPSR7ZmlsdGVyPy5saW1pdH1gO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUVycm9yKGVycjogdW5rbm93biAmIHsgc3RhdHVzOiBudW1iZXIgfSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKGVyci5zdGF0dXMgPT09IDQwNCB8fCBlcnIuc3RhdHVzID09PSA0MDYpIHtcbiAgICAgIHJldHVybiBvZih7XG4gICAgICAgIGRhdGE6IFtdLFxuICAgICAgICB0b3RhbENvdW50OiAwLFxuICAgICAgICBsaW5rczoge30sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoYFRoZXJlIHdhcyBhbiBlcnJvcjogJHtlcnIuc3RhdHVzfWApKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRRdWVyeVR5cGUoXG4gICAgdHlwZTogJz0nIHwgJyE9JyB8ICc+PScgfCAnPD0nIHwgJzwnIHwgJz4nLFxuICAgIGlzQXJyYXk6IGJvb2xlYW4sXG4gICkge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnPj0nOlxuICAgICAgICByZXR1cm4gJ1tmcm9tXSc7XG4gICAgICBjYXNlICc8PSc6XG4gICAgICAgIHJldHVybiAnW3RvXSc7XG4gICAgICBjYXNlICc9JzpcbiAgICAgICAgcmV0dXJuIGlzQXJyYXkgPyAnW10nIDogJyc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyAnVHlwZSBub3Qgc3VwcG9ydGVkISc7XG4gICAgfVxuICB9XG59XG4iXX0=","import { ConfigsFacade } from '../+state/configs.facade';\nimport { ConfigsService } from './configs/configs.service';\nimport { DictionaryService } from './dictionary/dictionary.service';\nexport * from './dictionary/dictionary.service';\nexport * from './configs/configs.service';\nexport * from './crud/crud-base.service';\nexport const SERVICES = [DictionaryService, ConfigsService, ConfigsFacade];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zaGFyZWQvYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFcEUsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlnc0ZhY2FkZSB9IGZyb20gJy4uLytzdGF0ZS9jb25maWdzLmZhY2FkZSc7XG5pbXBvcnQgeyBDb25maWdzU2VydmljZSB9IGZyb20gJy4vY29uZmlncy9jb25maWdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGljdGlvbmFyeVNlcnZpY2UgfSBmcm9tICcuL2RpY3Rpb25hcnkvZGljdGlvbmFyeS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9kaWN0aW9uYXJ5L2RpY3Rpb25hcnkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3MvY29uZmlncy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY3J1ZC9jcnVkLWJhc2Uuc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBTRVJWSUNFUyA9IFtEaWN0aW9uYXJ5U2VydmljZSwgQ29uZmlnc1NlcnZpY2UsIENvbmZpZ3NGYWNhZGVdO1xuIl19","import { __decorate, __metadata } from \"tslib\";\nimport { inject, Injectable, signal } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ReduxAction } from '@smartsoft001/angular';\nimport { ConfigsService } from '../services';\nimport * as i0 from \"@angular/core\";\nexport class ConfigsFacade {\n constructor() {\n this.service = inject(ConfigsService);\n this.sanitizer = inject(DomSanitizer);\n }\n static { this._source = signal(null, ...(ngDevMode ? [{ debugName: \"_source\" }] : [])); }\n get data() {\n return ConfigsFacade._source();\n }\n getPage(id) {\n return this.service.getPage(id).then((page) => {\n if (!page)\n return page;\n return {\n ...page,\n content: this.sanitizer.bypassSecurityTrustHtml(page.content),\n };\n });\n }\n init() {\n return this.service.get().then((config) => {\n ConfigsFacade._source.set(config);\n return config;\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ConfigsFacade, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ConfigsFacade }); }\n}\n__decorate([\n ReduxAction(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Number]),\n __metadata(\"design:returntype\", Promise)\n], ConfigsFacade.prototype, \"getPage\", null);\n__decorate([\n ReduxAction(),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], ConfigsFacade.prototype, \"init\", null);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: ConfigsFacade, decorators: [{\n type: Injectable\n }], propDecorators: { getPage: [], init: [] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zaGFyZWQvYW5ndWxhci9zcmMvbGliLytzdGF0ZS9jb25maWdzLmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXBELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBRzdDLE1BQU0sT0FBTyxhQUFhO0lBRDFCO1FBRVUsWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNqQyxjQUFTLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0tBNkIxQzthQTNCZ0IsWUFBTyxHQUFrQyxNQUFNLENBQzVELElBQUksbURBQ0wsQUFGcUIsQ0FFcEI7SUFFRixJQUFJLElBQUk7UUFDTixPQUFPLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBR0QsT0FBTyxDQUFDLEVBQVU7UUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFVLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsSUFBSTtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUV2QixPQUFPO2dCQUNMLEdBQUcsSUFBSTtnQkFDUCxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQzlELENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFHRCxJQUFJO1FBQ0YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ2hELGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xDLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E5QlUsYUFBYTtrSEFBYixhQUFhOztBQWF4QjtJQURDLFdBQVcsRUFBRTs7Ozs0Q0FVYjtBQUdEO0lBREMsV0FBVyxFQUFFOzs7O3lDQU1iOzJGQTlCVSxhQUFhO2tCQUR6QixVQUFVOzhCQWNULE9BQU8sTUFZUCxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFJlZHV4QWN0aW9uIH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9hbmd1bGFyJztcblxuaW1wb3J0IHsgQ29uZmlnLCBQYWdlIH0gZnJvbSAnQHNtYXJ0c29mdDAwMS1tb2JpbGVtcy9tb2RlbHMnO1xuXG5pbXBvcnQgeyBDb25maWdzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3NGYWNhZGUge1xuICBwcml2YXRlIHNlcnZpY2UgPSBpbmplY3QoQ29uZmlnc1NlcnZpY2UpO1xuICBwcml2YXRlIHNhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuXG4gIHByaXZhdGUgc3RhdGljIF9zb3VyY2U6IFdyaXRhYmxlU2lnbmFsPENvbmZpZyB8IG51bGw+ID0gc2lnbmFsPENvbmZpZyB8IG51bGw+KFxuICAgIG51bGwsXG4gICk7XG5cbiAgZ2V0IGRhdGEoKTogQ29uZmlnIHwgbnVsbCB7XG4gICAgcmV0dXJuIENvbmZpZ3NGYWNhZGUuX3NvdXJjZSgpO1xuICB9XG5cbiAgQFJlZHV4QWN0aW9uKClcbiAgZ2V0UGFnZShpZDogbnVtYmVyKTogUHJvbWlzZTxQYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5nZXRQYWdlKGlkKS50aGVuKChwYWdlOiBQYWdlKSA9PiB7XG4gICAgICBpZiAoIXBhZ2UpIHJldHVybiBwYWdlO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5wYWdlLFxuICAgICAgICBjb250ZW50OiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYWdlLmNvbnRlbnQpLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIEBSZWR1eEFjdGlvbigpXG4gIGluaXQoKTogUHJvbWlzZTxDb25maWc+IHtcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmdldCgpLnRoZW4oKGNvbmZpZzogQ29uZmlnKSA9PiB7XG4gICAgICBDb25maWdzRmFjYWRlLl9zb3VyY2Uuc2V0KGNvbmZpZyk7XG4gICAgICByZXR1cm4gY29uZmlnO1xuICAgIH0pO1xuICB9XG59XG4iXX0=","import { Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\nimport { AppBaseComponent } from '@smartsoft001/angular';\nimport * as i0 from \"@angular/core\";\nexport class AppComponent extends AppBaseComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: AppComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.0\", type: AppComponent, isStandalone: true, selector: \"smart-mobilems-app\", usesInheritance: true, ngImport: i0, template: \"<ng-content select=\\\"header\\\"></ng-content>\\n\\n<main>\\n <router-outlet></router-outlet>\\n</main>\\n\\n<ng-content select=\\\"footer\\\"></ng-content>\\n\", dependencies: [{ kind: \"directive\", type: RouterOutlet, selector: \"router-outlet\", inputs: [\"name\", \"routerOutletData\"], outputs: [\"activate\", \"deactivate\", \"attach\", \"detach\"], exportAs: [\"outlet\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: AppComponent, decorators: [{\n type: Component,\n args: [{ selector: 'smart-mobilems-app', imports: [RouterOutlet], template: \"<ng-content select=\\\"header\\\"></ng-content>\\n\\n<main>\\n <router-outlet></router-outlet>\\n</main>\\n\\n<ng-content select=\\\"footer\\\"></ng-content>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NoYXJlZC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hcHAvYXBwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NoYXJlZC9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hcHAvYXBwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQU96RCxNQUFNLE9BQU8sWUFBYSxTQUFRLGdCQUFnQjs4R0FBckMsWUFBWTtrR0FBWixZQUFZLHFHQ1R6QixvSkFPQSw0Q0REWSxZQUFZOzsyRkFHWCxZQUFZO2tCQUx4QixTQUFTOytCQUNFLG9CQUFvQixXQUNyQixDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAc21hcnRzb2Z0MDAxL2FuZ3VsYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzbWFydC1tb2JpbGVtcy1hcHAnLFxuICBpbXBvcnRzOiBbUm91dGVyT3V0bGV0XSxcbiAgdGVtcGxhdGVVcmw6ICcuL2FwcC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwcENvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQge31cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImhlYWRlclwiPjwvbmctY29udGVudD5cblxuPG1haW4+XG4gIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbjwvbWFpbj5cblxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiZm9vdGVyXCI+PC9uZy1jb250ZW50PlxuIl19","import { Directive } from '@angular/core';\nimport { PageBaseComponent } from '@smartsoft001/angular';\nimport * as i0 from \"@angular/core\";\nexport class PageComponent extends PageBaseComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: PageComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.0\", type: PageComponent, isStandalone: true, usesInheritance: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: PageComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zaGFyZWQvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcGFnZS9wYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUcxRCxNQUFNLE9BQU8sYUFBYyxTQUFRLGlCQUFpQjs4R0FBdkMsYUFBYTtrR0FBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYWdlQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BzbWFydHNvZnQwMDEvYW5ndWxhcic7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFBhZ2VDb21wb25lbnQgZXh0ZW5kcyBQYWdlQmFzZUNvbXBvbmVudCB7fVxuIl19","import { __decorate, __metadata } from \"tslib\";\nimport { contentChild, Directive, effect, inject, } from '@angular/core';\nimport { BaseComponent } from '@smartsoft001/angular';\nimport { CrudFacade, } from '@smartsoft001/crud-shell-angular';\nimport * as _ from 'lodash';\nimport { Debounce } from 'lodash-decorators';\nimport * as i0 from \"@angular/core\";\nexport class FiltersContext extends BaseComponent {\n set searchText(val) {\n if (this._filter && this._filter.searchText === val)\n return;\n this.refresh({\n searchText: val,\n offset: 0,\n });\n }\n get searchText() {\n return this._filter?.searchText;\n }\n set page(val) {\n const offset = this._filter?.limit ? this._filter?.limit * val : 0;\n if (this._filter && this._filter.offset === offset)\n return;\n this.refresh({\n offset: offset,\n });\n }\n get page() {\n if (!this._filter)\n return 1;\n if (!this._filter.offset || !this._filter.limit)\n return 1;\n return this._filter.offset / this._filter.limit;\n }\n set limit(val) {\n if (this._filter && this._filter.limit === val)\n return;\n this.refresh({\n limit: val,\n offset: 0,\n });\n }\n get limit() {\n if (!this._filter)\n return 20;\n if (!this._filter.limit)\n return 20;\n return this._filter.limit;\n }\n set sortBy(val) {\n if (this._filter && this._filter.sortBy === val)\n return;\n this.refresh({\n sortBy: val,\n });\n }\n get sortBy() {\n return this._filter?.sortBy;\n }\n set query(val) {\n if (this._filter && this._filter.query === val)\n return;\n this.refresh({\n query: val,\n });\n }\n get query() {\n return this._filter?.query;\n }\n set sortDesc(val) {\n if (this._filter && this._filter.sortDesc === val)\n return;\n this.refresh({\n sortDesc: val,\n });\n }\n get sortDesc() {\n return this._filter?.sortDesc;\n }\n set sort(val) {\n if (this._filter && this._filter.sortBy === val)\n return;\n this.refresh({\n sortBy: val?.by,\n sortDesc: val?.desc,\n });\n }\n get sort() {\n return {\n by: this._filter?.sortBy,\n desc: this._filter?.sortDesc,\n };\n }\n set onlyImage(val) {\n if (!val && this.onlyImage && this._filter) {\n const result = this._filter.query\n ? this._filter.query?.filter((q) => !(q.type === '=' && q.key === 'onlyImage'))\n : [];\n this.refresh({\n query: [...result],\n });\n }\n if (val && !this.onlyImage && this._filter) {\n const result = this._filter.query\n ? this._filter.query.filter((q) => !(q.type === '=' && q.key === 'onlyImage'))\n : [];\n this.refresh({\n offset: 0,\n query: [\n ...result,\n {\n type: '=',\n key: 'onlyImage',\n value: 1,\n hidden: true,\n },\n ],\n });\n }\n }\n get onlyImage() {\n return this._filter?.query?.some((q) => q.type === '=' && q.key === 'onlyImage' && q.value === 1);\n }\n set exposure(val) {\n if (!val && this.exposure && this._filter) {\n const result = this._filter.query\n ? this._filter.query?.filter((q) => !(q.type === '=' &&\n q.key === 'locationType' &&\n q.value === 'Ekspozycja'))\n : [];\n this.refresh({\n query: [...result],\n });\n }\n if (val && !this.exposure && this._filter) {\n const result = this._filter.query\n ? this._filter.query?.filter((q) => !(q.type === '=' &&\n q.key === 'locationType' &&\n q.value === 'Ekspozycja'))\n : [];\n this.refresh({\n offset: 0,\n query: [\n ...result,\n {\n type: '=',\n key: 'locationType',\n value: 'Ekspozycja',\n hidden: true,\n },\n ],\n });\n }\n }\n get exposure() {\n return this._filter?.query?.some((q) => q.type === '=' && q.key === 'locationType' && q.value === 'Ekspozycja');\n }\n set creators(val) {\n this.filterSet(this.creators, val, 'creators', '=');\n }\n get creators() {\n return this.filterGet('=', 'creators');\n }\n set createDatesFrom(val) {\n this.filterSet(this.createDatesFrom, val, 'createDates', '>=');\n }\n get createDatesFrom() {\n return this.filterGet('>=', 'createDates');\n }\n set createDatesTo(val) {\n this.filterSet(this.createDatesTo, val, 'createDates', '<=');\n }\n get createDatesTo() {\n return this.filterGet('<=', 'createDates');\n }\n set publicationDateFrom(val) {\n this.filterSet(this.publicationDateFrom, val, 'publicationDate', '>=');\n }\n get publicationDateFrom() {\n return this.filterGet('>=', 'publicationDate');\n }\n set publicationDateTo(val) {\n this.filterSet(this.publicationDateTo, val, 'publicationDate', '<=');\n }\n get publicationDateTo() {\n return this.filterGet('<=', 'publicationDate');\n }\n set createPlaces(val) {\n this.filterSet(this.createPlaces, val, 'createPlaces', '=');\n }\n get createPlaces() {\n return this.filterGet('=', 'createPlaces');\n }\n set keywords(val) {\n this.filterSet(this.keywords, val, 'keywords', '=');\n }\n get keywords() {\n return this.filterGet('=', 'keywords');\n }\n set techniques(val) {\n this.filterSet(this.techniques, val, 'techniques', '=');\n }\n get techniques() {\n return this.filterGet('=', 'techniques');\n }\n set materials(val) {\n this.filterSet(this.materials, val, 'materials', '=');\n }\n get materials() {\n return this.filterGet('=', 'materials');\n }\n set category(val) {\n this.filterSet(this.category, val, 'category', '=');\n }\n get category() {\n return this.filterGet('=', 'category');\n }\n set department(val) {\n this.filterSet(this.department, val, 'department', '=');\n }\n get department() {\n return this.filterGet('=', 'department');\n }\n set location(val) {\n this.filterSet(this.category, val, 'location', '=');\n }\n get location() {\n return this.filterGet('=', 'location');\n }\n set locationType(val) {\n this.filterSet(this.category, val, 'locationType', '=');\n }\n get locationType() {\n return this.filterGet('=', 'locationType');\n }\n set cycles(val) {\n this.filterSet(this.cycles, val, 'cycles', '=');\n }\n get cycles() {\n return this.filterGet('=', 'cycles');\n }\n set authors(val) {\n this.filterSet(this.authors, val, 'authors', '=');\n }\n get authors() {\n return this.filterGet('=', 'authors');\n }\n set targetGroups(val) {\n this.filterSet(this.targetGroups, val, 'targetGroups', '=');\n }\n get targetGroups() {\n return this.filterGet('=', 'targetGroups');\n }\n set template(val) {\n this.filterSet(this.template, val, 'template', '=');\n }\n get template() {\n return this.filterGet('=', 'template');\n }\n set types(val) {\n this.filterSet(this.types, val, 'types', '=');\n }\n get types() {\n return this.filterGet('=', 'types');\n }\n set extraNumbersValue(val) {\n this.filterSet(this.creators, val, 'extraNumbersValue', '=');\n }\n get extraNumbersValue() {\n return this.filterGet('=', 'extraNumbersValue');\n }\n constructor() {\n super();\n this.facade = inject((CrudFacade));\n this.totalCount = this.facade.totalCount;\n effect(() => {\n this._filter = this.facade.filter();\n });\n }\n refresh(filter) {\n let change = false;\n Object.keys(filter).forEach((key) => {\n if (!_.isEqual(this._filter[key], filter[key]))\n change = true;\n });\n if (!change)\n return;\n this.facade.read({\n ...this.facade.filter,\n ...filter,\n });\n }\n filterGet(key, type) {\n return this._filter?.query?.find((q) => q.type === key && q.key === type)?.value;\n }\n filterSet(currentValue, val, key, type) {\n if (!val && this._filter) {\n const result = this._filter?.query\n ? this._filter?.query?.filter((q) => !(q.type === type && q.key === key))\n : [];\n this.refresh({\n offset: 0,\n query: [...result],\n });\n }\n if (val && currentValue !== val && this._filter) {\n const result = this._filter?.query\n ? this._filter?.query?.filter((q) => !(q.type === type && q.key === key))\n : [];\n this.refresh({\n offset: 0,\n query: [\n ...result,\n {\n type: type,\n key: key,\n value: val,\n hidden: true,\n },\n ],\n });\n }\n }\n}\n__decorate([\n Debounce(500),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], FiltersContext.prototype, \"refresh\", null);\nexport class FiltersBaseComponent {\n constructor() {\n this.contentTpl = contentChild('contentTpl', ...(ngDevMode ? [{ debugName: \"contentTpl\" }] : []));\n }\n ngAfterContentInit() {\n this.context = new FiltersContext();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FiltersBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.2.0\", version: \"20.1.0\", type: FiltersBaseComponent, isStandalone: true, selector: \"smart-mobilems-filters\", queries: [{ propertyName: \"contentTpl\", first: true, predicate: [\"contentTpl\"], descendants: true, isSignal: true }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: FiltersBaseComponent, decorators: [{\n type: Directive,\n args: [{\n selector: 'smart-mobilems-filters',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zaGFyZWQvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9maWx0ZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFlBQVksRUFDWixTQUFTLEVBQ1QsTUFBTSxFQUNOLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUNMLFVBQVUsR0FHWCxNQUFNLGtDQUFrQyxDQUFDO0FBRTFDLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFJN0MsTUFBTSxPQUFPLGNBQTBDLFNBQVEsYUFBYTtJQUsxRSxJQUFJLFVBQVUsQ0FBQyxHQUF1QjtRQUNwQyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEtBQUssR0FBRztZQUFFLE9BQU87UUFDNUQsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNYLFVBQVUsRUFBRSxHQUFHO1lBQ2YsTUFBTSxFQUFFLENBQUM7U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsR0FBVztRQUNsQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElB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QUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLEdBQWU7UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksU0FBUyxDQUFDLEdBQWU7UUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUNELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEdBQWU7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLEdBQWU7UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEdBQWU7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLEdBQWU7UUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLEdBQWU7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLEdBQWU7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUNELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLEdBQWU7UUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRSxjQUFj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QyxDQUFDOzhHQVRtQixvQkFBb0I7a0dBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFIekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2lCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIGNvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgU2lnbmFsLFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHNtYXJ0c29mdDAwMS9hbmd1bGFyJztcbmltcG9ydCB7XG4gIENydWRGYWNhZGUsXG4gIElDcnVkRmlsdGVyLFxuICBJQ3J1ZEZpbHRlclF1ZXJ5SXRlbSxcbn0gZnJvbSAnQHNtYXJ0c29mdDAwMS9jcnVkLXNoZWxsLWFuZ3VsYXInO1xuaW1wb3J0IHsgSUVudGl0eSB9IGZyb20gJ0BzbWFydHNvZnQwMDEvZG9tYWluLWNvcmUnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRGVib3VuY2UgfSBmcm9tICdsb2Rhc2gtZGVjb3JhdG9ycyc7XG5cbmV4cG9ydCB0eXBlIEZpbHRlclR5cGUgPSBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IGNsYXNzIEZpbHRlcnNDb250ZXh0PFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmFjYWRlID0gaW5qZWN0KENydWRGYWNhZGU8VD4pO1xuXG4gIHByaXZhdGUgX2ZpbHRlcj86IElDcnVkRmlsdGVyO1xuXG4gIHNldCBzZWFyY2hUZXh0KHZhbDogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHRoaXMuX2ZpbHRlciAmJiB0aGlzLl9maWx0ZXIuc2VhcmNoVGV4dCA9PT0gdmFsKSByZXR1cm47XG4gICAgdGhpcy5yZWZyZXNoKHtcbiAgICAgIHNlYXJjaFRleHQ6IHZhbCxcbiAgICAgIG9mZnNldDogMCxcbiAgICB9KTtcbiAgfVxuICBnZXQgc2VhcmNoVGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyPy5zZWFyY2hUZXh0O1xuICB9XG5cbiAgc2V0IHBhZ2UodmFsOiBudW1iZXIpIHtcbiAgICBjb25zdCBvZmZzZXQgPSB0aGlzLl9maWx0ZXI/LmxpbWl0ID8gdGhpcy5fZmlsdGVyPy5saW1pdCAqIHZhbCA6IDA7XG4gICAgaWYgKHRoaXMuX2ZpbHRlciAmJiB0aGlzLl9maWx0ZXIub2Zmc2V0ID09PSBvZmZzZXQpIHJldHVybjtcbiAgICB0aGlzLnJlZnJlc2goe1xuICAgICAgb2Zmc2V0OiBvZmZzZXQsXG4gICAgfSk7XG4gIH1cbiAgZ2V0IHBhZ2UoKSB7XG4gICAgaWYgKCF0aGlzLl9maWx0ZXIpIHJldHVybiAxO1xuICAgIGlmICghdGhpcy5fZmlsdGVyLm9mZnNldCB8fCAhdGhpcy5fZmlsdGVyLmxpbWl0KSByZXR1cm4gMTtcblxuICAgIHJldHVybiB0aGlzLl9maWx0ZXIub2Zmc2V0IC8gdGhpcy5fZmlsdGVyLmxpbWl0O1xuICB9XG5cbiAgc2V0IGxpbWl0KHZhbDogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuX2ZpbHRlciAmJiB0aGlzLl9maWx0ZXIubGltaXQgPT09IHZhbCkgcmV0dXJuO1xuICAgIHRoaXMucmVmcmVzaCh7XG4gICAgICBsaW1pdDogdmFsLFxuICAgICAgb2Zmc2V0OiAwLFxuICAgIH0pO1xuICB9XG4gIGdldCBsaW1pdCgpIHtcbiAgICBpZiAoIXRoaXMuX2ZpbHRlcikgcmV0dXJuIDIwO1xuICAgIGlmICghdGhpcy5fZmlsdGVyLmxpbWl0KSByZXR1cm4gMjA7XG5cbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyLmxpbWl0O1xuICB9XG5cbiAgc2V0IHNvcnRCeSh2YWw6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh0aGlzLl9maWx0ZXIgJiYgdGhpcy5fZmlsdGVyLnNvcnRCeSA9PT0gdmFsKSByZXR1cm47XG4gICAgdGhpcy5yZWZyZXNoKHtcbiAgICAgIHNvcnRCeTogdmFsLFxuICAgIH0pO1xuICB9XG4gIGdldCBzb3J0QnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcj8uc29ydEJ5O1xuICB9XG5cbiAgc2V0IHF1ZXJ5KHZhbDogSUNydWRGaWx0ZXJRdWVyeUl0ZW1bXSB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh0aGlzLl9maWx0ZXIgJiYgdGhpcy5fZmlsdGVyLnF1ZXJ5ID09PSB2YWwpIHJldHVybjtcbiAgICB0aGlzLnJlZnJlc2goe1xuICAgICAgcXVlcnk6IHZhbCxcbiAgICB9KTtcbiAgfVxuICBnZXQgcXVlcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcj8ucXVlcnk7XG4gIH1cblxuICBzZXQgc29ydERlc2ModmFsOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHRoaXMuX2ZpbHRlciAmJiB0aGlzLl9maWx0ZXIuc29ydERlc2MgPT09IHZhbCkgcmV0dXJuO1xuICAgIHRoaXMucmVmcmVzaCh7XG4gICAgICBzb3J0RGVzYzogdmFsLFxuICAgIH0pO1xuICB9XG4gIGdldCBzb3J0RGVzYygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyPy5zb3J0RGVzYztcbiAgfVxuXG4gIHNldCBzb3J0KHZhbDogeyBieT86IHN0cmluZzsgZGVzYz86IGJvb2xlYW4gfSB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh0aGlzLl9maWx0ZXIgJiYgdGhpcy5fZmlsdGVyLnNvcnRCeSA9PT0gdmFsKSByZXR1cm47XG4gICAgdGhpcy5yZWZyZXNoKHtcbiAgICAgIHNvcnRCeTogdmFsPy5ieSxcbiAgICAgIHNvcnREZXNjOiB2YWw/LmRlc2MsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgc29ydCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnk6IHRoaXMuX2ZpbHRlcj8uc29ydEJ5LFxuICAgICAgZGVzYzogdGhpcy5fZmlsdGVyPy5zb3J0RGVzYyxcbiAgICB9O1xuICB9XG5cbiAgc2V0IG9ubHlJbWFnZSh2YWw6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbCAmJiB0aGlzLm9ubHlJbWFnZSAmJiB0aGlzLl9maWx0ZXIpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2ZpbHRlci5xdWVyeVxuICAgICAgICA/IHRoaXMuX2ZpbHRlci5xdWVyeT8uZmlsdGVyKFxuICAgICAgICAgICAgKHE6IElDcnVkRmlsdGVyUXVlcnlJdGVtKSA9PlxuICAgICAgICAgICAgICAhKHEudHlwZSA9PT0gJz0nICYmIHEua2V5ID09PSAnb25seUltYWdlJyksXG4gICAgICAgICAgKVxuICAgICAgICA6IFtdO1xuXG4gICAgICB0aGlzLnJlZnJlc2goe1xuICAgICAgICBxdWVyeTogWy4uLnJlc3VsdF0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodmFsICYmICF0aGlzLm9ubHlJbWFnZSAmJiB0aGlzLl9maWx0ZXIpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2ZpbHRlci5xdWVyeVxuICAgICAgICA/IHRoaXMuX2ZpbHRlci5xdWVyeS5maWx0ZXIoXG4gICAgICAgICAgICAocTogSUNydWRGaWx0ZXJRdWVyeUl0ZW0pID0+XG4gICAgICAgICAgICAgICEocS50eXBlID09PSAnPScgJiYgcS5rZXkgPT09ICdvbmx5SW1hZ2UnKSxcbiAgICAgICAgICApXG4gICAgICAgIDogW107XG4gICAgICB0aGlzLnJlZnJlc2goe1xuICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgIHF1ZXJ5OiBbXG4gICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICc9JyxcbiAgICAgICAgICAgIGtleTogJ29ubHlJbWFnZScsXG4gICAgICAgICAgICB2YWx1ZTogMSxcbiAgICAgICAgICAgIGhpZGRlbjogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIGdldCBvbmx5SW1hZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcj8ucXVlcnk/LnNvbWUoXG4gICAgICAocTogSUNydWRGaWx0ZXJRdWVyeUl0ZW0pID0+XG4gICAgICAgIHEudHlwZSA9PT0gJz0nICYmIHEua2V5ID09PSAnb25seUltYWdlJyAmJiBxLnZhbHVlID09PSAxLFxuICAgICk7XG4gIH1cblxuICBzZXQgZXhwb3N1cmUodmFsOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWwgJiYgdGhpcy5leHBvc3VyZSAmJiB0aGlzLl9maWx0ZXIpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2ZpbHRlci5xdWVyeVxuICAgICAgICA/IHRoaXMuX2ZpbHRlci5xdWVyeT8uZmlsdGVyKFxuICAgICAgICAgICAgKHE6IElDcnVkRmlsdGVyUXVlcnlJdGVtKSA9PlxuICAgICAgICAgICAgICAhKFxuICAgICAgICAgICAgICAgIHEudHlwZSA9PT0gJz0nICYmXG4gICAgICAgICAgICAgICAgcS5rZXkgPT09ICdsb2NhdGlvblR5cGUnICYmXG4gICAgICAgICAgICAgICAgcS52YWx1ZSA9PT0gJ0Vrc3BvenljamEnXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgKVxuICAgICAgICA6IFtdO1xuXG4gICAgICB0aGlzLnJlZnJlc2goe1xuICAgICAgICBxdWVyeTogWy4uLnJlc3VsdF0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodmFsICYmICF0aGlzLmV4cG9zdXJlICYmIHRoaXMuX2ZpbHRlcikge1xuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZmlsdGVyLnF1ZXJ5XG4gICAgICAgID8gdGhpcy5fZmlsdGVyLnF1ZXJ5Py5maWx0ZXIoXG4gICAgICAgICAgICAocTogSUNydWRGaWx0ZXJRdWVyeUl0ZW0pID0+XG4gICAgICAgICAgICAgICEoXG4gICAgICAgICAgICAgICAgcS50eXBlID09PSAnPScgJiZcbiAgICAgICAgICAgICAgICBxLmtleSA9PT0gJ2xvY2F0aW9uVHlwZScgJiZcbiAgICAgICAgICAgICAgICBxLnZhbHVlID09PSAnRWtzcG96eWNqYSdcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICApXG4gICAgICAgIDogW107XG4gICAgICB0aGlzLnJlZnJlc2goe1xuICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgIHF1ZXJ5OiBbXG4gICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICc9JyxcbiAgICAgICAgICAgIGtleTogJ2xvY2F0aW9uVHlwZScsXG4gICAgICAgICAgICB2YWx1ZTogJ0Vrc3BvenljamEnLFxuICAgICAgICAgICAgaGlkZGVuOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgZ2V0IGV4cG9zdXJlKCkge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXI/LnF1ZXJ5Py5zb21lKFxuICAgICAgKHE6IElDcnVkRmlsdGVyUXVlcnlJdGVtKSA9PlxuICAgICAgICBxLnR5cGUgPT09ICc9JyAmJiBxLmtleSA9PT0gJ2xvY2F0aW9uVHlwZScgJiYgcS52YWx1ZSA9PT0gJ0Vrc3BvenljamEnLFxuICAgICk7XG4gIH1cblxuICBzZXQgY3JlYXRvcnModmFsOiBGaWx0ZXJUeXBlKSB7XG4gICAgdGhpcy5maWx0ZXJTZXQodGhpcy5jcmVhdG9ycywgdmFsLCAnY3JlYXRvcnMnLCAnPScpO1xuICB9XG4gIGdldCBjcmVhdG9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoJz0nLCAnY3JlYXRvcnMnKTtcbiAgfVxuXG4gIHNldCBjcmVhdGVEYXRlc0Zyb20odmFsOiBGaWx0ZXJUeXBlKSB7XG4gICAgdGhpcy5maWx0ZXJTZXQodGhpcy5jcmVhdGVEYXRlc0Zyb20sIHZhbCwgJ2NyZWF0ZURhdGVzJywgJz49Jyk7XG4gIH1cbiAgZ2V0IGNyZWF0ZURhdGVzRnJvbSgpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoJz49JywgJ2NyZWF0ZURhdGVzJyk7XG4gIH1cblxuICBzZXQgY3JlYXRlRGF0ZXNUbyh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICB0aGlzLmZpbHRlclNldCh0aGlzLmNyZWF0ZURhdGVzVG8sIHZhbCwgJ2NyZWF0ZURhdGVzJywgJzw9Jyk7XG4gIH1cbiAgZ2V0IGNyZWF0ZURhdGVzVG8oKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyR2V0KCc8PScsICdjcmVhdGVEYXRlcycpO1xuICB9XG5cbiAgc2V0IHB1YmxpY2F0aW9uRGF0ZUZyb20odmFsOiBGaWx0ZXJUeXBlKSB7XG4gICAgdGhpcy5maWx0ZXJTZXQodGhpcy5wdWJsaWNhdGlvbkRhdGVGcm9tLCB2YWwsICdwdWJsaWNhdGlvbkRhdGUnLCAnPj0nKTtcbiAgfVxuICBnZXQgcHVibGljYXRpb25EYXRlRnJvbSgpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoJz49JywgJ3B1YmxpY2F0aW9uRGF0ZScpO1xuICB9XG5cbiAgc2V0IHB1YmxpY2F0aW9uRGF0ZVRvKHZhbDogRmlsdGVyVHlwZSkge1xuICAgIHRoaXMuZmlsdGVyU2V0KHRoaXMucHVibGljYXRpb25EYXRlVG8sIHZhbCwgJ3B1YmxpY2F0aW9uRGF0ZScsICc8PScpO1xuICB9XG4gIGdldCBwdWJsaWNhdGlvbkRhdGVUbygpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoJzw9JywgJ3B1YmxpY2F0aW9uRGF0ZScpO1xuICB9XG5cbiAgc2V0IGNyZWF0ZVBsYWNlcyh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICB0aGlzLmZpbHRlclNldCh0aGlzLmNyZWF0ZVBsYWNlcywgdmFsLCAnY3JlYXRlUGxhY2VzJywgJz0nKTtcbiAgfVxuICBnZXQgY3JlYXRlUGxhY2VzKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckdldCgnPScsICdjcmVhdGVQbGFjZXMnKTtcbiAgfVxuXG4gIHNldCBrZXl3b3Jkcyh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICB0aGlzLmZpbHRlclNldCh0aGlzLmtleXdvcmRzLCB2YWwsICdrZXl3b3JkcycsICc9Jyk7XG4gIH1cbiAgZ2V0IGtleXdvcmRzKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckdldCgnPScsICdrZXl3b3JkcycpO1xuICB9XG5cbiAgc2V0IHRlY2huaXF1ZXModmFsOiBGaWx0ZXJUeXBlKSB7XG4gICAgdGhpcy5maWx0ZXJTZXQodGhpcy50ZWNobmlxdWVzLCB2YWwsICd0ZWNobmlxdWVzJywgJz0nKTtcbiAgfVxuICBnZXQgdGVjaG5pcXVlcygpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoJz0nLCAndGVjaG5pcXVlcycpO1xuICB9XG5cbiAgc2V0IG1hdGVyaWFscyh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICB0aGlzLmZpbHRlclNldCh0aGlzLm1hdGVyaWFscywgdmFsLCAnbWF0ZXJpYWxzJywgJz0nKTtcbiAgfVxuICBnZXQgbWF0ZXJpYWxzKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckdldCgnPScsICdtYXRlcmlhbHMnKTtcbiAgfVxuXG4gIHNldCBjYXRlZ29yeSh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICB0aGlzLmZpbHRlclNldCh0aGlzLmNhdGVnb3J5LCB2YWwsICdjYXRlZ29yeScsICc9Jyk7XG4gIH1cbiAgZ2V0IGNhdGVnb3J5KCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckdldCgnPScsICdjYXRlZ29yeScpO1xuICB9XG5cbiAgc2V0IGRlcGFydG1lbnQodmFsOiBGaWx0ZXJUeXBlKSB7XG4gICAgdGhpcy5maWx0ZXJTZXQodGhpcy5kZXBhcnRtZW50LCB2YWwsICdkZXBhcnRtZW50JywgJz0nKTtcbiAgfVxuICBnZXQgZGVwYXJ0bWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoJz0nLCAnZGVwYXJ0bWVudCcpO1xuICB9XG5cbiAgc2V0IGxvY2F0aW9uKHZhbDogRmlsdGVyVHlwZSkge1xuICAgIHRoaXMuZmlsdGVyU2V0KHRoaXMuY2F0ZWdvcnksIHZhbCwgJ2xvY2F0aW9uJywgJz0nKTtcbiAgfVxuICBnZXQgbG9jYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyR2V0KCc9JywgJ2xvY2F0aW9uJyk7XG4gIH1cblxuICBzZXQgbG9jYXRpb25UeXBlKHZhbDogRmlsdGVyVHlwZSkge1xuICAgIHRoaXMuZmlsdGVyU2V0KHRoaXMuY2F0ZWdvcnksIHZhbCwgJ2xvY2F0aW9uVHlwZScsICc9Jyk7XG4gIH1cbiAgZ2V0IGxvY2F0aW9uVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoJz0nLCAnbG9jYXRpb25UeXBlJyk7XG4gIH1cblxuICBzZXQgY3ljbGVzKHZhbDogRmlsdGVyVHlwZSkge1xuICAgIHRoaXMuZmlsdGVyU2V0KHRoaXMuY3ljbGVzLCB2YWwsICdjeWNsZXMnLCAnPScpO1xuICB9XG4gIGdldCBjeWNsZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyR2V0KCc9JywgJ2N5Y2xlcycpO1xuICB9XG5cbiAgc2V0IGF1dGhvcnModmFsOiBGaWx0ZXJUeXBlKSB7XG4gICAgdGhpcy5maWx0ZXJTZXQodGhpcy5hdXRob3JzLCB2YWwsICdhdXRob3JzJywgJz0nKTtcbiAgfVxuICBnZXQgYXV0aG9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoJz0nLCAnYXV0aG9ycycpO1xuICB9XG5cbiAgc2V0IHRhcmdldEdyb3Vwcyh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICB0aGlzLmZpbHRlclNldCh0aGlzLnRhcmdldEdyb3VwcywgdmFsLCAndGFyZ2V0R3JvdXBzJywgJz0nKTtcbiAgfVxuICBnZXQgdGFyZ2V0R3JvdXBzKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckdldCgnPScsICd0YXJnZXRHcm91cHMnKTtcbiAgfVxuXG4gIHNldCB0ZW1wbGF0ZSh2YWw6IEZpbHRlclR5cGUpIHtcbiAgICB0aGlzLmZpbHRlclNldCh0aGlzLnRlbXBsYXRlLCB2YWwsICd0ZW1wbGF0ZScsICc9Jyk7XG4gIH1cbiAgZ2V0IHRlbXBsYXRlKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckdldCgnPScsICd0ZW1wbGF0ZScpO1xuICB9XG5cbiAgc2V0IHR5cGVzKHZhbDogRmlsdGVyVHlwZSkge1xuICAgIHRoaXMuZmlsdGVyU2V0KHRoaXMudHlwZXMsIHZhbCwgJ3R5cGVzJywgJz0nKTtcbiAgfVxuICBnZXQgdHlwZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyR2V0KCc9JywgJ3R5cGVzJyk7XG4gIH1cblxuICBzZXQgZXh0cmFOdW1iZXJzVmFsdWUodmFsOiBGaWx0ZXJUeXBlKSB7XG4gICAgdGhpcy5maWx0ZXJTZXQodGhpcy5jcmVhdG9ycywgdmFsLCAnZXh0cmFOdW1iZXJzVmFsdWUnLCAnPScpO1xuICB9XG4gIGdldCBleHRyYU51bWJlcnNWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJHZXQoJz0nLCAnZXh0cmFOdW1iZXJzVmFsdWUnKTtcbiAgfVxuXG4gIHRvdGFsQ291bnQ6IFNpZ25hbDxudW1iZXI+ID0gKHRoaXMuZmFjYWRlIGFzIGFueSkudG90YWxDb3VudDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMuX2ZpbHRlciA9ICh0aGlzLmZhY2FkZSBhcyBhbnkpLmZpbHRlcigpO1xuICAgIH0pO1xuICB9XG5cbiAgQERlYm91bmNlKDUwMClcbiAgcHJpdmF0ZSByZWZyZXNoKGZpbHRlcjogSUNydWRGaWx0ZXIpOiB2b2lkIHtcbiAgICBsZXQgY2hhbmdlID0gZmFsc2U7XG5cbiAgICBPYmplY3Qua2V5cyhmaWx0ZXIpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKCFfLmlzRXF1YWwoKHRoaXMuX2ZpbHRlciBhcyBhbnkpW2tleV0sIChmaWx0ZXIgYXMgYW55KVtrZXldKSlcbiAgICAgICAgY2hhbmdlID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIGlmICghY2hhbmdlKSByZXR1cm47XG5cbiAgICAodGhpcy5mYWNhZGUgYXMgYW55KS5yZWFkKHtcbiAgICAgIC4uLih0aGlzLmZhY2FkZSBhcyBhbnkpLmZpbHRlcixcbiAgICAgIC4uLmZpbHRlcixcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyR2V0KGtleTogc3RyaW5nLCB0eXBlOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyPy5xdWVyeT8uZmluZChcbiAgICAgIChxOiBJQ3J1ZEZpbHRlclF1ZXJ5SXRlbSkgPT4gcS50eXBlID09PSBrZXkgJiYgcS5rZXkgPT09IHR5cGUsXG4gICAgKT8udmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGZpbHRlclNldChcbiAgICBjdXJyZW50VmFsdWU6IEZpbHRlclR5cGUsXG4gICAgdmFsOiBGaWx0ZXJUeXBlLFxuICAgIGtleTogc3RyaW5nLFxuICAgIHR5cGU6IGFueSxcbiAgKSB7XG4gICAgaWYgKCF2YWwgJiYgdGhpcy5fZmlsdGVyKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9maWx0ZXI/LnF1ZXJ5XG4gICAgICAgID8gdGhpcy5fZmlsdGVyPy5xdWVyeT8uZmlsdGVyKFxuICAgICAgICAgICAgKHE6IElDcnVkRmlsdGVyUXVlcnlJdGVtKSA9PiAhKHEudHlwZSA9PT0gdHlwZSAmJiBxLmtleSA9PT0ga2V5KSxcbiAgICAgICAgICApXG4gICAgICAgIDogW107XG5cbiAgICAgIHRoaXMucmVmcmVzaCh7XG4gICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgcXVlcnk6IFsuLi5yZXN1bHRdLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHZhbCAmJiBjdXJyZW50VmFsdWUgIT09IHZhbCAmJiB0aGlzLl9maWx0ZXIpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2ZpbHRlcj8ucXVlcnlcbiAgICAgICAgPyB0aGlzLl9maWx0ZXI/LnF1ZXJ5Py5maWx0ZXIoXG4gICAgICAgICAgICAocTogSUNydWRGaWx0ZXJRdWVyeUl0ZW0pID0+ICEocS50eXBlID09PSB0eXBlICYmIHEua2V5ID09PSBrZXkpLFxuICAgICAgICAgIClcbiAgICAgICAgOiBbXTtcbiAgICAgIHRoaXMucmVmcmVzaCh7XG4gICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgcXVlcnk6IFtcbiAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgICAgdmFsdWU6IHZhbCxcbiAgICAgICAgICAgIGhpZGRlbjogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LW1vYmlsZW1zLWZpbHRlcnMnLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGaWx0ZXJzQmFzZUNvbXBvbmVudDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PlxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXRcbntcbiAgY29udGV4dD86IEZpbHRlcnNDb250ZXh0PFQ+O1xuXG4gIGNvbnRlbnRUcGwgPSBjb250ZW50Q2hpbGQ8VGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZD4oJ2NvbnRlbnRUcGwnKTtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0ID0gbmV3IEZpbHRlcnNDb250ZXh0KCk7XG4gIH1cbn1cbiJdfQ==","import { AppComponent } from './app/app.component';\nexport * from './app/app.component';\nexport * from './page/page.component';\nexport * from './filters/filters.component';\nexport const COMPONENTS = [AppComponent];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zaGFyZWQvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5ELGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAvYXBwLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYXBwL2FwcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlL3BhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVycy9maWx0ZXJzLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBDT01QT05FTlRTID0gW0FwcENvbXBvbmVudF07XG4iXX0=","export const DIRECTIVES = [];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zaGFyZWQvYW5ndWxhci9zcmMvbGliL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBESVJFQ1RJVkVTID0gW107XG4iXX0=","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { ConfigsFacade } from './+state/configs.facade';\nimport { COMPONENTS } from './components';\nimport { DIRECTIVES } from './directives';\nimport { SharedConfig } from './shared.config';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./components/app/app.component\";\nfunction initializeApp(configsFacade) {\n return () => {\n setTimeout(() => {\n configsFacade.init().then();\n });\n };\n}\nexport class SharedModule {\n static forFeature(config) {\n return {\n ngModule: SharedModule,\n providers: [\n {\n provide: SharedConfig,\n useValue: config,\n },\n ],\n };\n }\n static forRoot(config) {\n return {\n ngModule: SharedModule,\n providers: [\n {\n provide: SharedConfig,\n useValue: config,\n },\n {\n provide: APP_INITIALIZER,\n useFactory: initializeApp,\n multi: true,\n deps: [ConfigsFacade],\n },\n ],\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.0\", ngImport: i0, type: SharedModule, imports: [RouterModule, i1.AppComponent], exports: [i1.AppComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: SharedModule, imports: [RouterModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.0\", ngImport: i0, type: SharedModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [...DIRECTIVES],\n imports: [RouterModule, COMPONENTS],\n exports: [...DIRECTIVES, ...COMPONENTS], // Export our own components instead of SmartSharedModule\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NoYXJlZC9hbmd1bGFyL3NyYy9saWIvc2hhcmVkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFL0MsU0FBUyxhQUFhLENBQUMsYUFBNEI7SUFDakQsT0FBTyxHQUFHLEVBQUU7UUFDVixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQU9ELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBb0I7UUFDcEMsT0FBTztZQUNMLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBb0I7UUFDakMsT0FBTztZQUNMLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxlQUFlO29CQUN4QixVQUFVLEVBQUUsYUFBYTtvQkFDekIsS0FBSyxFQUFFLElBQUk7b0JBQ1gsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN0QjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OEdBN0JVLFlBQVk7K0dBQVosWUFBWSxZQUhiLFlBQVk7K0dBR1gsWUFBWSxZQUhiLFlBQVk7OzJGQUdYLFlBQVk7a0JBTHhCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7b0JBQzdCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLEdBQUcsVUFBVSxDQUFDLEVBQUUseURBQXlEO2lCQUNuRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IENvbmZpZ3NGYWNhZGUgfSBmcm9tICcuLytzdGF0ZS9jb25maWdzLmZhY2FkZSc7XG5pbXBvcnQgeyBDT01QT05FTlRTIH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IERJUkVDVElWRVMgfSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgU2hhcmVkQ29uZmlnIH0gZnJvbSAnLi9zaGFyZWQuY29uZmlnJztcblxuZnVuY3Rpb24gaW5pdGlhbGl6ZUFwcChjb25maWdzRmFjYWRlOiBDb25maWdzRmFjYWRlKTogKCkgPT4gdm9pZCB7XG4gIHJldHVybiAoKSA9PiB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25maWdzRmFjYWRlLmluaXQoKS50aGVuKCk7XG4gICAgfSk7XG4gIH07XG59XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogWy4uLkRJUkVDVElWRVNdLFxuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLCBDT01QT05FTlRTXSxcbiAgZXhwb3J0czogWy4uLkRJUkVDVElWRVMsIC4uLkNPTVBPTkVOVFNdLCAvLyBFeHBvcnQgb3VyIG93biBjb21wb25lbnRzIGluc3RlYWQgb2YgU21hcnRTaGFyZWRNb2R1bGVcbn0pXG5leHBvcnQgY2xhc3MgU2hhcmVkTW9kdWxlIHtcbiAgc3RhdGljIGZvckZlYXR1cmUoY29uZmlnOiBTaGFyZWRDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFNoYXJlZE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogU2hhcmVkTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBTaGFyZWRDb25maWcsXG4gICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogU2hhcmVkQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxTaGFyZWRNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFNoYXJlZE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogU2hhcmVkQ29uZmlnLFxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maWcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgdXNlRmFjdG9yeTogaW5pdGlhbGl6ZUFwcCxcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICBkZXBzOiBbQ29uZmlnc0ZhY2FkZV0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2Z0MDAxLW1vYmlsZW1zLWFuZ3VsYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zaGFyZWQvYW5ndWxhci9zcmMvc21hcnRzb2Z0MDAxLW1vYmlsZW1zLWFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i1.AppComponent"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,13 +1,12 @@
1
1
  import { TranslateService } from '@ngx-translate/core';
2
2
  import { Config, Page } from '@smartsoft001-mobilems/models';
3
3
  import * as i0 from '@angular/core';
4
- import { ModuleWithProviders, ElementRef, Signal, AfterContentInit, TemplateRef } from '@angular/core';
4
+ import { ModuleWithProviders, Signal, AfterContentInit, TemplateRef } from '@angular/core';
5
5
  import * as i1 from '@angular/router';
6
- import * as i3 from '@smartsoft001/angular';
7
6
  import { AppBaseComponent, PageBaseComponent, BaseComponent } from '@smartsoft001/angular';
7
+ import { Observable } from 'rxjs';
8
8
  import { CrudService, ICrudFilter, ICrudFilterQueryItem } from '@smartsoft001/crud-shell-angular';
9
9
  import { IEntity } from '@smartsoft001/domain-core';
10
- import { Observable } from 'rxjs';
11
10
 
12
11
  declare function setTranslationsAndLang(service: TranslateService): void;
13
12
  interface ITranslateData {
@@ -46,17 +45,10 @@ declare class SharedModule {
46
45
  static forFeature(config: SharedConfig): ModuleWithProviders<SharedModule>;
47
46
  static forRoot(config: SharedConfig): ModuleWithProviders<SharedModule>;
48
47
  static ɵfac: i0.ɵɵFactoryDeclaration<SharedModule, never>;
49
- static ɵmod: i0.ɵɵNgModuleDeclaration<SharedModule, never, [typeof i1.RouterModule, typeof AppComponent], [typeof i3.SharedModule]>;
48
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SharedModule, never, [typeof i1.RouterModule, typeof AppComponent], [typeof AppComponent]>;
50
49
  static ɵinj: i0.ɵɵInjectorDeclaration<SharedModule>;
51
50
  }
52
51
 
53
- declare class StyleService {
54
- private styleService;
55
- init(elementRef: ElementRef): void;
56
- static ɵfac: i0.ɵɵFactoryDeclaration<StyleService, never>;
57
- static ɵprov: i0.ɵɵInjectableDeclaration<StyleService>;
58
- }
59
-
60
52
  declare class ConfigsService {
61
53
  private readonly httpClient;
62
54
  private readonly config;
@@ -66,25 +58,6 @@ declare class ConfigsService {
66
58
  static ɵprov: i0.ɵɵInjectableDeclaration<ConfigsService>;
67
59
  }
68
60
 
69
- declare abstract class CrudBaseService<T extends IEntity<string>> extends CrudService<T> {
70
- abstract getUrlNameForDetails(): string;
71
- abstract getUrlNameForList(): string;
72
- downloadPdf(name: string, id: string): Promise<void>;
73
- getById(id: string): Promise<T>;
74
- getList<T>(filter?: ICrudFilter): Promise<{
75
- data: T[];
76
- totalCount: number;
77
- links: unknown;
78
- }>;
79
- protected getBaseListUrl(page: number, filter: {
80
- limit: number;
81
- }): string;
82
- protected handleError(err: unknown & {
83
- status: number;
84
- }): Observable<any>;
85
- protected getQueryType(type: '=' | '!=' | '>=' | '<=' | '<' | '>', isArray: boolean): "" | "[from]" | "[to]" | "[]";
86
- }
87
-
88
61
  interface IDictionaryItem {
89
62
  id: number;
90
63
  name: string;
@@ -107,7 +80,26 @@ declare class DictionaryService<T> {
107
80
  static ɵprov: i0.ɵɵInjectableDeclaration<DictionaryService<any>>;
108
81
  }
109
82
 
110
- declare const SERVICES: (typeof StyleService | typeof ConfigsService | typeof CrudBaseService | typeof DictionaryService | typeof ConfigsFacade)[];
83
+ declare abstract class CrudBaseService<T extends IEntity<string>> extends CrudService<T> {
84
+ abstract getUrlNameForDetails(): string;
85
+ abstract getUrlNameForList(): string;
86
+ downloadPdf(name: string, id: string): Promise<void>;
87
+ getById(id: string): Promise<T>;
88
+ getList<T>(filter?: ICrudFilter): Promise<{
89
+ data: T[];
90
+ totalCount: number;
91
+ links: unknown;
92
+ }>;
93
+ protected getBaseListUrl(page: number, filter: {
94
+ limit: number;
95
+ }): string;
96
+ protected handleError(err: unknown & {
97
+ status: number;
98
+ }): Observable<any>;
99
+ protected getQueryType(type: '=' | '!=' | '>=' | '<=' | '<' | '>', isArray: boolean): "[from]" | "[to]" | "[]" | "";
100
+ }
101
+
102
+ declare const SERVICES: (typeof ConfigsFacade | typeof DictionaryService | typeof ConfigsService)[];
111
103
 
112
104
  declare class PageComponent extends PageBaseComponent {
113
105
  static ɵfac: i0.ɵɵFactoryDeclaration<PageComponent, never>;
@@ -196,5 +188,5 @@ declare abstract class FiltersBaseComponent<T extends IEntity<string>> implement
196
188
 
197
189
  declare const COMPONENTS: (typeof AppComponent)[];
198
190
 
199
- export { AppComponent, COMPONENTS, ConfigsFacade, ConfigsService, CrudBaseService, DictionaryService, FiltersBaseComponent, FiltersContext, PageComponent, SERVICES, SharedConfig, SharedModule, StyleService, TRANSLATE_DATA_PL, environment, setTranslationsAndLang };
191
+ export { AppComponent, COMPONENTS, ConfigsFacade, ConfigsService, CrudBaseService, DictionaryService, FiltersBaseComponent, FiltersContext, PageComponent, SERVICES, SharedConfig, SharedModule, TRANSLATE_DATA_PL, environment, setTranslationsAndLang };
200
192
  export type { FilterType, IDictionaryItem, ITranslateData };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartsoft001-mobilems/angular",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "module": "fesm2022/smartsoft001-mobilems-angular.mjs",
5
5
  "typings": "index.d.ts",
6
6
  "exports": {