@yuuvis/client-core 2.0.0-beta.0 → 2.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/yuuvis-client-core.mjs +773 -645
- package/fesm2022/yuuvis-client-core.mjs.map +1 -1
- package/index.d.ts +7 -4
- package/lib/model/object-flavor.interface.d.ts +4 -1
- package/lib/provide.client.core.d.ts +58 -0
- package/lib/service/backend/backend.service.d.ts +0 -1
- package/lib/service/config/config.service.d.ts +0 -8
- package/lib/service/core-init/core-init.service.d.ts +1 -7
- package/lib/service/core-init/translate-json-loader.d.ts +1 -1
- package/lib/service/dms/dms.service.d.ts +2 -1
- package/lib/service/object-config/object-config.interface.d.ts +1 -1
- package/lib/service/object-form/object-form-translate.service.d.ts +15 -0
- package/lib/service/{system → object-form}/object-form.interface.d.ts +2 -2
- package/lib/service/object-form/object-form.model.d.ts +45 -0
- package/lib/service/system/system.interface.d.ts +1 -1
- package/lib/service/system/system.service.d.ts +1 -1
- package/lib/service/toast/toast.interface.d.ts +8 -0
- package/lib/service/toast/toast.service.d.ts +17 -0
- package/lib/service/toast/toast.styles.d.ts +1 -0
- package/lib/service/upload/upload.interface.d.ts +1 -1
- package/lib/service/user/user.providers.d.ts +4 -0
- package/lib/service/user/user.service.d.ts +2 -4
- package/package.json +7 -10
- package/esm2022/index.mjs +0 -69
- package/esm2022/lib/client-core.module.mjs +0 -117
- package/esm2022/lib/client-core.shared.module.mjs +0 -18
- package/esm2022/lib/common/pipes/filesize.pipe.mjs +0 -37
- package/esm2022/lib/common/pipes/index.mjs +0 -6
- package/esm2022/lib/common/pipes/keys.pipe.mjs +0 -17
- package/esm2022/lib/common/pipes/locale-date.pipe.mjs +0 -45
- package/esm2022/lib/common/pipes/locale-number.pipe.mjs +0 -115
- package/esm2022/lib/common/pipes/safe-html.pipe.mjs +0 -44
- package/esm2022/lib/common/services/native-notifications.interface.mjs +0 -2
- package/esm2022/lib/common/services/native-notifications.mjs +0 -40
- package/esm2022/lib/model/dms-object.interface.mjs +0 -2
- package/esm2022/lib/model/dms-object.model.mjs +0 -79
- package/esm2022/lib/model/object-flavor.interface.mjs +0 -2
- package/esm2022/lib/model/range-value.interface.mjs +0 -2
- package/esm2022/lib/model/yuv-error.model.mjs +0 -37
- package/esm2022/lib/model/yuv-user.model.mjs +0 -38
- package/esm2022/lib/service/audit/audit.interface.mjs +0 -2
- package/esm2022/lib/service/audit/audit.service.mjs +0 -135
- package/esm2022/lib/service/auth/auth.interceptor.mjs +0 -50
- package/esm2022/lib/service/auth/auth.interface.mjs +0 -7
- package/esm2022/lib/service/auth/auth.service.mjs +0 -130
- package/esm2022/lib/service/auth/oidc.service.mjs +0 -81
- package/esm2022/lib/service/backend/api.enum.mjs +0 -11
- package/esm2022/lib/service/backend/backend.interface.mjs +0 -2
- package/esm2022/lib/service/backend/backend.service.mjs +0 -206
- package/esm2022/lib/service/bpm/bpm.interface.mjs +0 -8
- package/esm2022/lib/service/bpm/bpm.service.mjs +0 -51
- package/esm2022/lib/service/cache/app-cache.service.mjs +0 -51
- package/esm2022/lib/service/catalog/catalog.interface.mjs +0 -2
- package/esm2022/lib/service/catalog/catalog.service.mjs +0 -13
- package/esm2022/lib/service/clipboard/clipboard.interface.mjs +0 -2
- package/esm2022/lib/service/clipboard/clipboard.service.mjs +0 -99
- package/esm2022/lib/service/config/config.interface.mjs +0 -6
- package/esm2022/lib/service/config/config.service.mjs +0 -115
- package/esm2022/lib/service/config/core-config.mjs +0 -20
- package/esm2022/lib/service/config/core-config.tokens.mjs +0 -9
- package/esm2022/lib/service/connection/connection.service.mjs +0 -36
- package/esm2022/lib/service/connection/offline.interceptor.mjs +0 -28
- package/esm2022/lib/service/core-init/core-init.service.mjs +0 -29
- package/esm2022/lib/service/core-init/missing-translation-handler.mjs +0 -10
- package/esm2022/lib/service/core-init/translate-json-loader.mjs +0 -117
- package/esm2022/lib/service/device/device.interface.mjs +0 -6
- package/esm2022/lib/service/device/device.service.mjs +0 -144
- package/esm2022/lib/service/dms/dms.service.interface.mjs +0 -2
- package/esm2022/lib/service/dms/dms.service.mjs +0 -440
- package/esm2022/lib/service/event/event.interface.mjs +0 -2
- package/esm2022/lib/service/event/event.service.mjs +0 -38
- package/esm2022/lib/service/event/events.mjs +0 -14
- package/esm2022/lib/service/idm/idm.interface.mjs +0 -2
- package/esm2022/lib/service/idm/idm.service.mjs +0 -34
- package/esm2022/lib/service/logger/logger-console.service.mjs +0 -73
- package/esm2022/lib/service/logger/logger.interface.mjs +0 -2
- package/esm2022/lib/service/logger/logger.mjs +0 -27
- package/esm2022/lib/service/notification/notification.service.mjs +0 -131
- package/esm2022/lib/service/object-config/object-config.interface.mjs +0 -2
- package/esm2022/lib/service/object-config/object-config.service.mjs +0 -233
- package/esm2022/lib/service/pending-changes/pending-changes-component.interface.mjs +0 -5
- package/esm2022/lib/service/pending-changes/pending-changes-guard.service.mjs +0 -25
- package/esm2022/lib/service/pending-changes/pending-changes.service.mjs +0 -123
- package/esm2022/lib/service/prediction/prediction.interface.mjs +0 -2
- package/esm2022/lib/service/prediction/prediction.service.mjs +0 -60
- package/esm2022/lib/service/retention/retention.interface.mjs +0 -2
- package/esm2022/lib/service/retention/retention.service.mjs +0 -65
- package/esm2022/lib/service/search/search.service.interface.mjs +0 -39
- package/esm2022/lib/service/search/search.service.mjs +0 -261
- package/esm2022/lib/service/search/search.utils.mjs +0 -142
- package/esm2022/lib/service/session-storage/session-storage.service.mjs +0 -50
- package/esm2022/lib/service/system/object-form.interface.mjs +0 -2
- package/esm2022/lib/service/system/system.enum.mjs +0 -167
- package/esm2022/lib/service/system/system.interface.mjs +0 -2
- package/esm2022/lib/service/system/system.service.mjs +0 -597
- package/esm2022/lib/service/upload/upload.interface.mjs +0 -2
- package/esm2022/lib/service/upload/upload.service.mjs +0 -228
- package/esm2022/lib/service/user/user-storage.service.mjs +0 -38
- package/esm2022/lib/service/user/user.service.mjs +0 -211
- package/esm2022/lib/util/utils.helper.enum.mjs +0 -15
- package/esm2022/lib/util/utils.mjs +0 -373
- package/esm2022/yuuvis-client-core.mjs +0 -5
- package/lib/client-core.module.d.ts +0 -20
- package/lib/client-core.shared.module.d.ts +0 -10
- package/lib/service/auth/oidc.service.d.ts +0 -16
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
|
2
|
-
import { inject, Injectable } from '@angular/core';
|
|
3
|
-
import { forkJoin, of } from 'rxjs';
|
|
4
|
-
import { catchError, finalize, shareReplay, tap } from 'rxjs/operators';
|
|
5
|
-
import { ConfigService } from '../config/config.service';
|
|
6
|
-
import { Logger } from '../logger/logger';
|
|
7
|
-
import { ApiBase } from './api.enum';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
/**
|
|
10
|
-
* Service for providing an yuuvis Backend
|
|
11
|
-
*/
|
|
12
|
-
export class BackendService {
|
|
13
|
-
constructor() {
|
|
14
|
-
this.#http = inject(HttpClient);
|
|
15
|
-
this.#logger = inject(Logger);
|
|
16
|
-
this.configService = inject(ConfigService);
|
|
17
|
-
this.#cache = new Map();
|
|
18
|
-
this.#temp = new Map();
|
|
19
|
-
this.#headers = new HttpHeaders({
|
|
20
|
-
'Content-Type': 'application/json'
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
#http;
|
|
24
|
-
#logger;
|
|
25
|
-
#cache;
|
|
26
|
-
#temp;
|
|
27
|
-
#headers;
|
|
28
|
-
authUsesOpenIdConnect() {
|
|
29
|
-
return this.configService.authUsesOpenIdConnect();
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* OpenIdConnect authorization headers
|
|
33
|
-
*/
|
|
34
|
-
getAuthHeaders() {
|
|
35
|
-
return this.configService.getAuthHeaders();
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Add a new header.
|
|
39
|
-
* @param key The headers name
|
|
40
|
-
* @param value The value to be added to the headers. Setting this to null
|
|
41
|
-
* will remove the header
|
|
42
|
-
*/
|
|
43
|
-
setHeader(key, value) {
|
|
44
|
-
if (value && value.length) {
|
|
45
|
-
this.#headers = this.#headers.set(key, value);
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
this.#headers = this.#headers.delete(key);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Wrapped HTTP GET method
|
|
53
|
-
* @param uri The REST URI to be queried
|
|
54
|
-
* @param base The Base URI (backend service) to be used
|
|
55
|
-
* @param requestOptions Additional request options
|
|
56
|
-
* @returns The data retrieved from the given endpoint
|
|
57
|
-
*/
|
|
58
|
-
get(uri, base, requestOptions) {
|
|
59
|
-
return this.#http.get(this.getApiBase(base) + uri, this.getHttpOptions(requestOptions));
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Wrapped HTTP POST method
|
|
63
|
-
* @param uri The target REST URI
|
|
64
|
-
* @param data Data to be 'posted'
|
|
65
|
-
* @param base The Base URI (backend service) to be used
|
|
66
|
-
* @param requestOptions Additional request options
|
|
67
|
-
* @returns The return value of the target POST endpoint
|
|
68
|
-
*/
|
|
69
|
-
post(uri, data, base, requestOptions) {
|
|
70
|
-
const baseUri = this.getApiBase(base);
|
|
71
|
-
const payload = data && typeof data === 'object' ? JSON.stringify(data) : data || '';
|
|
72
|
-
return this.#http.post(`${baseUri}${uri}`, payload, this.getHttpOptions(requestOptions));
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Performs a multipart form data POST request.
|
|
76
|
-
* @param uri The target REST URI
|
|
77
|
-
* @param formData FormData to be 'posted'
|
|
78
|
-
* @param base The Base URI (backend service) to be used
|
|
79
|
-
* @param requestOptions Additional request options
|
|
80
|
-
* @returns The return value of the target POST endpoint
|
|
81
|
-
*/
|
|
82
|
-
postMultiPart(uri, formData, base, requestOptions) {
|
|
83
|
-
return this.#http.post(`${this.getApiBase(base)}${uri}`, formData, this.getHttpOptions(requestOptions));
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Wrapped HTTP PATCH method
|
|
87
|
-
* @param uri The target REST URI
|
|
88
|
-
* @param data Data to be 'patched'
|
|
89
|
-
* @param base The Base URI (backend service) to be used
|
|
90
|
-
* @param requestOptions Additional request options
|
|
91
|
-
* @returns The return value of the target PATCH endpoint
|
|
92
|
-
*/
|
|
93
|
-
patch(uri, data, base, requestOptions) {
|
|
94
|
-
const baseUri = this.getApiBase(base);
|
|
95
|
-
const payload = data ? JSON.stringify(data) : '';
|
|
96
|
-
return this.#http.patch(`${baseUri}${uri}`, payload, this.getHttpOptions(requestOptions));
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Wrapped HTTP PUT method
|
|
100
|
-
* @param uri The target REST URI
|
|
101
|
-
* @param data Data to be 'posted'
|
|
102
|
-
* @param base The Base URI (backend service) to be used
|
|
103
|
-
* @param requestOptions Additional request options
|
|
104
|
-
* @returns The return value of the target PUT endpoint
|
|
105
|
-
*/
|
|
106
|
-
put(uri, data, base, requestOptions) {
|
|
107
|
-
return this.#http.put(this.getApiBase(base) + uri, data, this.getHttpOptions(requestOptions));
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Wrapped HTTP DELETE method
|
|
111
|
-
* @param uri The target REST URI
|
|
112
|
-
* @param base The Base URI (backend service) to be used
|
|
113
|
-
* @param requestOptions Additional request options
|
|
114
|
-
* @returns The return value of the target DELETE endpoint
|
|
115
|
-
*/
|
|
116
|
-
delete(uri, base, requestOptions) {
|
|
117
|
-
return this.#http.delete(this.getApiBase(base) + uri, this.getHttpOptions(requestOptions));
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* @ignore
|
|
121
|
-
* Cache for small requests like icons and configs
|
|
122
|
-
*
|
|
123
|
-
* @param string uri
|
|
124
|
-
* @returns Observable<any>
|
|
125
|
-
*/
|
|
126
|
-
getViaCache(uri) {
|
|
127
|
-
if (this.#cache.has(uri)) {
|
|
128
|
-
return of(this.#cache.get(uri));
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
const requestOptions = {
|
|
132
|
-
responseType: 'text',
|
|
133
|
-
headers: this.getAuthHeaders()
|
|
134
|
-
};
|
|
135
|
-
return this.getViaTempCache(uri, () => this.#http.get(uri, requestOptions).pipe(tap((text) => this.#cache.set(uri, text))));
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* @ignore
|
|
140
|
-
* Temporary Cache for multiple identical requests
|
|
141
|
-
*
|
|
142
|
-
* @param string id
|
|
143
|
-
* @param Function request
|
|
144
|
-
* @returns Observable<any>
|
|
145
|
-
*/
|
|
146
|
-
getViaTempCache(id, request) {
|
|
147
|
-
if (this.#temp.has(id)) {
|
|
148
|
-
return this.#temp.get(id);
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
const resp = (request ? request() : this.get(id)).pipe(finalize(() => this.#temp.delete(id)), shareReplay(1));
|
|
152
|
-
this.#temp.set(id, resp);
|
|
153
|
-
return resp;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
download(uri, filename) {
|
|
157
|
-
if (document && document.body) {
|
|
158
|
-
const a = document.createElement('a');
|
|
159
|
-
a.setAttribute('href', uri);
|
|
160
|
-
a.style.display = 'none';
|
|
161
|
-
a.setAttribute('download', filename || 'download');
|
|
162
|
-
document.body.appendChild(a);
|
|
163
|
-
a.click();
|
|
164
|
-
document.body.removeChild(a);
|
|
165
|
-
}
|
|
166
|
-
else {
|
|
167
|
-
this.#logger.error('Environment not supported. Downloading contents relies on a DOM being available.');
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Gets the base URI for an API endpoint
|
|
172
|
-
* @param api The API to get the base URI for. Leaving this blank will return
|
|
173
|
-
* base URI for the web API
|
|
174
|
-
* @param origin The flag to include location origin
|
|
175
|
-
* @returns Base URI for the given API.
|
|
176
|
-
*/
|
|
177
|
-
getApiBase(api = ApiBase.apiWeb, origin = false) {
|
|
178
|
-
return this.configService.getApiBase(api, origin);
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* @ignore
|
|
182
|
-
*/
|
|
183
|
-
getHttpOptions(requestOptions) {
|
|
184
|
-
// Object.entries(this.getAuthHeaders()).forEach(([h, v]) => this.setHeader(h, v as string));
|
|
185
|
-
this.getAuthHeaders()
|
|
186
|
-
.keys()
|
|
187
|
-
.forEach((k) => this.setHeader(k, this.getAuthHeaders().get(k)));
|
|
188
|
-
return Object.assign({ headers: this.#headers }, requestOptions);
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Batch service
|
|
192
|
-
*/
|
|
193
|
-
batch(requests) {
|
|
194
|
-
const httpRequests = requests.map((r) => this[(r.method || 'get').toLowerCase()]
|
|
195
|
-
.apply(this, [r.uri, r.body, r.base, r.requestOptions].filter((a) => a))
|
|
196
|
-
.pipe(catchError((err) => of({ _error: err }))));
|
|
197
|
-
return forkJoin(httpRequests);
|
|
198
|
-
}
|
|
199
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BackendService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
200
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BackendService, providedIn: 'root' }); }
|
|
201
|
-
}
|
|
202
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BackendService, decorators: [{
|
|
203
|
-
type: Injectable,
|
|
204
|
-
args: [{ providedIn: 'root' }]
|
|
205
|
-
}] });
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWNvcmUvc3JjL2xpYi9zZXJ2aWNlL2JhY2tlbmQvYmFja2VuZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFHckM7O0dBRUc7QUFFSCxNQUFNLE9BQU8sY0FBYztJQUQzQjtRQUVFLFVBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0IsWUFBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV0QyxXQUFNLEdBQUcsSUFBSSxHQUFHLEVBQWUsQ0FBQztRQUNoQyxVQUFLLEdBQUcsSUFBSSxHQUFHLEVBQTJCLENBQUM7UUFDM0MsYUFBUSxHQUFHLElBQUksV0FBVyxDQUFDO1lBQ3pCLGNBQWMsRUFBRSxrQkFBa0I7U0FDbkMsQ0FBQyxDQUFDO0tBK0xKO0lBdk1DLEtBQUssQ0FBc0I7SUFDM0IsT0FBTyxDQUFrQjtJQUd6QixNQUFNLENBQTBC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QUFDLFlBQVksQ0FBc0IsQ0FBQztJQUNyRCxDQUFDOytHQXZNVSxjQUFjO21IQUFkLGNBQWMsY0FERCxNQUFNOzs0RkFDbkIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSwgc2hhcmVSZXBsYXksIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb25maWcvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSAnLi4vbG9nZ2VyL2xvZ2dlcic7XG5pbXBvcnQgeyBBcGlCYXNlIH0gZnJvbSAnLi9hcGkuZW51bSc7XG5pbXBvcnQgeyBIdHRwRGVsZXRlT3B0aW9ucywgSHR0cE9wdGlvbnMgfSBmcm9tICcuL2JhY2tlbmQuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBwcm92aWRpbmcgYW4geXV1dmlzIEJhY2tlbmRcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBCYWNrZW5kU2VydmljZSB7XG4gICNodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAjbG9nZ2VyID0gaW5qZWN0KExvZ2dlcik7XG4gIGNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoQ29uZmlnU2VydmljZSk7XG5cbiAgI2NhY2hlID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcbiAgI3RlbXAgPSBuZXcgTWFwPHN0cmluZywgT2JzZXJ2YWJsZTxhbnk+PigpO1xuICAjaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICB9KTtcblxuICBhdXRoVXNlc09wZW5JZENvbm5lY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS5hdXRoVXNlc09wZW5JZENvbm5lY3QoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVuSWRDb25uZWN0IGF1dGhvcml6YXRpb24gaGVhZGVyc1xuICAgKi9cbiAgZ2V0QXV0aEhlYWRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS5nZXRBdXRoSGVhZGVycygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIG5ldyBoZWFkZXIuXG4gICAqIEBwYXJhbSBrZXkgVGhlIGhlYWRlcnMgbmFtZVxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIGJlIGFkZGVkIHRvIHRoZSBoZWFkZXJzLiBTZXR0aW5nIHRoaXMgdG8gbnVsbFxuICAgKiB3aWxsIHJlbW92ZSB0aGUgaGVhZGVyXG4gICAqL1xuICBzZXRIZWFkZXIoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUgJiYgdmFsdWUubGVuZ3RoKSB7XG4gICAgICB0aGlzLiNoZWFkZXJzID0gdGhpcy4jaGVhZGVycy5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI2hlYWRlcnMgPSB0aGlzLiNoZWFkZXJzLmRlbGV0ZShrZXkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXcmFwcGVkIEhUVFAgR0VUIG1ldGhvZFxuICAgKiBAcGFyYW0gdXJpIFRoZSBSRVNUIFVSSSB0byBiZSBxdWVyaWVkXG4gICAqIEBwYXJhbSBiYXNlIFRoZSBCYXNlIFVSSSAoYmFja2VuZCBzZXJ2aWNlKSB0byBiZSB1c2VkXG4gICAqIEBwYXJhbSByZXF1ZXN0T3B0aW9ucyBBZGRpdGlvbmFsIHJlcXVlc3Qgb3B0aW9uc1xuICAgKiBAcmV0dXJucyBUaGUgZGF0YSByZXRyaWV2ZWQgZnJvbSB0aGUgZ2l2ZW4gZW5kcG9pbnRcbiAgICovXG4gIGdldCh1cmk6IHN0cmluZywgYmFzZT86IHN0cmluZywgcmVxdWVzdE9wdGlvbnM/OiBIdHRwT3B0aW9ucyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuI2h0dHAuZ2V0KHRoaXMuZ2V0QXBpQmFzZShiYXNlKSArIHVyaSwgdGhpcy5nZXRIdHRwT3B0aW9ucyhyZXF1ZXN0T3B0aW9ucykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdyYXBwZWQgSFRUUCBQT1NUIG1ldGhvZFxuICAgKiBAcGFyYW0gdXJpIFRoZSB0YXJnZXQgUkVTVCBVUklcbiAgICogQHBhcmFtIGRhdGEgRGF0YSB0byBiZSAncG9zdGVkJ1xuICAgKiBAcGFyYW0gYmFzZSBUaGUgQmFzZSBVUkkgKGJhY2tlbmQgc2VydmljZSkgdG8gYmUgdXNlZFxuICAgKiBAcGFyYW0gcmVxdWVzdE9wdGlvbnMgQWRkaXRpb25hbCByZXF1ZXN0IG9wdGlvbnNcbiAgICogQHJldHVybnMgVGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgdGFyZ2V0IFBPU1QgZW5kcG9pbnRcbiAgICovXG4gIHB1YmxpYyBwb3N0KHVyaTogc3RyaW5nLCBkYXRhPzogYW55LCBiYXNlPzogc3RyaW5nLCByZXF1ZXN0T3B0aW9ucz86IEh0dHBPcHRpb25zKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBiYXNlVXJpID0gdGhpcy5nZXRBcGlCYXNlKGJhc2UpO1xuICAgIGNvbnN0IHBheWxvYWQgPSBkYXRhICYmIHR5cGVvZiBkYXRhID09PSAnb2JqZWN0JyA/IEpTT04uc3RyaW5naWZ5KGRhdGEpIDogZGF0YSB8fCAnJztcbiAgICByZXR1cm4gdGhpcy4jaHR0cC5wb3N0KGAke2Jhc2VVcml9JHt1cml9YCwgcGF5bG9hZCwgdGhpcy5nZXRIdHRwT3B0aW9ucyhyZXF1ZXN0T3B0aW9ucykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm1zIGEgbXVsdGlwYXJ0IGZvcm0gZGF0YSBQT1NUIHJlcXVlc3QuXG4gICAqIEBwYXJhbSB1cmkgVGhlIHRhcmdldCBSRVNUIFVSSVxuICAgKiBAcGFyYW0gZm9ybURhdGEgRm9ybURhdGEgdG8gYmUgJ3Bvc3RlZCdcbiAgICogQHBhcmFtIGJhc2UgVGhlIEJhc2UgVVJJIChiYWNrZW5kIHNlcnZpY2UpIHRvIGJlIHVzZWRcbiAgICogQHBhcmFtIHJlcXVlc3RPcHRpb25zIEFkZGl0aW9uYWwgcmVxdWVzdCBvcHRpb25zXG4gICAqIEByZXR1cm5zIFRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIHRhcmdldCBQT1NUIGVuZHBvaW50XG4gICAqL1xuICBwdWJsaWMgcG9zdE11bHRpUGFydCh1cmk6IHN0cmluZywgZm9ybURhdGE6IEZvcm1EYXRhLCBiYXNlPzogc3RyaW5nLCByZXF1ZXN0T3B0aW9ucz86IEh0dHBPcHRpb25zKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy4jaHR0cC5wb3N0KGAke3RoaXMuZ2V0QXBpQmFzZShiYXNlKX0ke3VyaX1gLCBmb3JtRGF0YSwgdGhpcy5nZXRIdHRwT3B0aW9ucyhyZXF1ZXN0T3B0aW9ucykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdyYXBwZWQgSFRUUCBQQVRDSCBtZXRob2RcbiAgICogQHBhcmFtIHVyaSBUaGUgdGFyZ2V0IFJFU1QgVVJJXG4gICAqIEBwYXJhbSBkYXRhIERhdGEgdG8gYmUgJ3BhdGNoZWQnXG4gICAqIEBwYXJhbSBiYXNlIFRoZSBCYXNlIFVSSSAoYmFja2VuZCBzZXJ2aWNlKSB0byBiZSB1c2VkXG4gICAqIEBwYXJhbSByZXF1ZXN0T3B0aW9ucyBBZGRpdGlvbmFsIHJlcXVlc3Qgb3B0aW9uc1xuICAgKiBAcmV0dXJucyBUaGUgcmV0dXJuIHZhbHVlIG9mIHRoZSB0YXJnZXQgUEFUQ0ggZW5kcG9pbnRcbiAgICovXG4gIHB1YmxpYyBwYXRjaCh1cmk6IHN0cmluZywgZGF0YT86IGFueSwgYmFzZT86IHN0cmluZywgcmVxdWVzdE9wdGlvbnM/OiBIdHRwT3B0aW9ucyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgYmFzZVVyaSA9IHRoaXMuZ2V0QXBpQmFzZShiYXNlKTtcbiAgICBjb25zdCBwYXlsb2FkID0gZGF0YSA/IEpTT04uc3RyaW5naWZ5KGRhdGEpIDogJyc7XG4gICAgcmV0dXJuIHRoaXMuI2h0dHAucGF0Y2goYCR7YmFzZVVyaX0ke3VyaX1gLCBwYXlsb2FkLCB0aGlzLmdldEh0dHBPcHRpb25zKHJlcXVlc3RPcHRpb25zKSk7XG4gIH1cblxuICAvKipcbiAgICogV3JhcHBlZCBIVFRQIFBVVCBtZXRob2RcbiAgICogQHBhcmFtIHVyaSBUaGUgdGFyZ2V0IFJFU1QgVVJJXG4gICAqIEBwYXJhbSBkYXRhIERhdGEgdG8gYmUgJ3Bvc3RlZCdcbiAgICogQHBhcmFtIGJhc2UgVGhlIEJhc2UgVVJJIChiYWNrZW5kIHNlcnZpY2UpIHRvIGJlIHVzZWRcbiAgICogQHBhcmFtIHJlcXVlc3RPcHRpb25zIEFkZGl0aW9uYWwgcmVxdWVzdCBvcHRpb25zXG4gICAqIEByZXR1cm5zIFRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIHRhcmdldCBQVVQgZW5kcG9pbnRcbiAgICovXG4gIHB1YmxpYyBwdXQodXJpOiBzdHJpbmcsIGRhdGE/OiBhbnksIGJhc2U/OiBzdHJpbmcsIHJlcXVlc3RPcHRpb25zPzogSHR0cE9wdGlvbnMpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLiNodHRwLnB1dCh0aGlzLmdldEFwaUJhc2UoYmFzZSkgKyB1cmksIGRhdGEsIHRoaXMuZ2V0SHR0cE9wdGlvbnMocmVxdWVzdE9wdGlvbnMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXcmFwcGVkIEhUVFAgREVMRVRFIG1ldGhvZFxuICAgKiBAcGFyYW0gdXJpIFRoZSB0YXJnZXQgUkVTVCBVUklcbiAgICogQHBhcmFtIGJhc2UgVGhlIEJhc2UgVVJJIChiYWNrZW5kIHNlcnZpY2UpIHRvIGJlIHVzZWRcbiAgICogQHBhcmFtIHJlcXVlc3RPcHRpb25zIEFkZGl0aW9uYWwgcmVxdWVzdCBvcHRpb25zXG4gICAqIEByZXR1cm5zIFRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIHRhcmdldCBERUxFVEUgZW5kcG9pbnRcbiAgICovXG4gIHB1YmxpYyBkZWxldGUodXJpOiBzdHJpbmcsIGJhc2U/OiBzdHJpbmcsIHJlcXVlc3RPcHRpb25zPzogSHR0cERlbGV0ZU9wdGlvbnMpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLiNodHRwLmRlbGV0ZSh0aGlzLmdldEFwaUJhc2UoYmFzZSkgKyB1cmksIHRoaXMuZ2V0SHR0cE9wdGlvbnMocmVxdWVzdE9wdGlvbnMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqIENhY2hlIGZvciBzbWFsbCByZXF1ZXN0cyBsaWtlIGljb25zIGFuZCBjb25maWdzXG4gICAqXG4gICAqIEBwYXJhbSBzdHJpbmcgdXJpXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YW55PlxuICAgKi9cbiAgcHVibGljIGdldFZpYUNhY2hlKHVyaTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAodGhpcy4jY2FjaGUuaGFzKHVyaSkpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLiNjYWNoZS5nZXQodXJpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJlcXVlc3RPcHRpb25zOiBhbnkgPSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgICAgICBoZWFkZXJzOiB0aGlzLmdldEF1dGhIZWFkZXJzKClcbiAgICAgIH07XG4gICAgICByZXR1cm4gdGhpcy5nZXRWaWFUZW1wQ2FjaGUodXJpLCAoKSA9PiB0aGlzLiNodHRwLmdldCh1cmksIHJlcXVlc3RPcHRpb25zKS5waXBlKHRhcCgodGV4dCkgPT4gdGhpcy4jY2FjaGUuc2V0KHVyaSwgdGV4dCkpKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICogVGVtcG9yYXJ5IENhY2hlIGZvciBtdWx0aXBsZSBpZGVudGljYWwgcmVxdWVzdHNcbiAgICpcbiAgICogQHBhcmFtIHN0cmluZyBpZFxuICAgKiBAcGFyYW0gRnVuY3Rpb24gcmVxdWVzdFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT5cbiAgICovXG4gIHB1YmxpYyBnZXRWaWFUZW1wQ2FjaGUoaWQ6IHN0cmluZywgcmVxdWVzdD86ICgpID0+IE9ic2VydmFibGU8b2JqZWN0Pik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKHRoaXMuI3RlbXAuaGFzKGlkKSkge1xuICAgICAgcmV0dXJuIHRoaXMuI3RlbXAuZ2V0KGlkKSE7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJlc3AgPSAocmVxdWVzdCA/IHJlcXVlc3QoKSA6IHRoaXMuZ2V0KGlkKSkucGlwZShcbiAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy4jdGVtcC5kZWxldGUoaWQpKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICk7XG4gICAgICB0aGlzLiN0ZW1wLnNldChpZCwgcmVzcCk7XG4gICAgICByZXR1cm4gcmVzcDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZG93bmxvYWQodXJpOiBzdHJpbmcsIGZpbGVuYW1lPzogc3RyaW5nKSB7XG4gICAgaWYgKGRvY3VtZW50ICYmIGRvY3VtZW50LmJvZHkpIHtcbiAgICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICBhLnNldEF0dHJpYnV0ZSgnaHJlZicsIHVyaSk7XG4gICAgICBhLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICBhLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBmaWxlbmFtZSB8fCAnZG93bmxvYWQnKTtcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7XG4gICAgICBhLmNsaWNrKCk7XG4gICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNsb2dnZXIuZXJyb3IoJ0Vudmlyb25tZW50IG5vdCBzdXBwb3J0ZWQuIERvd25sb2FkaW5nIGNvbnRlbnRzIHJlbGllcyBvbiBhIERPTSBiZWluZyBhdmFpbGFibGUuJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGJhc2UgVVJJIGZvciBhbiBBUEkgZW5kcG9pbnRcbiAgICogQHBhcmFtIGFwaSBUaGUgQVBJIHRvIGdldCB0aGUgYmFzZSBVUkkgZm9yLiBMZWF2aW5nIHRoaXMgYmxhbmsgd2lsbCByZXR1cm5cbiAgICogYmFzZSBVUkkgZm9yIHRoZSB3ZWIgQVBJXG4gICAqIEBwYXJhbSBvcmlnaW4gVGhlIGZsYWcgdG8gaW5jbHVkZSBsb2NhdGlvbiBvcmlnaW5cbiAgICogQHJldHVybnMgQmFzZSBVUkkgZm9yIHRoZSBnaXZlbiBBUEkuXG4gICAqL1xuICBnZXRBcGlCYXNlKGFwaTogc3RyaW5nID0gQXBpQmFzZS5hcGlXZWIsIG9yaWdpbiA9IGZhbHNlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlLmdldEFwaUJhc2UoYXBpLCBvcmlnaW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGdldEh0dHBPcHRpb25zKHJlcXVlc3RPcHRpb25zPzogSHR0cE9wdGlvbnMpOiBIdHRwT3B0aW9ucyB7XG4gICAgLy8gT2JqZWN0LmVudHJpZXModGhpcy5nZXRBdXRoSGVhZGVycygpKS5mb3JFYWNoKChbaCwgdl0pID0+IHRoaXMuc2V0SGVhZGVyKGgsIHYgYXMgc3RyaW5nKSk7XG4gICAgdGhpcy5nZXRBdXRoSGVhZGVycygpXG4gICAgICAua2V5cygpXG4gICAgICAuZm9yRWFjaCgoaykgPT4gdGhpcy5zZXRIZWFkZXIoaywgdGhpcy5nZXRBdXRoSGVhZGVycygpLmdldChrKSEpKTtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7IGhlYWRlcnM6IHRoaXMuI2hlYWRlcnMgfSwgcmVxdWVzdE9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJhdGNoIHNlcnZpY2VcbiAgICovXG4gIGJhdGNoKHJlcXVlc3RzOiB7IG1ldGhvZD86IHN0cmluZzsgdXJpOiBzdHJpbmc7IGJvZHk/OiBhbnk7IGJhc2U/OiBzdHJpbmc7IHJlcXVlc3RPcHRpb25zPzogSHR0cE9wdGlvbnMgfVtdKSB7XG4gICAgY29uc3QgaHR0cFJlcXVlc3RzID0gcmVxdWVzdHMubWFwKChyKSA9PlxuICAgICAgKHRoaXMgYXMgYW55KVsoci5tZXRob2QgfHwgJ2dldCcpLnRvTG93ZXJDYXNlKCldXG4gICAgICAgIC5hcHBseShcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIFtyLnVyaSwgci5ib2R5LCByLmJhc2UsIHIucmVxdWVzdE9wdGlvbnNdLmZpbHRlcigoYSkgPT4gYSlcbiAgICAgICAgKVxuICAgICAgICAucGlwZShjYXRjaEVycm9yKChlcnIpID0+IG9mKHsgX2Vycm9yOiBlcnIgfSkpKVxuICAgICk7XG4gICAgcmV0dXJuIGZvcmtKb2luKGh0dHBSZXF1ZXN0cykgYXMgT2JzZXJ2YWJsZTxhbnlbXT47XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export const ProcessAction = {
|
|
2
|
-
complete: 'complete',
|
|
3
|
-
claim: 'claim',
|
|
4
|
-
delegate: 'delegate',
|
|
5
|
-
resolve: 'resolve',
|
|
6
|
-
save: 'save'
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnBtLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1jb3JlL3NyYy9saWIvc2VydmljZS9icG0vYnBtLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDM0IsUUFBUSxFQUFFLFVBQVU7SUFDcEIsS0FBSyxFQUFFLE9BQU87SUFDZCxRQUFRLEVBQUUsVUFBVTtJQUNwQixPQUFPLEVBQUUsU0FBUztJQUNsQixJQUFJLEVBQUUsTUFBTTtDQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBjb25zdCBQcm9jZXNzQWN0aW9uID0ge1xuICBjb21wbGV0ZTogJ2NvbXBsZXRlJyxcbiAgY2xhaW06ICdjbGFpbScsXG4gIGRlbGVnYXRlOiAnZGVsZWdhdGUnLFxuICByZXNvbHZlOiAncmVzb2x2ZScsXG4gIHNhdmU6ICdzYXZlJ1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBQcm9jZXNzIHtcbiAgaWQ6IHN0cmluZztcbiAgLy8gb2JqZWN0cyAoSURzKSBhdHRhY2hlZCB0byB0aGUgcHJvY2Vzc1xuICBhdHRhY2htZW50czogc3RyaW5nW107XG4gIGJ1c2luZXNzS2V5OiBzdHJpbmc7IC8vXG4gIGRlbGV0ZVJlYXNvbjogc3RyaW5nO1xuICBkdXJhdGlvbkluTWlsbGlzOiBudW1iZXI7IC8vXG4gIGVuZEFjdGl2aXR5SWQ6IHN0cmluZztcbiAgZW5kVGltZTogRGF0ZTtcbiAgaW5pdGlhdG9yOiBQcm9jZXNzVXNlcjtcbiAgbmFtZTogc3RyaW5nO1xuICBwcm9jZXNzRGVmaW5pdGlvbjogeyBkZXNjcmlwdGlvbjogc3RyaW5nOyBpZDogc3RyaW5nOyBpZFByZWZpeDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfTtcbiAgc3RhcnRBY3Rpdml0eUlkOiBzdHJpbmc7XG4gIHN0YXJ0VGltZTogRGF0ZTtcbiAgc3RhcnRVc2VySWQ6IHN0cmluZztcbiAgLy8gc3ViamVjdDogc3RyaW5nO1xuICBzdXNwZW5kZWQ/OiBib29sZWFuO1xuICB2YXJpYWJsZXM6IFByb2Nlc3NWYXJpYWJsZVtdOyAvLyB0ZW5hbnQgYWRtaW4gb25seVxufVxuXG5cbi8vIHBheWxvYWQgZm9yIHN0YXJ0aW5nIGEgbmV3IHByb2Nlc3NcbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc0NyZWF0ZVBheWxvYWQgZXh0ZW5kcyBQcm9jZXNzUG9zdFBheWxvYWQge1xuICBwcm9jZXNzRGVmaW5pdGlvbktleTogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICBidXNpbmVzc0tleT86IHN0cmluZztcbiAgcmV0dXJuVmFyaWFibGVzPzogYm9vbGVhbjtcbn1cblxuLy8gcGF5bG9hZCBmb3IgcG9zdCByZXF1ZXN0cyB0byB0aGUgYnBtIGJhY2tlbmRcbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc1Bvc3RQYXlsb2FkIHtcbiAgdmFyaWFibGVzPzogUHJvY2Vzc1ZhcmlhYmxlW107XG4gIGF0dGFjaG1lbnRzPzogc3RyaW5nW107XG4gIHN1YmplY3Q/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc1ZhcmlhYmxlIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICB2YWx1ZTogYW55O1xuICAvLyBUT0RPOiBOb3QgeWV0IHN1cHBvcnRlZCBieSBCUE0tRW5naW5lXG4gIHJlYWRvbmx5PzogYm9vbGVhbjtcbiAgc2NvcGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGFza3MgYXJlIGJhc2ljYWxseSBhY3Rpdml0aWVzIGRlZmluZWQgYnkgYSBwcm9jZXNzLlxuICogUHJvY2Vzc2VzIG1heSBjb250YWluIHNldmVyYWwgdGFza3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5ib3hUYXNrIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIC8vIElEIG9mIHRoZSBwcm9jZXNzIGluc3RhbmNlIHRoYXQgY29udGFpbnMgdGhpcyB0YXNrL2FjdGl2aXR5XG4gICAgcHJvY2Vzc0luc3RhbmNlSWQ6IHN0cmluZztcbiAgICBhc3NpZ25lZTogUHJvY2Vzc1VzZXI7XG4gICAgY2xhaW1UaW1lOiBEYXRlO1xuICAgIGNyZWF0ZVRpbWU6IERhdGU7XG4gICAgZHVlRGF0ZTogRGF0ZTtcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIC8vIHRhc2tNZXNzYWdlcz86IFRhc2tNZXNzYWdlW107XG4gICAgLy8gdGFza0Zvcm0/OiB7XG4gICAgLy8gICBzY2hlbWFQcm9wZXJ0aWVzPzogc3RyaW5nW107XG4gICAgLy8gICBtb2RlbD86IGFueTtcbiAgICAvLyAgIGRhdGE/OiBhbnk7XG4gICAgLy8gICBvdXRjb21lcz86IFRhc2tPdXRjb21lW107XG4gICAgLy8gfTtcbiAgICBkZWxlZ2F0aW9uU3RhdGU/OiBzdHJpbmc7XG4gICAgZm9ybUtleTogc3RyaW5nO1xuICAgIGluaXRpYXRvcjogUHJvY2Vzc1VzZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG93bmVyOiBQcm9jZXNzVXNlcjtcbiAgICBwYXJlbnRUYXNrSWQ6IHN0cmluZztcbiAgICBwcm9jZXNzRGVmaW5pdGlvbjoge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGlkUHJlZml4OiBzdHJpbmc7XG4gICAgfTtcbiAgICBzdWJqZWN0OiBzdHJpbmc7XG4gICAgc3VzcGVuZGVkOiBmYWxzZTtcbiAgICB2YXJpYWJsZXM6IFByb2Nlc3NWYXJpYWJsZVtdO1xuICAgIHJlc29sdmVkVmFsdWVzPzogeyBbaWQ6IHN0cmluZ106IHN0cmluZyB9O1xuICAgIGF0dGFjaG1lbnRzOiBzdHJpbmdbXTtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc1VzZXIge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hUYXNrT3B0aW9ucyB7XG4gICAgYnVzaW5lc3NLZXk/OiBzdHJpbmc7XG4gICAgaW5jbHVkZVByb2Nlc3NWYXI/OiBib29sZWFuO1xuICAgIGlzQ29tcGxldGVkPzogYm9vbGVhbjtcbiAgICBwcm9jZXNzRGVmaW5pdGlvbktleT86IHN0cmluZztcbiAgfSJdfQ==
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { BackendService } from '../backend/backend.service';
|
|
3
|
-
import { ProcessAction } from './bpm.interface';
|
|
4
|
-
import { map, of } from 'rxjs';
|
|
5
|
-
import { ApiBase } from '../backend/api.enum';
|
|
6
|
-
import { Utils } from '../../util/utils';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class BpmService {
|
|
9
|
-
#backend = inject(BackendService);
|
|
10
|
-
startProcess(payload) {
|
|
11
|
-
return this.#backend.post('/bpm/processes', payload, ApiBase.apiWeb);
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Finsihes a task.
|
|
15
|
-
* @param taskId ID of the taks to finish
|
|
16
|
-
* @param payload Data to be send with the complete request (may contain attachments, a new subject or variables)
|
|
17
|
-
*/
|
|
18
|
-
completeTask(taskId, payload) {
|
|
19
|
-
return this.#putTask(taskId, ProcessAction.complete, payload || {});
|
|
20
|
-
}
|
|
21
|
-
updateTask(taskId, payload) {
|
|
22
|
-
return this.#putTask(taskId, ProcessAction.save, payload || {});
|
|
23
|
-
}
|
|
24
|
-
//TODO: replace with propper service call
|
|
25
|
-
getProcessPoll() {
|
|
26
|
-
const random = Math.random();
|
|
27
|
-
console.log('getProcessPoll: ', { random });
|
|
28
|
-
return of([{ title: `task title ${random}`, duedate: new Date() }]);
|
|
29
|
-
}
|
|
30
|
-
getProcessInstance(processDefinitionKey, options) {
|
|
31
|
-
return this.#backend
|
|
32
|
-
.get(`/bpm/processes${Utils.optionsToURLParams({ ...options, processDefinitionKey })}`, ApiBase.apiWeb)
|
|
33
|
-
.pipe(map(({ objects }) => objects[0]));
|
|
34
|
-
}
|
|
35
|
-
deleteProcess(processInstanceId) {
|
|
36
|
-
return this.#backend.delete(`/bpm/processes/${processInstanceId}`, ApiBase.apiWeb);
|
|
37
|
-
}
|
|
38
|
-
#putTask(taskId, action, payload) {
|
|
39
|
-
const pl = { ...payload, action: action };
|
|
40
|
-
return this.#backend.put(`/bpm/tasks/${taskId}`, pl, ApiBase.apiWeb);
|
|
41
|
-
}
|
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BpmService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
43
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BpmService, providedIn: 'root' }); }
|
|
44
|
-
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BpmService, decorators: [{
|
|
46
|
-
type: Injectable,
|
|
47
|
-
args: [{
|
|
48
|
-
providedIn: 'root'
|
|
49
|
-
}]
|
|
50
|
-
}] });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnBtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtY29yZS9zcmMvbGliL3NlcnZpY2UvYnBtL2JwbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQTZCLGFBQWEsRUFBNEMsTUFBTSxpQkFBaUIsQ0FBQztBQUNySCxPQUFPLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUt6QyxNQUFNLE9BQU8sVUFBVTtJQUNyQixRQUFRLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRWxDLFlBQVksQ0FBQyxPQUE2QjtRQUN4QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxZQUFZLENBQUMsTUFBYyxFQUFFLE9BQTRCO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFjLEVBQUUsT0FBNEI7UUFDckQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsSUFBSSxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQseUNBQXlDO0lBQ3pDLGNBQWM7UUFDWixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFNUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxjQUFjLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxvQkFBNEIsRUFBRSxPQUEwQjtRQUN6RSxPQUFPLElBQUksQ0FBQyxRQUFRO2FBQ2pCLEdBQUcsQ0FBQyxpQkFBaUIsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQzthQUN0RyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsYUFBYSxDQUFDLGlCQUF5QjtRQUNyQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGtCQUFrQixpQkFBaUIsRUFBRSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQWMsRUFBRSxNQUFjLEVBQUUsT0FBMkI7UUFDbEUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkUsQ0FBQzsrR0F6Q1UsVUFBVTttSEFBVixVQUFVLGNBRlQsTUFBTTs7NEZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhY2tlbmRTZXJ2aWNlIH0gZnJvbSAnLi4vYmFja2VuZC9iYWNrZW5kLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmV0Y2hUYXNrT3B0aW9ucywgUHJvY2VzcywgUHJvY2Vzc0FjdGlvbiwgUHJvY2Vzc0NyZWF0ZVBheWxvYWQsIFByb2Nlc3NQb3N0UGF5bG9hZCB9IGZyb20gJy4vYnBtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcGlCYXNlIH0gZnJvbSAnLi4vYmFja2VuZC9hcGkuZW51bSc7XG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uLy4uL3V0aWwvdXRpbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCcG1TZXJ2aWNlIHtcbiAgI2JhY2tlbmQgPSBpbmplY3QoQmFja2VuZFNlcnZpY2UpO1xuXG4gIHN0YXJ0UHJvY2VzcyhwYXlsb2FkOiBQcm9jZXNzQ3JlYXRlUGF5bG9hZCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuI2JhY2tlbmQucG9zdCgnL2JwbS9wcm9jZXNzZXMnLCBwYXlsb2FkLCBBcGlCYXNlLmFwaVdlYik7XG4gIH1cblxuICAvKipcbiAgICogRmluc2loZXMgYSB0YXNrLlxuICAgKiBAcGFyYW0gdGFza0lkIElEIG9mIHRoZSB0YWtzIHRvIGZpbmlzaFxuICAgKiBAcGFyYW0gcGF5bG9hZCBEYXRhIHRvIGJlIHNlbmQgd2l0aCB0aGUgY29tcGxldGUgcmVxdWVzdCAobWF5IGNvbnRhaW4gYXR0YWNobWVudHMsIGEgbmV3IHN1YmplY3Qgb3IgdmFyaWFibGVzKVxuICAgKi9cbiAgY29tcGxldGVUYXNrKHRhc2tJZDogc3RyaW5nLCBwYXlsb2FkPzogUHJvY2Vzc1Bvc3RQYXlsb2FkKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy4jcHV0VGFzayh0YXNrSWQsIFByb2Nlc3NBY3Rpb24uY29tcGxldGUsIHBheWxvYWQgfHwge30pO1xuICB9XG5cbiAgdXBkYXRlVGFzayh0YXNrSWQ6IHN0cmluZywgcGF5bG9hZD86IFByb2Nlc3NQb3N0UGF5bG9hZCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuI3B1dFRhc2sodGFza0lkLCBQcm9jZXNzQWN0aW9uLnNhdmUsIHBheWxvYWQgfHwge30pO1xuICB9XG5cbiAgLy9UT0RPOiByZXBsYWNlIHdpdGggcHJvcHBlciBzZXJ2aWNlIGNhbGxcbiAgZ2V0UHJvY2Vzc1BvbGwoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCByYW5kb20gPSBNYXRoLnJhbmRvbSgpO1xuICAgIGNvbnNvbGUubG9nKCdnZXRQcm9jZXNzUG9sbDogJywgeyByYW5kb20gfSk7XG5cbiAgICByZXR1cm4gb2YoW3sgdGl0bGU6IGB0YXNrIHRpdGxlICR7cmFuZG9tfWAsIGR1ZWRhdGU6IG5ldyBEYXRlKCkgfV0pO1xuICB9XG5cbiAgZ2V0UHJvY2Vzc0luc3RhbmNlKHByb2Nlc3NEZWZpbml0aW9uS2V5OiBzdHJpbmcsIG9wdGlvbnM/OiBGZXRjaFRhc2tPcHRpb25zKTogT2JzZXJ2YWJsZTxQcm9jZXNzPiB7XG4gICAgcmV0dXJuIHRoaXMuI2JhY2tlbmRcbiAgICAgIC5nZXQoYC9icG0vcHJvY2Vzc2VzJHtVdGlscy5vcHRpb25zVG9VUkxQYXJhbXMoeyAuLi5vcHRpb25zLCBwcm9jZXNzRGVmaW5pdGlvbktleSB9KX1gLCBBcGlCYXNlLmFwaVdlYilcbiAgICAgIC5waXBlKG1hcCgoeyBvYmplY3RzIH0pID0+IG9iamVjdHNbMF0pKTtcbiAgfVxuXG4gIGRlbGV0ZVByb2Nlc3MocHJvY2Vzc0luc3RhbmNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuI2JhY2tlbmQuZGVsZXRlKGAvYnBtL3Byb2Nlc3Nlcy8ke3Byb2Nlc3NJbnN0YW5jZUlkfWAsIEFwaUJhc2UuYXBpV2ViKTtcbiAgfVxuXG4gICNwdXRUYXNrKHRhc2tJZDogc3RyaW5nLCBhY3Rpb246IHN0cmluZywgcGF5bG9hZDogUHJvY2Vzc1Bvc3RQYXlsb2FkKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBwbCA9IHsgLi4ucGF5bG9hZCwgYWN0aW9uOiBhY3Rpb24gfTtcbiAgICByZXR1cm4gdGhpcy4jYmFja2VuZC5wdXQoYC9icG0vdGFza3MvJHt0YXNrSWR9YCwgcGwsIEFwaUJhc2UuYXBpV2ViKTtcbiAgfVxufVxuIl19
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { StorageMap } from '@ngx-pwa/local-storage';
|
|
3
|
-
import { forkJoin, Observable, of } from 'rxjs';
|
|
4
|
-
import { first, map, switchMap } from 'rxjs/operators';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
/**
|
|
7
|
-
* Service for saving or caching data on the users device. It uses the most efficient storage
|
|
8
|
-
* available (IndexDB, localstorage, ...) on the device. Depending on the type of storage used,
|
|
9
|
-
* its limitations apply.
|
|
10
|
-
*/
|
|
11
|
-
export class AppCacheService {
|
|
12
|
-
#storage = inject(StorageMap);
|
|
13
|
-
setItem(key, value) {
|
|
14
|
-
return this.#storage.set(key, value).pipe(map(() => true));
|
|
15
|
-
}
|
|
16
|
-
getItem(key) {
|
|
17
|
-
return this.#storage.get(key);
|
|
18
|
-
}
|
|
19
|
-
removeItem(key) {
|
|
20
|
-
return this.#storage.delete(key).pipe(map(() => true));
|
|
21
|
-
}
|
|
22
|
-
clear(filter) {
|
|
23
|
-
return filter
|
|
24
|
-
? this.getStorageKeys().pipe(switchMap((keys) => {
|
|
25
|
-
const list = keys.filter((k) => filter(k)).map((k) => this.removeItem(k));
|
|
26
|
-
return list.length ? forkJoin(list).pipe(map(() => true)) : of(true);
|
|
27
|
-
}))
|
|
28
|
-
: this.#storage.clear().pipe(map(() => true));
|
|
29
|
-
}
|
|
30
|
-
getStorageKeys() {
|
|
31
|
-
return new Observable((observer) => {
|
|
32
|
-
const keys = [];
|
|
33
|
-
this.#storage.keys().subscribe({
|
|
34
|
-
next: (key) => keys.push(key),
|
|
35
|
-
complete: () => observer.next(keys)
|
|
36
|
-
});
|
|
37
|
-
}).pipe(first());
|
|
38
|
-
}
|
|
39
|
-
setStorage(options) {
|
|
40
|
-
return forkJoin(Object.keys(options || {}).map((k) => this.setItem(k, options[k])));
|
|
41
|
-
}
|
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppCacheService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
43
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppCacheService, providedIn: 'root' }); }
|
|
44
|
-
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppCacheService, decorators: [{
|
|
46
|
-
type: Injectable,
|
|
47
|
-
args: [{
|
|
48
|
-
providedIn: 'root'
|
|
49
|
-
}]
|
|
50
|
-
}] });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNhY2hlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtY29yZS9zcmMvbGliL3NlcnZpY2UvY2FjaGUvYXBwLWNhY2hlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFdkQ7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxlQUFlO0lBQzFCLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFOUIsT0FBTyxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVc7UUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUE4QjtRQUNsQyxPQUFPLE1BQU07WUFDWCxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FDeEIsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNwRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2RSxDQUFDLENBQUMsQ0FDSDtZQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxVQUFVLENBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMzQyxNQUFNLElBQUksR0FBYSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUM7Z0JBQzdCLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQzdCLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNwQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQVk7UUFDckIsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEYsQ0FBQzsrR0F0Q1UsZUFBZTttSEFBZixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JhZ2VNYXAgfSBmcm9tICdAbmd4LXB3YS9sb2NhbC1zdG9yYWdlJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlyc3QsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIHNhdmluZyBvciBjYWNoaW5nIGRhdGEgb24gdGhlIHVzZXJzIGRldmljZS4gSXQgdXNlcyB0aGUgbW9zdCBlZmZpY2llbnQgc3RvcmFnZVxuICogYXZhaWxhYmxlICAoSW5kZXhEQiwgbG9jYWxzdG9yYWdlLCAuLi4pIG9uIHRoZSBkZXZpY2UuIERlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiBzdG9yYWdlIHVzZWQsXG4gKiBpdHMgbGltaXRhdGlvbnMgYXBwbHkuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFwcENhY2hlU2VydmljZSB7XG4gICNzdG9yYWdlID0gaW5qZWN0KFN0b3JhZ2VNYXApO1xuXG4gIHNldEl0ZW0oa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy4jc3RvcmFnZS5zZXQoa2V5LCB2YWx1ZSkucGlwZShtYXAoKCkgPT4gdHJ1ZSkpO1xuICB9XG5cbiAgZ2V0SXRlbShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuI3N0b3JhZ2UuZ2V0KGtleSk7XG4gIH1cblxuICByZW1vdmVJdGVtKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuI3N0b3JhZ2UuZGVsZXRlKGtleSkucGlwZShtYXAoKCkgPT4gdHJ1ZSkpO1xuICB9XG5cbiAgY2xlYXIoZmlsdGVyPzogKGtleTogYW55KSA9PiBib29sZWFuKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGZpbHRlclxuICAgICAgPyB0aGlzLmdldFN0b3JhZ2VLZXlzKCkucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKGtleXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxpc3QgPSBrZXlzLmZpbHRlcigoazogYW55KSA9PiBmaWx0ZXIoaykpLm1hcCgoazogYW55KSA9PiB0aGlzLnJlbW92ZUl0ZW0oaykpO1xuICAgICAgICAgICAgcmV0dXJuIGxpc3QubGVuZ3RoID8gZm9ya0pvaW4obGlzdCkucGlwZShtYXAoKCkgPT4gdHJ1ZSkpIDogb2YodHJ1ZSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgOiB0aGlzLiNzdG9yYWdlLmNsZWFyKCkucGlwZShtYXAoKCkgPT4gdHJ1ZSkpO1xuICB9XG5cbiAgZ2V0U3RvcmFnZUtleXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8c3RyaW5nW10+KChvYnNlcnZlcikgPT4ge1xuICAgICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBbXTtcbiAgICAgIHRoaXMuI3N0b3JhZ2Uua2V5cygpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChrZXkpID0+IGtleXMucHVzaChrZXkpLFxuICAgICAgICBjb21wbGV0ZTogKCkgPT4gb2JzZXJ2ZXIubmV4dChrZXlzKVxuICAgICAgfSk7XG4gICAgfSkucGlwZShmaXJzdCgpKTtcbiAgfVxuXG4gIHNldFN0b3JhZ2Uob3B0aW9uczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gZm9ya0pvaW4oT2JqZWN0LmtleXMob3B0aW9ucyB8fCB7fSkubWFwKChrKSA9PiB0aGlzLnNldEl0ZW0oaywgb3B0aW9uc1trXSkpKTtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtY29yZS9zcmMvbGliL3NlcnZpY2UvY2F0YWxvZy9jYXRhbG9nLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBCYXNlQ2F0YWxvZyB7XG4gIGVudHJpZXM6IENhdGFsb2dFbnRyeVtdO1xuICByZWFkb25seT86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIENhdGFsb2cgZXh0ZW5kcyBCYXNlQ2F0YWxvZyB7XG4gIHFuYW1lOiBzdHJpbmc7XG4gIC8vIElmIGEgdGVuYW50IGlzIHNldCB0aGUgY2F0YWxvZyBpcyBwcm92aWRlZCBmcm9tIHRoZSB0ZW5hbnRzIHNjb3BlLlxuICAvLyBDb3VsZCBiZSBOVUxMIGlmIG5vIHRlbmFudCBzY29wZWQgY2hhbmdlcyBoYXZlIGJlZW4gbWFkZS4gSW4gdGhpcyBjYXNlXG4gIC8vIHlvdSBuZWVkIHRvIGNhbGwgUE9TVCBpbnN0YWVkIG9mIFBBVEggd2hlbiBtYWtpbmcgY2hhbmdlcyB0byB0aGUgY2F0YWxvZ1xuICB0ZW5hbnQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2F0YWxvZ0VudHJ5IHtcbiAgbmFtZTogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class CatalogService {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogService, providedIn: 'root' }); }
|
|
6
|
-
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogService, decorators: [{
|
|
8
|
-
type: Injectable,
|
|
9
|
-
args: [{
|
|
10
|
-
providedIn: 'root'
|
|
11
|
-
}]
|
|
12
|
-
}] });
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWNvcmUvc3JjL2xpYi9zZXJ2aWNlL2NhdGFsb2cvY2F0YWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxjQUFjOytHQUFkLGNBQWM7bUhBQWQsY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDYXRhbG9nU2VydmljZSB7XG4gIC8vIFRPRE86IEltcGxlbWVudCB3aGVuIGNsYXJpZmllZFxuICAvLyBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmRTZXJ2aWNlLCBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSkge31cblxuICAvLyBwcml2YXRlIHVzZXJIYXNTY29wZVBlcm1pc3Npb25zKHNjb3BlOiAnYWRtaW4nIHwgJ3N5c3RlbScpOiBib29sZWFuIHtcbiAgLy8gICBpZiAoc2NvcGUgPT09ICdhZG1pbicpIHtcbiAgLy8gICAgIHJldHVybiB0aGlzLnVzZXJTZXJ2aWNlLmhhc0FkbWluUm9sZTtcbiAgLy8gICB9IGVsc2UgaWYgKHNjb3BlID09PSAnc3lzdGVtJykge1xuICAvLyAgICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2UuaGFzU3lzdGVtUm9sZTtcbiAgLy8gICB9IGVsc2Uge1xuICAvLyAgICAgcmV0dXJuIGZhbHNlO1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC8vIC8qKlxuICAvLyAgKiBMb2FkcyBhIGNhdGFsb2cgZnJvbSB0aGUgYmFja2VuZC5cbiAgLy8gICogQHBhcmFtIHFuYW1lIFRoZSBjYXRhbG9ncyBxdWFsaWZpZWQgbmFtZVxuICAvLyAgKiBAcGFyYW0gc2NvcGUgVGhlIHNjb3BlIHRvIGxvYWQgdGhlIGNhdGFsb2cgZnJvbS4gVGhpcyBkZWNpZGVzIHdoaWNoIGNvbnRyb2xlclxuICAvLyAgKiB3aWxsIGJlIHVzZWQgdG8gZmV0Y2ggdGhlIGNhdGFsb2cuIFBvc3NpYmUgdmFsdWVzOiAnYWRtaW4nIG9yICdzeXN0ZW0nLlxuICAvLyAgKiBTZXR0aW5nIGEgc2NvcGUgd2lsbCBhbHNvIGNoZWNrIGZvciB0aGUgdXNlcnMgcGVybWlzc2lvbiB0byB1c2UgdGhpcyBzY29wZS5cbiAgLy8gICovXG4gIC8vIGdldENhdGFsb2cocW5hbWU6IHN0cmluZywgc2NvcGU/OiAnYWRtaW4nIHwgJ3N5c3RlbScpOiBPYnNlcnZhYmxlPENhdGFsb2c+IHtcbiAgLy8gICBjb25zdCBjdHJsID0gc2NvcGUgJiYgdGhpcy51c2VySGFzU2NvcGVQZXJtaXNzaW9ucyhzY29wZSkgPyBzY29wZSA6ICdkbXMnO1xuICAvLyAgIHJldHVybiB0aGlzLmJhY2tlbmQuZ2V0KGAvJHtjdHJsfS9jYXRhbG9ncy8ke3FuYW1lfWApLnBpcGUoXG4gIC8vICAgICBjYXRjaEVycm9yKChlKSA9PiB7XG4gIC8vICAgICAgIGlmIChlLnN0YXR1cyA9PT0gNDA0KSB7XG4gIC8vICAgICAgICAgcmV0dXJuIG9mKHsgZW50cmllczogW10gfSk7XG4gIC8vICAgICAgIH0gZWxzZSB7XG4gIC8vICAgICAgICAgdGhyb3cgZTtcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfSksXG4gIC8vICAgICBtYXAoKHJlczogeyB0ZW5hbnQ/OiBzdHJpbmc7IGVudHJpZXM6IENhdGFsb2dFbnRyeVtdOyByZWFkb25seTogYm9vbGVhbiB9KSA9PiAoe1xuICAvLyAgICAgICBxbmFtZTogcW5hbWUsXG4gIC8vICAgICAgIGVudHJpZXM6IHJlcy5lbnRyaWVzLFxuICAvLyAgICAgICB0ZW5hbnQ6IHJlcy50ZW5hbnQsXG4gIC8vICAgICAgIHJlYWRvbmx5OiByZXMucmVhZG9ubHlcbiAgLy8gICAgIH0pKVxuICAvLyAgICk7XG4gIC8vIH1cblxuICAvLyBnZXRDdXN0b21DYXRhbG9nKHVyaTogc3RyaW5nKTogT2JzZXJ2YWJsZTxCYXNlQ2F0YWxvZz4ge1xuICAvLyAgIHJldHVybiB0aGlzLmJhY2tlbmQuZ2V0KHVyaSwgQXBpQmFzZS5ub25lKS5waXBlKFxuICAvLyAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xuICAvLyAgICAgICBpZiAoZS5zdGF0dXMgPT09IDQwNCkge1xuICAvLyAgICAgICAgIHJldHVybiBvZih7IGVudHJpZXM6IFtdIH0pO1xuICAvLyAgICAgICB9IGVsc2Uge1xuICAvLyAgICAgICAgIHRocm93IGU7XG4gIC8vICAgICAgIH1cbiAgLy8gICAgIH0pLFxuICAvLyAgICAgbWFwKChyZXM6IHsgZW50cmllczogQ2F0YWxvZ0VudHJ5W107IHJlYWRvbmx5OiBib29sZWFuIH0pID0+ICh7XG4gIC8vICAgICAgIGVudHJpZXM6IHJlcy5lbnRyaWVzLFxuICAvLyAgICAgICByZWFkb25seTogcmVzLnJlYWRvbmx5XG4gIC8vICAgICB9KSlcbiAgLy8gICApO1xuICAvLyB9XG5cbiAgLy8gLyoqXG4gIC8vICAqIFVwZGF0ZXMgYW4gZXhpc3RpbmcgY2F0YWxvZy5cbiAgLy8gICogQHBhcmFtIG5hbWUgVGhlIGNhdGFsb2dzIG5hbWVcbiAgLy8gICogQHBhcmFtIHBhdGNoZXMgQSBjb2xsZWN0aW9uIG9mIEpTT04tUGF0aGVzLiBTZWUgaHR0cDovL2pzb25wYXRjaC5jb20vIGZvciBkZXRhaWxzXG4gIC8vICAqIEBwYXJhbSBuYW1lc3BhY2UgT3B0aW9uYWwgbmFtZXNwYWNlXG4gIC8vICAqL1xuICAvLyBwYXRjaChxbmFtZTogc3RyaW5nLCBwYXRjaGVzOiBhbnlbXSk6IE9ic2VydmFibGU8Q2F0YWxvZz4ge1xuICAvLyAgIHRoaXMuYmFja2VuZC5zZXRIZWFkZXIoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uLXBhdGNoK2pzb24nKTtcbiAgLy8gICByZXR1cm4gdGhpcy5iYWNrZW5kLnBhdGNoKGAvZG1zL2NhdGFsb2dzLyR7cW5hbWV9YCwgcGF0Y2hlcykucGlwZShcbiAgLy8gICAgIG1hcCgocmVzOiBDYXRhbG9nKSA9PiAoe1xuICAvLyAgICAgICBxbmFtZTogcW5hbWUsXG4gIC8vICAgICAgIGVudHJpZXM6IHJlcy5lbnRyaWVzLFxuICAvLyAgICAgICB0ZW5hbnQ6IHJlcy50ZW5hbnRcbiAgLy8gICAgIH0pKSxcbiAgLy8gICAgIHRhcCgoY2F0YWxvZzogQ2F0YWxvZykgPT4ge1xuICAvLyAgICAgICB0aGlzLmJhY2tlbmQuc2V0SGVhZGVyKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xuICAvLyAgICAgfSlcbiAgLy8gICApO1xuICAvLyB9XG5cbiAgLy8gLyoqXG4gIC8vICAqIFNhdmVzIGEgd2hvbGUgY2F0YWxvZy4gVGhpcyB3aWxsIG92ZXJ3cml0ZSB0aGUgZXhpc3RpbmcgY2F0YWxvZyB3aXRoIHRoZSBlbnRyaWVzXG4gIC8vICAqIHByb3ZpZGVkIG9yIGNyZWF0ZSBhIG5ldyBjYXRhbG9nLlxuICAvLyAgKiBAcGFyYW0gY2F0YWxvZyBUaGUgY2F0YWxvZyB0byBiZSBzYXZlZFxuICAvLyAgKiBAcGFyYW0gc2NvcGUgVGhlIHNjb3BlIHRvIGJlIHVzZWQuIFRoaXMgZGVjaWRlcyB3aGljaCBjb250cm9sbGVyXG4gIC8vICAqIHdpbGwgYmUgdXNlZCB0byBwb3N0IGRhdGEgdG8uIFBvc3NpYmUgdmFsdWVzOiAnYWRtaW4nIG9yICdzeXN0ZW0nLlxuICAvLyAgKiBTZXR0aW5nIGEgc2NvcGUgd2lsbCBhbHNvIGNoZWNrIGZvciB0aGUgdXNlcnMgcGVybWlzc2lvbiB0byB1c2UgdGhpcyBzY29wZS5cbiAgLy8gICovXG4gIC8vIHBvc3QoY2F0YWxvZzogQ2F0YWxvZywgc2NvcGU/OiAnYWRtaW4nIHwgJ3N5c3RlbScpOiBPYnNlcnZhYmxlPENhdGFsb2c+IHtcbiAgLy8gICBjb25zdCBjdHJsID0gc2NvcGUgJiYgdGhpcy51c2VySGFzU2NvcGVQZXJtaXNzaW9ucyhzY29wZSkgPyBzY29wZSA6ICdkbXMnO1xuICAvLyAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgLy8gICAgIC5wb3N0KGAvJHtjdHJsfS9jYXRhbG9ncy8ke2NhdGFsb2cucW5hbWV9YCwge1xuICAvLyAgICAgICBlbnRyaWVzOiBjYXRhbG9nLmVudHJpZXNcbiAgLy8gICAgIH0pXG4gIC8vICAgICAucGlwZShcbiAgLy8gICAgICAgbWFwKCgpID0+IHtcbiAgLy8gICAgICAgICBjYXRhbG9nLnRlbmFudCA9IHRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS50ZW5hbnQ7XG4gIC8vICAgICAgICAgcmV0dXJuIGNhdGFsb2c7XG4gIC8vICAgICAgIH0pXG4gIC8vICAgICApO1xuICAvLyB9XG5cbiAgLy8gLyoqXG4gIC8vICAqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCBwYXJ0aWN1bGFyIGVudHJpZXMgb2YgYSBjYXRhbG9nIGFyZSBpbiB1c2UuXG4gIC8vICAqIEBwYXJhbSBxbmFtZSBUaGUgY2F0YWxvZ3MgcXVhbGlmaWVkIG5hbWVcbiAgLy8gICogQHBhcmFtIHZhbHVlcyBUaGUgZW50cmllcyB0byBiZSBjaGVja2VkXG4gIC8vICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGVudHJpZXMgdGhhdCBhcmUgaW4gdXNlXG4gIC8vICAqL1xuICAvLyBpblVzZShxbmFtZTogc3RyaW5nLCB2YWx1ZXM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAvLyAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gdmFsdWVzLm1hcCgodikgPT4gYGVudHJpZXM9JHtlbmNvZGVVUklDb21wb25lbnQodil9YCk7XG4gIC8vICAgcmV0dXJuIHRoaXMuYmFja2VuZC5nZXQoYC9kbXMvY2F0YWxvZ3MvJHtxbmFtZX0vdmFsaWRhdGU/JHtxdWVyeVBhcmFtcy5qb2luKCcmJyl9YCk7XG4gIC8vIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1jb3JlL3NyYy9saWIvc2VydmljZS9jbGlwYm9hcmQvY2xpcGJvYXJkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRG1zT2JqZWN0IH0gZnJvbSBcIi4uLy4uL21vZGVsL2Rtcy1vYmplY3QubW9kZWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDbGlwYm9hcmRTdG9yZSB7XG4gICAgYnVja2V0cz86IFJlY29yZDxzdHJpbmcsIENsaXBib2FyZERhdGE+LFxuICAgIG1haW4/OiBDbGlwYm9hcmREYXRhXG59XG5leHBvcnQgaW50ZXJmYWNlIENsaXBib2FyZERhdGEge1xuICAgIG1vZGU/OiBDbGlwYm9hcmREYXRhTW9kZTtcbiAgICBmaWxlcz86IEZpbGVbXTtcbiAgICBvYmplY3RzPzogRG1zT2JqZWN0W11cbn1cblxuZXhwb3J0IHR5cGUgQ2xpcGJvYXJkRGF0YU1vZGUgPSAnY29weScgfCAnY3V0JzsiXX0=
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { toSignal } from '@angular/core/rxjs-interop';
|
|
3
|
-
import { filter, fromEvent, map, merge, ReplaySubject } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class ClipboardService {
|
|
6
|
-
#emptyClipboard = {
|
|
7
|
-
buckets: undefined,
|
|
8
|
-
main: undefined
|
|
9
|
-
};
|
|
10
|
-
#clipboard = structuredClone(this.#emptyClipboard);
|
|
11
|
-
#clipboardSource = new ReplaySubject();
|
|
12
|
-
#clipboard$ = this.#clipboardSource.asObservable();
|
|
13
|
-
#pasteEvents = merge(fromEvent(window, 'keydown').pipe(filter((event) => event.ctrlKey && event.code === 'KeyV')), fromEvent(window, 'paste').pipe(filter((event) => !!event.clipboardData && event.clipboardData.files.length > 0)));
|
|
14
|
-
clipboard(bucket) {
|
|
15
|
-
return toSignal(this.clipboard$(bucket));
|
|
16
|
-
}
|
|
17
|
-
clipboard$(bucket) {
|
|
18
|
-
return this.#clipboard$.pipe(map((cs) => {
|
|
19
|
-
if (bucket) {
|
|
20
|
-
return cs.buckets ? cs.buckets[bucket] : undefined;
|
|
21
|
-
}
|
|
22
|
-
else
|
|
23
|
-
return cs.main;
|
|
24
|
-
}));
|
|
25
|
-
}
|
|
26
|
-
paste$(bucket) {
|
|
27
|
-
return this.#pasteEvents.pipe(map((e) => {
|
|
28
|
-
let cd;
|
|
29
|
-
if (e instanceof ClipboardEvent) {
|
|
30
|
-
const fileList = e.clipboardData.files;
|
|
31
|
-
const files = [];
|
|
32
|
-
for (let i = 0; i < fileList.length; i++) {
|
|
33
|
-
files.push(fileList.item(i));
|
|
34
|
-
}
|
|
35
|
-
cd = files.length
|
|
36
|
-
? {
|
|
37
|
-
files
|
|
38
|
-
}
|
|
39
|
-
: undefined;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
cd = bucket ? (this.#clipboard.buckets ? this.#clipboard.buckets[bucket] : undefined) : this.#clipboard.main;
|
|
43
|
-
}
|
|
44
|
-
return cd;
|
|
45
|
-
}), filter((cd) => cd !== undefined && (cd.files || cd.objects)), map((cd) => cd));
|
|
46
|
-
}
|
|
47
|
-
getClipboardData(bucket) {
|
|
48
|
-
if (bucket) {
|
|
49
|
-
return this.#clipboard.buckets ? this.#clipboard.buckets[bucket] : undefined;
|
|
50
|
-
}
|
|
51
|
-
else
|
|
52
|
-
return this.#clipboard.main;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Add objects to the clipboard
|
|
56
|
-
* @param bucket Buckets are ways to separate data from the global scope.
|
|
57
|
-
* If you have an app that would like to have a separate section in the clipboard
|
|
58
|
-
* you'll use a unique bucket to store your stuff. When observing chages to the
|
|
59
|
-
* clipboard you couls as well provide the bucket and you will only get
|
|
60
|
-
*/
|
|
61
|
-
addObjects(objects, mode, bucket) {
|
|
62
|
-
const cd = { mode, objects };
|
|
63
|
-
if (bucket) {
|
|
64
|
-
if (!this.#clipboard.buckets)
|
|
65
|
-
this.#clipboard.buckets = {};
|
|
66
|
-
this.#clipboard.buckets[bucket] = cd;
|
|
67
|
-
}
|
|
68
|
-
else
|
|
69
|
-
this.#clipboard.main = cd;
|
|
70
|
-
this.#clipboardSource.next(this.#clipboard);
|
|
71
|
-
}
|
|
72
|
-
clear(bucket) {
|
|
73
|
-
if (bucket && this.#clipboard.buckets) {
|
|
74
|
-
delete this.#clipboard.buckets[bucket];
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
this.#clipboard = structuredClone(this.#emptyClipboard);
|
|
78
|
-
}
|
|
79
|
-
this.#clipboardSource.next(this.#clipboard);
|
|
80
|
-
}
|
|
81
|
-
async addToNavigatorClipBoard(data) {
|
|
82
|
-
try {
|
|
83
|
-
await navigator.clipboard.writeText(data);
|
|
84
|
-
console.log('Text copied to clipboard');
|
|
85
|
-
}
|
|
86
|
-
catch (error) {
|
|
87
|
-
console.error('Failed to copy text: ', error);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ClipboardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
91
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ClipboardService, providedIn: 'root' }); }
|
|
92
|
-
}
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ClipboardService, decorators: [{
|
|
94
|
-
type: Injectable,
|
|
95
|
-
args: [{
|
|
96
|
-
providedIn: 'root'
|
|
97
|
-
}]
|
|
98
|
-
}] });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtY29yZS9zcmMvbGliL3NlcnZpY2UvY2xpcGJvYXJkL2NsaXBib2FyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU9oRixNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLGVBQWUsR0FBbUI7UUFDaEMsT0FBTyxFQUFFLFNBQVM7UUFDbEIsSUFBSSxFQUFFLFNBQVM7S0FDaEIsQ0FBQztJQUVGLFVBQVUsR0FBbUIsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuRSxnQkFBZ0IsR0FBRyxJQUFJLGFBQWEsRUFBa0IsQ0FBQztJQUN2RCxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBRW5ELFlBQVksR0FBRyxLQUFLLENBQ2xCLFNBQVMsQ0FBZ0IsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsRUFDMUgsU0FBUyxDQUFpQixNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQXFCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxD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b20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZyb21FdmVudCwgbWFwLCBtZXJnZSwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRG1zT2JqZWN0IH0gZnJvbSAnLi4vLi4vbW9kZWwvZG1zLW9iamVjdC5tb2RlbCc7XG5pbXBvcnQgeyBDbGlwYm9hcmREYXRhLCBDbGlwYm9hcmREYXRhTW9kZSwgQ2xpcGJvYXJkU3RvcmUgfSBmcm9tICcuL2NsaXBib2FyZC5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDbGlwYm9hcmRTZXJ2aWNlIHtcbiAgI2VtcHR5Q2xpcGJvYXJkOiBDbGlwYm9hcmRTdG9yZSA9IHtcbiAgICBidWNrZXRzOiB1bmRlZmluZWQsXG4gICAgbWFpbjogdW5kZWZpbmVkXG4gIH07XG5cbiAgI2NsaXBib2FyZDogQ2xpcGJvYXJkU3RvcmUgPSBzdHJ1Y3R1cmVkQ2xvbmUodGhpcy4jZW1wdHlDbGlwYm9hcmQpO1xuICAjY2xpcGJvYXJkU291cmNlID0gbmV3IFJlcGxheVN1YmplY3Q8Q2xpcGJvYXJkU3RvcmU+KCk7XG4gICNjbGlwYm9hcmQkID0gdGhpcy4jY2xpcGJvYXJkU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICNwYXN0ZUV2ZW50cyA9IG1lcmdlKFxuICAgIGZyb21FdmVudDxLZXlib2FyZEV2ZW50Pih3aW5kb3csICdrZXlkb3duJykucGlwZShmaWx0ZXIoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiBldmVudC5jdHJsS2V5ICYmIGV2ZW50LmNvZGUgPT09ICdLZXlWJykpLFxuICAgIGZyb21FdmVudDxDbGlwYm9hcmRFdmVudD4od2luZG93LCAncGFzdGUnKS5waXBlKGZpbHRlcigoZXZlbnQ6IENsaXBib2FyZEV2ZW50KSA9PiAhIWV2ZW50LmNsaXBib2FyZERhdGEgJiYgZXZlbnQuY2xpcGJvYXJkRGF0YS5maWxlcy5sZW5ndGggPiAwKSlcbiAgKTtcblxuICBjbGlwYm9hcmQoYnVja2V0Pzogc3RyaW5nKTogU2lnbmFsPENsaXBib2FyZERhdGEgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdG9TaWduYWwodGhpcy5jbGlwYm9hcmQkKGJ1Y2tldCkpO1xuICB9XG5cbiAgY2xpcGJvYXJkJChidWNrZXQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPENsaXBib2FyZERhdGEgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jY2xpcGJvYXJkJC5waXBlKFxuICAgICAgbWFwKChjczogQ2xpcGJvYXJkU3RvcmUpID0+IHtcbiAgICAgICAgaWYgKGJ1Y2tldCkge1xuICAgICAgICAgIHJldHVybiBjcy5idWNrZXRzID8gY3MuYnVja2V0c1tidWNrZXRdIDogdW5kZWZpbmVkO1xuICAgICAgICB9IGVsc2UgcmV0dXJuIGNzLm1haW47XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwYXN0ZSQoYnVja2V0Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxDbGlwYm9hcmREYXRhPiB7XG4gICAgcmV0dXJuIHRoaXMuI3Bhc3RlRXZlbnRzLnBpcGUoXG4gICAgICBtYXAoKGU6IEtleWJvYXJkRXZlbnQgfCBDbGlwYm9hcmRFdmVudCkgPT4ge1xuICAgICAgICBsZXQgY2Q6IENsaXBib2FyZERhdGEgfCB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChlIGluc3RhbmNlb2YgQ2xpcGJvYXJkRXZlbnQpIHtcbiAgICAgICAgICBjb25zdCBmaWxlTGlzdDogRmlsZUxpc3QgPSBlLmNsaXBib2FyZERhdGEhLmZpbGVzO1xuICAgICAgICAgIGNvbnN0IGZpbGVzOiBGaWxlW10gPSBbXTtcbiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVMaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBmaWxlcy5wdXNoKGZpbGVMaXN0Lml0ZW0oaSkgYXMgRmlsZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2QgPSBmaWxlcy5sZW5ndGhcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIGZpbGVzXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNkID0gYnVja2V0ID8gKHRoaXMuI2NsaXBib2FyZC5idWNrZXRzID8gdGhpcy4jY2xpcGJvYXJkLmJ1Y2tldHNbYnVja2V0XSA6IHVuZGVmaW5lZCkgOiB0aGlzLiNjbGlwYm9hcmQubWFpbjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2Q7XG4gICAgICB9KSxcbiAgICAgIGZpbHRlcigoY2Q6IGFueSkgPT4gY2QgIT09IHVuZGVmaW5lZCAmJiAoY2QuZmlsZXMgfHwgY2Qub2JqZWN0cykpLFxuICAgICAgbWFwKChjZDogQ2xpcGJvYXJkRGF0YSkgPT4gY2QpXG4gICAgKTtcbiAgfVxuXG4gIGdldENsaXBib2FyZERhdGEoYnVja2V0Pzogc3RyaW5nKTogQ2xpcGJvYXJkRGF0YSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKGJ1Y2tldCkge1xuICAgICAgcmV0dXJuIHRoaXMuI2NsaXBib2FyZC5idWNrZXRzID8gdGhpcy4jY2xpcGJvYXJkLmJ1Y2tldHNbYnVja2V0XSA6IHVuZGVmaW5lZDtcbiAgICB9IGVsc2UgcmV0dXJuIHRoaXMuI2NsaXBib2FyZC5tYWluO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBvYmplY3RzIHRvIHRoZSBjbGlwYm9hcmRcbiAgICogQHBhcmFtIGJ1Y2tldCBCdWNrZXRzIGFyZSB3YXlzIHRvIHNlcGFyYXRlIGRhdGEgZnJvbSB0aGUgZ2xvYmFsIHNjb3BlLlxuICAgKiBJZiB5b3UgaGF2ZSBhbiBhcHAgdGhhdCB3b3VsZCBsaWtlIHRvIGhhdmUgYSBzZXBhcmF0ZSBzZWN0aW9uIGluIHRoZSBjbGlwYm9hcmRcbiAgICogeW91J2xsIHVzZSBhIHVuaXF1ZSBidWNrZXQgdG8gc3RvcmUgeW91ciBzdHVmZi4gV2hlbiBvYnNlcnZpbmcgY2hhZ2VzIHRvIHRoZVxuICAgKiBjbGlwYm9hcmQgeW91IGNvdWxzIGFzIHdlbGwgcHJvdmlkZSB0aGUgYnVja2V0IGFuZCB5b3Ugd2lsbCBvbmx5IGdldFxuICAgKi9cbiAgYWRkT2JqZWN0cyhvYmplY3RzOiBEbXNPYmplY3RbXSwgbW9kZTogQ2xpcGJvYXJkRGF0YU1vZGUsIGJ1Y2tldD86IHN0cmluZykge1xuICAgIGNvbnN0IGNkOiBDbGlwYm9hcmREYXRhID0geyBtb2RlLCBvYmplY3RzIH07XG4gICAgaWYgKGJ1Y2tldCkge1xuICAgICAgaWYgKCF0aGlzLiNjbGlwYm9hcmQuYnVja2V0cykgdGhpcy4jY2xpcGJvYXJkLmJ1Y2tldHMgPSB7fTtcbiAgICAgIHRoaXMuI2NsaXBib2FyZC5idWNrZXRzW2J1Y2tldF0gPSBjZDtcbiAgICB9IGVsc2UgdGhpcy4jY2xpcGJvYXJkLm1haW4gPSBjZDtcbiAgICB0aGlzLiNjbGlwYm9hcmRTb3VyY2UubmV4dCh0aGlzLiNjbGlwYm9hcmQpO1xuICB9XG5cbiAgY2xlYXIoYnVja2V0Pzogc3RyaW5nKSB7XG4gICAgaWYgKGJ1Y2tldCAmJiB0aGlzLiNjbGlwYm9hcmQuYnVja2V0cykge1xuICAgICAgZGVsZXRlIHRoaXMuI2NsaXBib2FyZC5idWNrZXRzW2J1Y2tldF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI2NsaXBib2FyZCA9IHN0cnVjdHVyZWRDbG9uZSh0aGlzLiNlbXB0eUNsaXBib2FyZCk7XG4gICAgfVxuICAgIHRoaXMuI2NsaXBib2FyZFNvdXJjZS5uZXh0KHRoaXMuI2NsaXBib2FyZCk7XG4gIH1cblxuICBhc3luYyBhZGRUb05hdmlnYXRvckNsaXBCb2FyZChkYXRhOiBzdHJpbmcpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoZGF0YSk7XG4gICAgICBjb25zb2xlLmxvZygnVGV4dCBjb3BpZWQgdG8gY2xpcGJvYXJkJyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5IHRleHQ6ICcsIGVycm9yKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export var Direction;
|
|
2
|
-
(function (Direction) {
|
|
3
|
-
Direction["LTR"] = "ltr";
|
|
4
|
-
Direction["RTL"] = "rtl";
|
|
5
|
-
})(Direction || (Direction = {}));
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1jb3JlL3NyYy9saWIvc2VydmljZS9jb25maWcvY29uZmlnLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQ0EsTUFBTSxDQUFOLElBQVksU0FHWDtBQUhELFdBQVksU0FBUztJQUNuQix3QkFBVyxDQUFBO0lBQ1gsd0JBQVcsQ0FBQTtBQUNiLENBQUMsRUFIVyxTQUFTLEtBQVQsU0FBUyxRQUdwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSW50ZXJmYWNlIGZvciB0aGUgYXBwbGljYXRpb25zIG1haW4gY29uZmlnIGZpbGVcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBZdXZDb25maWcge1xuICBjb3JlOiB7XG4gICAgLy8gYXBpQmFzZToge1xuICAgIC8vICAgY29yZTogc3RyaW5nO1xuICAgIC8vICAgJ2FwaS13ZWInOiBzdHJpbmc7XG4gICAgLy8gfTtcbiAgICBsYW5ndWFnZXM6IFl1dkNvbmZpZ0xhbmd1YWdlc1tdO1xuICAgIGxvZ2dpbmc/OiB7XG4gICAgICBsZXZlbDogJ2RlYnVnJyB8ICdlcnJvcicgfCAnd2FybicgfCAnaW5mbyc7XG4gICAgfTtcbiAgICBwZXJtaXNzaW9ucz86IHtcbiAgICAgIHJldGVudGlvbk1hbmFnZXJSb2xlPzogc3RyaW5nO1xuICAgICAgYWR2YW5jZWRVc2VyUm9sZT86IHN0cmluZztcbiAgICAgIG1hbmFnZVNldHRpbmdzUm9sZT86IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBsb2NhdGlvbj86IHtcbiAgICBob3N0bmFtZT86IHN0cmluZztcbiAgICBwb3J0PzogbnVtYmVyO1xuICB9O1xufVxuLyoqXG4gKiBpbnRlcmZhY2UgcHJvdmlkaW5nIGxvY2FsaXphdGlvbiBvZiBhcHBsaWNhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFl1dkNvbmZpZ0xhbmd1YWdlcyB7XG4gIGlzbzogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBkaXI/OiBEaXJlY3Rpb247XG4gIGZhbGxiYWNrPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGVudW0gRGlyZWN0aW9uIHtcbiAgTFRSID0gJ2x0cicsXG4gIFJUTCA9ICdydGwnXG59XG4iXX0=
|