@yuuvis/client-core 2.0.0-beta.0 → 2.0.0-beta.2
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,34 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { map } from 'rxjs';
|
|
3
|
-
import { BackendService } from '../backend/backend.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class IdmService {
|
|
6
|
-
#backend = inject(BackendService);
|
|
7
|
-
queryOrganizationEntity(term, targetTypes, size) {
|
|
8
|
-
return this.#backend.get(`/idm/search?search=${term}${size ? `&size=${size}` : ''}`).pipe(map((res) => [
|
|
9
|
-
...(targetTypes.includes('user')
|
|
10
|
-
? res.users.map((u) => ({
|
|
11
|
-
id: u.id,
|
|
12
|
-
title: `${u.lastname}, ${u.firstname} (${u.username})`, // TODO: u.title,
|
|
13
|
-
type: 'user'
|
|
14
|
-
}))
|
|
15
|
-
: []),
|
|
16
|
-
...(targetTypes.includes('role')
|
|
17
|
-
? res.roles.map((u) => ({
|
|
18
|
-
id: u.name,
|
|
19
|
-
title: u.name,
|
|
20
|
-
type: 'role'
|
|
21
|
-
}))
|
|
22
|
-
: [])
|
|
23
|
-
]));
|
|
24
|
-
}
|
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IdmService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
26
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IdmService, providedIn: 'root' }); }
|
|
27
|
-
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IdmService, decorators: [{
|
|
29
|
-
type: Injectable,
|
|
30
|
-
args: [{
|
|
31
|
-
providedIn: 'root'
|
|
32
|
-
}]
|
|
33
|
-
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtY29yZS9zcmMvbGliL3NlcnZpY2UvaWRtL2lkbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQU01RCxNQUFNLE9BQU8sVUFBVTtJQUNyQixRQUFRLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRWxDLHVCQUF1QixDQUFDLElBQVksRUFBRSxXQUFxQixFQUFFLElBQWE7UUFDeEUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3ZGLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDWCxHQUFHLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQzlCLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDekIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFO29CQUNSLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxRQUFRLEtBQUssQ0FBQyxDQUFDLFNBQVMsS0FBSyxDQUFDLENBQUMsUUFBUSxHQUFHLEVBQUUsaUJBQWlCO29CQUN6RSxJQUFJLEVBQUUsTUFBTTtpQkFDYixDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNQLEdBQUcsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDOUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUN6QixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUk7b0JBQ1YsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJO29CQUNiLElBQUksRUFBRSxNQUFNO2lCQUNiLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ1IsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOytHQXRCVSxVQUFVO21IQUFWLFVBQVUsY0FGVCxNQUFNOzs0RkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCYWNrZW5kU2VydmljZSB9IGZyb20gJy4uL2JhY2tlbmQvYmFja2VuZC5zZXJ2aWNlJztcbmltcG9ydCB7IE9yZ2FuaXphdGlvblNldEVudHJ5IH0gZnJvbSAnLi9pZG0uaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSWRtU2VydmljZSB7XG4gICNiYWNrZW5kID0gaW5qZWN0KEJhY2tlbmRTZXJ2aWNlKTtcblxuICBxdWVyeU9yZ2FuaXphdGlvbkVudGl0eSh0ZXJtOiBzdHJpbmcsIHRhcmdldFR5cGVzOiBzdHJpbmdbXSwgc2l6ZT86IG51bWJlcik6IE9ic2VydmFibGU8T3JnYW5pemF0aW9uU2V0RW50cnlbXT4ge1xuICAgIHJldHVybiB0aGlzLiNiYWNrZW5kLmdldChgL2lkbS9zZWFyY2g/c2VhcmNoPSR7dGVybX0ke3NpemUgPyBgJnNpemU9JHtzaXplfWAgOiAnJ31gKS5waXBlKFxuICAgICAgbWFwKChyZXMpID0+IFtcbiAgICAgICAgLi4uKHRhcmdldFR5cGVzLmluY2x1ZGVzKCd1c2VyJylcbiAgICAgICAgICA/IHJlcy51c2Vycy5tYXAoKHU6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgaWQ6IHUuaWQsXG4gICAgICAgICAgICAgIHRpdGxlOiBgJHt1Lmxhc3RuYW1lfSwgJHt1LmZpcnN0bmFtZX0gKCR7dS51c2VybmFtZX0pYCwgLy8gVE9ETzogdS50aXRsZSxcbiAgICAgICAgICAgICAgdHlwZTogJ3VzZXInXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgICA6IFtdKSxcbiAgICAgICAgLi4uKHRhcmdldFR5cGVzLmluY2x1ZGVzKCdyb2xlJylcbiAgICAgICAgICA/IHJlcy5yb2xlcy5tYXAoKHU6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgaWQ6IHUubmFtZSxcbiAgICAgICAgICAgICAgdGl0bGU6IHUubmFtZSxcbiAgICAgICAgICAgICAgdHlwZTogJ3JvbGUnXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgICA6IFtdKVxuICAgICAgXSlcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { ConfigService } from '../config/config.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../config/config.service";
|
|
5
|
-
/**
|
|
6
|
-
* @ignore
|
|
7
|
-
*/
|
|
8
|
-
export class LoggerConsoleService {
|
|
9
|
-
constructor(config) {
|
|
10
|
-
this.config = config;
|
|
11
|
-
this.styles = {
|
|
12
|
-
info: 'color:blue',
|
|
13
|
-
debug: 'background: orange',
|
|
14
|
-
warn: 'background: rgba(255,0,0,.2);color: red',
|
|
15
|
-
error: 'background: red; color: #fff'
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
apply(fn, args) {
|
|
19
|
-
args = [`%c${fn}:`, 'font-family: monospace; font-size: 10px; padding: 2px 4px;' + this.styles[fn], ...args];
|
|
20
|
-
return this.shouldLog(fn) ? console && console[fn] && console[fn](...args) : null;
|
|
21
|
-
}
|
|
22
|
-
debug(...args) {
|
|
23
|
-
this.apply('debug', args);
|
|
24
|
-
}
|
|
25
|
-
error(...args) {
|
|
26
|
-
this.apply('error', args);
|
|
27
|
-
}
|
|
28
|
-
info(...args) {
|
|
29
|
-
this.apply('info', args);
|
|
30
|
-
}
|
|
31
|
-
log(...args) {
|
|
32
|
-
this.apply('log', args);
|
|
33
|
-
}
|
|
34
|
-
warn(...args) {
|
|
35
|
-
this.apply('warn', args);
|
|
36
|
-
}
|
|
37
|
-
shouldLog(level) {
|
|
38
|
-
let should = false;
|
|
39
|
-
const cfg = this.config.get('core.logging');
|
|
40
|
-
if (!cfg || !cfg.level)
|
|
41
|
-
return false;
|
|
42
|
-
switch (cfg.level) {
|
|
43
|
-
case 'debug': {
|
|
44
|
-
should = true;
|
|
45
|
-
break;
|
|
46
|
-
}
|
|
47
|
-
case 'error': {
|
|
48
|
-
should = ['error'].includes(level);
|
|
49
|
-
break;
|
|
50
|
-
}
|
|
51
|
-
case 'warn': {
|
|
52
|
-
should = ['warn', 'error'].includes(level);
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
case 'info': {
|
|
56
|
-
should = ['info', 'warn', 'error'].includes(level);
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
default: {
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return should;
|
|
63
|
-
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoggerConsoleService, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
65
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoggerConsoleService, providedIn: 'root' }); }
|
|
66
|
-
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoggerConsoleService, decorators: [{
|
|
68
|
-
type: Injectable,
|
|
69
|
-
args: [{
|
|
70
|
-
providedIn: 'root'
|
|
71
|
-
}]
|
|
72
|
-
}], ctorParameters: () => [{ type: i1.ConfigService }] });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLWNvbnNvbGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1jb3JlL3NyYy9saWIvc2VydmljZS9sb2dnZXIvbG9nZ2VyLWNvbnNvbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBRXpEOztHQUVHO0FBSUgsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixZQUFvQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBRWpDLFdBQU0sR0FBZ0M7WUFDNUMsSUFBSSxFQUFFLFlBQVk7WUFDbEIsS0FBSyxFQUFFLG9CQUFvQjtZQUMzQixJQUFJLEVBQUUseUNBQXlDO1lBQy9DLEtBQUssRUFBRSw4QkFBOEI7U0FDdEMsQ0FBQztJQVAyQyxDQUFDO0lBU3RDLEtBQUssQ0FBQyxFQUFVLEVBQUUsSUFBUztRQUNqQyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLDREQUE0RCxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUM3RyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSyxPQUFlLENBQUMsRUFBRSxDQUFDLElBQUssT0FBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN0RyxDQUFDO0lBRU0sS0FBSyxDQUFDLEdBQUcsSUFBVztRQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU0sS0FBSyxDQUFDLEdBQUcsSUFBVztRQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU0sSUFBSSxDQUFDLEdBQUcsSUFBVztRQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sR0FBRyxDQUFDLEdBQUcsSUFBVztRQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU0sSUFBSSxDQUFDLEdBQUcsSUFBVztRQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQWE7UUFDN0IsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ25CLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBRXJDLFFBQVEsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2xCLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDYixNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNkLE1BQU07WUFDUixDQUFDO1lBQ0QsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNiLE1BQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbkMsTUFBTTtZQUNSLENBQUM7WUFDRCxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ1osTUFBTSxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0MsTUFBTTtZQUNSLENBQUM7WUFDRCxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ1osTUFBTSxHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25ELE1BQU07WUFDUixDQUFDO1lBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNWLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzsrR0E3RFUsb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb25maWcvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgSUxvZ2dlciB9IGZyb20gJy4vbG9nZ2VyLmludGVyZmFjZSc7XG4vKipcbiAqIEBpZ25vcmVcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTG9nZ2VyQ29uc29sZVNlcnZpY2UgaW1wbGVtZW50cyBJTG9nZ2VyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2UpIHsgfVxuXG4gIHByaXZhdGUgc3R5bGVzOiB7IFtsZXZlbDogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgaW5mbzogJ2NvbG9yOmJsdWUnLFxuICAgIGRlYnVnOiAnYmFja2dyb3VuZDogb3JhbmdlJyxcbiAgICB3YXJuOiAnYmFja2dyb3VuZDogcmdiYSgyNTUsMCwwLC4yKTtjb2xvcjogcmVkJyxcbiAgICBlcnJvcjogJ2JhY2tncm91bmQ6IHJlZDsgY29sb3I6ICNmZmYnXG4gIH07XG5cbiAgcHJpdmF0ZSBhcHBseShmbjogc3RyaW5nLCBhcmdzOiBhbnkpIHtcbiAgICBhcmdzID0gW2AlYyR7Zm59OmAsICdmb250LWZhbWlseTogbW9ub3NwYWNlOyBmb250LXNpemU6IDEwcHg7IHBhZGRpbmc6IDJweCA0cHg7JyArIHRoaXMuc3R5bGVzW2ZuXSwgLi4uYXJnc107XG4gICAgcmV0dXJuIHRoaXMuc2hvdWxkTG9nKGZuKSA/IGNvbnNvbGUgJiYgKGNvbnNvbGUgYXMgYW55KVtmbl0gJiYgKGNvbnNvbGUgYXMgYW55KVtmbl0oLi4uYXJncykgOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGRlYnVnKC4uLmFyZ3M6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5hcHBseSgnZGVidWcnLCBhcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyBlcnJvciguLi5hcmdzOiBhbnlbXSk6IHZvaWQge1xuICAgIHRoaXMuYXBwbHkoJ2Vycm9yJywgYXJncyk7XG4gIH1cblxuICBwdWJsaWMgaW5mbyguLi5hcmdzOiBhbnlbXSk6IHZvaWQge1xuICAgIHRoaXMuYXBwbHkoJ2luZm8nLCBhcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2coLi4uYXJnczogYW55W10pOiB2b2lkIHtcbiAgICB0aGlzLmFwcGx5KCdsb2cnLCBhcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyB3YXJuKC4uLmFyZ3M6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5hcHBseSgnd2FybicsIGFyZ3MpO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG91bGRMb2cobGV2ZWw6IHN0cmluZykge1xuICAgIGxldCBzaG91bGQgPSBmYWxzZTtcbiAgICBjb25zdCBjZmcgPSB0aGlzLmNvbmZpZy5nZXQoJ2NvcmUubG9nZ2luZycpO1xuICAgIGlmICghY2ZnIHx8ICFjZmcubGV2ZWwpIHJldHVybiBmYWxzZTtcblxuICAgIHN3aXRjaCAoY2ZnLmxldmVsKSB7XG4gICAgICBjYXNlICdkZWJ1Zyc6IHtcbiAgICAgICAgc2hvdWxkID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdlcnJvcic6IHtcbiAgICAgICAgc2hvdWxkID0gWydlcnJvciddLmluY2x1ZGVzKGxldmVsKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICd3YXJuJzoge1xuICAgICAgICBzaG91bGQgPSBbJ3dhcm4nLCAnZXJyb3InXS5pbmNsdWRlcyhsZXZlbCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnaW5mbyc6IHtcbiAgICAgICAgc2hvdWxkID0gWydpbmZvJywgJ3dhcm4nLCAnZXJyb3InXS5pbmNsdWRlcyhsZXZlbCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gc2hvdWxkO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1jb3JlL3NyYy9saWIvc2VydmljZS9sb2dnZXIvbG9nZ2VyLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBJbnRlcmZhY2UgcHJvdmlkaW5nIGEgZGVmYXVsdCBsb2dnZXIsIHRoYXQgaXMgdXNlZCBmb3IgdGhlIERlcGVuZGVuY3ktSW5qZWN0aW9uIChESSkgdG9rZW4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUxvZ2dlciB7XG4gIGRlYnVnKC4uLmFyZ3M6IGFueVtdKTogdm9pZDtcbiAgZXJyb3IoLi4uYXJnczogYW55W10pOiB2b2lkO1xuICBpbmZvKC4uLmFyZ3M6IGFueVtdKTogdm9pZDtcbiAgbG9nKC4uLmFyZ3M6IGFueVtdKTogdm9pZDtcbiAgd2FybiguLi5hcmdzOiBhbnlbXSk6IHZvaWQ7XG59XG4iXX0=
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Set up the default logger.
|
|
3
|
-
* The default logger doesn't actually log anything;
|
|
4
|
-
* but, it provides the Dependency-Injection (DI) token that the rest of the
|
|
5
|
-
* application can use for dependency resolution. Each platform can then override
|
|
6
|
-
* this with a platform-specific logger implementation.
|
|
7
|
-
*
|
|
8
|
-
* @ignore
|
|
9
|
-
*/
|
|
10
|
-
export class Logger {
|
|
11
|
-
error(...args) {
|
|
12
|
-
// ... the default logger does no work.
|
|
13
|
-
}
|
|
14
|
-
debug(...args) {
|
|
15
|
-
// ... the default logger does no work.
|
|
16
|
-
}
|
|
17
|
-
info(...args) {
|
|
18
|
-
// ... the default logger does no work.
|
|
19
|
-
}
|
|
20
|
-
log(...args) {
|
|
21
|
-
// ... the default logger does no work.
|
|
22
|
-
}
|
|
23
|
-
warn(...args) {
|
|
24
|
-
// ... the default logger does no work.
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWNvcmUvc3JjL2xpYi9zZXJ2aWNlL2xvZ2dlci9sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLE9BQU8sTUFBTTtJQUVWLEtBQUssQ0FBQyxHQUFHLElBQVc7UUFDekIsdUNBQXVDO0lBQ3pDLENBQUM7SUFFTSxLQUFLLENBQUMsR0FBRyxJQUFXO1FBQ3pCLHVDQUF1QztJQUN6QyxDQUFDO0lBRU0sSUFBSSxDQUFDLEdBQUcsSUFBVztRQUN4Qix1Q0FBdUM7SUFDekMsQ0FBQztJQUVNLEdBQUcsQ0FBQyxHQUFHLElBQVc7UUFDdkIsdUNBQXVDO0lBQ3pDLENBQUM7SUFFTSxJQUFJLENBQUMsR0FBRyxJQUFXO1FBQ3hCLHVDQUF1QztJQUN6QyxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTG9nZ2VyIH0gZnJvbSAnLi9sb2dnZXIuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBTZXQgdXAgdGhlIGRlZmF1bHQgbG9nZ2VyLlxuICogVGhlIGRlZmF1bHQgbG9nZ2VyIGRvZXNuJ3QgYWN0dWFsbHkgbG9nIGFueXRoaW5nO1xuICogYnV0LCBpdCBwcm92aWRlcyB0aGUgRGVwZW5kZW5jeS1JbmplY3Rpb24gKERJKSB0b2tlbiB0aGF0IHRoZSByZXN0IG9mIHRoZSBcbiAqIGFwcGxpY2F0aW9uIGNhbiB1c2UgZm9yIGRlcGVuZGVuY3kgcmVzb2x1dGlvbi4gRWFjaCBwbGF0Zm9ybSBjYW4gdGhlbiBvdmVycmlkZSBcbiAqIHRoaXMgd2l0aCBhIHBsYXRmb3JtLXNwZWNpZmljIGxvZ2dlciBpbXBsZW1lbnRhdGlvbi5cbiAqXG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBjbGFzcyBMb2dnZXIgaW1wbGVtZW50cyBJTG9nZ2VyIHtcblxuICBwdWJsaWMgZXJyb3IoLi4uYXJnczogYW55W10pOiB2b2lkIHtcbiAgICAvLyAuLi4gdGhlIGRlZmF1bHQgbG9nZ2VyIGRvZXMgbm8gd29yay5cbiAgfVxuXG4gIHB1YmxpYyBkZWJ1ZyguLi5hcmdzOiBhbnlbXSk6IHZvaWQge1xuICAgIC8vIC4uLiB0aGUgZGVmYXVsdCBsb2dnZXIgZG9lcyBubyB3b3JrLlxuICB9XG5cbiAgcHVibGljIGluZm8oLi4uYXJnczogYW55W10pOiB2b2lkIHtcbiAgICAvLyAuLi4gdGhlIGRlZmF1bHQgbG9nZ2VyIGRvZXMgbm8gd29yay5cbiAgfVxuXG4gIHB1YmxpYyBsb2coLi4uYXJnczogYW55W10pOiB2b2lkIHtcbiAgICAvLyAuLi4gdGhlIGRlZmF1bHQgbG9nZ2VyIGRvZXMgbm8gd29yay5cbiAgfVxuXG4gIHB1YmxpYyB3YXJuKC4uLmFyZ3M6IGFueVtdKTogdm9pZCB7XG4gICAgLy8gLi4uIHRoZSBkZWZhdWx0IGxvZ2dlciBkb2VzIG5vIHdvcmsuXG4gIH1cblxufSJdfQ==
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import { Injectable, inject } from '@angular/core';
|
|
2
|
-
import { ToastService } from '@yuuvis/components/toast';
|
|
3
|
-
import { AuthService } from '../auth/auth.service';
|
|
4
|
-
import { EventService } from '../event/event.service';
|
|
5
|
-
import { YuvEventType } from '../event/events';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
/**
|
|
8
|
-
* Shows a message after completing each action.
|
|
9
|
-
*/
|
|
10
|
-
export class NotificationService {
|
|
11
|
-
#toastService;
|
|
12
|
-
#authService;
|
|
13
|
-
#eventService;
|
|
14
|
-
constructor() {
|
|
15
|
-
this.#toastService = inject(ToastService);
|
|
16
|
-
this.#authService = inject(AuthService);
|
|
17
|
-
this.#eventService = inject(EventService);
|
|
18
|
-
/**
|
|
19
|
-
* Set to true to suppress any notifications
|
|
20
|
-
*/
|
|
21
|
-
this.silent = false;
|
|
22
|
-
/**
|
|
23
|
-
* Default Notofication Options
|
|
24
|
-
*
|
|
25
|
-
*/
|
|
26
|
-
this.options = {
|
|
27
|
-
position: 'bottom-end'
|
|
28
|
-
};
|
|
29
|
-
this.#authService.authenticated$.subscribe((a) => (this.silent = !a));
|
|
30
|
-
this.#eventService.on(YuvEventType.LOGOUT).subscribe(() => (this.silent = true));
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Show info colored massage (blue)
|
|
34
|
-
*
|
|
35
|
-
* @param string title
|
|
36
|
-
* @param string msg
|
|
37
|
-
*/
|
|
38
|
-
info(title, msg) {
|
|
39
|
-
this.toast(title, msg);
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Show success colored massage (green)
|
|
43
|
-
* @param string title
|
|
44
|
-
* @param string msg
|
|
45
|
-
*/
|
|
46
|
-
success(title, msg) {
|
|
47
|
-
this.toast(title, msg, 'success');
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* can not be in use
|
|
51
|
-
*
|
|
52
|
-
* @param string title
|
|
53
|
-
* @param string msg
|
|
54
|
-
*/
|
|
55
|
-
wait(title, msg) {
|
|
56
|
-
this.toast(title, msg, 'wait');
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Show error colored massage (red)
|
|
60
|
-
*
|
|
61
|
-
* @param string title
|
|
62
|
-
* @param string msg
|
|
63
|
-
*/
|
|
64
|
-
error(title, msg) {
|
|
65
|
-
this.toast(title, msg, 'error', {
|
|
66
|
-
duration: 5
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Show warning colored massage (yellow)
|
|
71
|
-
*
|
|
72
|
-
* @param string title
|
|
73
|
-
* @param string msg
|
|
74
|
-
*/
|
|
75
|
-
warning(title, msg) {
|
|
76
|
-
this.toast(title, msg, 'warning');
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Public wrapper for accessing the Toastr
|
|
80
|
-
*
|
|
81
|
-
* @param string title
|
|
82
|
-
* @param string msg
|
|
83
|
-
* @param string mode
|
|
84
|
-
* @param _options
|
|
85
|
-
*/
|
|
86
|
-
toast(title, msg, mode, _options) {
|
|
87
|
-
this.doToast(title, msg, { ...this.options, ..._options }, mode);
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Accessing the toastr service
|
|
91
|
-
*
|
|
92
|
-
* @param string msg
|
|
93
|
-
* @param string title
|
|
94
|
-
* @param options
|
|
95
|
-
* @param string mode
|
|
96
|
-
*/
|
|
97
|
-
doToast(title, msg, options, mode) {
|
|
98
|
-
if (this.silent)
|
|
99
|
-
return;
|
|
100
|
-
switch (mode) {
|
|
101
|
-
case 'success': {
|
|
102
|
-
this.#toastService.success(title, msg, options);
|
|
103
|
-
break;
|
|
104
|
-
}
|
|
105
|
-
case 'error': {
|
|
106
|
-
this.#toastService.error(title, msg, options);
|
|
107
|
-
break;
|
|
108
|
-
}
|
|
109
|
-
case 'warning': {
|
|
110
|
-
this.#toastService.warning(title, msg, options);
|
|
111
|
-
break;
|
|
112
|
-
}
|
|
113
|
-
case 'confirm': {
|
|
114
|
-
this.#toastService.info(title, msg, options);
|
|
115
|
-
break;
|
|
116
|
-
}
|
|
117
|
-
default: {
|
|
118
|
-
this.#toastService.info(title, msg, options);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
123
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NotificationService, providedIn: 'root' }); }
|
|
124
|
-
}
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NotificationService, decorators: [{
|
|
126
|
-
type: Injectable,
|
|
127
|
-
args: [{
|
|
128
|
-
providedIn: 'root'
|
|
129
|
-
}]
|
|
130
|
-
}], ctorParameters: () => [] });
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtY29yZS9zcmMvbGliL3NlcnZpY2Uvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBZ0IsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRS9DOztHQUVHO0FBSUgsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixhQUFhLENBQXdCO0lBQ3JDLFlBQVksQ0FBdUI7SUFDbkMsYUFBYSxDQUF3QjtJQWVyQztRQWpCQSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyQyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVyQzs7V0FFRztRQUNILFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZjs7O1dBR0c7UUFDSyxZQUFPLEdBQTBCO1lBQ3ZDLFFBQVEsRUFBRSxZQUFZO1NBQ3ZCLENBQUM7UUFHQSxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsWUFBWSxD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Y29yZSc7XG5pbXBvcnQgeyBUb2FzdE9wdGlvbnMsIFRvYXN0U2VydmljZSB9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy90b2FzdCc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGgvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEV2ZW50U2VydmljZSB9IGZyb20gJy4uL2V2ZW50L2V2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgWXV2RXZlbnRUeXBlIH0gZnJvbSAnLi4vZXZlbnQvZXZlbnRzJztcblxuLyoqXG4gKiBTaG93cyBhIG1lc3NhZ2UgYWZ0ZXIgY29tcGxldGluZyBlYWNoIGFjdGlvbi5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uU2VydmljZSB7XG4gICN0b2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcbiAgI2F1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgI2V2ZW50U2VydmljZSA9IGluamVjdChFdmVudFNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBTZXQgdG8gdHJ1ZSB0byBzdXBwcmVzcyBhbnkgbm90aWZpY2F0aW9uc1xuICAgKi9cbiAgc2lsZW50ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgTm90b2ZpY2F0aW9uIE9wdGlvbnNcbiAgICpcbiAgICovXG4gIHByaXZhdGUgb3B0aW9uczogUGFydGlhbDxUb2FzdE9wdGlvbnM+ID0ge1xuICAgIHBvc2l0aW9uOiAnYm90dG9tLWVuZCdcbiAgfTtcbiAgXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuI2F1dGhTZXJ2aWNlLmF1dGhlbnRpY2F0ZWQkLnN1YnNjcmliZSgoYSkgPT4gKHRoaXMuc2lsZW50ID0gIWEpKTtcbiAgICB0aGlzLiNldmVudFNlcnZpY2Uub24oWXV2RXZlbnRUeXBlLkxPR09VVCkuc3Vic2NyaWJlKCgpID0+ICh0aGlzLnNpbGVudCA9IHRydWUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaG93IGluZm8gY29sb3JlZCBtYXNzYWdlIChibHVlKVxuICAgKlxuICAgKiBAcGFyYW0gc3RyaW5nIHRpdGxlXG4gICAqIEBwYXJhbSBzdHJpbmcgbXNnXG4gICAqL1xuICBpbmZvKHRpdGxlOiBzdHJpbmcsIG1zZz86IHN0cmluZykge1xuICAgIHRoaXMudG9hc3QodGl0bGUsIG1zZyk7XG4gIH1cblxuICAvKipcbiAgICogU2hvdyBzdWNjZXNzIGNvbG9yZWQgbWFzc2FnZSAoZ3JlZW4pXG4gICAqIEBwYXJhbSBzdHJpbmcgdGl0bGVcbiAgICogQHBhcmFtIHN0cmluZyBtc2dcbiAgICovXG4gIHN1Y2Nlc3ModGl0bGU6IHN0cmluZywgbXNnPzogc3RyaW5nKSB7XG4gICAgdGhpcy50b2FzdCh0aXRsZSwgbXNnLCAnc3VjY2VzcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIGNhbiBub3QgYmUgaW4gdXNlXG4gICAqXG4gICAqIEBwYXJhbSBzdHJpbmcgdGl0bGVcbiAgICogQHBhcmFtIHN0cmluZyBtc2dcbiAgICovXG4gIHdhaXQodGl0bGU6IHN0cmluZywgbXNnPzogc3RyaW5nKSB7XG4gICAgdGhpcy50b2FzdCh0aXRsZSwgbXNnLCAnd2FpdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNob3cgZXJyb3IgY29sb3JlZCBtYXNzYWdlIChyZWQpXG4gICAqXG4gICAqIEBwYXJhbSBzdHJpbmcgdGl0bGVcbiAgICogQHBhcmFtIHN0cmluZyBtc2dcbiAgICovXG4gIGVycm9yKHRpdGxlOiBzdHJpbmcsIG1zZz86IHN0cmluZykge1xuICAgIHRoaXMudG9hc3QodGl0bGUsIG1zZywgJ2Vycm9yJywge1xuICAgICAgZHVyYXRpb246IDVcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaG93IHdhcm5pbmcgY29sb3JlZCBtYXNzYWdlICh5ZWxsb3cpXG4gICAqXG4gICAqIEBwYXJhbSBzdHJpbmcgdGl0bGVcbiAgICogQHBhcmFtIHN0cmluZyBtc2dcbiAgICovXG4gIHdhcm5pbmcodGl0bGU6IHN0cmluZywgbXNnPzogc3RyaW5nKSB7XG4gICAgdGhpcy50b2FzdCh0aXRsZSwgbXNnLCAnd2FybmluZycpO1xuICB9XG5cbiAgLyoqXG4gICAqIFB1YmxpYyB3cmFwcGVyIGZvciBhY2Nlc3NpbmcgdGhlIFRvYXN0clxuICAgKlxuICAgKiBAcGFyYW0gc3RyaW5nIHRpdGxlXG4gICAqIEBwYXJhbSBzdHJpbmcgbXNnXG4gICAqIEBwYXJhbSBzdHJpbmcgbW9kZVxuICAgKiBAcGFyYW0gX29wdGlvbnNcbiAgICovXG4gIHByaXZhdGUgdG9hc3QodGl0bGU6IHN0cmluZywgbXNnPzogc3RyaW5nLCBtb2RlPzogc3RyaW5nLCBfb3B0aW9ucz86IFRvYXN0T3B0aW9ucykge1xuICAgIHRoaXMuZG9Ub2FzdCh0aXRsZSwgbXNnLCB7IC4uLnRoaXMub3B0aW9ucywgLi4uX29wdGlvbnMgfSwgbW9kZSk7XG4gIH1cblxuICAvKipcbiAgICogQWNjZXNzaW5nIHRoZSB0b2FzdHIgc2VydmljZVxuICAgKlxuICAgKiBAcGFyYW0gc3RyaW5nIG1zZ1xuICAgKiBAcGFyYW0gc3RyaW5nIHRpdGxlXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEBwYXJhbSBzdHJpbmcgbW9kZVxuICAgKi9cbiAgcHJpdmF0ZSBkb1RvYXN0KHRpdGxlOiBzdHJpbmcsIG1zZz86IHN0cmluZywgb3B0aW9ucz86IFRvYXN0T3B0aW9ucywgbW9kZT86IHN0cmluZykge1xuICAgIGlmICh0aGlzLnNpbGVudCkgcmV0dXJuO1xuICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgY2FzZSAnc3VjY2Vzcyc6IHtcbiAgICAgICAgdGhpcy4jdG9hc3RTZXJ2aWNlLnN1Y2Nlc3ModGl0bGUsIG1zZywgb3B0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnZXJyb3InOiB7XG4gICAgICAgIHRoaXMuI3RvYXN0U2VydmljZS5lcnJvcih0aXRsZSwgbXNnLCBvcHRpb25zKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICd3YXJuaW5nJzoge1xuICAgICAgICB0aGlzLiN0b2FzdFNlcnZpY2Uud2FybmluZyh0aXRsZSwgbXNnLCBvcHRpb25zKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdjb25maXJtJzoge1xuICAgICAgICB0aGlzLiN0b2FzdFNlcnZpY2UuaW5mbyh0aXRsZSwgbXNnLCBvcHRpb25zKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIHRoaXMuI3RvYXN0U2VydmljZS5pbmZvKHRpdGxlLCBtc2csIG9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWNvbmZpZy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtY29yZS9zcmMvbGliL3NlcnZpY2Uvb2JqZWN0LWNvbmZpZy9vYmplY3QtY29uZmlnLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JqZWN0VHlwZUZpZWxkSW50ZXJuYWxUeXBlIH0gZnJvbSBcIi4uL3N5c3RlbS9vYmplY3QtZm9ybS5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IFZpcnR1YWxPYmplY3RUeXBlIH0gZnJvbSBcIi4uL3N5c3RlbS9zeXN0ZW0uaW50ZXJmYWNlXCI7XG5cbi8qKlxuICogQ29uZmlnIGRlZmluaW5nIHRoZSBtb3N0IGltcG9ydGFudC9pbnRlcmVzc3RpbmcgZmllbGRzIGZvclxuICogYSBjZXJ0YWluIG9iamVjdCB0eXBlLiBUaGV5J2xsIGJlIHVzZWQgdG8gcmVuZGVyIHJlc3VsdCBsaXN0c1xuICogYXMgd2VsbCBhcyBoZWFkZXJzIGZvciBvbmJqZWN0cyBvZiB0aGF0IHR5cGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JqZWN0Q29uZmlnIHtcbiAgLy8gdGhlIElEIG9mIHRoZSBvYmplY3QgdHlwZSB0aGlzIGNvbmZpZyBiZWxvbmdzIHRvXG4gIG9iamVjdFR5cGVJZDogc3RyaW5nO1xuICAvLyBwcm9wZXJ0eSB0byByZW5kZXIgYXMgaWNvbiBmb3IgdGhhdCBvYmplY3RcbiAgaWNvbj86IE9iamVjdENvbmZpZ0ljb247XG4gIC8vIHByb3BlcnR5IHRvIHNlcnZlIGFzIG1haW4gdGl0bGVcbiAgdGl0bGU/OiBPYmplY3RDb25maWdQcm9wZXJ0eTtcbiAgLy8gcHJvcGVydHkgdG8gc2VydmUgYXMgc3VidGl0bGUvZGVzY3JpcHRpb25cbiAgZGVzY3JpcHRpb24/OiBPYmplY3RDb25maWdQcm9wZXJ0eTtcbiAgLy8gcHJvcGVydHkgdG8gc2VydmUgYXMgYWRkaXRpb25hbCBmaWVsZCBvZiBpbXBvcnRhbmNlXG4gIG1ldGE/OiBPYmplY3RDb25maWdQcm9wZXJ0eTtcbiAgLy8gcHJvcGVydHkgdG8gYmUgc2hvd24gYXNpZGUgb2YgdGhlIG1haW4gcHJvcGVydGllc1xuICBhc2lkZT86IE9iamVjdENvbmZpZ1Byb3BlcnR5O1xuICAvLyBwcmltYXJ5IHF1aWNrLWFjY2VzcyBhY3Rpb25zIGZvciB0aGV0IG9iamVjdFxuICBhY3Rpb25zPzogT2JqZWN0Q29uZmlnQWN0aW9uW107XG4gIGJhZGdlcz86IE9iamVjdENvbmZpZ0JhZGdlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2JqZWN0Q29uZmlnSWNvbiB7XG4gIHN2Zzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBPYmplY3RDb25maWdBY3Rpb24ge1xuICBpZDogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBPYmplY3RDb25maWdCYWRnZSB7XG4gIGxhYmVsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2JqZWN0Q29uZmlnUHJvcGVydHkge1xuICBsYWJlbDogc3RyaW5nO1xuICBwcm9wZXJ0eU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdG9yZWRPYmplY3RDb25maWcge1xuICBtYWluOiBPYmplY3RDb25maWdSZWNvcmQ7XG4gIGJ1Y2tldHM6IE9iamVjdENvbmZpZ0J1Y2tldFtdO1xufVxuXG5leHBvcnQgdHlwZSBPYmplY3RDb25maWdSZWNvcmQgPSBSZWNvcmQ8c3RyaW5nLCBPYmplY3RDb25maWc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIE9iamVjdENvbmZpZ0J1Y2tldCB7XG4gIGlkOiBzdHJpbmc7XG4gIGNvbmZpZ3M6IE9iamVjdENvbmZpZ1JlY29yZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlZE9iamVjdENvbmZpZyB7XG4gIGlkOiBzdHJpbmc7XG4gIG9iamVjdFR5cGVJZDogc3RyaW5nO1xuICBpY29uPzogUmVzb2x2ZWRPYmplY3RDb25maWdJdGVtO1xuICB0aXRsZTogUmVzb2x2ZWRPYmplY3RDb25maWdJdGVtO1xuICBkZXNjcmlwdGlvbj86IFJlc29sdmVkT2JqZWN0Q29uZmlnSXRlbTtcbiAgbWV0YT86IFJlc29sdmVkT2JqZWN0Q29uZmlnSXRlbTtcbiAgYXNpZGU/OiBSZXNvbHZlZE9iamVjdENvbmZpZ0l0ZW07XG5cbiAgYWN0aW9ucz86IE9iamVjdENvbmZpZ0FjdGlvbltdO1xuICBiYWRnZXM/OiBPYmplY3RDb25maWdCYWRnZVtdO1xuICBpbnN0YW5jZURhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlZE9iamVjdENvbmZpZ0l0ZW0ge1xuICBwcm9wZXJ0eU5hbWU6IHN0cmluZztcbiAgcmVuZGVyZXJUeXBlPzogUmVuZGVyZXJUeXBlO1xuICB2YWx1ZT86IGFueTtcbiAgLy8gYWRkaXRpb25hbCBkYXRhIHJlbGF0ZWQgdG8gdGhlIHByb3BlcnR5IChsaWtlIC4uLl90aXRsZSBmb3IgdXNlciBmaWVsZHMpXG4gIG1ldGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG5leHBvcnQgdHlwZSBSZW5kZXJlclR5cGUgPSBQYXJ0aWFsPE9iamVjdFR5cGVGaWVsZEludGVybmFsVHlwZSB8IHN0cmluZz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnVHlwZU9wdGlvbiB7XG4gIGJ1Y2tldD86IHN0cmluZztcbiAgdHlwZTogVmlydHVhbE9iamVjdFR5cGU7XG59XG4iXX0=
|
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
import { Injectable, inject } from '@angular/core';
|
|
2
|
-
import { ReplaySubject, map, tap } from 'rxjs';
|
|
3
|
-
import { BaseObjectTypeField } from '../system/system.enum';
|
|
4
|
-
import { SystemService } from '../system/system.service';
|
|
5
|
-
import { UserService } from '../user/user.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
/**
|
|
8
|
-
* Service managing the configuarions for object types.
|
|
9
|
-
* Configuration means that you can pick certain fields
|
|
10
|
-
* of an object type and assign them to a config object.
|
|
11
|
-
*/
|
|
12
|
-
export class ObjectConfigService {
|
|
13
|
-
constructor() {
|
|
14
|
-
this.#system = inject(SystemService);
|
|
15
|
-
this.#user = inject(UserService);
|
|
16
|
-
this.OBJECT_CONFIG_STORAGE_KEY = 'yuv.framework.object-config';
|
|
17
|
-
this.#objectConfigsSource = new ReplaySubject();
|
|
18
|
-
this.#objectConfigs$ = this.#objectConfigsSource.asObservable();
|
|
19
|
-
this.#defaultObjectConfigs = {};
|
|
20
|
-
this.#registeredDefaultObjectConfigs = {
|
|
21
|
-
main: {},
|
|
22
|
-
buckets: []
|
|
23
|
-
};
|
|
24
|
-
this.#objectConfigs = {
|
|
25
|
-
main: {},
|
|
26
|
-
buckets: []
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
#system;
|
|
30
|
-
#user;
|
|
31
|
-
#objectConfigsSource;
|
|
32
|
-
#objectConfigs$;
|
|
33
|
-
#defaultObjectConfigs;
|
|
34
|
-
#registeredDefaultObjectConfigs;
|
|
35
|
-
#objectConfigs;
|
|
36
|
-
// called on core init (auth.service -> initApp)
|
|
37
|
-
init() {
|
|
38
|
-
return this.#user.loadObjectConfig().pipe(tap((res) => {
|
|
39
|
-
this.#getDefaultObjectConfig();
|
|
40
|
-
this.#objectConfigs = res || {
|
|
41
|
-
main: {},
|
|
42
|
-
buckets: []
|
|
43
|
-
};
|
|
44
|
-
this.#objectConfigsSource.next(this.#objectConfigs);
|
|
45
|
-
}));
|
|
46
|
-
}
|
|
47
|
-
getObjectConfigs$(bucket, includeDefaults) {
|
|
48
|
-
return this.#objectConfigs$.pipe(map((soc) => {
|
|
49
|
-
let ocr = soc.main;
|
|
50
|
-
const defaults = { ...this.#defaultObjectConfigs, ...this.#getRegisteredDefaults(bucket) };
|
|
51
|
-
if (bucket) {
|
|
52
|
-
const tileBucket = soc.buckets.find((b) => b.id === bucket);
|
|
53
|
-
if (tileBucket) {
|
|
54
|
-
ocr = tileBucket.configs;
|
|
55
|
-
if (includeDefaults)
|
|
56
|
-
Object.keys(ocr).forEach((k) => {
|
|
57
|
-
ocr[k] = { ...defaults[k], ...ocr[k] };
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return includeDefaults
|
|
62
|
-
? {
|
|
63
|
-
...defaults,
|
|
64
|
-
...ocr
|
|
65
|
-
}
|
|
66
|
-
: { ...ocr };
|
|
67
|
-
}));
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Register default object configs. Apps can pre-define how their
|
|
71
|
-
* objects should be rendered.
|
|
72
|
-
* @param bucket Name of a bucket to bind configs to (usually the ID of the app) to
|
|
73
|
-
* separate the configs from other apps. If not provided configs will be saved for
|
|
74
|
-
* the global scope
|
|
75
|
-
*/
|
|
76
|
-
registerDefaults(configs, bucket) {
|
|
77
|
-
if (bucket) {
|
|
78
|
-
// does bucket exist?
|
|
79
|
-
const tileBucketIdx = this.#registeredDefaultObjectConfigs.buckets.findIndex((b) => b.id === bucket);
|
|
80
|
-
if (tileBucketIdx !== -1) {
|
|
81
|
-
this.#registeredDefaultObjectConfigs.buckets[tileBucketIdx].configs = {
|
|
82
|
-
...this.#registeredDefaultObjectConfigs.buckets[tileBucketIdx].configs,
|
|
83
|
-
...configs
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
this.#registeredDefaultObjectConfigs.buckets.push({
|
|
88
|
-
id: bucket,
|
|
89
|
-
configs
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
else
|
|
94
|
-
this.#registeredDefaultObjectConfigs.main = { ...this.#registeredDefaultObjectConfigs.main, ...configs };
|
|
95
|
-
}
|
|
96
|
-
unregisterDefaults(configs, bucket) {
|
|
97
|
-
if (bucket) {
|
|
98
|
-
// does bucket exist?
|
|
99
|
-
const tileBucketIdx = this.#registeredDefaultObjectConfigs.buckets.findIndex((b) => b.id === bucket);
|
|
100
|
-
if (tileBucketIdx !== -1) {
|
|
101
|
-
this.#registeredDefaultObjectConfigs.buckets.splice(tileBucketIdx, 1);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
Object.keys(configs).forEach((key) => {
|
|
106
|
-
delete this.#registeredDefaultObjectConfigs.main[key];
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
#getRegisteredDefaults(bucket) {
|
|
111
|
-
if (bucket) {
|
|
112
|
-
const defaultTileBucket = this.#registeredDefaultObjectConfigs.buckets.find((b) => b.id === bucket);
|
|
113
|
-
return defaultTileBucket?.configs || {};
|
|
114
|
-
}
|
|
115
|
-
else
|
|
116
|
-
return this.#registeredDefaultObjectConfigs.main;
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Get object config for an object type.
|
|
120
|
-
* @param objectTypeId ID of the object type to get the config for
|
|
121
|
-
* @param bucket Optional bucket ID to fetch the config from. Buckets
|
|
122
|
-
* define separated areas to store/receive those configs. This way
|
|
123
|
-
* components/apps can store different object configs than the ones
|
|
124
|
-
* used accross the whole client application.
|
|
125
|
-
*/
|
|
126
|
-
getObjectConfig(type, bucket) {
|
|
127
|
-
const b = bucket ? this.#objectConfigs.buckets.find((b) => b.id === bucket) : undefined;
|
|
128
|
-
const otr = b ? b.configs : this.#objectConfigs.main;
|
|
129
|
-
const oc = otr[type.id];
|
|
130
|
-
return oc || this.#getRegisteredDefaults(bucket)[type.id];
|
|
131
|
-
}
|
|
132
|
-
saveObjectConfig(type, config, bucket) {
|
|
133
|
-
if (!this.#objectConfigs)
|
|
134
|
-
this.#objectConfigs = {
|
|
135
|
-
main: {},
|
|
136
|
-
buckets: []
|
|
137
|
-
};
|
|
138
|
-
if (bucket) {
|
|
139
|
-
// does bucket exist?
|
|
140
|
-
const tileBucketIdx = this.#objectConfigs.buckets.findIndex((b) => b.id === bucket);
|
|
141
|
-
if (tileBucketIdx !== -1) {
|
|
142
|
-
this.#objectConfigs.buckets[tileBucketIdx].configs[type.id] = config;
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
const configs = {};
|
|
146
|
-
configs[type.id] = config;
|
|
147
|
-
this.#objectConfigs.buckets.push({
|
|
148
|
-
id: bucket,
|
|
149
|
-
configs
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
this.#objectConfigs.main[type.id] = config;
|
|
155
|
-
}
|
|
156
|
-
this.#objectConfigsSource.next(this.#objectConfigs);
|
|
157
|
-
return this.#user.saveObjectConfig(this.#objectConfigs);
|
|
158
|
-
}
|
|
159
|
-
getDefaultConfig(objectTypeID) {
|
|
160
|
-
return this.#defaultObjectConfigs[objectTypeID];
|
|
161
|
-
}
|
|
162
|
-
getResolvedObjectConfig(data, type, bucket, includeDefaults) {
|
|
163
|
-
const defaultCfg = this.#defaultObjectConfigs[data[BaseObjectTypeField.OBJECT_TYPE_ID]];
|
|
164
|
-
let oc = this.getObjectConfig(type, bucket) || defaultCfg;
|
|
165
|
-
if (includeDefaults)
|
|
166
|
-
oc = { ...defaultCfg, ...oc };
|
|
167
|
-
const res = {
|
|
168
|
-
id: data[BaseObjectTypeField.OBJECT_ID],
|
|
169
|
-
objectTypeId: data[BaseObjectTypeField.OBJECT_TYPE_ID],
|
|
170
|
-
actions: oc.actions,
|
|
171
|
-
badges: oc.badges,
|
|
172
|
-
instanceData: data
|
|
173
|
-
};
|
|
174
|
-
if (oc.title)
|
|
175
|
-
res.title = {
|
|
176
|
-
propertyName: oc.title.propertyName,
|
|
177
|
-
value: data[oc.title.propertyName]
|
|
178
|
-
};
|
|
179
|
-
if (oc.description)
|
|
180
|
-
res.description = {
|
|
181
|
-
propertyName: oc.description.propertyName,
|
|
182
|
-
value: data[oc.description.propertyName]
|
|
183
|
-
};
|
|
184
|
-
if (oc.icon)
|
|
185
|
-
res.icon = {
|
|
186
|
-
propertyName: 'custom',
|
|
187
|
-
value: oc.icon.svg
|
|
188
|
-
};
|
|
189
|
-
if (oc.meta)
|
|
190
|
-
res.meta = {
|
|
191
|
-
propertyName: oc.meta.propertyName,
|
|
192
|
-
value: data[oc.meta.propertyName]
|
|
193
|
-
};
|
|
194
|
-
if (oc.aside)
|
|
195
|
-
res.aside = {
|
|
196
|
-
propertyName: oc.aside.propertyName,
|
|
197
|
-
value: data[oc.aside.propertyName]
|
|
198
|
-
};
|
|
199
|
-
return res;
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Load default/fallbac configs based on the object types and
|
|
203
|
-
* their first properties
|
|
204
|
-
*/
|
|
205
|
-
#getDefaultObjectConfig() {
|
|
206
|
-
this.#system.getObjectTypes(true).forEach((ot) => {
|
|
207
|
-
this.#defaultObjectConfigs[ot.id] = {
|
|
208
|
-
objectTypeId: ot.id,
|
|
209
|
-
title: this.#toObjectProperty(ot.fields[0]),
|
|
210
|
-
description: this.#toObjectProperty(ot.fields[1]),
|
|
211
|
-
meta: this.#toObjectProperty(ot.fields[2]),
|
|
212
|
-
aside: this.#toObjectProperty(ot.fields[3])
|
|
213
|
-
};
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
#toObjectProperty(field) {
|
|
217
|
-
return field
|
|
218
|
-
? {
|
|
219
|
-
label: this.#system.getLocalizedLabel(field.id),
|
|
220
|
-
propertyName: field.id
|
|
221
|
-
}
|
|
222
|
-
: undefined;
|
|
223
|
-
}
|
|
224
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
225
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectConfigService, providedIn: 'root' }); }
|
|
226
|
-
}
|
|
227
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectConfigService, decorators: [{
|
|
228
|
-
type: Injectable,
|
|
229
|
-
args: [{
|
|
230
|
-
providedIn: 'root'
|
|
231
|
-
}]
|
|
232
|
-
}] });
|
|
233
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWNvcmUvc3JjL2xpYi9zZXJ2aWNlL29iamVjdC1jb25maWcvb2JqZWN0LWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxhQUFhLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQVVuRDs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLG1CQUFtQjtJQUhoQztRQUlFLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU1Qiw4QkFBeUIsR0FBRyw2QkFBNkIsQ0FBQztRQUMxRCx5QkFBb0IsR0FBRyxJQUFJLGFBQWEsRUFBc0IsQ0FBQztRQUMvRCxvQkFBZSxHQUFtQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFM0YsMEJBQXFCLEdBQWlDLEVBQUUsQ0FBQztRQUN6RCxvQ0FBK0IsR0FBdUI7WUFDcEQsSUFBSSxFQUFFLEVBQUU7WUFDUixPQUFPLEVBQUUsRUFBRTtTQUNaLENBQUM7UUFDRixtQkFBYyxHQUF1QjtZQUNuQyxJQUFJLEVBQUUsRUFBRTtZQUNSLE9BQU8sRUFBRSxFQUFFO1NBQ1osQ0FBQztLQXlNSDtJQXhOQyxPQUFPLENBQXlCO0lBQ2hDLEtBQUssQ0FBdUI7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bmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIG1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCYXNlT2JqZWN0VHlwZUZpZWxkIH0gZnJvbSAnLi4vc3lzdGVtL3N5c3RlbS5lbnVtJztcbmltcG9ydCB7IEdlbmVyaWNPYmplY3RUeXBlLCBPYmplY3RUeXBlRmllbGQsIFZpcnR1YWxPYmplY3RUeXBlIH0gZnJvbSAnLi4vc3lzdGVtL3N5c3RlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3lzdGVtU2VydmljZSB9IGZyb20gJy4uL3N5c3RlbS9zeXN0ZW0uc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uL3VzZXIvdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIE9iamVjdENvbmZpZyxcbiAgT2JqZWN0Q29uZmlnQnVja2V0LFxuICBPYmplY3RDb25maWdQcm9wZXJ0eSxcbiAgT2JqZWN0Q29uZmlnUmVjb3JkLFxuICBSZXNvbHZlZE9iamVjdENvbmZpZyxcbiAgU3RvcmVkT2JqZWN0Q29uZmlnXG59IGZyb20gJy4vb2JqZWN0LWNvbmZpZy5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIFNlcnZpY2UgbWFuYWdpbmcgdGhlIGNvbmZpZ3VhcmlvbnMgZm9yIG9iamVjdCB0eXBlcy5cbiAqIENvbmZpZ3VyYXRpb24gbWVhbnMgdGhhdCB5b3UgY2FuIHBpY2sgY2VydGFpbiBmaWVsZHNcbiAqIG9mIGFuIG9iamVjdCB0eXBlIGFuZCBhc3NpZ24gdGhlbSB0byBhIGNvbmZpZyBvYmplY3QuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdENvbmZpZ1NlcnZpY2Uge1xuICAjc3lzdGVtID0gaW5qZWN0KFN5c3RlbVNlcnZpY2UpO1xuICAjdXNlciA9IGluamVjdChVc2VyU2VydmljZSk7XG5cbiAgT0JKRUNUX0NPTkZJR19TVE9SQUdFX0tFWSA9ICd5dXYuZnJhbWV3b3JrLm9iamVjdC1jb25maWcnO1xuICAjb2JqZWN0Q29uZmlnc1NvdXJjZSA9IG5ldyBSZXBsYXlTdWJqZWN0PFN0b3JlZE9iamVjdENvbmZpZz4oKTtcbiAgI29iamVjdENvbmZpZ3MkOiBPYnNlcnZhYmxlPFN0b3JlZE9iamVjdENvbmZpZz4gPSB0aGlzLiNvYmplY3RDb25maWdzU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICNkZWZhdWx0T2JqZWN0Q29uZmlnczogUmVjb3JkPHN0cmluZywgT2JqZWN0Q29uZmlnPiA9IHt9O1xuICAjcmVnaXN0ZXJlZERlZmF1bHRPYmplY3RDb25maWdzOiBTdG9yZWRPYmplY3RDb25maWcgPSB7XG4gICAgbWFpbjoge30sXG4gICAgYnVja2V0czogW11cbiAgfTtcbiAgI29iamVjdENvbmZpZ3M6IFN0b3JlZE9iamVjdENvbmZpZyA9IHtcbiAgICBtYWluOiB7fSxcbiAgICBidWNrZXRzOiBbXVxuICB9O1xuXG4gIC8vIGNhbGxlZCBvbiBjb3JlIGluaXQgKGF1dGguc2VydmljZSAtPiBpbml0QXBwKVxuICBpbml0KCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuI3VzZXIubG9hZE9iamVjdENvbmZpZygpLnBpcGUoXG4gICAgICB0YXAoKHJlcykgPT4ge1xuICAgICAgICB0aGlzLiNnZXREZWZhdWx0T2JqZWN0Q29uZmlnKCk7XG4gICAgICAgIHRoaXMuI29iamVjdENvbmZpZ3MgPSByZXMgfHwge1xuICAgICAgICAgIG1haW46IHt9LFxuICAgICAgICAgIGJ1Y2tldHM6IFtdXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuI29iamVjdENvbmZpZ3NTb3VyY2UubmV4dCh0aGlzLiNvYmplY3RDb25maWdzKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldE9iamVjdENvbmZpZ3MkKGJ1Y2tldD86IHN0cmluZywgaW5jbHVkZURlZmF1bHRzPzogYm9vbGVhbik6IE9ic2VydmFibGU8T2JqZWN0Q29uZmlnUmVjb3JkPiB7XG4gICAgcmV0dXJuIHRoaXMuI29iamVjdENvbmZpZ3MkLnBpcGUoXG4gICAgICBtYXAoKHNvYzogU3RvcmVkT2JqZWN0Q29uZmlnKSA9PiB7XG4gICAgICAgIGxldCBvY3I6IE9iamVjdENvbmZpZ1JlY29yZCA9IHNvYy5tYWluO1xuICAgICAgICBjb25zdCBkZWZhdWx0czogT2JqZWN0Q29uZmlnUmVjb3JkID0geyAuLi50aGlzLiNkZWZhdWx0T2JqZWN0Q29uZmlncywgLi4udGhpcy4jZ2V0UmVnaXN0ZXJlZERlZmF1bHRzKGJ1Y2tldCkgfTtcblxuICAgICAgICBpZiAoYnVja2V0KSB7XG4gICAgICAgICAgY29uc3QgdGlsZUJ1Y2tldDogT2JqZWN0Q29uZmlnQnVja2V0IHwgdW5kZWZpbmVkID0gc29jLmJ1Y2tldHMuZmluZCgoYikgPT4gYi5pZCA9PT0gYnVja2V0KTtcbiAgICAgICAgICBpZiAodGlsZUJ1Y2tldCkge1xuICAgICAgICAgICAgb2NyID0gdGlsZUJ1Y2tldC5jb25maWdzO1xuICAgICAgICAgICAgaWYoaW5jbHVkZURlZmF1bHRzKSBPYmplY3Qua2V5cyhvY3IpLmZvckVhY2goKGspID0+IHtcbiAgICAgICAgICAgICAgb2NyW2tdID0geyAuLi5kZWZhdWx0c1trXSwgLi4ub2NyW2tdIH07XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpbmNsdWRlRGVmYXVsdHNcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgLi4uZGVmYXVsdHMsXG4gICAgICAgICAgICAgIC4uLm9jclxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogeyAuLi5vY3IgfTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBkZWZhdWx0IG9iamVjdCBjb25maWdzLiBBcHBzIGNhbiBwcmUtZGVmaW5lIGhvdyB0aGVpclxuICAgKiBvYmplY3RzIHNob3VsZCBiZSByZW5kZXJlZC5cbiAgICogQHBhcmFtIGJ1Y2tldCBOYW1lIG9mIGEgYnVja2V0IHRvIGJpbmQgY29uZmlncyB0byAodXN1YWxseSB0aGUgSUQgb2YgdGhlIGFwcCkgdG9cbiAgICogc2VwYXJhdGUgdGhlIGNvbmZpZ3MgZnJvbSBvdGhlciBhcHBzLiBJZiBub3QgcHJvdmlkZWQgY29uZmlncyB3aWxsIGJlIHNhdmVkIGZvclxuICAgKiB0aGUgZ2xvYmFsIHNjb3BlXG4gICAqL1xuICByZWdpc3RlckRlZmF1bHRzKGNvbmZpZ3M6IE9iamVjdENvbmZpZ1JlY29yZCwgYnVja2V0Pzogc3RyaW5nKSB7XG4gICAgaWYgKGJ1Y2tldCkge1xuICAgICAgLy8gZG9lcyBidWNrZXQgZXhpc3Q/XG4gICAgICBjb25zdCB0aWxlQnVja2V0SWR4OiBudW1iZXIgPSB0aGlzLiNyZWdpc3RlcmVkRGVmYXVsdE9iamVjdENvbmZpZ3MuYnVja2V0cy5maW5kSW5kZXgoKGIpID0+IGIuaWQgPT09IGJ1Y2tldCk7XG4gICAgICBpZiAodGlsZUJ1Y2tldElkeCAhPT0gLTEpIHtcbiAgICAgICAgdGhpcy4jcmVnaXN0ZXJlZERlZmF1bHRPYmplY3RDb25maWdzLmJ1Y2tldHNbdGlsZUJ1Y2tldElkeF0uY29uZmlncyA9IHtcbiAgICAgICAgICAuLi50aGlzLiNyZWdpc3RlcmVkRGVmYXVsdE9iamVjdENvbmZpZ3MuYnVja2V0c1t0aWxlQnVja2V0SWR4XS5jb25maWdzLFxuICAgICAgICAgIC4uLmNvbmZpZ3NcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuI3JlZ2lzdGVyZWREZWZhdWx0T2JqZWN0Q29uZmlncy5idWNrZXRzLnB1c2goe1xuICAgICAgICAgIGlkOiBidWNrZXQsXG4gICAgICAgICAgY29uZmlnc1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgdGhpcy4jcmVnaXN0ZXJlZERlZmF1bHRPYmplY3RDb25maWdzLm1haW4gPSB7IC4uLnRoaXMuI3JlZ2lzdGVyZWREZWZhdWx0T2JqZWN0Q29uZmlncy5tYWluLCAuLi5jb25maWdzIH07XG4gIH1cblxuICB1bnJlZ2lzdGVyRGVmYXVsdHMoY29uZmlnczogT2JqZWN0Q29uZmlnUmVjb3JkLCBidWNrZXQ/OiBzdHJpbmcpIHtcbiAgICBpZiAoYnVja2V0KSB7XG4gICAgICAvLyBkb2VzIGJ1Y2tldCBleGlzdD9cbiAgICAgIGNvbnN0IHRpbGVCdWNrZXRJZHg6IG51bWJlciA9IHRoaXMuI3JlZ2lzdGVyZWREZWZhdWx0T2JqZWN0Q29uZmlncy5idWNrZXRzLmZpbmRJbmRleCgoYikgPT4gYi5pZCA9PT0gYnVja2V0KTtcbiAgICAgIGlmICh0aWxlQnVja2V0SWR4ICE9PSAtMSkge1xuICAgICAgICB0aGlzLiNyZWdpc3RlcmVkRGVmYXVsdE9iamVjdENvbmZpZ3MuYnVja2V0cy5zcGxpY2UodGlsZUJ1Y2tldElkeCwgMSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIE9iamVjdC5rZXlzKGNvbmZpZ3MpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICBkZWxldGUgdGhpcy4jcmVnaXN0ZXJlZERlZmF1bHRPYmplY3RDb25maWdzLm1haW5ba2V5XTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gICNnZXRSZWdpc3RlcmVkRGVmYXVsdHMoYnVja2V0Pzogc3RyaW5nKTogT2JqZWN0Q29uZmlnUmVjb3JkIHtcbiAgICBpZiAoYnVja2V0KSB7XG4gICAgICBjb25zdCBkZWZhdWx0VGlsZUJ1Y2tldDogT2JqZWN0Q29uZmlnQnVja2V0IHwgdW5kZWZpbmVkID0gdGhpcy4jcmVnaXN0ZXJlZERlZmF1bHRPYmplY3RDb25maWdzLmJ1Y2tldHMuZmluZCgoYikgPT4gYi5pZCA9PT0gYnVja2V0KTtcbiAgICAgIHJldHVybiBkZWZhdWx0VGlsZUJ1Y2tldD8uY29uZmlncyB8fCB7fTtcbiAgICB9IGVsc2UgcmV0dXJuIHRoaXMuI3JlZ2lzdGVyZWREZWZhdWx0T2JqZWN0Q29uZmlncy5tYWluO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBvYmplY3QgY29uZmlnIGZvciBhbiBvYmplY3QgdHlwZS5cbiAgICogQHBhcmFtIG9iamVjdFR5cGVJZCBJRCBvZiB0aGUgb2JqZWN0IHR5cGUgdG8gZ2V0IHRoZSBjb25maWcgZm9yXG4gICAqIEBwYXJhbSBidWNrZXQgT3B0aW9uYWwgYnVja2V0IElEIHRvIGZldGNoIHRoZSBjb25maWcgZnJvbS4gQnVja2V0c1xuICAgKiBkZWZpbmUgc2VwYXJhdGVkIGFyZWFzIHRvIHN0b3JlL3JlY2VpdmUgdGhvc2UgY29uZmlncy4gVGhpcyB3YXlcbiAgICogY29tcG9uZW50cy9hcHBzIGNhbiBzdG9yZSBkaWZmZXJlbnQgb2JqZWN0IGNvbmZpZ3MgdGhhbiB0aGUgb25lc1xuICAgKiB1c2VkIGFjY3Jvc3MgdGhlIHdob2xlIGNsaWVudCBhcHBsaWNhdGlvbi5cbiAgICovXG4gIGdldE9iamVjdENvbmZpZyh0eXBlOiBWaXJ0dWFsT2JqZWN0VHlwZSwgYnVja2V0Pzogc3RyaW5nKTogT2JqZWN0Q29uZmlnIHtcbiAgICBjb25zdCBiOiBPYmplY3RDb25maWdCdWNrZXQgfCB1bmRlZmluZWQgPSBidWNrZXQgPyB0aGlzLiNvYmplY3RDb25maWdzLmJ1Y2tldHMuZmluZCgoYikgPT4gYi5pZCA9PT0gYnVja2V0KSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBvdHI6IE9iamVjdENvbmZpZ1JlY29yZCA9IGIgPyBiLmNvbmZpZ3MgOiB0aGlzLiNvYmplY3RDb25maWdzLm1haW47XG5cbiAgICBjb25zdCBvYyA9IG90clt0eXBlLmlkXTtcbiAgICByZXR1cm4gb2MgfHwgdGhpcy4jZ2V0UmVnaXN0ZXJlZERlZmF1bHRzKGJ1Y2tldClbdHlwZS5pZF07XG4gIH1cblxuICBzYXZlT2JqZWN0Q29uZmlnKHR5cGU6IFZpcnR1YWxPYmplY3RUeXBlLCBjb25maWc6IE9iamVjdENvbmZpZywgYnVja2V0Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoIXRoaXMuI29iamVjdENvbmZpZ3MpXG4gICAgICB0aGlzLiNvYmplY3RDb25maWdzID0ge1xuICAgICAgICBtYWluOiB7fSxcbiAgICAgICAgYnVja2V0czogW11cbiAgICAgIH07XG4gICAgaWYgKGJ1Y2tldCkge1xuICAgICAgLy8gZG9lcyBidWNrZXQgZXhpc3Q/XG4gICAgICBjb25zdCB0aWxlQnVja2V0SWR4OiBudW1iZXIgPSB0aGlzLiNvYmplY3RDb25maWdzLmJ1Y2tldHMuZmluZEluZGV4KChiKSA9PiBiLmlkID09PSBidWNrZXQpO1xuICAgICAgaWYgKHRpbGVCdWNrZXRJZHggIT09IC0xKSB7XG4gICAgICAgIHRoaXMuI29iamVjdENvbmZpZ3MuYnVja2V0c1t0aWxlQnVja2V0SWR4XS5jb25maWdzW3R5cGUuaWRdID0gY29uZmlnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgY29uZmlnczogT2JqZWN0Q29uZmlnUmVjb3JkID0ge307XG4gICAgICAgIGNvbmZpZ3NbdHlwZS5pZF0gPSBjb25maWc7XG5cbiAgICAgICAgdGhpcy4jb2JqZWN0Q29uZmlncy5idWNrZXRzLnB1c2goe1xuICAgICAgICAgIGlkOiBidWNrZXQsXG4gICAgICAgICAgY29uZmlnc1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jb2JqZWN0Q29uZmlncy5tYWluW3R5cGUuaWRdID0gY29uZmlnO1xuICAgIH1cblxuICAgIHRoaXMuI29iamVjdENvbmZpZ3NTb3VyY2UubmV4dCh0aGlzLiNvYmplY3RDb25maWdzKTtcbiAgICByZXR1cm4gdGhpcy4jdXNlci5zYXZlT2JqZWN0Q29uZmlnKHRoaXMuI29iamVjdENvbmZpZ3MpO1xuICB9XG5cbiAgZ2V0RGVmYXVsdENvbmZpZyhvYmplY3RUeXBlSUQ6IHN0cmluZyk6IE9iamVjdENvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMuI2RlZmF1bHRPYmplY3RDb25maWdzW29iamVjdFR5cGVJRF07XG4gIH1cblxuICBnZXRSZXNvbHZlZE9iamVjdENvbmZpZyhkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCB0eXBlOiBWaXJ0dWFsT2JqZWN0VHlwZSwgYnVja2V0Pzogc3RyaW5nLCBpbmNsdWRlRGVmYXVsdHM/OiBib29sZWFuKTogUmVzb2x2ZWRPYmplY3RDb25maWcge1xuICAgIGNvbnN0IGRlZmF1bHRDZmcgPSB0aGlzLiNkZWZhdWx0T2JqZWN0Q29uZmlnc1tkYXRhW0Jhc2VPYmplY3RUeXBlRmllbGQuT0JKRUNUX1RZUEVfSURdXTtcbiAgICBsZXQgb2MgPSB0aGlzLmdldE9iamVjdENvbmZpZyh0eXBlLCBidWNrZXQpIHx8IGRlZmF1bHRDZmc7XG4gICAgaWYgKGluY2x1ZGVEZWZhdWx0cykgb2MgPSB7IC4uLmRlZmF1bHRDZmcsIC4uLm9jIH07XG4gICAgY29uc3QgcmVzOiBQYXJ0aWFsPFJlc29sdmVkT2JqZWN0Q29uZmlnPiA9IHtcbiAgICAgIGlkOiBkYXRhW0Jhc2VPYmplY3RUeXBlRmllbGQuT0JKRUNUX0lEXSxcbiAgICAgIG9iamVjdFR5cGVJZDogZGF0YVtCYXNlT2JqZWN0VHlwZUZpZWxkLk9CSkVDVF9UWVBFX0lEXSxcbiAgICAgIGFjdGlvbnM6IG9jLmFjdGlvbnMsXG4gICAgICBiYWRnZXM6IG9jLmJhZGdlcyxcbiAgICAgIGluc3RhbmNlRGF0YTogZGF0YVxuICAgIH07XG5cbiAgICBpZiAob2MudGl0bGUpXG4gICAgICByZXMudGl0bGUgPSB7XG4gICAgICAgIHByb3BlcnR5TmFtZTogb2MudGl0bGUucHJvcGVydHlOYW1lLFxuICAgICAgICB2YWx1ZTogZGF0YVtvYy50aXRsZS5wcm9wZXJ0eU5hbWVdXG4gICAgICB9O1xuICAgIGlmIChvYy5kZXNjcmlwdGlvbilcbiAgICAgIHJlcy5kZXNjcmlwdGlvbiA9IHtcbiAgICAgICAgcHJvcGVydHlOYW1lOiBvYy5kZXNjcmlwdGlvbi5wcm9wZXJ0eU5hbWUsXG4gICAgICAgIHZhbHVlOiBkYXRhW29jLmRlc2NyaXB0aW9uLnByb3BlcnR5TmFtZV1cbiAgICAgIH07XG4gICAgaWYgKG9jLmljb24pXG4gICAgICByZXMuaWNvbiA9IHtcbiAgICAgICAgcHJvcGVydHlOYW1lOiAnY3VzdG9tJyxcbiAgICAgICAgdmFsdWU6IG9jLmljb24uc3ZnXG4gICAgICB9O1xuICAgIGlmIChvYy5tZXRhKVxuICAgICAgcmVzLm1ldGEgPSB7XG4gICAgICAgIHByb3BlcnR5TmFtZTogb2MubWV0YS5wcm9wZXJ0eU5hbWUsXG4gICAgICAgIHZhbHVlOiBkYXRhW29jLm1ldGEucHJvcGVydHlOYW1lXVxuICAgICAgfTtcbiAgICBpZiAob2MuYXNpZGUpXG4gICAgICByZXMuYXNpZGUgPSB7XG4gICAgICAgIHByb3BlcnR5TmFtZTogb2MuYXNpZGUucHJvcGVydHlOYW1lLFxuICAgICAgICB2YWx1ZTogZGF0YVtvYy5hc2lkZS5wcm9wZXJ0eU5hbWVdXG4gICAgICB9O1xuXG4gICAgcmV0dXJuIHJlcyBhcyBSZXNvbHZlZE9iamVjdENvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIGRlZmF1bHQvZmFsbGJhYyBjb25maWdzIGJhc2VkIG9uIHRoZSBvYmplY3QgdHlwZXMgYW5kXG4gICAqIHRoZWlyIGZpcnN0IHByb3BlcnRpZXNcbiAgICovXG4gICNnZXREZWZhdWx0T2JqZWN0Q29uZmlnKCk6IHZvaWQge1xuICAgIHRoaXMuI3N5c3RlbS5nZXRPYmplY3RUeXBlcyh0cnVlKS5mb3JFYWNoKChvdDogR2VuZXJpY09iamVjdFR5cGUpID0+IHtcbiAgICAgIHRoaXMuI2RlZmF1bHRPYmplY3RDb25maWdzW290LmlkXSA9IHtcbiAgICAgICAgb2JqZWN0VHlwZUlkOiBvdC5pZCxcbiAgICAgICAgdGl0bGU6IHRoaXMuI3RvT2JqZWN0UHJvcGVydHkob3QuZmllbGRzWzBdKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuI3RvT2JqZWN0UHJvcGVydHkob3QuZmllbGRzWzFdKSxcbiAgICAgICAgbWV0YTogdGhpcy4jdG9PYmplY3RQcm9wZXJ0eShvdC5maWVsZHNbMl0pLFxuICAgICAgICBhc2lkZTogdGhpcy4jdG9PYmplY3RQcm9wZXJ0eShvdC5maWVsZHNbM10pXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgI3RvT2JqZWN0UHJvcGVydHkoZmllbGQ6IE9iamVjdFR5cGVGaWVsZCk6IE9iamVjdENvbmZpZ1Byb3BlcnR5IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gZmllbGRcbiAgICAgID8ge1xuICAgICAgICAgIGxhYmVsOiB0aGlzLiNzeXN0ZW0uZ2V0TG9jYWxpemVkTGFiZWwoZmllbGQuaWQpLFxuICAgICAgICAgIHByb3BlcnR5TmFtZTogZmllbGQuaWRcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Interface to be implemented by all components (state components) that are aware of pending changes
|
|
3
|
-
*/
|
|
4
|
-
export {};
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1jaGFuZ2VzLWNvbXBvbmVudC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtY29yZS9zcmMvbGliL3NlcnZpY2UvcGVuZGluZy1jaGFuZ2VzL3BlbmRpbmctY2hhbmdlcy1jb21wb25lbnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBJbnRlcmZhY2UgdG8gYmUgaW1wbGVtZW50ZWQgYnkgYWxsIGNvbXBvbmVudHMgKHN0YXRlIGNvbXBvbmVudHMpIHRoYXQgYXJlIGF3YXJlIG9mIHBlbmRpbmcgY2hhbmdlc1xuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVuZGluZ0NoYW5nZXNDb21wb25lbnQge1xuICBoYXNQZW5kaW5nQ2hhbmdlczogKCkgPT4gYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { PendingChangesService } from './pending-changes.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./pending-changes.service";
|
|
5
|
-
/**
|
|
6
|
-
* Providing a `PendingChangesComponent`.
|
|
7
|
-
*/
|
|
8
|
-
export class PendingChangesGuard {
|
|
9
|
-
constructor(pendingChanges) {
|
|
10
|
-
this.pendingChanges = pendingChanges;
|
|
11
|
-
}
|
|
12
|
-
canDeactivate(component) {
|
|
13
|
-
// if there are no pending changes, just allow deactivation; else confirm first
|
|
14
|
-
return !this.pendingChanges.check(component);
|
|
15
|
-
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PendingChangesGuard, deps: [{ token: i1.PendingChangesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
17
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PendingChangesGuard, providedIn: 'root' }); }
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PendingChangesGuard, decorators: [{
|
|
20
|
-
type: Injectable,
|
|
21
|
-
args: [{
|
|
22
|
-
providedIn: 'root'
|
|
23
|
-
}]
|
|
24
|
-
}], ctorParameters: () => [{ type: i1.PendingChangesService }] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1jaGFuZ2VzLWd1YXJkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtY29yZS9zcmMvbGliL3NlcnZpY2UvcGVuZGluZy1jaGFuZ2VzL3BlbmRpbmctY2hhbmdlcy1ndWFyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQUNsRTs7R0FFRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBb0IsY0FBcUM7UUFBckMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO0lBQUcsQ0FBQztJQUU3RCxhQUFhLENBQUMsU0FBa0M7UUFDOUMsK0VBQStFO1FBQy9FLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQyxDQUFDOytHQU5VLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYW5EZWFjdGl2YXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFBlbmRpbmdDaGFuZ2VzQ29tcG9uZW50IH0gZnJvbSAnLi9wZW5kaW5nLWNoYW5nZXMtY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBQZW5kaW5nQ2hhbmdlc1NlcnZpY2UgfSBmcm9tICcuL3BlbmRpbmctY2hhbmdlcy5zZXJ2aWNlJztcbi8qKlxuICogUHJvdmlkaW5nIGEgYFBlbmRpbmdDaGFuZ2VzQ29tcG9uZW50YC5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGVuZGluZ0NoYW5nZXNHdWFyZCBpbXBsZW1lbnRzIENhbkRlYWN0aXZhdGU8UGVuZGluZ0NoYW5nZXNDb21wb25lbnQ+IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwZW5kaW5nQ2hhbmdlczogUGVuZGluZ0NoYW5nZXNTZXJ2aWNlKSB7fVxuXG4gIGNhbkRlYWN0aXZhdGUoY29tcG9uZW50OiBQZW5kaW5nQ2hhbmdlc0NvbXBvbmVudCk6IGJvb2xlYW4ge1xuICAgIC8vIGlmIHRoZXJlIGFyZSBubyBwZW5kaW5nIGNoYW5nZXMsIGp1c3QgYWxsb3cgZGVhY3RpdmF0aW9uOyBlbHNlIGNvbmZpcm0gZmlyc3RcbiAgICByZXR1cm4gIXRoaXMucGVuZGluZ0NoYW5nZXMuY2hlY2soY29tcG9uZW50KTtcbiAgfVxufVxuIl19
|