@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.
Files changed (105) hide show
  1. package/fesm2022/yuuvis-client-core.mjs +773 -645
  2. package/fesm2022/yuuvis-client-core.mjs.map +1 -1
  3. package/index.d.ts +7 -4
  4. package/lib/model/object-flavor.interface.d.ts +4 -1
  5. package/lib/provide.client.core.d.ts +58 -0
  6. package/lib/service/backend/backend.service.d.ts +0 -1
  7. package/lib/service/config/config.service.d.ts +0 -8
  8. package/lib/service/core-init/core-init.service.d.ts +1 -7
  9. package/lib/service/core-init/translate-json-loader.d.ts +1 -1
  10. package/lib/service/dms/dms.service.d.ts +2 -1
  11. package/lib/service/object-config/object-config.interface.d.ts +1 -1
  12. package/lib/service/object-form/object-form-translate.service.d.ts +15 -0
  13. package/lib/service/{system → object-form}/object-form.interface.d.ts +2 -2
  14. package/lib/service/object-form/object-form.model.d.ts +45 -0
  15. package/lib/service/system/system.interface.d.ts +1 -1
  16. package/lib/service/system/system.service.d.ts +1 -1
  17. package/lib/service/toast/toast.interface.d.ts +8 -0
  18. package/lib/service/toast/toast.service.d.ts +17 -0
  19. package/lib/service/toast/toast.styles.d.ts +1 -0
  20. package/lib/service/upload/upload.interface.d.ts +1 -1
  21. package/lib/service/user/user.providers.d.ts +4 -0
  22. package/lib/service/user/user.service.d.ts +2 -4
  23. package/package.json +7 -10
  24. package/esm2022/index.mjs +0 -69
  25. package/esm2022/lib/client-core.module.mjs +0 -117
  26. package/esm2022/lib/client-core.shared.module.mjs +0 -18
  27. package/esm2022/lib/common/pipes/filesize.pipe.mjs +0 -37
  28. package/esm2022/lib/common/pipes/index.mjs +0 -6
  29. package/esm2022/lib/common/pipes/keys.pipe.mjs +0 -17
  30. package/esm2022/lib/common/pipes/locale-date.pipe.mjs +0 -45
  31. package/esm2022/lib/common/pipes/locale-number.pipe.mjs +0 -115
  32. package/esm2022/lib/common/pipes/safe-html.pipe.mjs +0 -44
  33. package/esm2022/lib/common/services/native-notifications.interface.mjs +0 -2
  34. package/esm2022/lib/common/services/native-notifications.mjs +0 -40
  35. package/esm2022/lib/model/dms-object.interface.mjs +0 -2
  36. package/esm2022/lib/model/dms-object.model.mjs +0 -79
  37. package/esm2022/lib/model/object-flavor.interface.mjs +0 -2
  38. package/esm2022/lib/model/range-value.interface.mjs +0 -2
  39. package/esm2022/lib/model/yuv-error.model.mjs +0 -37
  40. package/esm2022/lib/model/yuv-user.model.mjs +0 -38
  41. package/esm2022/lib/service/audit/audit.interface.mjs +0 -2
  42. package/esm2022/lib/service/audit/audit.service.mjs +0 -135
  43. package/esm2022/lib/service/auth/auth.interceptor.mjs +0 -50
  44. package/esm2022/lib/service/auth/auth.interface.mjs +0 -7
  45. package/esm2022/lib/service/auth/auth.service.mjs +0 -130
  46. package/esm2022/lib/service/auth/oidc.service.mjs +0 -81
  47. package/esm2022/lib/service/backend/api.enum.mjs +0 -11
  48. package/esm2022/lib/service/backend/backend.interface.mjs +0 -2
  49. package/esm2022/lib/service/backend/backend.service.mjs +0 -206
  50. package/esm2022/lib/service/bpm/bpm.interface.mjs +0 -8
  51. package/esm2022/lib/service/bpm/bpm.service.mjs +0 -51
  52. package/esm2022/lib/service/cache/app-cache.service.mjs +0 -51
  53. package/esm2022/lib/service/catalog/catalog.interface.mjs +0 -2
  54. package/esm2022/lib/service/catalog/catalog.service.mjs +0 -13
  55. package/esm2022/lib/service/clipboard/clipboard.interface.mjs +0 -2
  56. package/esm2022/lib/service/clipboard/clipboard.service.mjs +0 -99
  57. package/esm2022/lib/service/config/config.interface.mjs +0 -6
  58. package/esm2022/lib/service/config/config.service.mjs +0 -115
  59. package/esm2022/lib/service/config/core-config.mjs +0 -20
  60. package/esm2022/lib/service/config/core-config.tokens.mjs +0 -9
  61. package/esm2022/lib/service/connection/connection.service.mjs +0 -36
  62. package/esm2022/lib/service/connection/offline.interceptor.mjs +0 -28
  63. package/esm2022/lib/service/core-init/core-init.service.mjs +0 -29
  64. package/esm2022/lib/service/core-init/missing-translation-handler.mjs +0 -10
  65. package/esm2022/lib/service/core-init/translate-json-loader.mjs +0 -117
  66. package/esm2022/lib/service/device/device.interface.mjs +0 -6
  67. package/esm2022/lib/service/device/device.service.mjs +0 -144
  68. package/esm2022/lib/service/dms/dms.service.interface.mjs +0 -2
  69. package/esm2022/lib/service/dms/dms.service.mjs +0 -440
  70. package/esm2022/lib/service/event/event.interface.mjs +0 -2
  71. package/esm2022/lib/service/event/event.service.mjs +0 -38
  72. package/esm2022/lib/service/event/events.mjs +0 -14
  73. package/esm2022/lib/service/idm/idm.interface.mjs +0 -2
  74. package/esm2022/lib/service/idm/idm.service.mjs +0 -34
  75. package/esm2022/lib/service/logger/logger-console.service.mjs +0 -73
  76. package/esm2022/lib/service/logger/logger.interface.mjs +0 -2
  77. package/esm2022/lib/service/logger/logger.mjs +0 -27
  78. package/esm2022/lib/service/notification/notification.service.mjs +0 -131
  79. package/esm2022/lib/service/object-config/object-config.interface.mjs +0 -2
  80. package/esm2022/lib/service/object-config/object-config.service.mjs +0 -233
  81. package/esm2022/lib/service/pending-changes/pending-changes-component.interface.mjs +0 -5
  82. package/esm2022/lib/service/pending-changes/pending-changes-guard.service.mjs +0 -25
  83. package/esm2022/lib/service/pending-changes/pending-changes.service.mjs +0 -123
  84. package/esm2022/lib/service/prediction/prediction.interface.mjs +0 -2
  85. package/esm2022/lib/service/prediction/prediction.service.mjs +0 -60
  86. package/esm2022/lib/service/retention/retention.interface.mjs +0 -2
  87. package/esm2022/lib/service/retention/retention.service.mjs +0 -65
  88. package/esm2022/lib/service/search/search.service.interface.mjs +0 -39
  89. package/esm2022/lib/service/search/search.service.mjs +0 -261
  90. package/esm2022/lib/service/search/search.utils.mjs +0 -142
  91. package/esm2022/lib/service/session-storage/session-storage.service.mjs +0 -50
  92. package/esm2022/lib/service/system/object-form.interface.mjs +0 -2
  93. package/esm2022/lib/service/system/system.enum.mjs +0 -167
  94. package/esm2022/lib/service/system/system.interface.mjs +0 -2
  95. package/esm2022/lib/service/system/system.service.mjs +0 -597
  96. package/esm2022/lib/service/upload/upload.interface.mjs +0 -2
  97. package/esm2022/lib/service/upload/upload.service.mjs +0 -228
  98. package/esm2022/lib/service/user/user-storage.service.mjs +0 -38
  99. package/esm2022/lib/service/user/user.service.mjs +0 -211
  100. package/esm2022/lib/util/utils.helper.enum.mjs +0 -15
  101. package/esm2022/lib/util/utils.mjs +0 -373
  102. package/esm2022/yuuvis-client-core.mjs +0 -5
  103. package/lib/client-core.module.d.ts +0 -20
  104. package/lib/client-core.shared.module.d.ts +0 -10
  105. 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