bx-rest 0.0.9 → 0.0.11

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.
Files changed (73) hide show
  1. package/consts/part-name-metods.d.ts +11 -0
  2. package/esm2020/consts/part-name-metods.mjs +12 -0
  3. package/esm2020/functions/serializeJavascript.mjs +200 -0
  4. package/esm2020/public-api.mjs +3 -3
  5. package/esm2020/{rest → request}/bx-rest.module.mjs +1 -1
  6. package/esm2020/request/user/user.mjs +263 -0
  7. package/esm2020/services/http/HttpBX.mjs +128 -0
  8. package/esm2020/services/http/HttpData.mjs +124 -0
  9. package/esm2020/services/http/base/base.mjs +29 -0
  10. package/esm2020/services/http/base/http.mjs +28 -0
  11. package/esm2020/services/http/http.mjs +135 -0
  12. package/esm2020/services/http/sessionKey.mjs +180 -0
  13. package/esm2020/services/map/base.mjs +14 -0
  14. package/esm2020/services/map/rest/user.mjs +89 -0
  15. package/esm2020/services/snack-bar/snack-bar.service.mjs +42 -0
  16. package/esm2020/services/snack-bar/toast-message/toast-message.component.mjs +31 -0
  17. package/esm2020/services/vanilla/JSON.mjs +20 -0
  18. package/esm2020/services/vanilla/localStorage.mjs +35 -0
  19. package/esm2020/services/vanilla//321/201ookies.mjs +44 -0
  20. package/esm2020/store/auth.mjs +26 -0
  21. package/esm2020/store/users.mjs +67 -0
  22. package/esm2020/typification/auth/save.mjs +2 -0
  23. package/esm2020/typification/rest/api-lib.mjs +21 -0
  24. package/esm2020/typification/rest/base/YesNo.mjs +2 -0
  25. package/esm2020/typification/rest/base/httpAnswerBX.mjs +2 -0
  26. package/esm2020/typification/rest/batch/batchRequestParam.mjs +2 -0
  27. package/esm2020/typification/rest/lib.mjs +2 -0
  28. package/esm2020/typification/rest/settings.mjs +2 -0
  29. package/esm2020/typification/rest/support/param.mjs +2 -0
  30. package/esm2020/typification/rest/user/CustomUserFieldInfo.mjs +2 -0
  31. package/esm2020/typification/rest/user/UserFilterSearch.mjs +2 -0
  32. package/esm2020/typification/rest/user/get.mjs +2 -0
  33. package/esm2020/typification/rest/user/user.mjs +2 -0
  34. package/esm2020/typification/rest/user/userFilter.mjs +2 -0
  35. package/fesm2015/bx-rest.mjs +343 -42
  36. package/fesm2015/bx-rest.mjs.map +1 -1
  37. package/fesm2020/bx-rest.mjs +342 -41
  38. package/fesm2020/bx-rest.mjs.map +1 -1
  39. package/functions/serializeJavascript.d.ts +2 -0
  40. package/package.json +1 -1
  41. package/public-api.d.ts +1 -2
  42. package/request/user/user.d.ts +60 -0
  43. package/services/http/HttpBX.d.ts +26 -0
  44. package/services/http/HttpData.d.ts +13 -0
  45. package/services/http/base/base.d.ts +16 -0
  46. package/services/http/base/http.d.ts +7 -0
  47. package/services/http/http.d.ts +31 -0
  48. package/services/http/sessionKey.d.ts +34 -0
  49. package/services/map/base.d.ts +6 -0
  50. package/services/map/rest/user.d.ts +12 -0
  51. package/services/snack-bar/snack-bar.service.d.ts +12 -0
  52. package/services/snack-bar/toast-message/toast-message.component.d.ts +16 -0
  53. package/services/vanilla/JSON.d.ts +7 -0
  54. package/services/vanilla/localStorage.d.ts +10 -0
  55. package/services/vanilla//321/201ookies.d.ts +9 -0
  56. package/store/auth.d.ts +20 -0
  57. package/store/users.d.ts +34 -0
  58. package/typification/auth/save.d.ts +14 -0
  59. package/typification/rest/api-lib.d.ts +9 -0
  60. package/typification/rest/base/YesNo.d.ts +1 -0
  61. package/typification/rest/base/httpAnswerBX.d.ts +15 -0
  62. package/typification/rest/batch/batchRequestParam.d.ts +16 -0
  63. package/typification/rest/lib.d.ts +18 -0
  64. package/typification/rest/settings.d.ts +6 -0
  65. package/typification/rest/support/param.d.ts +5 -0
  66. package/typification/rest/user/CustomUserFieldInfo.d.ts +56 -0
  67. package/typification/rest/user/UserFilterSearch.d.ts +43 -0
  68. package/typification/rest/user/get.d.ts +13 -0
  69. package/typification/rest/user/user.d.ts +62 -0
  70. package/typification/rest/user/userFilter.d.ts +13 -0
  71. package/bx-rest.service.d.ts +0 -6
  72. package/esm2020/bx-rest.service.mjs +0 -14
  73. /package/{rest → request}/bx-rest.module.d.ts +0 -0
@@ -0,0 +1,180 @@
1
+ import { Injectable } from '@angular/core';
2
+ import Cookies from '../../services/vanilla/сookies';
3
+ // import { environment as env } from 'bx-rest/environments/environment'
4
+ import { filter, Subscription, take } from 'rxjs';
5
+ import { saveAccessToken } from '../../store/auth';
6
+ import { map } from 'rxjs/operators';
7
+ import { BaseServices } from '../../services/base';
8
+ import { LocalStorageServices as LocalStorage } from '../../services/vanilla/localStorage';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@ngrx/store";
11
+ import * as i2 from "@angular/router";
12
+ import * as i3 from "../../typification/rest/api-lib";
13
+ export default class SessionKeyServices extends BaseServices {
14
+ constructor(store, route, BxApiLib) {
15
+ super();
16
+ this.store = store;
17
+ this.route = route;
18
+ this.BxApiLib = BxApiLib;
19
+ this.authHave = false;
20
+ this.subscribe = {
21
+ authData: new Subscription()
22
+ };
23
+ this.authData$ = this.store.select('auth');
24
+ this.authData$.subscribe(authData => {
25
+ if ((authData && !authData.access_token.length) || !authData) {
26
+ // получаем токен по собственным каналом (в битриксе приложение trace:apps.trace)
27
+ window.addEventListener('message', (event) => {
28
+ if (event.origin !== window.origin) { // проверяем что это не наше сообщение (с текущего приложения)
29
+ if (event.data && event.data.param) {
30
+ if (typeof event.data.param === 'string') {
31
+ event.data.param = JSON.parse(event.data.param);
32
+ }
33
+ let save = {};
34
+ if (event.data.param.access_token) {
35
+ let param = event.data.param;
36
+ save.access_token = event.data.param.access_token;
37
+ save = {
38
+ access_token: (param.access_token) ? param.access_token : undefined,
39
+ client_endpoint: (param.client_endpoint) ? param.client_endpoint : undefined,
40
+ domain: (param.domain) ? param.domain : undefined,
41
+ expires: (param.expires) ? param.expires : undefined,
42
+ expires_in: (param.expires_in) ? param.expires_in : undefined,
43
+ member_id: (param.member_id) ? param.member_id : undefined,
44
+ refresh_token: (param.refresh_token) ? param.refresh_token : undefined,
45
+ scope: (param.scope) ? param.scope : undefined,
46
+ server_endpoint: (param.server_endpoint) ? param.server_endpoint : undefined,
47
+ status: (param.status) ? param.status : undefined,
48
+ user_id: (param.user_id) ? param.user_id : undefined,
49
+ type: (param.type) ? param.type : undefined,
50
+ };
51
+ }
52
+ if (Object.keys(save).length && save.access_token) {
53
+ this.store.dispatch(saveAccessToken(save));
54
+ this.subscribeAll();
55
+ }
56
+ }
57
+ }
58
+ });
59
+ this.subscribe.authData = this.route.queryParamMap
60
+ .pipe(filter(param => param.has('AUTH_ID')
61
+ || param.has('access_token')
62
+ || param.has('REFRESH_ID')
63
+ || param.has('DOMAIN')))
64
+ .subscribe((param) => {
65
+ let save = {};
66
+ if (param.has('AUTH_ID') && !authData.access_token.length) {
67
+ const get = param.get('AUTH_ID');
68
+ if (get) {
69
+ Cookies.set('auth', get); // потом убрать
70
+ save.access_token = get;
71
+ }
72
+ }
73
+ if (param.has('access_token') && !authData.access_token.length) {
74
+ const get = param.get('access_token');
75
+ if (get) {
76
+ Cookies.set('auth', get); // потом убрать
77
+ save.access_token = get;
78
+ }
79
+ }
80
+ if (param.has('REFRESH_ID') && !authData.refresh_token.length) {
81
+ const get = param.get('REFRESH_ID');
82
+ if (get) {
83
+ save.refresh_token = get;
84
+ }
85
+ }
86
+ if (param.has('DOMAIN') && !authData.domain.length) {
87
+ const get = param.get('DOMAIN');
88
+ if (get) {
89
+ save.domain = get;
90
+ }
91
+ }
92
+ if (Object.keys(save).length && save.access_token) {
93
+ this.store.dispatch(saveAccessToken(save));
94
+ this.subscribeAll();
95
+ }
96
+ else {
97
+ // если битрикс не шлёт нужные мне параметры на прямую
98
+ // просим их мне отдать так как описано это в документации
99
+ let f = () => {
100
+ if (this.BxApiLib.BX24) {
101
+ const initDate = this.BxApiLib.BX24.getAuth();
102
+ this.store.dispatch(saveAccessToken(initDate));
103
+ }
104
+ };
105
+ this.BxApiLib.init(f);
106
+ }
107
+ });
108
+ }
109
+ else if (this.getAuth().length) {
110
+ this.authHave = true;
111
+ }
112
+ this.authData = authData;
113
+ });
114
+ }
115
+ subscribeAll() {
116
+ this.subscribe.authData.unsubscribe();
117
+ }
118
+ getAuth() {
119
+ if (window.BX && window.BX.bitrix_sessid()) {
120
+ return window.BX.bitrix_sessid();
121
+ }
122
+ else if (this.getSessid().length) {
123
+ let str = this.getSessid();
124
+ return (str) ? str : '';
125
+ }
126
+ else {
127
+ return Cookies.get('auth');
128
+ }
129
+ }
130
+ getKeyAuth() {
131
+ if (window.BX && window.BX.bitrix_sessid()
132
+ || this.getSessid().length) {
133
+ return 'sessid';
134
+ }
135
+ else {
136
+ return 'auth';
137
+ }
138
+ }
139
+ getSessid() {
140
+ const check = new URLSearchParams(document.location.search).get('sessid');
141
+ if (check) {
142
+ LocalStorage.set('sessid', check);
143
+ return check;
144
+ }
145
+ else if (LocalStorage.get('sessid')) {
146
+ return LocalStorage.get('sessid');
147
+ }
148
+ return '';
149
+ }
150
+ setAuthParams(params) {
151
+ const keyAuth = this.getKeyAuth();
152
+ if (params[keyAuth]) {
153
+ return true;
154
+ }
155
+ else if (keyAuth) {
156
+ params[keyAuth] = this.getAuth();
157
+ return true;
158
+ }
159
+ return false;
160
+ }
161
+ getAuthParams() {
162
+ // if (env.production && !env.component) {
163
+ return this.authData$.pipe(take(1), map(v => (v) ? v.access_token : undefined));
164
+ // } else {
165
+ // return of(this.getAuth())
166
+ // }
167
+ }
168
+ getBaseUrl() {
169
+ return this.authData$.pipe(map(v => (v && v.domain) ? this.prepareBaseAddress(v.domain, 'b24.trace-studio.com') : undefined));
170
+ }
171
+ }
172
+ SessionKeyServices.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionKeyServices, deps: [{ token: i1.Store }, { token: i2.ActivatedRoute }, { token: i3.RestServices }], target: i0.ɵɵFactoryTarget.Injectable });
173
+ SessionKeyServices.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionKeyServices, providedIn: 'root' });
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionKeyServices, decorators: [{
175
+ type: Injectable,
176
+ args: [{
177
+ providedIn: 'root'
178
+ }]
179
+ }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.ActivatedRoute }, { type: i3.RestServices }]; } });
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbktleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2h0dHAvc2Vzc2lvbktleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sT0FBTyxNQUFNLGdDQUFnQyxDQUFBO0FBR3BELHdFQUF3RTtBQUN4RSxPQUFPLEVBQUUsTUFBTSxFQUFjLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBMkIsTUFBTSxrQkFBa0IsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ2xELE9BQU8sRUFBRSxvQkFBb0IsSUFBSSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTs7Ozs7QUFRMUYsTUFBTSxDQUFDLE9BQU8sT0FBTyxrQkFBbUIsU0FBUSxZQUFZO0lBU3hELFlBQ1csS0FBMkMsRUFDMUMsS0FBcUIsRUFDdEIsUUFBc0I7UUFFN0IsS0FBSyxFQUFFLENBQUE7UUFKQSxVQUFLLEdBQUwsS0FBSyxDQUFzQztRQUMxQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFjO1FBVmpDLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFHaEIsY0FBUyxHQUFHO1lBQ1IsUUFBUSxFQUFFLElBQUksWUFBWSxFQUFFO1NBQy9CLENBQUE7UUFRRyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxRQUFRLElB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Q0YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDdEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FDcEcsQ0FBQTtJQUNULENBQUM7OytHQXJMZ0Isa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGdkIsTUFBTTsyRkFFRCxrQkFBa0I7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgQ29va2llcyBmcm9tICcuLi8uLi9zZXJ2aWNlcy92YW5pbGxhL9GBb29raWVzJ1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSdcbmltcG9ydCBzYXZlQXBwbGljYXRpb25BdXRoIGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9hdXRoL3NhdmUnXG4vLyBpbXBvcnQgeyBlbnZpcm9ubWVudCBhcyBlbnYgfSBmcm9tICdieC1yZXN0L2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCdcbmltcG9ydCB7IGZpbHRlciwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCB0YWtlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbU1hcCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcbmltcG9ydCB7IHNhdmVBY2Nlc3NUb2tlbiwgc2F2ZUFwcGxpY2F0aW9uQXV0aFBhdGggfSBmcm9tICcuLi8uLi9zdG9yZS9hdXRoJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBCYXNlU2VydmljZXMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9iYXNlJ1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZXMgYXMgTG9jYWxTdG9yYWdlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmFuaWxsYS9sb2NhbFN0b3JhZ2UnXG5pbXBvcnQgeyBSZXN0U2VydmljZXMgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9hcGktbGliJ1xuXG50eXBlIElLZXlBdXRoID0gJ3Nlc3NpZCcgfCAnYXV0aCcgfCBzdHJpbmdcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNlc3Npb25LZXlTZXJ2aWNlcyBleHRlbmRzIEJhc2VTZXJ2aWNlcyB7XG5cbiAgICBhdXRoSGF2ZSA9IGZhbHNlXG4gICAgYXV0aERhdGEkOiBPYnNlcnZhYmxlPHNhdmVBcHBsaWNhdGlvbkF1dGg+XG4gICAgYXV0aERhdGE6IHNhdmVBcHBsaWNhdGlvbkF1dGggfCB1bmRlZmluZWRcbiAgICBzdWJzY3JpYmUgPSB7XG4gICAgICAgIGF1dGhEYXRhOiBuZXcgU3Vic2NyaXB0aW9uKClcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHN0b3JlOiBTdG9yZTx7IGF1dGg6IHNhdmVBcHBsaWNhdGlvbkF1dGggfT4sXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwdWJsaWMgQnhBcGlMaWI6IFJlc3RTZXJ2aWNlcyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKVxuICAgICAgICB0aGlzLmF1dGhEYXRhJCA9IHRoaXMuc3RvcmUuc2VsZWN0KCdhdXRoJylcbiAgICAgICAgdGhpcy5hdXRoRGF0YSQuc3Vic2NyaWJlKGF1dGhEYXRhID0+IHtcbiAgICAgICAgICAgIGlmICgoYXV0aERhdGEgJiYgIWF1dGhEYXRhLmFjY2Vzc190b2tlbi5sZW5ndGgpIHx8ICFhdXRoRGF0YSkge1xuICAgICAgICAgICAgICAgIC8vINC/0L7Qu9GD0YfQsNC10Lwg0YLQvtC60LXQvSDQv9C+INGB0L7QsdGB0YLQstC10L3QvdGL0Lwg0LrQsNC90LDQu9C+0LwgKNCyINCx0LjRgtGA0LjQutGB0LUg0L/RgNC40LvQvtC20LXQvdC40LUgdHJhY2U6YXBwcy50cmFjZSlcbiAgICAgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gIT09IHdpbmRvdy5vcmlnaW4pIHsgLy8g0L/RgNC+0LLQtdGA0Y/QtdC8INGH0YLQviDRjdGC0L4g0L3QtSDQvdCw0YjQtSDRgdC+0L7QsdGJ0LXQvdC40LUgKNGBINGC0LXQutGD0YnQtdCz0L4g0L/RgNC40LvQvtC20LXQvdC40Y8pXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YSAmJiBldmVudC5kYXRhLnBhcmFtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBldmVudC5kYXRhLnBhcmFtID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5kYXRhLnBhcmFtID0gSlNPTi5wYXJzZShldmVudC5kYXRhLnBhcmFtKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzYXZlOiBzYXZlQXBwbGljYXRpb25BdXRoUGF0aCA9IHt9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5wYXJhbS5hY2Nlc3NfdG9rZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBhcmFtID0gZXZlbnQuZGF0YS5wYXJhbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZS5hY2Nlc3NfdG9rZW4gPSBldmVudC5kYXRhLnBhcmFtLmFjY2Vzc190b2tlblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzX3Rva2VuOiAocGFyYW0uYWNjZXNzX3Rva2VuKSA/IHBhcmFtLmFjY2Vzc190b2tlbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudF9lbmRwb2ludDogKHBhcmFtLmNsaWVudF9lbmRwb2ludCkgPyBwYXJhbS5jbGllbnRfZW5kcG9pbnQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW46IChwYXJhbS5kb21haW4pID8gcGFyYW0uZG9tYWluIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJlczogKHBhcmFtLmV4cGlyZXMpID8gcGFyYW0uZXhwaXJlcyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGlyZXNfaW46IChwYXJhbS5leHBpcmVzX2luKSA/IHBhcmFtLmV4cGlyZXNfaW4gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1iZXJfaWQ6IChwYXJhbS5tZW1iZXJfaWQpID8gcGFyYW0ubWVtYmVyX2lkIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaF90b2tlbjogKHBhcmFtLnJlZnJlc2hfdG9rZW4pID8gcGFyYW0ucmVmcmVzaF90b2tlbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlOiAocGFyYW0uc2NvcGUpID8gcGFyYW0uc2NvcGUgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfZW5kcG9pbnQ6IChwYXJhbS5zZXJ2ZXJfZW5kcG9pbnQpID8gcGFyYW0uc2VydmVyX2VuZHBvaW50IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAocGFyYW0uc3RhdHVzKSA/IHBhcmFtLnN0YXR1cyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6IChwYXJhbS51c2VyX2lkKSA/IHBhcmFtLnVzZXJfaWQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAocGFyYW0udHlwZSkgPyBwYXJhbS50eXBlIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKHNhdmUpLmxlbmd0aCAmJiBzYXZlLmFjY2Vzc190b2tlbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNhdmVBY2Nlc3NUb2tlbihzYXZlKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVBbGwoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmliZS5hdXRoRGF0YSA9IHRoaXMucm91dGUucXVlcnlQYXJhbU1hcFxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcihwYXJhbSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtLmhhcygnQVVUSF9JRCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgcGFyYW0uaGFzKCdhY2Nlc3NfdG9rZW4nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IHBhcmFtLmhhcygnUkVGUkVTSF9JRCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgcGFyYW0uaGFzKCdET01BSU4nKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHBhcmFtOiBQYXJhbU1hcCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNhdmU6IHNhdmVBcHBsaWNhdGlvbkF1dGhQYXRoID0ge31cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJhbS5oYXMoJ0FVVEhfSUQnKSAmJiAhYXV0aERhdGEuYWNjZXNzX3Rva2VuLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdldCA9IHBhcmFtLmdldCgnQVVUSF9JRCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb29raWVzLnNldCgnYXV0aCcsIGdldCkgLy8g0L/QvtGC0L7QvCDRg9Cx0YDQsNGC0YxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZS5hY2Nlc3NfdG9rZW4gPSBnZXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJhbS5oYXMoJ2FjY2Vzc190b2tlbicpICYmICFhdXRoRGF0YS5hY2Nlc3NfdG9rZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2V0ID0gcGFyYW0uZ2V0KCdhY2Nlc3NfdG9rZW4nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llcy5zZXQoJ2F1dGgnLCBnZXQpIC8vINC/0L7RgtC+0Lwg0YPQsdGA0LDRgtGMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUuYWNjZXNzX3Rva2VuID0gZ2V0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFyYW0uaGFzKCdSRUZSRVNIX0lEJykgJiYgIWF1dGhEYXRhLnJlZnJlc2hfdG9rZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2V0ID0gcGFyYW0uZ2V0KCdSRUZSRVNIX0lEJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZ2V0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUucmVmcmVzaF90b2tlbiA9IGdldFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmFtLmhhcygnRE9NQUlOJykgJiYgIWF1dGhEYXRhLmRvbWFpbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnZXQgPSBwYXJhbS5nZXQoJ0RPTUFJTicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlLmRvbWFpbiA9IGdldFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhzYXZlKS5sZW5ndGggJiYgc2F2ZS5hY2Nlc3NfdG9rZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNhdmVBY2Nlc3NUb2tlbihzYXZlKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmliZUFsbCgpXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vINC10YHQu9C4INCx0LjRgtGA0LjQutGBINC90LUg0YjQu9GR0YIg0L3Rg9C20L3Ri9C1INC80L3QtSDQv9Cw0YDQsNC80LXRgtGA0Ysg0L3QsCDQv9GA0Y/QvNGD0Y5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDQv9GA0L7RgdC40Lwg0LjRhSDQvNC90LUg0L7RgtC00LDRgtGMINGC0LDQuiDQutCw0Log0L7Qv9C40YHQsNC90L4g0Y3RgtC+INCyINC00L7QutGD0LzQtdC90YLQsNGG0LjQuFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5CeEFwaUxpYi5CWDI0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbml0RGF0ZSA9IHRoaXMuQnhBcGlMaWIuQlgyNC5nZXRBdXRoKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2F2ZUFjY2Vzc1Rva2VuKGluaXREYXRlKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuQnhBcGlMaWIuaW5pdChmKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0QXV0aCgpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXV0aEhhdmUgPSB0cnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuYXV0aERhdGEgPSBhdXRoRGF0YVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIHN1YnNjcmliZUFsbCgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmUuYXV0aERhdGEudW5zdWJzY3JpYmUoKVxuICAgIH1cblxuICAgIGdldEF1dGgoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCg8YW55PndpbmRvdykuQlggJiYgKDxhbnk+d2luZG93KS5CWC5iaXRyaXhfc2Vzc2lkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiAoPGFueT53aW5kb3cpLkJYLmJpdHJpeF9zZXNzaWQoKVxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0U2Vzc2lkKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICBsZXQgc3RyID0gdGhpcy5nZXRTZXNzaWQoKVxuICAgICAgICAgICAgcmV0dXJuIChzdHIpID8gc3RyIDogJydcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBDb29raWVzLmdldCgnYXV0aCcpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRLZXlBdXRoKCk6IElLZXlBdXRoIHtcbiAgICAgICAgaWYgKCg8YW55PndpbmRvdykuQlggJiYgKDxhbnk+d2luZG93KS5CWC5iaXRyaXhfc2Vzc2lkKClcbiAgICAgICAgICAgIHx8IHRoaXMuZ2V0U2Vzc2lkKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3Nlc3NpZCdcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnYXV0aCdcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFNlc3NpZCgpIHtcbiAgICAgICAgY29uc3QgY2hlY2sgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KCdzZXNzaWQnKVxuICAgICAgICBpZiAoY2hlY2spIHtcbiAgICAgICAgICAgIExvY2FsU3RvcmFnZS5zZXQoJ3Nlc3NpZCcsIGNoZWNrKVxuICAgICAgICAgICAgcmV0dXJuIGNoZWNrXG4gICAgICAgIH0gZWxzZSBpZiAoTG9jYWxTdG9yYWdlLmdldCgnc2Vzc2lkJykpIHtcbiAgICAgICAgICAgIHJldHVybiBMb2NhbFN0b3JhZ2UuZ2V0KCdzZXNzaWQnKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJ1xuICAgIH1cblxuICAgIHNldEF1dGhQYXJhbXM8VD4ocGFyYW1zOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qga2V5QXV0aCA9IHRoaXMuZ2V0S2V5QXV0aCgpXG4gICAgICAgIGlmIChwYXJhbXNba2V5QXV0aF0pIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH0gZWxzZSBpZiAoa2V5QXV0aCkge1xuICAgICAgICAgICAgcGFyYW1zW2tleUF1dGhdID0gdGhpcy5nZXRBdXRoKClcbiAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgZ2V0QXV0aFBhcmFtcygpOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgICAgICAvLyBpZiAoZW52LnByb2R1Y3Rpb24gJiYgIWVudi5jb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmF1dGhEYXRhJC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgbWFwKHYgPT4gKHYpID8gdi5hY2Nlc3NfdG9rZW4gOiB1bmRlZmluZWQpXG4gICAgICAgICAgICApXG4gICAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICByZXR1cm4gb2YodGhpcy5nZXRBdXRoKCkpXG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICBnZXRCYXNlVXJsKCk6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hdXRoRGF0YSQucGlwZShcbiAgICAgICAgICAgICAgICBtYXAodiA9PiAodiAmJiB2LmRvbWFpbikgPyB0aGlzLnByZXBhcmVCYXNlQWRkcmVzcyh2LmRvbWFpbiwgJ2IyNC50cmFjZS1zdHVkaW8uY29tJykgOiB1bmRlZmluZWQpXG4gICAgICAgICAgICApXG4gICAgfVxuXG4gICAgLy8gZ2V0SG9tZVVybCgpOiBzdHJpbmcge1xuICAgIC8vICAgICByZXR1cm4gZW52LnVybHMuaG9tZVxuICAgIC8vIH1cbn1cbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BaseServices } from '../base';
3
+ import * as i0 from "@angular/core";
4
+ export default class BaseMapServices extends BaseServices {
5
+ }
6
+ BaseMapServices.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseMapServices, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
7
+ BaseMapServices.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseMapServices, providedIn: 'root' });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseMapServices, decorators: [{
9
+ type: Injectable,
10
+ args: [{
11
+ providedIn: 'root'
12
+ }]
13
+ }] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL21hcC9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQTs7QUFLdEMsTUFBTSxDQUFDLE9BQU8sT0FBTyxlQUFnQixTQUFRLFlBQVk7OzRHQUFwQyxlQUFlO2dIQUFmLGVBQWUsY0FGcEIsTUFBTTsyRkFFRCxlQUFlO2tCQUhuQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBCYXNlU2VydmljZXMgfSBmcm9tICcuLi9iYXNlJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJhc2VNYXBTZXJ2aWNlcyBleHRlbmRzIEJhc2VTZXJ2aWNlcyB7XHJcbn1cclxuIl19
@@ -0,0 +1,89 @@
1
+ import { Injectable } from '@angular/core';
2
+ import BaseMapServices from '../base';
3
+ import clone from 'just-clone';
4
+ import * as i0 from "@angular/core";
5
+ export class BitrixApiUserMapServices extends BaseMapServices {
6
+ HttpToBX(user) {
7
+ let res = Object.assign(clone(user), {
8
+ ID: this.toNumber(user.ID),
9
+ IS_ONLINE: this.toBool(user.IS_ONLINE),
10
+ DATE_REGISTER: this.toDate(user.DATE_REGISTER),
11
+ PERSONAL_BIRTHDAY: this.toDate(user.PERSONAL_BIRTHDAY),
12
+ });
13
+ if (user.LAST_LOGIN) {
14
+ res.LAST_LOGIN = this.toDate(user.LAST_LOGIN);
15
+ }
16
+ return res;
17
+ }
18
+ BXtoHttp(user) {
19
+ return Object.assign(clone(user), {
20
+ ID: this.toStr(user.ID),
21
+ IS_ONLINE: this.toBXYorN(user.IS_ONLINE),
22
+ DATE_REGISTER: this.getBXStrTime(user.DATE_REGISTER),
23
+ PERSONAL_BIRTHDAY: this.toStr(user.PERSONAL_BIRTHDAY),
24
+ LAST_LOGIN: this.toStr(user.LAST_LOGIN)
25
+ });
26
+ }
27
+ getFIO(user) {
28
+ let res = '';
29
+ if (!user.LAST_NAME) {
30
+ const SECOND_NAME = (user.SECOND_NAME) ? user.SECOND_NAME : '';
31
+ const NAME = (user.NAME) ? user.NAME : '';
32
+ res = NAME + ' ' + SECOND_NAME;
33
+ }
34
+ else if (!user.NAME) {
35
+ res = user.LAST_NAME;
36
+ }
37
+ else if (!user.SECOND_NAME) {
38
+ res = user.LAST_NAME + ' ' + user.NAME;
39
+ }
40
+ else {
41
+ res = user.LAST_NAME + ' ' + user.NAME + ' ' + user.SECOND_NAME;
42
+ }
43
+ return res.trim();
44
+ }
45
+ getFI(user) {
46
+ let res = '';
47
+ if (!user.LAST_NAME) {
48
+ const NAME = (user.NAME) ? user.NAME : '';
49
+ res = NAME;
50
+ }
51
+ else if (!user.NAME) {
52
+ res = user.LAST_NAME;
53
+ }
54
+ else {
55
+ res = user.LAST_NAME + ' ' + user.NAME;
56
+ }
57
+ return res.trim();
58
+ }
59
+ getFIOShort(user) {
60
+ let res = '';
61
+ if (!user.LAST_NAME) {
62
+ const SECOND_NAME = (user.SECOND_NAME) ? user.SECOND_NAME : '';
63
+ const NAME = (user.NAME) ? user.NAME : '';
64
+ res = NAME + ' ' + SECOND_NAME;
65
+ }
66
+ else if (!user.NAME) {
67
+ res = user.LAST_NAME;
68
+ }
69
+ else if (!user.SECOND_NAME) {
70
+ res = user.LAST_NAME + ' ' + user.NAME.charAt(0).toUpperCase() + '.';
71
+ }
72
+ else {
73
+ res =
74
+ user.LAST_NAME + ' ' +
75
+ user.NAME.charAt(0).toUpperCase() + '.' +
76
+ user.SECOND_NAME.charAt(0).toUpperCase() + '.';
77
+ }
78
+ return res.trim();
79
+ }
80
+ }
81
+ BitrixApiUserMapServices.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BitrixApiUserMapServices, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
82
+ BitrixApiUserMapServices.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BitrixApiUserMapServices, providedIn: 'root' });
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BitrixApiUserMapServices, decorators: [{
84
+ type: Injectable,
85
+ args: [{
86
+ providedIn: 'root'
87
+ }]
88
+ }] });
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL21hcC9yZXN0L3VzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLGVBQWUsTUFBTSxTQUFTLENBQUE7QUFFckMsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFBOztBQUs5QixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsZUFBZTtJQUV6RCxRQUFRLENBQUMsSUFBcUI7UUFDMUIsSUFBSSxHQUFHLEdBQWdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzlDLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDMUIsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUN0QyxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQzlDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1NBQ3pELENBQUMsQ0FBQTtRQUNGLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixHQUFHLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1NBQ2hEO1FBRUQsT0FBTyxHQUFHLENBQUE7SUFDZCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQWlCO1FBQ3RCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDOUIsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN2QixTQUFTLEVB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R0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUE7U0FDdkU7YUFBTTtZQUNILEdBQUc7Z0JBQ0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHO29CQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHO29CQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUE7U0FDckQ7UUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNyQixDQUFDOztxSEF4RVEsd0JBQXdCO3lIQUF4Qix3QkFBd0IsY0FGckIsTUFBTTsyRkFFVCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCBCYXNlTWFwU2VydmljZXMgZnJvbSAnLi4vYmFzZSdcclxuaW1wb3J0IHsgaUJYUmVzdFVzZXIsIGlCWFJlc3RVc2VySHR0cCB9IGZyb20gJy4uLy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3VzZXIvdXNlcidcclxuaW1wb3J0IGNsb25lIGZyb20gJ2p1c3QtY2xvbmUnXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJpdHJpeEFwaVVzZXJNYXBTZXJ2aWNlcyBleHRlbmRzIEJhc2VNYXBTZXJ2aWNlcyB7XHJcblxyXG4gICAgSHR0cFRvQlgodXNlcjogaUJYUmVzdFVzZXJIdHRwKTogaUJYUmVzdFVzZXIge1xyXG4gICAgICAgIGxldCByZXM6IGlCWFJlc3RVc2VyID0gT2JqZWN0LmFzc2lnbihjbG9uZSh1c2VyKSwge1xyXG4gICAgICAgICAgICBJRDogdGhpcy50b051bWJlcih1c2VyLklEKSxcclxuICAgICAgICAgICAgSVNfT05MSU5FOiB0aGlzLnRvQm9vbCh1c2VyLklTX09OTElORSksXHJcbiAgICAgICAgICAgIERBVEVfUkVHSVNURVI6IHRoaXMudG9EYXRlKHVzZXIuREFURV9SRUdJU1RFUiksXHJcbiAgICAgICAgICAgIFBFUlNPTkFMX0JJUlRIREFZOiB0aGlzLnRvRGF0ZSh1c2VyLlBFUlNPTkFMX0JJUlRIREFZKSxcclxuICAgICAgICB9KVxyXG4gICAgICAgIGlmICh1c2VyLkxBU1RfTE9HSU4pIHtcclxuICAgICAgICAgICAgcmVzLkxBU1RfTE9HSU4gPSB0aGlzLnRvRGF0ZSh1c2VyLkxBU1RfTE9HSU4pXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcmVzXHJcbiAgICB9XHJcblxyXG4gICAgQlh0b0h0dHAodXNlcjogaUJYUmVzdFVzZXIpOiBpQlhSZXN0VXNlckh0dHAge1xyXG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGNsb25lKHVzZXIpLCB7XHJcbiAgICAgICAgICAgIElEOiB0aGlzLnRvU3RyKHVzZXIuSUQpLFxyXG4gICAgICAgICAgICBJU19PTkxJTkU6IHRoaXMudG9CWFlvck4odXNlci5JU19PTkxJTkUpLFxyXG4gICAgICAgICAgICBEQVRFX1JFR0lTVEVSOiB0aGlzLmdldEJYU3RyVGltZSh1c2VyLkRBVEVfUkVHSVNURVIpLFxyXG4gICAgICAgICAgICBQRVJTT05BTF9CSVJUSERBWTogdGhpcy50b1N0cih1c2VyLlBFUlNPTkFMX0JJUlRIREFZKSxcclxuICAgICAgICAgICAgTEFTVF9MT0dJTjogdGhpcy50b1N0cih1c2VyLkxBU1RfTE9HSU4pXHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBnZXRGSU8odXNlcjogaUJYUmVzdFVzZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCByZXMgPSAnJ1xyXG4gICAgICAgIGlmICghdXNlci5MQVNUX05BTUUpIHtcclxuICAgICAgICAgICAgY29uc3QgU0VDT05EX05BTUUgPSAodXNlci5TRUNPTkRfTkFNRSkgPyB1c2VyLlNFQ09ORF9OQU1FIDogJydcclxuICAgICAgICAgICAgY29uc3QgTkFNRSA9ICh1c2VyLk5BTUUpID8gdXNlci5OQU1FIDogJydcclxuICAgICAgICAgICAgcmVzID0gTkFNRSArICcgJyArIFNFQ09ORF9OQU1FXHJcbiAgICAgICAgfSBlbHNlIGlmICghdXNlci5OQU1FKSB7XHJcbiAgICAgICAgICAgIHJlcyA9IHVzZXIuTEFTVF9OQU1FXHJcbiAgICAgICAgfSBlbHNlIGlmICghdXNlci5TRUNPTkRfTkFNRSkge1xyXG4gICAgICAgICAgICByZXMgPSB1c2VyLkxBU1RfTkFNRSArICcgJyArIHVzZXIuTkFNRVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJlcyA9IHVzZXIuTEFTVF9OQU1FICsgJyAnICsgdXNlci5OQU1FICsgJyAnICsgdXNlci5TRUNPTkRfTkFNRVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzLnRyaW0oKVxyXG4gICAgfVxyXG5cclxuICAgIGdldEZJKHVzZXI6IGlCWFJlc3RVc2VyKTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgcmVzID0gJydcclxuICAgICAgICBpZiAoIXVzZXIuTEFTVF9OQU1FKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IE5BTUUgPSAodXNlci5OQU1FKSA/IHVzZXIuTkFNRSA6ICcnXHJcbiAgICAgICAgICAgIHJlcyA9IE5BTUVcclxuICAgICAgICB9IGVsc2UgaWYgKCF1c2VyLk5BTUUpIHtcclxuICAgICAgICAgICAgcmVzID0gdXNlci5MQVNUX05BTUVcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXMgPSB1c2VyLkxBU1RfTkFNRSArICcgJyArIHVzZXIuTkFNRVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzLnRyaW0oKVxyXG4gICAgfVxyXG5cclxuICAgIGdldEZJT1Nob3J0KHVzZXI6IGlCWFJlc3RVc2VyKTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgcmVzID0gJydcclxuICAgICAgICBpZiAoIXVzZXIuTEFTVF9OQU1FKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IFNFQ09ORF9OQU1FID0gKHVzZXIuU0VDT05EX05BTUUpID8gdXNlci5TRUNPTkRfTkFNRSA6ICcnXHJcbiAgICAgICAgICAgIGNvbnN0IE5BTUUgPSAodXNlci5OQU1FKSA/IHVzZXIuTkFNRSA6ICcnXHJcbiAgICAgICAgICAgIHJlcyA9IE5BTUUgKyAnICcgKyBTRUNPTkRfTkFNRVxyXG4gICAgICAgIH0gZWxzZSBpZiAoIXVzZXIuTkFNRSkge1xyXG4gICAgICAgICAgICByZXMgPSB1c2VyLkxBU1RfTkFNRVxyXG4gICAgICAgIH0gZWxzZSBpZiAoIXVzZXIuU0VDT05EX05BTUUpIHtcclxuICAgICAgICAgICAgcmVzID0gdXNlci5MQVNUX05BTUUgKyAnICcgKyB1c2VyLk5BTUUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyAnLidcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXMgPVxyXG4gICAgICAgICAgICAgICAgdXNlci5MQVNUX05BTUUgKyAnICcgK1xyXG4gICAgICAgICAgICAgICAgdXNlci5OQU1FLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgJy4nICtcclxuICAgICAgICAgICAgICAgIHVzZXIuU0VDT05EX05BTUUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyAnLidcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlcy50cmltKClcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Сервис для вывода сообщений пользователю
3
+ * TODO: логирование
4
+ */
5
+ import { Injectable } from '@angular/core';
6
+ import { ToastMessageComponent } from '../../services/snack-bar/toast-message/toast-message.component';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/material/snack-bar";
9
+ export default class SnackBarService {
10
+ constructor(snackBar) {
11
+ this.snackBar = snackBar;
12
+ }
13
+ error(message, sec = 12) {
14
+ this.standardMessage(message, sec, 'error');
15
+ }
16
+ warning(message, sec = 7) {
17
+ this.standardMessage(message, sec, 'warning');
18
+ }
19
+ success(message, sec = 7) {
20
+ this.standardMessage(message, sec, 'success');
21
+ }
22
+ standardMessage(message, sec = 5, name = 'error') {
23
+ this.snackBar.open(message);
24
+ this.snackBar.openFromComponent(ToastMessageComponent, {
25
+ duration: sec * 1000,
26
+ data: {
27
+ message: message,
28
+ type: name
29
+ },
30
+ panelClass: name + '-box'
31
+ });
32
+ }
33
+ }
34
+ SnackBarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SnackBarService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
35
+ SnackBarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SnackBarService, providedIn: 'root' });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SnackBarService, decorators: [{
37
+ type: Injectable,
38
+ args: [{
39
+ providedIn: 'root'
40
+ }]
41
+ }], ctorParameters: function () { return [{ type: i1.MatSnackBar }]; } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2stYmFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXJ2aWNlcy9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQTs7O0FBTXRHLE1BQU0sQ0FBQyxPQUFPLE9BQU8sZUFBZTtJQUVsQyxZQUFvQixRQUFxQjtRQUFyQixhQUFRLEdBQVIsUUFBUSxDQUFhO0lBQ3pDLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBZSxFQUFFLEdBQUcsR0FBRyxFQUFFO1FBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQWUsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUM5QixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFlLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDOUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxlQUFlLENBQUMsT0FBZSxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLE9BQU87UUFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsRUFBRTtZQUNyRCxRQUFRLEVBQUUsR0FBRyxHQUFHLElBQUk7WUFDcEIsSUFBSSxFQUFFO2dCQUNKLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixJQUFJLEVBQUUsSUFBSTthQUNYO1lBQ0QsVUFBVSxFQUFFLElBQUksR0FBRyxNQUFNO1NBQzFCLENBQUMsQ0FBQztJQUNMLENBQUM7OzRHQTNCa0IsZUFBZTtnSEFBZixlQUFlLGNBRnRCLE1BQU07MkZBRUMsZUFBZTtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0LLRi9Cy0L7QtNCwINGB0L7QvtCx0YnQtdC90LjQuSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y5cbiAqIFRPRE86INC70L7Qs9C40YDQvtCy0LDQvdC40LVcbiAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBUb2FzdE1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zbmFjay1iYXIvdG9hc3QtbWVzc2FnZS90b2FzdC1tZXNzYWdlLmNvbXBvbmVudCdcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJ1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNuYWNrQmFyU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIpIHtcbiAgfVxuXG4gIGVycm9yKG1lc3NhZ2U6IHN0cmluZywgc2VjID0gMTIpOiB2b2lkIHtcbiAgICB0aGlzLnN0YW5kYXJkTWVzc2FnZShtZXNzYWdlLCBzZWMsICdlcnJvcicpXG4gIH1cblxuICB3YXJuaW5nKG1lc3NhZ2U6IHN0cmluZywgc2VjID0gNyk6IHZvaWQge1xuICAgIHRoaXMuc3RhbmRhcmRNZXNzYWdlKG1lc3NhZ2UsIHNlYywgJ3dhcm5pbmcnKTtcbiAgfVxuXG4gIHN1Y2Nlc3MobWVzc2FnZTogc3RyaW5nLCBzZWMgPSA3KTogdm9pZCB7XG4gICAgdGhpcy5zdGFuZGFyZE1lc3NhZ2UobWVzc2FnZSwgc2VjLCAnc3VjY2VzcycpO1xuICB9XG5cbiAgc3RhbmRhcmRNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZywgc2VjID0gNSwgbmFtZSA9ICdlcnJvcicpOiB2b2lke1xuICAgIHRoaXMuc25hY2tCYXIub3BlbihtZXNzYWdlKTtcbiAgICB0aGlzLnNuYWNrQmFyLm9wZW5Gcm9tQ29tcG9uZW50KFRvYXN0TWVzc2FnZUNvbXBvbmVudCwge1xuICAgICAgZHVyYXRpb246IHNlYyAqIDEwMDAsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXG4gICAgICAgIHR5cGU6IG5hbWVcbiAgICAgIH0sXG4gICAgICBwYW5lbENsYXNzOiBuYW1lICsgJy1ib3gnXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { Component, inject, Inject, ViewEncapsulation } from '@angular/core';
2
+ import { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';
3
+ import { BxRestModule } from '../../../request/bx-rest.module';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/button";
6
+ import * as i2 from "@angular/material/icon";
7
+ export class ToastMessageComponent {
8
+ constructor(data) {
9
+ this.data = data;
10
+ this.snackBarRef = inject(MatSnackBarRef);
11
+ }
12
+ getClass() {
13
+ switch (this.data.type) {
14
+ case 'error':
15
+ case 'warning':
16
+ case 'success':
17
+ return this.data.type + '-message';
18
+ }
19
+ return '';
20
+ }
21
+ }
22
+ ToastMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ToastMessageComponent, deps: [{ token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component });
23
+ ToastMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ToastMessageComponent, isStandalone: true, selector: "app-view", ngImport: i0, template: "<div class=\"w-100 d-flex\">\n <span matSnackBarLabel [class]=\"getClass()\">\n {{ data.message }}\n</span>\n <span matSnackBarActions [class]=\"getClass()\">\n <button mat-button matSnackBarAction (click)=\"snackBarRef.dismissWithAction()\">\n <mat-icon>\n close\n </mat-icon>\n </button>\n</span>\n</div>\n\n", styles: [":host{display:flex;background-color:red}:host .mdc-snackbar__surface{padding:0;margin:0}:host .error-message{color:red}:host.error-box{background-color:#eec1c1}:host.error-box .error-message{color:red}mat-snack-bar-container.mdc-snackbar.error-box .mdc-snackbar__surface{background-color:#eec1c1}mat-snack-bar-container.mdc-snackbar.error-box .error-message{color:red}mat-snack-bar-container.mdc-snackbar.warning-box .mdc-snackbar__surface{background-color:#f0f2b9}mat-snack-bar-container.mdc-snackbar.warning-box .warning-message{color:#15140f}mat-snack-bar-container.mdc-snackbar.success-box .mdc-snackbar__surface{background-color:#daf7d1}mat-snack-bar-container.mdc-snackbar.success-box .success-message{color:#423f31}\n"], dependencies: [{ kind: "ngmodule", type: BxRestModule }, { kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ToastMessageComponent, decorators: [{
25
+ type: Component,
26
+ args: [{ selector: 'app-view', encapsulation: ViewEncapsulation.None, standalone: true, imports: [BxRestModule], template: "<div class=\"w-100 d-flex\">\n <span matSnackBarLabel [class]=\"getClass()\">\n {{ data.message }}\n</span>\n <span matSnackBarActions [class]=\"getClass()\">\n <button mat-button matSnackBarAction (click)=\"snackBarRef.dismissWithAction()\">\n <mat-icon>\n close\n </mat-icon>\n </button>\n</span>\n</div>\n\n", styles: [":host{display:flex;background-color:red}:host .mdc-snackbar__surface{padding:0;margin:0}:host .error-message{color:red}:host.error-box{background-color:#eec1c1}:host.error-box .error-message{color:red}mat-snack-bar-container.mdc-snackbar.error-box .mdc-snackbar__surface{background-color:#eec1c1}mat-snack-bar-container.mdc-snackbar.error-box .error-message{color:red}mat-snack-bar-container.mdc-snackbar.warning-box .mdc-snackbar__surface{background-color:#f0f2b9}mat-snack-bar-container.mdc-snackbar.warning-box .warning-message{color:#15140f}mat-snack-bar-container.mdc-snackbar.success-box .mdc-snackbar__surface{background-color:#daf7d1}mat-snack-bar-container.mdc-snackbar.success-box .success-message{color:#423f31}\n"] }]
27
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
28
+ type: Inject,
29
+ args: [MAT_SNACK_BAR_DATA]
30
+ }] }]; } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtbWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXJ2aWNlcy9zbmFjay1iYXIvdG9hc3QtbWVzc2FnZS90b2FzdC1tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL3NuYWNrLWJhci90b2FzdC1tZXNzYWdlL3RvYXN0LW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUE7Ozs7QUFVOUQsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxZQUErQyxJQUFnRTtRQUFoRSxTQUFJLEdBQUosSUFBSSxDQUE0RDtRQUYvRyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUdwQyxDQUFDO0lBRUQsUUFBUTtRQUNOLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUM7WUFDckIsS0FBSyxPQUFPLENBQUM7WUFDYixLQUFLLFNBQVMsQ0FBQztZQUNmLEtBQUssU0FBUztnQkFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztTQUN0QztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7a0hBZlUscUJBQXFCLGtCQUlaLGtCQUFrQjtzR0FKM0IscUJBQXFCLG9FQ1psQyx3VUFhQSw2d0JESFksWUFBWTsyRkFFWCxxQkFBcUI7a0JBUmpDLFNBQVM7K0JBQ0UsVUFBVSxpQkFHTCxpQkFBaUIsQ0FBQyxJQUFJLGNBQ3pCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzs7MEJBTVYsTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNQVRfU05BQ0tfQkFSX0RBVEEsIE1hdFNuYWNrQmFyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJ1xuaW1wb3J0IHsgQnhSZXN0TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vcmVxdWVzdC9ieC1yZXN0Lm1vZHVsZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QtbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RvYXN0LW1lc3NhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0J4UmVzdE1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0TWVzc2FnZUNvbXBvbmVudCB7XG5cbiAgc25hY2tCYXJSZWYgPSBpbmplY3QoTWF0U25hY2tCYXJSZWYpXG5cbiAgY29uc3RydWN0b3IoQEluamVjdChNQVRfU05BQ0tfQkFSX0RBVEEpIHB1YmxpYyBkYXRhOiB7IG1lc3NhZ2U6IHN0cmluZywgdHlwZTogJ2Vycm9yJyB8ICd3YXJuaW5nJyB8ICdzdWNjZXNzJyB9KSB7XG4gIH1cblxuICBnZXRDbGFzcygpOnN0cmluZ3tcbiAgICBzd2l0Y2ggKHRoaXMuZGF0YS50eXBlKXtcbiAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgIGNhc2UgJ3dhcm5pbmcnOlxuICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEudHlwZSArICctbWVzc2FnZSc7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInctMTAwIGQtZmxleFwiPlxuICA8c3BhbiBtYXRTbmFja0JhckxhYmVsIFtjbGFzc109XCJnZXRDbGFzcygpXCI+XG4gIHt7IGRhdGEubWVzc2FnZSB9fVxuPC9zcGFuPlxuICA8c3BhbiBtYXRTbmFja0JhckFjdGlvbnMgW2NsYXNzXT1cImdldENsYXNzKClcIj5cbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIG1hdFNuYWNrQmFyQWN0aW9uIChjbGljayk9XCJzbmFja0JhclJlZi5kaXNtaXNzV2l0aEFjdGlvbigpXCI+XG4gICAgPG1hdC1pY29uPlxuICAgICAgY2xvc2VcbiAgICA8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvc3Bhbj5cbjwvZGl2PlxuXG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { Injectable } from '@angular/core';
2
+ import serialize from '../../functions/serializeJavascript';
3
+ import * as i0 from "@angular/core";
4
+ export default class JSONServices {
5
+ static deserialize(data) {
6
+ return eval('(' + data + ')');
7
+ }
8
+ static serialize(data) {
9
+ return serialize(data);
10
+ }
11
+ }
12
+ JSONServices.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JSONServices, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
13
+ JSONServices.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JSONServices, providedIn: 'root' });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JSONServices, decorators: [{
15
+ type: Injectable,
16
+ args: [{
17
+ providedIn: 'root'
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSlNPTi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL3ZhbmlsbGEvSlNPTi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sU0FBUyxNQUFNLHFDQUFxQyxDQUFBOztBQUszRCxNQUFNLENBQUMsT0FBTyxPQUFPLFlBQVk7SUFDL0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFTO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUE7SUFDL0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBUztRQUN4QixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QixDQUFDOzt5R0FQa0IsWUFBWTs2R0FBWixZQUFZLGNBRm5CLE1BQU07MkZBRUMsWUFBWTtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCBzZXJpYWxpemUgZnJvbSAnLi4vLi4vZnVuY3Rpb25zL3NlcmlhbGl6ZUphdmFzY3JpcHQnXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSlNPTlNlcnZpY2VzIHtcbiAgc3RhdGljIGRlc2VyaWFsaXplKGRhdGE6IGFueSkge1xuICAgIHJldHVybiBldmFsKCcoJyArIGRhdGEgKyAnKScpXG4gIH1cblxuICBzdGF0aWMgc2VyaWFsaXplKGRhdGE6IGFueSApIHtcbiAgICByZXR1cm4gc2VyaWFsaXplKGRhdGEpXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { Injectable } from '@angular/core';
2
+ import JSON from '../../services/vanilla/JSON';
3
+ import * as i0 from "@angular/core";
4
+ export class LocalStorageServices {
5
+ static get(name) {
6
+ return localStorage.getItem(name);
7
+ }
8
+ static getObj(name) {
9
+ return JSON.deserialize(localStorage.getItem(name));
10
+ }
11
+ static set(name, value) {
12
+ localStorage.setItem(name, value);
13
+ }
14
+ static setObj(name, value) {
15
+ let get = this.get(name);
16
+ if (get && typeof get === 'object') {
17
+ localStorage.setItem(name, JSON.serialize(Object.assign(get, value)));
18
+ }
19
+ else {
20
+ localStorage.setItem(name, JSON.serialize(value));
21
+ }
22
+ }
23
+ static del(name) {
24
+ localStorage.removeItem(name);
25
+ }
26
+ }
27
+ LocalStorageServices.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LocalStorageServices, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
28
+ LocalStorageServices.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LocalStorageServices, providedIn: 'root' });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LocalStorageServices, decorators: [{
30
+ type: Injectable,
31
+ args: [{
32
+ providedIn: 'root'
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvc2VydmljZXMvdmFuaWxsYS9sb2NhbFN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLElBQUksTUFBTSw2QkFBNkIsQ0FBQTs7QUFLOUMsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixNQUFNLENBQUMsR0FBRyxDQUFDLElBQVk7UUFDckIsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ25DLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFJLElBQVk7UUFDM0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUNwQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFZLEVBQUUsS0FBVTtRQUNwQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3hCLElBQUcsR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBQztZQUNoQyxZQUFZLENBQUMsT0FBTyxDQUNsQixJQUFJLEVBQ0osSUFBSSxDQUFDLFNBQVMsQ0FDWixNQUFNLENBQUMsTUFBTSxDQUNYLEdBQUcsRUFDSCxLQUFLLENBQ04sQ0FDRixDQUNGLENBQUE7U0FDRjthQUFNO1lBQ0wsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1NBQ2xEO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWTtRQUNyQixZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQy9CLENBQUM7O2lIQWpDVSxvQkFBb0I7cUhBQXBCLG9CQUFvQixjQUZuQixNQUFNOzJGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCBKU09OIGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZhbmlsbGEvSlNPTidcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTG9jYWxTdG9yYWdlU2VydmljZXMge1xuXG4gIHN0YXRpYyBnZXQobmFtZTogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0obmFtZSlcbiAgfVxuXG4gIHN0YXRpYyBnZXRPYmo8VD4obmFtZTogc3RyaW5nKTogVCB8IG51bGwge1xuICAgIHJldHVybiBKU09OLmRlc2VyaWFsaXplKGxvY2FsU3RvcmFnZS5nZXRJdGVtKG5hbWUpKVxuICB9XG5cbiAgc3RhdGljIHNldChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShuYW1lLCB2YWx1ZSlcbiAgfVxuXG4gIHN0YXRpYyBzZXRPYmoobmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgbGV0IGdldCA9IHRoaXMuZ2V0KG5hbWUpXG4gICAgaWYoZ2V0ICYmIHR5cGVvZiBnZXQgPT09ICdvYmplY3QnKXtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxuICAgICAgICBuYW1lLFxuICAgICAgICBKU09OLnNlcmlhbGl6ZShcbiAgICAgICAgICBPYmplY3QuYXNzaWduKFxuICAgICAgICAgICAgZ2V0LFxuICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0obmFtZSwgSlNPTi5zZXJpYWxpemUodmFsdWUpKVxuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBkZWwobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0obmFtZSlcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { Injectable } from '@angular/core';
2
+ import JSON from '../../services/vanilla/JSON';
3
+ import * as i0 from "@angular/core";
4
+ export default class CookiesServices {
5
+ static get(name) {
6
+ const results = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
7
+ if (results)
8
+ return results[2];
9
+ else
10
+ return '';
11
+ }
12
+ static set(name, value, age = 0) {
13
+ let string = name + '=' + value + ';';
14
+ if (age) {
15
+ string += ' max-age=' + age;
16
+ }
17
+ string += '; SameSite=None; Secure';
18
+ document.cookie = string;
19
+ }
20
+ static setObj(name, value, age = 0) {
21
+ let string = name + '=' + JSON.serialize(value) + ';';
22
+ if (age) {
23
+ string += ' max-age=' + age;
24
+ }
25
+ string += '; SameSite=None; Secure';
26
+ document.cookie = string;
27
+ }
28
+ static getObj(name) {
29
+ const results = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
30
+ if (results) {
31
+ return JSON.deserialize(results[2]);
32
+ }
33
+ return false;
34
+ }
35
+ }
36
+ CookiesServices.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CookiesServices, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
37
+ CookiesServices.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CookiesServices, providedIn: 'root' });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CookiesServices, decorators: [{
39
+ type: Injectable,
40
+ args: [{
41
+ providedIn: 'root'
42
+ }]
43
+ }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoi0YFvb2tpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXJ2aWNlcy92YW5pbGxhL9GBb29raWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxJQUFJLE1BQU0sNkJBQTZCLENBQUE7O0FBSzlDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sZUFBZTtJQUVsQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQVk7UUFDckIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksR0FBRyxlQUFlLENBQUMsQ0FBQztRQUMxRSxJQUFJLE9BQU87WUFDVCxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQTs7WUFFakIsT0FBTyxFQUFFLENBQUE7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLE1BQWMsQ0FBQztRQUNyRCxJQUFJLE1BQU0sR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLEtBQUssR0FBRyxHQUFHLENBQUE7UUFDckMsSUFBRyxHQUFHLEVBQUU7WUFDTixNQUFNLElBQUksV0FBVyxHQUFHLEdBQUcsQ0FBQTtTQUM1QjtRQUNELE1BQU0sSUFBSSx5QkFBeUIsQ0FBQTtRQUNuQyxRQUFRLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFZLEVBQUUsS0FBVSxFQUFFLE1BQWMsQ0FBQztRQUNyRCxJQUFJLE1BQU0sR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFBO1FBQ3JELElBQUcsR0FBRyxFQUFFO1lBQ04sTUFBTSxJQUFJLFdBQVcsR0FBRyxHQUFHLENBQUE7U0FDNUI7UUFDRCxNQUFNLElBQUkseUJBQXlCLENBQUE7UUFDbkMsUUFBUSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7SUFDMUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUksSUFBWTtRQUMzQixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxHQUFHLGVBQWUsQ0FBQyxDQUFDO1FBQzFFLElBQUksT0FBTyxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQ3BDO1FBRUQsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDOzs0R0FuQ2tCLGVBQWU7Z0hBQWYsZUFBZSxjQUZ0QixNQUFNOzJGQUVDLGVBQWU7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgSlNPTiBmcm9tICcuLi8uLi9zZXJ2aWNlcy92YW5pbGxhL0pTT04nXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29va2llc1NlcnZpY2VzIHtcblxuICBzdGF0aWMgZ2V0KG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcmVzdWx0cyA9IGRvY3VtZW50LmNvb2tpZS5tYXRjaCgnKF58OykgPycgKyBuYW1lICsgJz0oW147XSopKDt8JCknKTtcbiAgICBpZiAocmVzdWx0cylcbiAgICAgIHJldHVybiByZXN1bHRzWzJdXG4gICAgZWxzZVxuICAgICAgcmV0dXJuICcnXG4gIH1cblxuICBzdGF0aWMgc2V0KG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZywgYWdlOiBudW1iZXIgPSAwKSB7XG4gICAgbGV0IHN0cmluZyA9IG5hbWUgKyAnPScgKyB2YWx1ZSArICc7J1xuICAgIGlmKGFnZSkge1xuICAgICAgc3RyaW5nICs9ICcgbWF4LWFnZT0nICsgYWdlXG4gICAgfVxuICAgIHN0cmluZyArPSAnOyBTYW1lU2l0ZT1Ob25lOyBTZWN1cmUnXG4gICAgZG9jdW1lbnQuY29va2llID0gc3RyaW5nXG4gIH1cblxuICBzdGF0aWMgc2V0T2JqKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSwgYWdlOiBudW1iZXIgPSAwKSB7XG4gICAgbGV0IHN0cmluZyA9IG5hbWUgKyAnPScgKyBKU09OLnNlcmlhbGl6ZSh2YWx1ZSkgKyAnOydcbiAgICBpZihhZ2UpIHtcbiAgICAgIHN0cmluZyArPSAnIG1heC1hZ2U9JyArIGFnZVxuICAgIH1cbiAgICBzdHJpbmcgKz0gJzsgU2FtZVNpdGU9Tm9uZTsgU2VjdXJlJ1xuICAgIGRvY3VtZW50LmNvb2tpZSA9IHN0cmluZ1xuICB9XG5cbiAgc3RhdGljIGdldE9iajxUPihuYW1lOiBzdHJpbmcpOiBUIHwgZmFsc2Uge1xuICAgIGNvbnN0IHJlc3VsdHMgPSBkb2N1bWVudC5jb29raWUubWF0Y2goJyhefDspID8nICsgbmFtZSArICc9KFteO10qKSg7fCQpJyk7XG4gICAgaWYgKHJlc3VsdHMpIHtcbiAgICAgIHJldHVybiBKU09OLmRlc2VyaWFsaXplKHJlc3VsdHNbMl0pXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { createReducer, on, props } from '@ngrx/store';
2
+ import { createAction } from '@ngrx/store';
3
+ import clone from 'just-clone';
4
+ export const save = createAction('[Auth Component] Save', props());
5
+ export const saveAccessToken = createAction('[Auth Component] SaveAccessToken', props());
6
+ export const initialState = {
7
+ access_token: '',
8
+ client_endpoint: '',
9
+ domain: '',
10
+ expires: 0,
11
+ expires_in: 0,
12
+ member_id: '',
13
+ refresh_token: '',
14
+ scope: '',
15
+ server_endpoint: '',
16
+ status: '',
17
+ user_id: 0
18
+ };
19
+ const _authReducer = createReducer(initialState, on(saveAccessToken, (s, data) => {
20
+ let copy = clone(s);
21
+ return Object.assign(copy, data);
22
+ }));
23
+ export function authReducer(state = initialState, action) {
24
+ return _authReducer(state, action);
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3N0b3JlL2F1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLGFBQWEsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFMUMsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFBO0FBZTlCLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxFQUFpRCxDQUFDLENBQUE7QUFDakgsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLEVBQTJCLENBQUMsQ0FBQTtBQUVqSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQXdCO0lBQy9DLFlBQVksRUFBRSxFQUFFO0lBQ2hCLGVBQWUsRUFBRSxFQUFFO0lBQ25CLE1BQU0sRUFBRSxFQUFFO0lBQ1YsT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsQ0FBQztJQUNiLFNBQVMsRUFBRSxFQUFFO0lBQ2IsYUFBYSxFQUFFLEVBQUU7SUFDakIsS0FBSyxFQUFFLEVBQUU7SUFDVCxlQUFlLEVBQUUsRUFBRTtJQUNuQixNQUFNLEVBQUUsRUFBRTtJQUNWLE9BQU8sRUFBRSxDQUFDO0NBQ1gsQ0FBQTtBQUVELE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FDaEMsWUFBWSxFQUNaLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUU7SUFDOUIsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ25CLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7QUFDbEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztBQUVGLE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBSyxHQUFHLFlBQVksRUFBRSxNQUFjO0lBQzlELE9BQU8sWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBjcmVhdGVSZWR1Y2VyLCBvbiwgcHJvcHMgfSBmcm9tICdAbmdyeC9zdG9yZSdcbmltcG9ydCB7IGNyZWF0ZUFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJ1xuaW1wb3J0IHNhdmVBcHBsaWNhdGlvbkF1dGggZnJvbSAnLi4vdHlwaWZpY2F0aW9uL2F1dGgvc2F2ZSdcbmltcG9ydCBjbG9uZSBmcm9tICdqdXN0LWNsb25lJ1xuZXhwb3J0IGludGVyZmFjZSBzYXZlQXBwbGljYXRpb25BdXRoUGF0aCB7XG4gIGFjY2Vzc190b2tlbj86IHN0cmluZywgLy8g0L7RgdC90L7QstC90L7QuSDQsNCy0YLQvtGA0LjQt9Cw0YbQuNC+0L3QvdGL0Lkg0YLQvtC60LXQvSwg0YLRgNC10LHRg9C10LzRi9C5INC00LvRjyDQtNC+0YHRgtGD0L/QsCDQuiBSRVNUIEFQSVxuICBjbGllbnRfZW5kcG9pbnQ/OiBzdHJpbmcsIC8vINCw0LTRgNC10YEgUkVTVC3QuNC90YLQtdGA0YTQtdC50YHQsCDQv9C+0YDRgtCw0LvQsFxuICBkb21haW4/OiBzdHJpbmcsXG4gIGV4cGlyZXM/OiBudW1iZXIsXG4gIGV4cGlyZXNfaW4/OiBudW1iZXIsXG4gIG1lbWJlcl9pZD86IHN0cmluZyxcbiAgcmVmcmVzaF90b2tlbj86IHN0cmluZywgLy8g0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQuSDQsNCy0YLQvtGA0LjQt9Cw0YbQuNC+0L3QvdGL0Lkg0YLQvtC60LXQvSwg0YHQu9GD0LbQsNGJ0LjQuSDQtNC70Y8g0L/RgNC+0LTQu9C10L3QuNGPINGB0L7RhdGA0LDQvdC10L3QvdC+0Lkg0LDQstGC0L7RgNC40LfQsNGG0LjQuFxuICBzY29wZT86IHN0cmluZyxcbiAgc2VydmVyX2VuZHBvaW50Pzogc3RyaW5nLCAvLyDQsNC00YDQtdGBIFJFU1Qt0LjQvdGC0LXRgNGE0LXQudGB0LAg0YHQtdGA0LLQtdGA0LBcbiAgc3RhdHVzPzogc3RyaW5nLCAvLyDRgdGC0LDRgtGD0YEg0L/RgNC40LvQvtC20LXQvdC40Y8g0L3QsCDQv9C+0YDRgtCw0LvQtVxuICB1c2VyX2lkPzogbnVtYmVyXG4gIHR5cGU/OiBzdHJpbmdcbn1cbmV4cG9ydCBjb25zdCBzYXZlID0gY3JlYXRlQWN0aW9uKCdbQXV0aCBDb21wb25lbnRdIFNhdmUnLCBwcm9wczxzYXZlQXBwbGljYXRpb25BdXRoIHwgc2F2ZUFwcGxpY2F0aW9uQXV0aFBhdGg+KCkpXG5leHBvcnQgY29uc3Qgc2F2ZUFjY2Vzc1Rva2VuID0gY3JlYXRlQWN0aW9uKCdbQXV0aCBDb21wb25lbnRdIFNhdmVBY2Nlc3NUb2tlbicsIHByb3BzPHNhdmVBcHBsaWNhdGlvbkF1dGhQYXRoPigpKVxuXG5leHBvcnQgY29uc3QgaW5pdGlhbFN0YXRlOiBzYXZlQXBwbGljYXRpb25BdXRoID0ge1xuICBhY2Nlc3NfdG9rZW46ICcnLFxuICBjbGllbnRfZW5kcG9pbnQ6ICcnLFxuICBkb21haW46ICcnLFxuICBleHBpcmVzOiAwLFxuICBleHBpcmVzX2luOiAwLFxuICBtZW1iZXJfaWQ6ICcnLFxuICByZWZyZXNoX3Rva2VuOiAnJyxcbiAgc2NvcGU6ICcnLFxuICBzZXJ2ZXJfZW5kcG9pbnQ6ICcnLFxuICBzdGF0dXM6ICcnLFxuICB1c2VyX2lkOiAwXG59XG5cbmNvbnN0IF9hdXRoUmVkdWNlciA9IGNyZWF0ZVJlZHVjZXIoXG4gIGluaXRpYWxTdGF0ZSxcbiAgb24oc2F2ZUFjY2Vzc1Rva2VuLCAocywgZGF0YSkgPT4ge1xuICAgIGxldCBjb3B5ID0gY2xvbmUocylcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihjb3B5LCBkYXRhKVxuICB9KSxcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBhdXRoUmVkdWNlcihzdGF0ZSA9IGluaXRpYWxTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pIHtcbiAgcmV0dXJuIF9hdXRoUmVkdWNlcihzdGF0ZSwgYWN0aW9uKTtcbn1cbiJdfQ==