@yuuvis/client-core 2.0.0-beta.0 → 2.0.0-beta.10

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 -11
  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
package/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export { TranslateDirective, TranslateLoader, TranslateModule, TranslatePipe, TranslateService } from '@ngx-translate/core';
2
- export * from './lib/client-core.shared.module';
3
2
  export * from './lib/model/dms-object.interface';
4
3
  export * from './lib/model/object-flavor.interface';
5
4
  export * from './lib/model/dms-object.model';
@@ -10,7 +9,6 @@ export * from './lib/service/audit/audit.interface';
10
9
  export * from './lib/service/audit/audit.service';
11
10
  export * from './lib/service/auth/auth.interface';
12
11
  export * from './lib/service/auth/auth.service';
13
- export * from './lib/service/auth/oidc.service';
14
12
  export * from './lib/service/backend/api.enum';
15
13
  export * from './lib/service/backend/backend.interface';
16
14
  export * from './lib/service/backend/backend.service';
@@ -50,16 +48,21 @@ export * from './lib/service/search/search.service';
50
48
  export * from './lib/service/search/search.utils';
51
49
  export * from './lib/service/search/search.service.interface';
52
50
  export * from './lib/service/session-storage/session-storage.service';
53
- export * from './lib/service/system/object-form.interface';
51
+ export * from './lib/service/object-form/object-form.interface';
52
+ export * from './lib/service/object-form/object-form.model';
53
+ export * from './lib/service/object-form/object-form-translate.service';
54
54
  export * from './lib/service/system/system.enum';
55
55
  export * from './lib/service/system/system.interface';
56
56
  export * from './lib/service/system/system.service';
57
+ export * from './lib/service/toast/toast.interface';
58
+ export * from './lib/service/toast/toast.service';
57
59
  export * from './lib/service/upload/upload.interface';
58
60
  export * from './lib/service/upload/upload.service';
59
61
  export * from './lib/service/user/user.service';
62
+ export * from './lib/service/user/user.providers';
60
63
  export * from './lib/service/user/user-storage.service';
61
64
  export * from './lib/util/utils';
62
65
  export * from './lib/util/utils.helper.enum';
63
- export * from './lib/client-core.module';
64
66
  export * from './lib/common/pipes';
65
67
  export * from './lib/common/services/native-notifications';
68
+ export * from './lib/provide.client.core';
@@ -7,9 +7,12 @@ export interface FlavoredDmsObject {
7
7
  export interface ObjectTypeFlavor {
8
8
  id: string;
9
9
  icon?: string;
10
+ svgIcon?: boolean;
10
11
  sot: string;
11
12
  applicableTo?: {
12
- mimeTypes: string[];
13
+ mimeTypes?: string[];
14
+ folders?: boolean;
15
+ documents?: boolean;
13
16
  };
14
17
  }
15
18
  /**
@@ -0,0 +1,58 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { MissingTranslationHandler, TranslateLoader } from '@ngx-translate/core';
3
+ import { AuthInterceptor } from './service/auth/auth.interceptor';
4
+ import { CoreConfig } from './service/config/core-config';
5
+ import { OfflineInterceptor } from './service/connection/offline.interceptor';
6
+ import { EoxMissingTranslationHandler } from './service/core-init/missing-translation-handler';
7
+ import { EoxTranslateJsonLoader } from './service/core-init/translate-json-loader';
8
+ import { Logger } from './service/logger/logger';
9
+ import { LoggerConsoleService } from './service/logger/logger-console.service';
10
+ export interface YuvClientCoreConfig {
11
+ translations: string[];
12
+ }
13
+ export declare const provideYuvClientCore: (options?: YuvClientCoreConfig) => (import("@angular/core").EnvironmentProviders | {
14
+ provide: typeof Logger;
15
+ useClass: typeof LoggerConsoleService;
16
+ multi?: undefined;
17
+ deps?: undefined;
18
+ useValue?: undefined;
19
+ } | {
20
+ provide: import("@angular/core").InjectionToken<readonly import("@angular/common/http").HttpInterceptor[]>;
21
+ useClass: typeof AuthInterceptor;
22
+ multi: boolean;
23
+ deps?: undefined;
24
+ useValue?: undefined;
25
+ } | {
26
+ provide: import("@angular/core").InjectionToken<readonly import("@angular/common/http").HttpInterceptor[]>;
27
+ useClass: typeof OfflineInterceptor;
28
+ multi: boolean;
29
+ deps?: undefined;
30
+ useValue?: undefined;
31
+ } | {
32
+ provide: import("@angular/core").InjectionToken<CoreConfig>;
33
+ useClass: typeof CoreConfig;
34
+ deps: import("@angular/core").InjectionToken<CoreConfig>[];
35
+ multi?: undefined;
36
+ useValue?: undefined;
37
+ } | {
38
+ provide: typeof TranslateLoader;
39
+ useClass: typeof EoxTranslateJsonLoader;
40
+ deps: (typeof HttpClient | import("@angular/core").InjectionToken<CoreConfig>)[];
41
+ multi?: undefined;
42
+ useValue?: undefined;
43
+ } | {
44
+ provide: typeof MissingTranslationHandler;
45
+ useClass: typeof EoxMissingTranslationHandler;
46
+ multi?: undefined;
47
+ deps?: undefined;
48
+ useValue?: undefined;
49
+ } | {
50
+ provide: import("@angular/core").InjectionToken<CoreConfig>;
51
+ useValue: {
52
+ translations: string[];
53
+ ɵprov: unknown;
54
+ };
55
+ useClass?: undefined;
56
+ multi?: undefined;
57
+ deps?: undefined;
58
+ })[];
@@ -9,7 +9,6 @@ import * as i0 from "@angular/core";
9
9
  export declare class BackendService {
10
10
  #private;
11
11
  configService: ConfigService;
12
- authUsesOpenIdConnect(): boolean;
13
12
  /**
14
13
  * OpenIdConnect authorization headers
15
14
  */
@@ -1,4 +1,3 @@
1
- import { HttpHeaders } from '@angular/common/http';
2
1
  import { YuvConfig, YuvConfigLanguages } from './config.interface';
3
2
  import * as i0 from "@angular/core";
4
3
  /**
@@ -6,13 +5,11 @@ import * as i0 from "@angular/core";
6
5
  */
7
6
  export declare class ConfigService {
8
7
  private translate;
9
- private oidcService;
10
8
  static GLOBAL_RESOURCES: string;
11
9
  static PARSER(c: any): any;
12
10
  static GLOBAL_MAIN_CONFIG(prefix?: 'system' | 'admin' | ''): string;
13
11
  static GLOBAL_MAIN_CONFIG_LANG(iso?: string, prefix?: 'system' | 'admin' | ''): string;
14
12
  static GLOBAL_RESOURCES_PATH(section?: string, prefix?: 'system' | 'admin' | ''): string;
15
- get oidc(): import("@yuuvis/client-core").OpenIdConfig | undefined;
16
13
  private cfg?;
17
14
  /**
18
15
  * Set during app init (see CoreInit)
@@ -23,11 +20,6 @@ export declare class ConfigService {
23
20
  extendTranslations(translations: any, lang?: string): void;
24
21
  extendConfig(configs: YuvConfig[]): void;
25
22
  private _mergeConfigs;
26
- authUsesOpenIdConnect(): boolean;
27
- /**
28
- * OpenIdConnect authorization headers
29
- */
30
- getAuthHeaders(authorization?: boolean): HttpHeaders;
31
23
  /**
32
24
  * Getter for the available client locales
33
25
  * @returns available client locales
@@ -1,11 +1,5 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { AuthService } from '../auth/auth.service';
3
1
  import { YuvConfig } from '../config/config.interface';
4
- import { ConfigService } from '../config/config.service';
5
- import { CoreConfig } from '../config/core-config';
6
- import { DeviceService } from '../device/device.service';
7
- import { Logger } from '../logger/logger';
8
2
  /**
9
3
  * Providing functions,that are are injected at application startup and executed during app initialization.
10
4
  */
11
- export declare function init_moduleFnc(coreConfig: CoreConfig, deviceService: DeviceService, logger: Logger, http: HttpClient, configService: ConfigService, authService: AuthService): () => import("rxjs").Observable<YuvConfig[]> | import("rxjs").Observable<boolean | import("@yuuvis/client-core").YuvUser>;
5
+ export declare const init_moduleFnc: () => import("rxjs").Observable<YuvConfig[]> | import("rxjs").Observable<boolean | import("@yuuvis/client-core").YuvUser>;
@@ -15,6 +15,6 @@ export declare class EoxTranslateJsonLoader implements TranslateLoader {
15
15
  * @param string lang
16
16
  * @returns Observable<Object>
17
17
  */
18
- getTranslation(lang: string): Observable<Object>;
18
+ getTranslation(lang: string): Observable<Record<string, string>>;
19
19
  private loadTranslationFile;
20
20
  }
@@ -36,8 +36,9 @@ export declare class DmsService {
36
36
  * Upload (add/replace) content to a dms object.
37
37
  * @param objectId ID of the dms object to upload the file to
38
38
  * @param file The file to be uploaded
39
+ * @param label A label that will show up in the upload overlay dialog while uploading
39
40
  */
40
- uploadContent(objectId: string, file: File): Observable<any>;
41
+ uploadContent(objectId: string, file: File, label?: string, silent?: boolean): Observable<any>;
41
42
  /**
42
43
  * Path of dms object content file.
43
44
  * @param objectId ID of the dms object
@@ -1,4 +1,4 @@
1
- import { ObjectTypeFieldInternalType } from "../system/object-form.interface";
1
+ import { ObjectTypeFieldInternalType } from "../object-form/object-form.interface";
2
2
  import { VirtualObjectType } from "../system/system.interface";
3
3
  /**
4
4
  * Config defining the most important/interessting fields for
@@ -0,0 +1,15 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Providing an error message when a translation string for an object wasn't found
4
+ */
5
+ export declare class ObjectFormTranslateService {
6
+ private translate;
7
+ /**
8
+ * Set the error label if a translation for this string wasn't provided
9
+ * @param error - error message about a missed translation key
10
+ * @param params
11
+ */
12
+ getErrorLabel(error: string, params?: any): any;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<ObjectFormTranslateService, never>;
14
+ static ɵprov: i0.ɵɵInjectableDeclaration<ObjectFormTranslateService>;
15
+ }
@@ -1,5 +1,5 @@
1
- import { InternalFieldType } from './system.enum';
2
- import { ObjectTypeField } from './system.interface';
1
+ import { InternalFieldType } from "../system/system.enum";
2
+ import { ObjectTypeField } from "../system/system.interface";
3
3
  export type ObjectTypeFieldType = 'string' | 'integer' | 'decimal' | 'boolean' | 'table' | 'datetime';
4
4
  export type ObjectTypeFieldInternalType = ObjectTypeFieldType | InternalFieldType.STRING_REFERENCE | InternalFieldType.STRING_ORGANIZATION | InternalFieldType.STRING_ORGANIZATION_SET | InternalFieldType.STRING_CATALOG | InternalFieldType.BOOLEAN_SWITCH | InternalFieldType.STRING_DYNAMIC_CATALOG;
5
5
  export interface FormElementString extends ObjectTypeField {
@@ -0,0 +1,45 @@
1
+ import { FormControl, FormGroup } from '@angular/forms';
2
+ export type ObjectFormModel = ObjectFormGroup | ObjectFormControlWrapper;
3
+ export declare class ObjectFormControlWrapper extends FormGroup {
4
+ _eoFormControlWrapper?: YuvFormGroupWrapper;
5
+ }
6
+ export interface YuvFormGroupWrapper {
7
+ /**
8
+ * form control situation (CREATE, EDIT, SEARCH)
9
+ */
10
+ situation: string;
11
+ /**
12
+ * the name of the wrapped form control
13
+ */
14
+ controlName: string;
15
+ }
16
+ export interface YuvFormGroup {
17
+ /**
18
+ * the label for the form group
19
+ */
20
+ label?: string;
21
+ /**
22
+ * object holding properties defining layout properties of the group
23
+ */
24
+ layout: any;
25
+ /**
26
+ * type of group indicating if the form is a stack, a fieldset or a simple group
27
+ */
28
+ type: string;
29
+ }
30
+ /**
31
+ * @ignore
32
+ * Extension of the default angular form group,
33
+ */
34
+ export declare class ObjectFormGroup extends FormGroup {
35
+ _eoFormGroup?: YuvFormGroup;
36
+ }
37
+ /**
38
+ * @ignore
39
+ * Extension of the default angular form control,
40
+ */
41
+ export declare class ObjectFormControl extends FormControl {
42
+ private __eoFormElement;
43
+ set _eoFormElement(v: any);
44
+ get _eoFormElement(): any;
45
+ }
@@ -1,4 +1,4 @@
1
- import { ObjectTypeFieldInternalType, ObjectTypeFieldType } from './object-form.interface';
1
+ import { ObjectTypeFieldInternalType, ObjectTypeFieldType } from "../object-form/object-form.interface";
2
2
  /**
3
3
  * Virtual object types.
4
4
  * They are a combination of an object type ID and/or a list of SOTs
@@ -1,7 +1,7 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { AuthData } from './../auth/auth.service';
3
- import { ObjectTypeFieldInternalType } from './object-form.interface';
4
3
  import { ClassificationEntry, GenericObjectType, Localization, ObjectType, ObjectTypeField, ObjectTypePermissions, SchemaResponse, SecondaryObjectType, SystemDefinition } from './system.interface';
4
+ import { ObjectTypeFieldInternalType } from '../object-form/object-form.interface';
5
5
  import * as i0 from "@angular/core";
6
6
  /**
7
7
  * Providing system definitions.
@@ -0,0 +1,8 @@
1
+ export interface ToastOptions {
2
+ duration?: number;
3
+ position?: ToastPosition;
4
+ level?: ToastLevel;
5
+ title?: string;
6
+ }
7
+ export type ToastPosition = 'top-start' | 'top-end' | 'top-center' | 'bottom-start' | 'bottom-end' | 'bottom-center';
8
+ export type ToastLevel = 'success' | 'warning' | 'error' | 'info';
@@ -0,0 +1,17 @@
1
+ import { ToastOptions } from './toast.interface';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ToastService {
4
+ private document;
5
+ constructor(document: Document);
6
+ success(message: string, title?: string, options?: ToastOptions): Promise<void>;
7
+ warning(message: string, title?: string, options?: ToastOptions): Promise<void>;
8
+ info(message: string, title?: string, options?: ToastOptions): Promise<void>;
9
+ error(message: string, title?: string, options?: ToastOptions): Promise<void>;
10
+ toast(message: string, title?: string, options?: ToastOptions): Promise<void>;
11
+ private _createToast;
12
+ private _addToast;
13
+ private _getToastContainer;
14
+ private _init;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToastService, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<ToastService>;
17
+ }
@@ -0,0 +1 @@
1
+ export declare const YuvToastStyles = "\n.yuv-toast-container {\n --yuv-toast-container-padding: var(--ymt-spacing-m);\n --yuv-toast-success-background: var(--ymt-success-container);\n --yuv-toast-success-tone: var(--ymt-on-success-container);\n --yuv-toast-warning-background: var(--ymt-warning-container);\n --yuv-toast-warning-tone: var(--ymt-on-warning-container);\n --yuv-toast-error-background: var(--ymt-danger-container);\n --yuv-toast-error-tone: var(--ymt-on-danger-container);\n\n position: fixed;\n z-index: 1;\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-items: center;\n justify-content: center;\n gap: 1vh;\n pointer-events: none;\n }\n .yuv-toast-container.top {\n inset-block-start: 0;\n padding-block-start: var(--yuv-toast-container-padding);\n flex-direction: column-reverse;\n }\n .yuv-toast-container.top.center {\n inset-inline: 0;\n }\n .yuv-toast-container.bottom {\n inset-block-end: 0;\n padding-block-end: var(--yuv-toast-container-padding);\n }\n .yuv-toast-container.bottom.center {\n inset-inline: 0;\n }\n .yuv-toast-container.end {\n padding-inline-end: var(--yuv-toast-container-padding);\n align-items: end;\n right:0;\n}\n.yuv-toast-container.start {\n padding-inline-start: var(--yuv-toast-container-padding);\n align-items: start;\n left:0;\n }\n\n .yuv-toast {\n --_duration: 3s;\n --_bg-lightness: 90%;\n --_travel-distance: 0;\n\n font-family: system-ui, sans-serif;\n color: var(--ymt-text-color);\n background: hsl(0 0% var(--_bg-lightness) / 90%);\n pointer-events: all;\n line-height: 1.5em;\n\n max-inline-size: min(50ch, 90vw);\n padding-block: .5ch;\n padding-inline: 1ch;\n border-radius: 3px;\n font-size: 1rem;\n\n will-change: transform;\n animation:\n fade-in .3s ease,\n slide-in .3s ease,\n fade-out .3s ease var(--_duration);\n\n @media (--dark) {\n color: white;\n --_bg-lightness: 20%;\n }\n\n @media (--motionOK) {\n --_travel-distance: 5vh;\n }\n }\n\n .yuv-toast strong {\n display: block;\n }\n\n .yuv--toast.success {\n background-color: var(--yuv-toast-success-background);\n color: var(--yuv-toast-success-tone);\n }\n .yuv-toast.warning {\n background-color: var(--yuv-toast-warning-background);\n color: var(--yuv-toast-warning-tone);\n }\n\n .yuv-toast.error {\n background-color: var(--yuv-toast-error-background);\n color: var(--yuv-toast-error-tone);\n }\n\n .yuv-toast:hover {\n animation-play-state: paused;\n }\n\n @keyframes fade-in {\n from { opacity: 0 }\n }\n\n @keyframes fade-out {\n to { opacity: 0 }\n }\n\n @keyframes slide-in {\n from { transform: translateY(var(--_travel-distance, 10px)) }\n }\n";
@@ -1,6 +1,6 @@
1
1
  import { Observable, Subscription } from 'rxjs';
2
2
  /**
3
- * Intrefice for providing an uploading status of an object
3
+ * Interface for providing an uploading status of an object
4
4
  */
5
5
  export interface ProgressStatus {
6
6
  items: ProgressStatusItem[];
@@ -0,0 +1,4 @@
1
+ import { InjectionToken, Provider } from "@angular/core";
2
+ import { YuvUser } from "../../model/yuv-user.model";
3
+ export declare const YUV_USER: InjectionToken<YuvUser | undefined>;
4
+ export declare const provideUser: (user: YuvUser) => Provider;
@@ -1,14 +1,13 @@
1
1
  import { TranslateService } from '@ngx-translate/core';
2
2
  import { Observable } from 'rxjs';
3
3
  import { UserSettings, YuvUser } from '../../model/yuv-user.model';
4
- import { OidcService } from '../auth/oidc.service';
5
4
  import { BackendService } from '../backend/backend.service';
6
5
  import { ConfigService } from '../config/config.service';
7
6
  import { EventService } from '../event/event.service';
8
7
  import { Logger } from '../logger/logger';
8
+ import { StoredObjectConfig } from '../object-config/object-config.interface';
9
9
  import { UserPermissions } from '../system/system.interface';
10
10
  import { SystemService } from '../system/system.service';
11
- import { StoredObjectConfig } from '../object-config/object-config.interface';
12
11
  import * as i0 from "@angular/core";
13
12
  /**
14
13
  * Service providing user account configurations.
@@ -19,7 +18,6 @@ export declare class UserService {
19
18
  private translate;
20
19
  private logger;
21
20
  private system;
22
- private oidc;
23
21
  private eventService;
24
22
  private config;
25
23
  user$: Observable<YuvUser | undefined>;
@@ -28,7 +26,7 @@ export declare class UserService {
28
26
  /**
29
27
  * @ignore
30
28
  */
31
- constructor(backend: BackendService, translate: TranslateService, logger: Logger, system: SystemService, oidc: OidcService, eventService: EventService, config: ConfigService);
29
+ constructor(backend: BackendService, translate: TranslateService, logger: Logger, system: SystemService, eventService: EventService, config: ConfigService);
32
30
  private getUiDirection;
33
31
  /**
34
32
  * Set a new current user
package/package.json CHANGED
@@ -1,20 +1,18 @@
1
1
  {
2
2
  "name": "@yuuvis/client-core",
3
- "version": "2.0.0-beta.0",
3
+ "version": "2.0.0-beta.10",
4
4
  "author": "OPTIMAL SYSTEMS GmbH <npm@optimal-systems.de>",
5
5
  "license": "MIT",
6
6
  "peerDependencies": {
7
- "@angular/common": "^18.2.0",
8
- "@angular/core": "^18.2.0",
9
- "@angular/router": "^18.2.0"
7
+ "@angular/common": "^19.2.1",
8
+ "@angular/core": "^19.2.1",
9
+ "@angular/router": "^19.2.1"
10
10
  },
11
11
  "dependencies": {
12
- "@ngx-pwa/local-storage": "^18.0.0",
12
+ "@ngx-pwa/local-storage": "^19.0.0",
13
13
  "@ngx-translate/core": "^15.0.0",
14
- "@yuuvis/components": "^18.1.12",
15
- "angular-oauth2-oidc": "17.0.2",
16
- "ngx-device-detector": "^8.0.0",
17
- "tslib": "^2.6.2"
14
+ "ngx-device-detector": "^9.0.0",
15
+ "tslib": "^2.3.0"
18
16
  },
19
17
  "sideEffects": false,
20
18
  "module": "fesm2022/yuuvis-client-core.mjs",
@@ -25,8 +23,6 @@
25
23
  },
26
24
  ".": {
27
25
  "types": "./index.d.ts",
28
- "esm2022": "./esm2022/yuuvis-client-core.mjs",
29
- "esm": "./esm2022/yuuvis-client-core.mjs",
30
26
  "default": "./fesm2022/yuuvis-client-core.mjs"
31
27
  }
32
28
  }
package/esm2022/index.mjs DELETED
@@ -1,69 +0,0 @@
1
- export { TranslateDirective, TranslateLoader, TranslateModule, TranslatePipe, TranslateService } from '@ngx-translate/core';
2
- export * from './lib/client-core.shared.module';
3
- export * from './lib/model/dms-object.interface';
4
- export * from './lib/model/object-flavor.interface';
5
- export * from './lib/model/dms-object.model';
6
- export * from './lib/model/range-value.interface';
7
- export * from './lib/model/yuv-error.model';
8
- export * from './lib/model/yuv-user.model';
9
- export * from './lib/service/audit/audit.interface';
10
- export * from './lib/service/audit/audit.service';
11
- export * from './lib/service/auth/auth.interface';
12
- export * from './lib/service/auth/auth.service';
13
- export * from './lib/service/auth/oidc.service';
14
- export * from './lib/service/backend/api.enum';
15
- export * from './lib/service/backend/backend.interface';
16
- export * from './lib/service/backend/backend.service';
17
- export * from './lib/service/bpm/bpm.service';
18
- export * from './lib/service/bpm/bpm.interface';
19
- export * from './lib/service/cache/app-cache.service';
20
- export * from './lib/service/catalog/catalog.interface';
21
- export * from './lib/service/catalog/catalog.service';
22
- export * from './lib/service/clipboard/clipboard.interface';
23
- export * from './lib/service/clipboard/clipboard.service';
24
- export * from './lib/service/config/config.interface';
25
- export * from './lib/service/config/config.service';
26
- export * from './lib/service/config/core-config';
27
- export * from './lib/service/config/core-config.tokens';
28
- export * from './lib/service/connection/connection.service';
29
- export * from './lib/service/core-init/core-init.service';
30
- export * from './lib/service/device/device.service';
31
- export * from './lib/service/device/device.interface';
32
- export * from './lib/service/dms/dms.service';
33
- export * from './lib/service/dms/dms.service.interface';
34
- export * from './lib/service/event/event.interface';
35
- export * from './lib/service/event/event.service';
36
- export * from './lib/service/event/events';
37
- export * from './lib/service/idm/idm.interface';
38
- export * from './lib/service/idm/idm.service';
39
- export * from './lib/service/logger/logger';
40
- export * from './lib/service/notification/notification.service';
41
- export * from './lib/service/object-config/object-config.interface';
42
- export * from './lib/service/object-config/object-config.service';
43
- export * from './lib/service/pending-changes/pending-changes-guard.service';
44
- export * from './lib/service/pending-changes/pending-changes.service';
45
- export * from './lib/service/prediction/prediction.interface';
46
- export * from './lib/service/prediction/prediction.service';
47
- export * from './lib/service/retention/retention.service';
48
- export * from './lib/service/retention/retention.interface';
49
- export * from './lib/service/search/search.service';
50
- export * from './lib/service/search/search.utils';
51
- export * from './lib/service/search/search.service.interface';
52
- export * from './lib/service/session-storage/session-storage.service';
53
- export * from './lib/service/system/object-form.interface';
54
- export * from './lib/service/system/system.enum';
55
- export * from './lib/service/system/system.interface';
56
- export * from './lib/service/system/system.service';
57
- export * from './lib/service/upload/upload.interface';
58
- export * from './lib/service/upload/upload.service';
59
- export * from './lib/service/user/user.service';
60
- export * from './lib/service/user/user-storage.service';
61
- export * from './lib/util/utils';
62
- export * from './lib/util/utils.helper.enum';
63
- export * from './lib/client-core.module';
64
- // COMMON PIPES
65
- export * from './lib/common/pipes';
66
- // COMMON SERVICES
67
- export * from './lib/common/services/native-notifications';
68
- // TOKENS
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtY29yZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUgsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGVBQWU7QUFDZixjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGtCQUFrQjtBQUNsQixjQUFjLDRDQUE0QyxDQUFDO0FBRTNELFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBUcmFuc2xhdGVEaXJlY3RpdmUsIFRyYW5zbGF0ZUxvYWRlciwgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVQaXBlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGllbnQtY29yZS5zaGFyZWQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVsL2Rtcy1vYmplY3QuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVsL29iamVjdC1mbGF2b3IuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVsL2Rtcy1vYmplY3QubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWwvcmFuZ2UtdmFsdWUuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVsL3l1di1lcnJvci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbC95dXYtdXNlci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2F1ZGl0L2F1ZGl0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2F1ZGl0L2F1ZGl0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9hdXRoL2F1dGguaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2UvYXV0aC9hdXRoLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9hdXRoL29pZGMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2JhY2tlbmQvYXBpLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9iYWNrZW5kL2JhY2tlbmQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2UvYmFja2VuZC9iYWNrZW5kLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9icG0vYnBtLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9icG0vYnBtLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2NhY2hlL2FwcC1jYWNoZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2UvY2F0YWxvZy9jYXRhbG9nLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2NhdGFsb2cvY2F0YWxvZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2UvY2xpcGJvYXJkL2NsaXBib2FyZC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9jbGlwYm9hcmQvY2xpcGJvYXJkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9jb25maWcvY29uZmlnLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2NvbmZpZy9jb25maWcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2NvbmZpZy9jb3JlLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2NvbmZpZy9jb3JlLWNvbmZpZy50b2tlbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9jb25uZWN0aW9uL2Nvbm5lY3Rpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2NvcmUtaW5pdC9jb3JlLWluaXQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2RldmljZS9kZXZpY2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2RldmljZS9kZXZpY2UuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2UvZG1zL2Rtcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2UvZG1zL2Rtcy5zZXJ2aWNlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2V2ZW50L2V2ZW50LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2V2ZW50L2V2ZW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9ldmVudC9ldmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9pZG0vaWRtLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2lkbS9pZG0uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2xvZ2dlci9sb2dnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9vYmplY3QtY29uZmlnL29iamVjdC1jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2Uvb2JqZWN0LWNvbmZpZy9vYmplY3QtY29uZmlnLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLWd1YXJkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9wcmVkaWN0aW9uL3ByZWRpY3Rpb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2UvcHJlZGljdGlvbi9wcmVkaWN0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9yZXRlbnRpb24vcmV0ZW50aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9yZXRlbnRpb24vcmV0ZW50aW9uLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL3NlYXJjaC9zZWFyY2guc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL3NlYXJjaC9zZWFyY2gudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9zZWFyY2gvc2VhcmNoLnNlcnZpY2UuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2Uvc2Vzc2lvbi1zdG9yYWdlL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2Uvc3lzdGVtL29iamVjdC1mb3JtLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL3N5c3RlbS9zeXN0ZW0uZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL3N5c3RlbS9zeXN0ZW0uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2Uvc3lzdGVtL3N5c3RlbS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2UvdXBsb2FkL3VwbG9hZC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS91cGxvYWQvdXBsb2FkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS91c2VyL3VzZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL3VzZXIvdXNlci1zdG9yYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbC91dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlsL3V0aWxzLmhlbHBlci5lbnVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xpZW50LWNvcmUubW9kdWxlJztcblxuLy8gQ09NTU9OIFBJUEVTXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24vcGlwZXMnO1xuXG4vLyBDT01NT04gU0VSVklDRVNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbW1vbi9zZXJ2aWNlcy9uYXRpdmUtbm90aWZpY2F0aW9ucyc7XG5cbi8vIFRPS0VOU1xuIl19
@@ -1,117 +0,0 @@
1
- import { HTTP_INTERCEPTORS, HttpClient, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
2
- import { APP_INITIALIZER, NgModule, Optional, SkipSelf } from '@angular/core';
3
- import { MissingTranslationHandler, TranslateLoader, TranslateModule } from '@ngx-translate/core';
4
- import { OAuthModule, OAuthStorage } from 'angular-oauth2-oidc';
5
- import { YuvClientCoreSharedModule } from './client-core.shared.module';
6
- import { AuthInterceptor } from './service/auth/auth.interceptor';
7
- import { AuthService } from './service/auth/auth.service';
8
- import { ConfigService } from './service/config/config.service';
9
- import { CoreConfig } from './service/config/core-config';
10
- import { CORE_CONFIG, CUSTOM_CONFIG } from './service/config/core-config.tokens';
11
- import { OfflineInterceptor } from './service/connection/offline.interceptor';
12
- import { init_moduleFnc } from './service/core-init/core-init.service';
13
- import { EoxMissingTranslationHandler } from './service/core-init/missing-translation-handler';
14
- import { EoxTranslateJsonLoader } from './service/core-init/translate-json-loader';
15
- import { DeviceService } from './service/device/device.service';
16
- import { Logger } from './service/logger/logger';
17
- import { LoggerConsoleService } from './service/logger/logger-console.service';
18
- import * as i0 from "@angular/core";
19
- import * as i1 from "angular-oauth2-oidc";
20
- import * as i2 from "@ngx-translate/core";
21
- export function storageFactory() {
22
- return localStorage;
23
- }
24
- /**
25
- * `YuvClientCoreModule` provides a bunch of services to interact with a yuuvis backend.
26
- *
27
- *
28
- */
29
- export class YuvClientCoreModule {
30
- /**
31
- * @ignore
32
- */
33
- constructor(parentModule) {
34
- if (parentModule) {
35
- throw new Error('YuvClientCoreModule is already loaded.');
36
- }
37
- }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: YuvClientCoreModule, deps: [{ token: YuvClientCoreModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
39
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: YuvClientCoreModule, imports: [i1.OAuthModule, i2.TranslateModule], exports: [YuvClientCoreSharedModule] }); }
40
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: YuvClientCoreModule, providers: [
41
- { provide: Logger, useClass: LoggerConsoleService },
42
- { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },
43
- { provide: HTTP_INTERCEPTORS, useClass: OfflineInterceptor, multi: true },
44
- { provide: CORE_CONFIG, useClass: CoreConfig, deps: [CUSTOM_CONFIG] },
45
- {
46
- provide: APP_INITIALIZER,
47
- useFactory: init_moduleFnc,
48
- multi: true,
49
- deps: [CORE_CONFIG, DeviceService, Logger, HttpClient, ConfigService, AuthService]
50
- },
51
- /**
52
- * overriding translate modules defaults
53
- * this works because providers are singletons
54
- */
55
- {
56
- provide: TranslateLoader,
57
- useClass: EoxTranslateJsonLoader,
58
- deps: [HttpClient, CORE_CONFIG]
59
- },
60
- {
61
- provide: MissingTranslationHandler,
62
- useClass: EoxMissingTranslationHandler
63
- },
64
- { provide: OAuthStorage, useFactory: storageFactory },
65
- provideHttpClient(withInterceptorsFromDi())
66
- ], imports: [OAuthModule.forRoot({
67
- resourceServer: {
68
- sendAccessToken: false,
69
- allowedUrls: []
70
- }
71
- }),
72
- TranslateModule.forRoot(), YuvClientCoreSharedModule] }); }
73
- }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: YuvClientCoreModule, decorators: [{
75
- type: NgModule,
76
- args: [{
77
- exports: [YuvClientCoreSharedModule],
78
- imports: [OAuthModule.forRoot({
79
- resourceServer: {
80
- sendAccessToken: false,
81
- allowedUrls: []
82
- }
83
- }),
84
- TranslateModule.forRoot()], providers: [
85
- { provide: Logger, useClass: LoggerConsoleService },
86
- { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },
87
- { provide: HTTP_INTERCEPTORS, useClass: OfflineInterceptor, multi: true },
88
- { provide: CORE_CONFIG, useClass: CoreConfig, deps: [CUSTOM_CONFIG] },
89
- {
90
- provide: APP_INITIALIZER,
91
- useFactory: init_moduleFnc,
92
- multi: true,
93
- deps: [CORE_CONFIG, DeviceService, Logger, HttpClient, ConfigService, AuthService]
94
- },
95
- /**
96
- * overriding translate modules defaults
97
- * this works because providers are singletons
98
- */
99
- {
100
- provide: TranslateLoader,
101
- useClass: EoxTranslateJsonLoader,
102
- deps: [HttpClient, CORE_CONFIG]
103
- },
104
- {
105
- provide: MissingTranslationHandler,
106
- useClass: EoxMissingTranslationHandler
107
- },
108
- { provide: OAuthStorage, useFactory: storageFactory },
109
- provideHttpClient(withInterceptorsFromDi())
110
- ]
111
- }]
112
- }], ctorParameters: () => [{ type: YuvClientCoreModule, decorators: [{
113
- type: Optional
114
- }, {
115
- type: SkipSelf
116
- }] }] });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWNvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWNvcmUvc3JjL2xpYi9jbGllbnQtY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7O0FBRS9FLE1BQU0sVUFBVSxjQUFjO0lBQzVCLE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUM7QUFFRDs7OztHQUlHO0FBcUNILE1BQU0sT0FBTyxtQkFBbUI7SUFDOUI7O09BRUc7SUFDSCxZQUFvQyxZQUFpQztRQUNuRSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQzsrR0FSVSxtQkFBbUI7Z0hBQW5CLG1CQUFtQiwyREFsQ2xCLHlCQUF5QjtnSEFrQzFCLG1CQUFtQixhQTNCZTtZQUN2QyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFO1lBQ25ELEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUN0RSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUN6RSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUNyRTtnQkFDSSxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsVUFBVSxFQUFFLGNBQWM7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDO2FBQ3JGO1lBQ0Q7OztlQUdHO1lBQ0g7Z0JBQ0ksT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUM7YUFDbEM7WUFDRDtnQkFDSSxPQUFPLEVBQUUseUJBQXlCO2dCQUNsQyxRQUFRLEVBQUUsNEJBQTRCO2FBQ3pDO1lBQ0QsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUU7WUFDckQsaUJBQWlCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztTQUM5QyxZQWhDUyxXQUFXLENBQUMsT0FBTyxDQUFDO2dCQUN0QixjQUFjLEVBQUU7b0JBQ1osZUFBZSxFQUFFLEtBQUs7b0JBQ3RCLFdBQVcsRUFBRSxFQUFFO2lCQUNsQjthQUNKLENBQUM7WUFDRixlQUFlLENBQUMsT0FBTyxFQUFFLEVBUG5CLHlCQUF5Qjs7NEZBa0MxQixtQkFBbUI7a0JBbkMvQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDOzRCQUN0QixjQUFjLEVBQUU7Z0NBQ1osZUFBZSxFQUFFLEtBQUs7Z0NBQ3RCLFdBQVcsRUFBRSxFQUFFOzZCQUNsQjt5QkFDSixDQUFDO3dCQUNGLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRTt3QkFDdkMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRTt3QkFDbkQsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUN0RSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTt3QkFDekUsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUU7d0JBQ3JFOzRCQUNJLE9BQU8sRUFBRSxlQUFlOzRCQUN4QixVQUFVLEVBQUUsY0FBYzs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUM7eUJBQ3JGO3dCQUNEOzs7MkJBR0c7d0JBQ0g7NEJBQ0ksT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFFBQVEsRUFBRSxzQkFBc0I7NEJBQ2hDLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUM7eUJBQ2xDO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSx5QkFBeUI7NEJBQ2xDLFFBQVEsRUFBRSw0QkFBNEI7eUJBQ3pDO3dCQUNELEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFO3dCQUNyRCxpQkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO3FCQUM5QztpQkFBRTs7MEJBS1EsUUFBUTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTLCBIdHRwQ2xpZW50LCBwcm92aWRlSHR0cENsaWVudCwgd2l0aEludGVyY2VwdG9yc0Zyb21EaSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgTmdNb2R1bGUsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlciwgVHJhbnNsYXRlTG9hZGVyLCBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE9BdXRoTW9kdWxlLCBPQXV0aFN0b3JhZ2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IFl1dkNsaWVudENvcmVTaGFyZWRNb2R1bGUgfSBmcm9tICcuL2NsaWVudC1jb3JlLnNoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHsgQXV0aEludGVyY2VwdG9yIH0gZnJvbSAnLi9zZXJ2aWNlL2F1dGgvYXV0aC5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vc2VydmljZS9hdXRoL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlL2NvbmZpZy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBDb3JlQ29uZmlnIH0gZnJvbSAnLi9zZXJ2aWNlL2NvbmZpZy9jb3JlLWNvbmZpZyc7XG5pbXBvcnQgeyBDT1JFX0NPTkZJRywgQ1VTVE9NX0NPTkZJRyB9IGZyb20gJy4vc2VydmljZS9jb25maWcvY29yZS1jb25maWcudG9rZW5zJztcbmltcG9ydCB7IE9mZmxpbmVJbnRlcmNlcHRvciB9IGZyb20gJy4vc2VydmljZS9jb25uZWN0aW9uL29mZmxpbmUuaW50ZXJjZXB0b3InO1xuaW1wb3J0IHsgaW5pdF9tb2R1bGVGbmMgfSBmcm9tICcuL3NlcnZpY2UvY29yZS1pbml0L2NvcmUtaW5pdC5zZXJ2aWNlJztcbmltcG9ydCB7IEVveE1pc3NpbmdUcmFuc2xhdGlvbkhhbmRsZXIgfSBmcm9tICcuL3NlcnZpY2UvY29yZS1pbml0L21pc3NpbmctdHJhbnNsYXRpb24taGFuZGxlcic7XG5pbXBvcnQgeyBFb3hUcmFuc2xhdGVKc29uTG9hZGVyIH0gZnJvbSAnLi9zZXJ2aWNlL2NvcmUtaW5pdC90cmFuc2xhdGUtanNvbi1sb2FkZXInO1xuaW1wb3J0IHsgRGV2aWNlU2VydmljZSB9IGZyb20gJy4vc2VydmljZS9kZXZpY2UvZGV2aWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSAnLi9zZXJ2aWNlL2xvZ2dlci9sb2dnZXInO1xuaW1wb3J0IHsgTG9nZ2VyQ29uc29sZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UvbG9nZ2VyL2xvZ2dlci1jb25zb2xlLnNlcnZpY2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gc3RvcmFnZUZhY3RvcnkoKTogT0F1dGhTdG9yYWdlIHtcbiAgcmV0dXJuIGxvY2FsU3RvcmFnZTtcbn1cblxuLyoqXG4gKiBgWXV2Q2xpZW50Q29yZU1vZHVsZWAgcHJvdmlkZXMgYSBidW5jaCBvZiBzZXJ2aWNlcyB0byBpbnRlcmFjdCB3aXRoIGEgeXV1dmlzIGJhY2tlbmQuXG4gKlxuICpcbiAqL1xuXG5ATmdNb2R1bGUoeyBcbiAgICBleHBvcnRzOiBbWXV2Q2xpZW50Q29yZVNoYXJlZE1vZHVsZV0sIFxuICAgIGltcG9ydHM6IFtPQXV0aE1vZHVsZS5mb3JSb290KHtcbiAgICAgICAgICAgIHJlc291cmNlU2VydmVyOiB7XG4gICAgICAgICAgICAgICAgc2VuZEFjY2Vzc1Rva2VuOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBhbGxvd2VkVXJsczogW11cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JSb290KCldLCBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBMb2dnZXIsIHVzZUNsYXNzOiBMb2dnZXJDb25zb2xlU2VydmljZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogQXV0aEludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogT2ZmbGluZUludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IENPUkVfQ09ORklHLCB1c2VDbGFzczogQ29yZUNvbmZpZywgZGVwczogW0NVU1RPTV9DT05GSUddIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGluaXRfbW9kdWxlRm5jLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICBkZXBzOiBbQ09SRV9DT05GSUcsIERldmljZVNlcnZpY2UsIExvZ2dlciwgSHR0cENsaWVudCwgQ29uZmlnU2VydmljZSwgQXV0aFNlcnZpY2VdXG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBvdmVycmlkaW5nIHRyYW5zbGF0ZSBtb2R1bGVzIGRlZmF1bHRzXG4gICAgICAgICAqIHRoaXMgd29ya3MgYmVjYXVzZSBwcm92aWRlcnMgYXJlIHNpbmdsZXRvbnNcbiAgICAgICAgICovXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUxvYWRlcixcbiAgICAgICAgICAgIHVzZUNsYXNzOiBFb3hUcmFuc2xhdGVKc29uTG9hZGVyLFxuICAgICAgICAgICAgZGVwczogW0h0dHBDbGllbnQsIENPUkVfQ09ORklHXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBNaXNzaW5nVHJhbnNsYXRpb25IYW5kbGVyLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IEVveE1pc3NpbmdUcmFuc2xhdGlvbkhhbmRsZXJcbiAgICAgICAgfSxcbiAgICAgICAgeyBwcm92aWRlOiBPQXV0aFN0b3JhZ2UsIHVzZUZhY3Rvcnk6IHN0b3JhZ2VGYWN0b3J5IH0sXG4gICAgICAgIHByb3ZpZGVIdHRwQ2xpZW50KHdpdGhJbnRlcmNlcHRvcnNGcm9tRGkoKSlcbiAgICBdIH0pXG5leHBvcnQgY2xhc3MgWXV2Q2xpZW50Q29yZU1vZHVsZSB7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwYXJlbnRNb2R1bGU6IFl1dkNsaWVudENvcmVNb2R1bGUpIHtcbiAgICBpZiAocGFyZW50TW9kdWxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1l1dkNsaWVudENvcmVNb2R1bGUgaXMgYWxyZWFkeSBsb2FkZWQuJyk7XG4gICAgfVxuICB9XG59XG4iXX0=