@eui/core 15.4.1 → 15.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/LICENSE +296 -296
  2. package/README.md +26 -26
  3. package/assets/i18n-eui/bg.json +114 -114
  4. package/assets/i18n-eui/cs.json +114 -114
  5. package/assets/i18n-eui/da.json +114 -114
  6. package/assets/i18n-eui/de.json +114 -114
  7. package/assets/i18n-eui/el.json +114 -114
  8. package/assets/i18n-eui/en.json +113 -113
  9. package/assets/i18n-eui/es.json +114 -114
  10. package/assets/i18n-eui/et.json +114 -114
  11. package/assets/i18n-eui/fi.json +114 -114
  12. package/assets/i18n-eui/fr.json +114 -114
  13. package/assets/i18n-eui/ga.json +114 -114
  14. package/assets/i18n-eui/hr.json +114 -114
  15. package/assets/i18n-eui/hu.json +114 -114
  16. package/assets/i18n-eui/it.json +114 -114
  17. package/assets/i18n-eui/lt.json +114 -114
  18. package/assets/i18n-eui/lv.json +114 -114
  19. package/assets/i18n-eui/mt.json +114 -114
  20. package/assets/i18n-eui/nl.json +114 -114
  21. package/assets/i18n-eui/pl.json +114 -114
  22. package/assets/i18n-eui/pt.json +114 -114
  23. package/assets/i18n-eui/ro.json +114 -114
  24. package/assets/i18n-eui/sk.json +114 -114
  25. package/assets/i18n-eui/sl.json +114 -114
  26. package/assets/i18n-eui/sv.json +114 -114
  27. package/docs/classes/RouterMock.html +5 -5
  28. package/docs/dependencies.html +7 -95
  29. package/docs/index.html +59 -36
  30. package/docs/injectables/CoreAppEffects.html +51 -51
  31. package/docs/js/menu-wc.js +7 -12
  32. package/docs/js/menu-wc_es5.js +1 -1
  33. package/docs/js/search/search_index.js +2 -2
  34. package/docs/miscellaneous/variables.html +1211 -1211
  35. package/esm2020/eui-core.mjs +4 -4
  36. package/esm2020/index.mjs +13 -13
  37. package/esm2020/lib/eui-core.module.mjs +78 -78
  38. package/esm2020/lib/helpers/date-helpers.mjs +3 -3
  39. package/esm2020/lib/helpers/dom-helpers.mjs +87 -87
  40. package/esm2020/lib/helpers/event-helpers.mjs +9 -9
  41. package/esm2020/lib/helpers/form-helpers.mjs +42 -42
  42. package/esm2020/lib/helpers/format-helpers.mjs +66 -66
  43. package/esm2020/lib/helpers/http-helpers.mjs +7 -7
  44. package/esm2020/lib/helpers/index.mjs +8 -8
  45. package/esm2020/lib/helpers/utils.mjs +7 -7
  46. package/esm2020/lib/interceptors/add-lang-param.interceptor.mjs +35 -35
  47. package/esm2020/lib/interceptors/cache-prevention.interceptor.mjs +21 -21
  48. package/esm2020/lib/interceptors/cors-security.interceptor.mjs +15 -15
  49. package/esm2020/lib/interceptors/csrf-prevention.interceptor.mjs +15 -15
  50. package/esm2020/lib/interceptors/eu-login-session-timeout-handling.interceptor.mjs +72 -72
  51. package/esm2020/lib/interceptors/index.mjs +8 -8
  52. package/esm2020/lib/interceptors/openid/index.mjs +4 -4
  53. package/esm2020/lib/interceptors/openid/openid-connect.interceptor.mjs +149 -149
  54. package/esm2020/lib/interceptors/openid/openid-connect.service.mjs +56 -56
  55. package/esm2020/lib/interceptors/openid/openid-connect.service.mock.mjs +8 -8
  56. package/esm2020/lib/interceptors/ux-request-error-model.interceptor.mjs +31 -31
  57. package/esm2020/lib/services/app/eui-init-app.mjs +29 -29
  58. package/esm2020/lib/services/app/eui-pre-init-app.mjs +43 -43
  59. package/esm2020/lib/services/app/eui-startup.mjs +40 -40
  60. package/esm2020/lib/services/app/factories/log.mjs +55 -55
  61. package/esm2020/lib/services/app/index.mjs +2 -2
  62. package/esm2020/lib/services/config/defaults.mjs +68 -68
  63. package/esm2020/lib/services/config/tokens.mjs +74 -74
  64. package/esm2020/lib/services/errors/eui.error.mjs +38 -38
  65. package/esm2020/lib/services/errors/global-error-handler.mjs +24 -24
  66. package/esm2020/lib/services/errors/http-error-handler-callback-functions.mjs +17 -17
  67. package/esm2020/lib/services/errors/http-error-handler.interceptor.mjs +55 -55
  68. package/esm2020/lib/services/errors/index.mjs +5 -5
  69. package/esm2020/lib/services/i18n/i18n.loader.mjs +198 -198
  70. package/esm2020/lib/services/i18n/i18n.resource.mjs +43 -43
  71. package/esm2020/lib/services/i18n/i18n.service.mjs +228 -228
  72. package/esm2020/lib/services/i18n/i18n.service.mock.mjs +38 -38
  73. package/esm2020/lib/services/i18n/index.mjs +6 -6
  74. package/esm2020/lib/services/index.mjs +19 -19
  75. package/esm2020/lib/services/locale/index.mjs +3 -3
  76. package/esm2020/lib/services/locale/locale.service.mjs +232 -232
  77. package/esm2020/lib/services/locale/locale.service.mock.mjs +43 -43
  78. package/esm2020/lib/services/log/index.mjs +4 -4
  79. package/esm2020/lib/services/log/log.module.mjs +38 -38
  80. package/esm2020/lib/services/log/log.service.mjs +51 -51
  81. package/esm2020/lib/services/log/log.service.mock.mjs +7 -7
  82. package/esm2020/lib/services/permission/permission.service.mjs +110 -110
  83. package/esm2020/lib/services/queue/api-queue.service.mjs +137 -137
  84. package/esm2020/lib/services/queue/api-queue.service.mock.mjs +23 -23
  85. package/esm2020/lib/services/queue/index.mjs +3 -3
  86. package/esm2020/lib/services/storage/async-storage.service.mjs +17 -17
  87. package/esm2020/lib/services/storage/async-storage.service.mock.mjs +22 -22
  88. package/esm2020/lib/services/storage/index.mjs +8 -8
  89. package/esm2020/lib/services/storage/local-forage.service.mjs +93 -93
  90. package/esm2020/lib/services/storage/local-storage.service.mjs +75 -75
  91. package/esm2020/lib/services/storage/session-storage.service.mjs +75 -75
  92. package/esm2020/lib/services/storage/storage.service.mjs +6 -6
  93. package/esm2020/lib/services/storage/storage.service.mock.mjs +12 -12
  94. package/esm2020/lib/services/store/actions/app.actions.mjs +74 -74
  95. package/esm2020/lib/services/store/actions/i18n.actions.mjs +11 -11
  96. package/esm2020/lib/services/store/actions/index.mjs +6 -6
  97. package/esm2020/lib/services/store/actions/locale.actions.mjs +11 -11
  98. package/esm2020/lib/services/store/actions/notifications.actions.mjs +11 -11
  99. package/esm2020/lib/services/store/actions/user.actions.mjs +39 -39
  100. package/esm2020/lib/services/store/effects/app.effects.mjs +55 -55
  101. package/esm2020/lib/services/store/effects/index.mjs +4 -4
  102. package/esm2020/lib/services/store/index.mjs +6 -6
  103. package/esm2020/lib/services/store/reducers/app.reducers.mjs +56 -56
  104. package/esm2020/lib/services/store/reducers/core.reducers.mjs +13 -13
  105. package/esm2020/lib/services/store/reducers/i18n.reducers.mjs +16 -16
  106. package/esm2020/lib/services/store/reducers/index.mjs +8 -8
  107. package/esm2020/lib/services/store/reducers/locale.reducers.mjs +16 -16
  108. package/esm2020/lib/services/store/reducers/meta.reducers.mjs +89 -89
  109. package/esm2020/lib/services/store/reducers/notifications.reducers.mjs +13 -13
  110. package/esm2020/lib/services/store/reducers/user.reducers.mjs +43 -43
  111. package/esm2020/lib/services/store/store.service.mjs +112 -112
  112. package/esm2020/lib/services/store/store.service.mock.mjs +22 -22
  113. package/esm2020/lib/services/user/index.mjs +3 -3
  114. package/esm2020/lib/services/user/user.service.mjs +64 -64
  115. package/esm2020/lib/services/user/user.service.mock.mjs +32 -32
  116. package/esm2020/lib/services/ux-app-shell.service.mjs +690 -690
  117. package/esm2020/lib/services/ux-dynamic-component/ux-dynamic-component.service.mjs +63 -63
  118. package/esm2020/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.mjs +66 -66
  119. package/esm2020/lib/services/ux-error-feedback/ux-error-feedback.service.mjs +99 -99
  120. package/esm2020/lib/services/ux-error-feedback/ux-error-handler.operator.mjs +16 -16
  121. package/esm2020/lib/services/ux-timezone.service.mjs +716 -716
  122. package/fesm2015/eui-core.mjs +4484 -4484
  123. package/fesm2015/eui-core.mjs.map +1 -1
  124. package/fesm2020/eui-core.mjs +4538 -4538
  125. package/fesm2020/eui-core.mjs.map +1 -1
  126. package/index.d.ts +5 -5
  127. package/lib/eui-core.module.d.ts +20 -20
  128. package/lib/helpers/date-helpers.d.ts +2 -2
  129. package/lib/helpers/dom-helpers.d.ts +26 -26
  130. package/lib/helpers/event-helpers.d.ts +1 -1
  131. package/lib/helpers/form-helpers.d.ts +10 -10
  132. package/lib/helpers/format-helpers.d.ts +12 -12
  133. package/lib/helpers/http-helpers.d.ts +2 -2
  134. package/lib/helpers/index.d.ts +7 -7
  135. package/lib/helpers/utils.d.ts +6 -6
  136. package/lib/interceptors/add-lang-param.interceptor.d.ts +16 -16
  137. package/lib/interceptors/cache-prevention.interceptor.d.ts +8 -8
  138. package/lib/interceptors/cors-security.interceptor.d.ts +8 -8
  139. package/lib/interceptors/csrf-prevention.interceptor.d.ts +8 -8
  140. package/lib/interceptors/eu-login-session-timeout-handling.interceptor.d.ts +12 -12
  141. package/lib/interceptors/index.d.ts +7 -7
  142. package/lib/interceptors/openid/index.d.ts +3 -3
  143. package/lib/interceptors/openid/openid-connect.interceptor.d.ts +14 -14
  144. package/lib/interceptors/openid/openid-connect.service.d.ts +17 -17
  145. package/lib/interceptors/openid/openid-connect.service.mock.d.ts +5 -5
  146. package/lib/interceptors/ux-request-error-model.interceptor.d.ts +13 -13
  147. package/lib/services/app/eui-init-app.d.ts +2 -2
  148. package/lib/services/app/eui-pre-init-app.d.ts +16 -16
  149. package/lib/services/app/eui-startup.d.ts +4 -4
  150. package/lib/services/app/factories/log.d.ts +25 -25
  151. package/lib/services/app/index.d.ts +1 -1
  152. package/lib/services/config/defaults.d.ts +11 -11
  153. package/lib/services/config/tokens.d.ts +19 -19
  154. package/lib/services/errors/eui.error.d.ts +15 -15
  155. package/lib/services/errors/global-error-handler.d.ts +10 -10
  156. package/lib/services/errors/http-error-handler-callback-functions.d.ts +6 -6
  157. package/lib/services/errors/http-error-handler.interceptor.d.ts +22 -22
  158. package/lib/services/errors/index.d.ts +4 -4
  159. package/lib/services/i18n/i18n.loader.d.ts +79 -79
  160. package/lib/services/i18n/i18n.resource.d.ts +35 -35
  161. package/lib/services/i18n/i18n.service.d.ts +73 -73
  162. package/lib/services/i18n/i18n.service.mock.d.ts +19 -19
  163. package/lib/services/i18n/index.d.ts +4 -4
  164. package/lib/services/index.d.ts +18 -18
  165. package/lib/services/locale/index.d.ts +2 -2
  166. package/lib/services/locale/locale.service.d.ts +68 -68
  167. package/lib/services/locale/locale.service.mock.d.ts +15 -15
  168. package/lib/services/log/index.d.ts +3 -3
  169. package/lib/services/log/log.module.d.ts +15 -15
  170. package/lib/services/log/log.service.d.ts +27 -27
  171. package/lib/services/log/log.service.mock.d.ts +4 -4
  172. package/lib/services/permission/permission.service.d.ts +52 -52
  173. package/lib/services/queue/api-queue.service.d.ts +76 -76
  174. package/lib/services/queue/api-queue.service.mock.d.ts +13 -13
  175. package/lib/services/queue/index.d.ts +2 -2
  176. package/lib/services/storage/async-storage.service.d.ts +44 -44
  177. package/lib/services/storage/async-storage.service.mock.d.ts +11 -11
  178. package/lib/services/storage/index.d.ts +7 -7
  179. package/lib/services/storage/local-forage.service.d.ts +48 -48
  180. package/lib/services/storage/local-storage.service.d.ts +34 -34
  181. package/lib/services/storage/session-storage.service.d.ts +34 -34
  182. package/lib/services/storage/storage.service.d.ts +28 -28
  183. package/lib/services/storage/storage.service.mock.d.ts +7 -7
  184. package/lib/services/store/actions/app.actions.d.ts +82 -82
  185. package/lib/services/store/actions/i18n.actions.d.ts +11 -11
  186. package/lib/services/store/actions/index.d.ts +5 -5
  187. package/lib/services/store/actions/locale.actions.d.ts +11 -11
  188. package/lib/services/store/actions/notifications.actions.d.ts +10 -10
  189. package/lib/services/store/actions/user.actions.d.ts +35 -35
  190. package/lib/services/store/effects/app.effects.d.ts +19 -19
  191. package/lib/services/store/effects/index.d.ts +3 -3
  192. package/lib/services/store/index.d.ts +5 -5
  193. package/lib/services/store/reducers/app.reducers.d.ts +3 -3
  194. package/lib/services/store/reducers/core.reducers.d.ts +3 -3
  195. package/lib/services/store/reducers/i18n.reducers.d.ts +3 -3
  196. package/lib/services/store/reducers/index.d.ts +7 -7
  197. package/lib/services/store/reducers/locale.reducers.d.ts +3 -3
  198. package/lib/services/store/reducers/meta.reducers.d.ts +17 -17
  199. package/lib/services/store/reducers/notifications.reducers.d.ts +3 -3
  200. package/lib/services/store/reducers/user.reducers.d.ts +3 -3
  201. package/lib/services/store/store.service.d.ts +43 -43
  202. package/lib/services/store/store.service.mock.d.ts +12 -12
  203. package/lib/services/user/index.d.ts +2 -2
  204. package/lib/services/user/user.service.d.ts +15 -15
  205. package/lib/services/user/user.service.mock.d.ts +16 -16
  206. package/lib/services/ux-app-shell.service.d.ts +155 -155
  207. package/lib/services/ux-dynamic-component/ux-dynamic-component.service.d.ts +36 -36
  208. package/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.d.ts +14 -14
  209. package/lib/services/ux-error-feedback/ux-error-feedback.service.d.ts +35 -35
  210. package/lib/services/ux-error-feedback/ux-error-handler.operator.d.ts +3 -3
  211. package/lib/services/ux-timezone.service.d.ts +269 -269
  212. package/package.json +2 -2
  213. package/docs/overview.html +0 -171
@@ -1,63 +1,63 @@
1
- import { Injectable, InjectionToken } from '@angular/core';
2
- import { ComponentPortal, DomPortalOutlet, PortalInjector } from '@angular/cdk/portal';
3
- import * as i0 from "@angular/core";
4
- export const DYNAMIC_COMPONENT_CONFIG = new InjectionToken('DYNAMIC_COMPONENT_CONFIG');
5
- export class UxDynamicComponentService {
6
- constructor(componentFactoryResolver, injector, appRef) {
7
- this.componentFactoryResolver = componentFactoryResolver;
8
- this.injector = injector;
9
- this.appRef = appRef;
10
- }
11
- /**
12
- * Adds a component to portal host dynamically
13
- * @param component The component to be injected
14
- * @param el The element reference for the component to be injected
15
- * @param config The data to be passed (config) for the DYNAMIC_COMPONENT_CONFIG token
16
- */
17
- add(component, el, config) {
18
- // TODO: take a look and replace deprecated componentFactoryResolver https://github.com/angular/components/issues/24334
19
- // Create a portalHost from a DOM element
20
- this.portalHost = new DomPortalOutlet(el ? el.nativeElement : document.body, this.componentFactoryResolver, this.appRef, this.injector);
21
- // Locate the component factory for the ComponentToIncludeDynamicallyComponent
22
- this.portal = new ComponentPortal(component, null, config ? this.createInjector(config) : null);
23
- // Attach portal to host
24
- this.portalComponentInstance = this.portalHost.attach(this.portal);
25
- if (config) {
26
- Object.assign(config, {
27
- portalHostRef: this.portalHost,
28
- portalRef: this.portal,
29
- portalComponentInstanceRef: this.portalComponentInstance,
30
- });
31
- }
32
- return {
33
- portalHost: this.portalHost,
34
- portal: this.portal,
35
- portalComponentInstance: this.portalComponentInstance,
36
- };
37
- }
38
- /**
39
- * detaches a portalHost
40
- * @param portalHostRef reference of portal host to be detached
41
- */
42
- remove(portalHostRef) {
43
- portalHostRef.detach();
44
- this.portalHost = null;
45
- this.portal = null;
46
- this.portalComponentInstance = null;
47
- }
48
- /**
49
- * creates a custom injector to be used when providing custom injection tokens to components inside a portal
50
- * @param data to be used by DYNAMIC_COMPONENT_CONFIG token
51
- */
52
- createInjector(data) {
53
- const injectorTokens = new WeakMap();
54
- injectorTokens.set(DYNAMIC_COMPONENT_CONFIG, data);
55
- return new PortalInjector(this.injector, injectorTokens);
56
- }
57
- }
58
- /** @nocollapse */ UxDynamicComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UxDynamicComponentService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });
59
- /** @nocollapse */ UxDynamicComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UxDynamicComponentService });
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UxDynamicComponentService, decorators: [{
61
- type: Injectable
62
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i0.ApplicationRef }]; } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXgtZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdXgtZHluYW1pYy1jb21wb25lbnQvdXgtZHluYW1pYy1jb21wb25lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNFLFVBQVUsRUFBRSxjQUFjLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDekksT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFpQixNQUFNLHFCQUFxQixDQUFDOztBQUV0RyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FBUywwQkFBMEIsQ0FBQyxDQUFDO0FBRy9GLE1BQU0sT0FBTyx5QkFBeUI7SUFLbEMsWUFBb0Isd0JBQWtELEVBQVUsUUFBa0IsRUFBVSxNQUFzQjtRQUE5Ryw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQWdCO0lBQUcsQ0FBQztJQUV0STs7Ozs7T0FLRztJQUNJLEdBQUcsQ0FBSSxTQUEyQixFQUFFLEVBQWUsRUFBRSxNQUFZO1FBQ3BFLHVIQUF1SDtRQUN2SCx5Q0FBeUM7UUFDekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FDakMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUNyQyxJQUFJLENBQUMsd0JBQXdCLEVBQzdCLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FDaEIsQ0FBQztRQUVGLDhFQUE4RTtRQUM5RSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFJLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuRyx3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVuRSxJQUFJLE1BQU0sRUFBRTtZQUNSLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUNsQixhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQzlCLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDdEIsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLHVCQUF1QjthQUMzRCxDQUFDLENBQUM7U0FDTjtRQUVELE9BQU87WUFDSCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLHVCQUF1QixFQUFFLElBQUksQ0FBQyx1QkFBdUI7U0FDeEQsQ0FBQztJQUNOLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsYUFBOEI7UUFDeEMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRXZCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxJQUFTO1FBQzVCLE1BQU0sY0FBYyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDckMsY0FBYyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuRCxPQUFPLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7eUlBaEVRLHlCQUF5Qjs2SUFBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIEVsZW1lbnRSZWYsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIERvbVBvcnRhbE91dGxldCwgUG9ydGFsSW5qZWN0b3IsIENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuXHJcbmV4cG9ydCBjb25zdCBEWU5BTUlDX0NPTVBPTkVOVF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48b2JqZWN0PignRFlOQU1JQ19DT01QT05FTlRfQ09ORklHJyk7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBVeER5bmFtaWNDb21wb25lbnRTZXJ2aWNlIHtcclxuICAgIHByaXZhdGUgcG9ydGFsSG9zdDogRG9tUG9ydGFsT3V0bGV0O1xyXG4gICAgcHJpdmF0ZSBwb3J0YWw6IENvbXBvbmVudFBvcnRhbDxhbnk+O1xyXG4gICAgcHJpdmF0ZSBwb3J0YWxDb21wb25lbnRJbnN0YW5jZTogQ29tcG9uZW50UmVmPGFueT47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZikge31cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZHMgYSBjb21wb25lbnQgdG8gcG9ydGFsIGhvc3QgZHluYW1pY2FsbHlcclxuICAgICAqIEBwYXJhbSBjb21wb25lbnQgVGhlIGNvbXBvbmVudCB0byBiZSBpbmplY3RlZFxyXG4gICAgICogQHBhcmFtIGVsIFRoZSBlbGVtZW50IHJlZmVyZW5jZSBmb3IgdGhlIGNvbXBvbmVudCB0byBiZSBpbmplY3RlZFxyXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgZGF0YSB0byBiZSBwYXNzZWQgKGNvbmZpZykgZm9yIHRoZSBEWU5BTUlDX0NPTVBPTkVOVF9DT05GSUcgdG9rZW5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGFkZDxUPihjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VD4sIGVsPzogRWxlbWVudFJlZiwgY29uZmlnPzogYW55KSB7XHJcbiAgICAgICAgLy8gVE9ETzogdGFrZSBhIGxvb2sgYW5kIHJlcGxhY2UgZGVwcmVjYXRlZCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9pc3N1ZXMvMjQzMzRcclxuICAgICAgICAvLyBDcmVhdGUgYSBwb3J0YWxIb3N0IGZyb20gYSBET00gZWxlbWVudFxyXG4gICAgICAgIHRoaXMucG9ydGFsSG9zdCA9IG5ldyBEb21Qb3J0YWxPdXRsZXQoXHJcbiAgICAgICAgICAgIGVsID8gZWwubmF0aXZlRWxlbWVudCA6IGRvY3VtZW50LmJvZHksXHJcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgICAgICB0aGlzLmFwcFJlZixcclxuICAgICAgICAgICAgdGhpcy5pbmplY3RvclxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIC8vIExvY2F0ZSB0aGUgY29tcG9uZW50IGZhY3RvcnkgZm9yIHRoZSBDb21wb25lbnRUb0luY2x1ZGVEeW5hbWljYWxseUNvbXBvbmVudFxyXG4gICAgICAgIHRoaXMucG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbDxUPihjb21wb25lbnQsIG51bGwsIGNvbmZpZyA/IHRoaXMuY3JlYXRlSW5qZWN0b3IoY29uZmlnKSA6IG51bGwpO1xyXG5cclxuICAgICAgICAvLyBBdHRhY2ggcG9ydGFsIHRvIGhvc3RcclxuICAgICAgICB0aGlzLnBvcnRhbENvbXBvbmVudEluc3RhbmNlID0gdGhpcy5wb3J0YWxIb3N0LmF0dGFjaCh0aGlzLnBvcnRhbCk7XHJcblxyXG4gICAgICAgIGlmIChjb25maWcpIHtcclxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihjb25maWcsIHtcclxuICAgICAgICAgICAgICAgIHBvcnRhbEhvc3RSZWY6IHRoaXMucG9ydGFsSG9zdCxcclxuICAgICAgICAgICAgICAgIHBvcnRhbFJlZjogdGhpcy5wb3J0YWwsXHJcbiAgICAgICAgICAgICAgICBwb3J0YWxDb21wb25lbnRJbnN0YW5jZVJlZjogdGhpcy5wb3J0YWxDb21wb25lbnRJbnN0YW5jZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBwb3J0YWxIb3N0OiB0aGlzLnBvcnRhbEhvc3QsXHJcbiAgICAgICAgICAgIHBvcnRhbDogdGhpcy5wb3J0YWwsXHJcbiAgICAgICAgICAgIHBvcnRhbENvbXBvbmVudEluc3RhbmNlOiB0aGlzLnBvcnRhbENvbXBvbmVudEluc3RhbmNlLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBkZXRhY2hlcyBhIHBvcnRhbEhvc3RcclxuICAgICAqIEBwYXJhbSBwb3J0YWxIb3N0UmVmIHJlZmVyZW5jZSBvZiBwb3J0YWwgaG9zdCB0byBiZSBkZXRhY2hlZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVtb3ZlKHBvcnRhbEhvc3RSZWY6IERvbVBvcnRhbE91dGxldCkge1xyXG4gICAgICAgIHBvcnRhbEhvc3RSZWYuZGV0YWNoKCk7XHJcblxyXG4gICAgICAgIHRoaXMucG9ydGFsSG9zdCA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5wb3J0YWwgPSBudWxsO1xyXG4gICAgICAgIHRoaXMucG9ydGFsQ29tcG9uZW50SW5zdGFuY2UgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogY3JlYXRlcyBhIGN1c3RvbSBpbmplY3RvciB0byBiZSB1c2VkIHdoZW4gcHJvdmlkaW5nIGN1c3RvbSBpbmplY3Rpb24gdG9rZW5zIHRvIGNvbXBvbmVudHMgaW5zaWRlIGEgcG9ydGFsXHJcbiAgICAgKiBAcGFyYW0gZGF0YSB0byBiZSB1c2VkIGJ5IERZTkFNSUNfQ09NUE9ORU5UX0NPTkZJRyB0b2tlblxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNyZWF0ZUluamVjdG9yKGRhdGE6IGFueSk6IEluamVjdG9yIHtcclxuICAgICAgICBjb25zdCBpbmplY3RvclRva2VucyA9IG5ldyBXZWFrTWFwKCk7XHJcbiAgICAgICAgaW5qZWN0b3JUb2tlbnMuc2V0KERZTkFNSUNfQ09NUE9ORU5UX0NPTkZJRywgZGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQb3J0YWxJbmplY3Rvcih0aGlzLmluamVjdG9yLCBpbmplY3RvclRva2Vucyk7XHJcbiAgICB9XHJcbn1cclxuIl19
1
+ import { Injectable, InjectionToken } from '@angular/core';
2
+ import { ComponentPortal, DomPortalOutlet, PortalInjector } from '@angular/cdk/portal';
3
+ import * as i0 from "@angular/core";
4
+ export const DYNAMIC_COMPONENT_CONFIG = new InjectionToken('DYNAMIC_COMPONENT_CONFIG');
5
+ export class UxDynamicComponentService {
6
+ constructor(componentFactoryResolver, injector, appRef) {
7
+ this.componentFactoryResolver = componentFactoryResolver;
8
+ this.injector = injector;
9
+ this.appRef = appRef;
10
+ }
11
+ /**
12
+ * Adds a component to portal host dynamically
13
+ * @param component The component to be injected
14
+ * @param el The element reference for the component to be injected
15
+ * @param config The data to be passed (config) for the DYNAMIC_COMPONENT_CONFIG token
16
+ */
17
+ add(component, el, config) {
18
+ // TODO: take a look and replace deprecated componentFactoryResolver https://github.com/angular/components/issues/24334
19
+ // Create a portalHost from a DOM element
20
+ this.portalHost = new DomPortalOutlet(el ? el.nativeElement : document.body, this.componentFactoryResolver, this.appRef, this.injector);
21
+ // Locate the component factory for the ComponentToIncludeDynamicallyComponent
22
+ this.portal = new ComponentPortal(component, null, config ? this.createInjector(config) : null);
23
+ // Attach portal to host
24
+ this.portalComponentInstance = this.portalHost.attach(this.portal);
25
+ if (config) {
26
+ Object.assign(config, {
27
+ portalHostRef: this.portalHost,
28
+ portalRef: this.portal,
29
+ portalComponentInstanceRef: this.portalComponentInstance,
30
+ });
31
+ }
32
+ return {
33
+ portalHost: this.portalHost,
34
+ portal: this.portal,
35
+ portalComponentInstance: this.portalComponentInstance,
36
+ };
37
+ }
38
+ /**
39
+ * detaches a portalHost
40
+ * @param portalHostRef reference of portal host to be detached
41
+ */
42
+ remove(portalHostRef) {
43
+ portalHostRef.detach();
44
+ this.portalHost = null;
45
+ this.portal = null;
46
+ this.portalComponentInstance = null;
47
+ }
48
+ /**
49
+ * creates a custom injector to be used when providing custom injection tokens to components inside a portal
50
+ * @param data to be used by DYNAMIC_COMPONENT_CONFIG token
51
+ */
52
+ createInjector(data) {
53
+ const injectorTokens = new WeakMap();
54
+ injectorTokens.set(DYNAMIC_COMPONENT_CONFIG, data);
55
+ return new PortalInjector(this.injector, injectorTokens);
56
+ }
57
+ }
58
+ /** @nocollapse */ UxDynamicComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UxDynamicComponentService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });
59
+ /** @nocollapse */ UxDynamicComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UxDynamicComponentService });
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UxDynamicComponentService, decorators: [{
61
+ type: Injectable
62
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i0.ApplicationRef }]; } });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXgtZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdXgtZHluYW1pYy1jb21wb25lbnQvdXgtZHluYW1pYy1jb21wb25lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNFLFVBQVUsRUFBRSxjQUFjLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDekksT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFpQixNQUFNLHFCQUFxQixDQUFDOztBQUV0RyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FBUywwQkFBMEIsQ0FBQyxDQUFDO0FBRy9GLE1BQU0sT0FBTyx5QkFBeUI7SUFLbEMsWUFBb0Isd0JBQWtELEVBQVUsUUFBa0IsRUFBVSxNQUFzQjtRQUE5Ryw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQWdCO0lBQUcsQ0FBQztJQUV0STs7Ozs7T0FLRztJQUNJLEdBQUcsQ0FBSSxTQUEyQixFQUFFLEVBQWUsRUFBRSxNQUFZO1FBQ3BFLHVIQUF1SDtRQUN2SCx5Q0FBeUM7UUFDekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FDakMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUNyQyxJQUFJLENBQUMsd0JBQXdCLEVBQzdCLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FDaEIsQ0FBQztRQUVGLDhFQUE4RTtRQUM5RSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFJLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuRyx3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVuRSxJQUFJLE1BQU0sRUFBRTtZQUNSLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUNsQixhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQzlCLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDdEIsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLHVCQUF1QjthQUMzRCxDQUFDLENBQUM7U0FDTjtRQUVELE9BQU87WUFDSCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLHVCQUF1QixFQUFFLElBQUksQ0FBQyx1QkFBdUI7U0FDeEQsQ0FBQztJQUNOLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsYUFBOEI7UUFDeEMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRXZCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxJQUFTO1FBQzVCLE1BQU0sY0FBYyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDckMsY0FBYyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuRCxPQUFPLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7eUlBaEVRLHlCQUF5Qjs2SUFBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIEVsZW1lbnRSZWYsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBEb21Qb3J0YWxPdXRsZXQsIFBvcnRhbEluamVjdG9yLCBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmV4cG9ydCBjb25zdCBEWU5BTUlDX0NPTVBPTkVOVF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48b2JqZWN0PignRFlOQU1JQ19DT01QT05FTlRfQ09ORklHJyk7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVeER5bmFtaWNDb21wb25lbnRTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHBvcnRhbEhvc3Q6IERvbVBvcnRhbE91dGxldDtcbiAgICBwcml2YXRlIHBvcnRhbDogQ29tcG9uZW50UG9ydGFsPGFueT47XG4gICAgcHJpdmF0ZSBwb3J0YWxDb21wb25lbnRJbnN0YW5jZTogQ29tcG9uZW50UmVmPGFueT47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmKSB7fVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIGNvbXBvbmVudCB0byBwb3J0YWwgaG9zdCBkeW5hbWljYWxseVxuICAgICAqIEBwYXJhbSBjb21wb25lbnQgVGhlIGNvbXBvbmVudCB0byBiZSBpbmplY3RlZFxuICAgICAqIEBwYXJhbSBlbCBUaGUgZWxlbWVudCByZWZlcmVuY2UgZm9yIHRoZSBjb21wb25lbnQgdG8gYmUgaW5qZWN0ZWRcbiAgICAgKiBAcGFyYW0gY29uZmlnIFRoZSBkYXRhIHRvIGJlIHBhc3NlZCAoY29uZmlnKSBmb3IgdGhlIERZTkFNSUNfQ09NUE9ORU5UX0NPTkZJRyB0b2tlblxuICAgICAqL1xuICAgIHB1YmxpYyBhZGQ8VD4oY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+LCBlbD86IEVsZW1lbnRSZWYsIGNvbmZpZz86IGFueSkge1xuICAgICAgICAvLyBUT0RPOiB0YWtlIGEgbG9vayBhbmQgcmVwbGFjZSBkZXByZWNhdGVkIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2lzc3Vlcy8yNDMzNFxuICAgICAgICAvLyBDcmVhdGUgYSBwb3J0YWxIb3N0IGZyb20gYSBET00gZWxlbWVudFxuICAgICAgICB0aGlzLnBvcnRhbEhvc3QgPSBuZXcgRG9tUG9ydGFsT3V0bGV0KFxuICAgICAgICAgICAgZWwgPyBlbC5uYXRpdmVFbGVtZW50IDogZG9jdW1lbnQuYm9keSxcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICAgICAgdGhpcy5hcHBSZWYsXG4gICAgICAgICAgICB0aGlzLmluamVjdG9yXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gTG9jYXRlIHRoZSBjb21wb25lbnQgZmFjdG9yeSBmb3IgdGhlIENvbXBvbmVudFRvSW5jbHVkZUR5bmFtaWNhbGx5Q29tcG9uZW50XG4gICAgICAgIHRoaXMucG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbDxUPihjb21wb25lbnQsIG51bGwsIGNvbmZpZyA/IHRoaXMuY3JlYXRlSW5qZWN0b3IoY29uZmlnKSA6IG51bGwpO1xuXG4gICAgICAgIC8vIEF0dGFjaCBwb3J0YWwgdG8gaG9zdFxuICAgICAgICB0aGlzLnBvcnRhbENvbXBvbmVudEluc3RhbmNlID0gdGhpcy5wb3J0YWxIb3N0LmF0dGFjaCh0aGlzLnBvcnRhbCk7XG5cbiAgICAgICAgaWYgKGNvbmZpZykge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihjb25maWcsIHtcbiAgICAgICAgICAgICAgICBwb3J0YWxIb3N0UmVmOiB0aGlzLnBvcnRhbEhvc3QsXG4gICAgICAgICAgICAgICAgcG9ydGFsUmVmOiB0aGlzLnBvcnRhbCxcbiAgICAgICAgICAgICAgICBwb3J0YWxDb21wb25lbnRJbnN0YW5jZVJlZjogdGhpcy5wb3J0YWxDb21wb25lbnRJbnN0YW5jZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHBvcnRhbEhvc3Q6IHRoaXMucG9ydGFsSG9zdCxcbiAgICAgICAgICAgIHBvcnRhbDogdGhpcy5wb3J0YWwsXG4gICAgICAgICAgICBwb3J0YWxDb21wb25lbnRJbnN0YW5jZTogdGhpcy5wb3J0YWxDb21wb25lbnRJbnN0YW5jZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBkZXRhY2hlcyBhIHBvcnRhbEhvc3RcbiAgICAgKiBAcGFyYW0gcG9ydGFsSG9zdFJlZiByZWZlcmVuY2Ugb2YgcG9ydGFsIGhvc3QgdG8gYmUgZGV0YWNoZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlKHBvcnRhbEhvc3RSZWY6IERvbVBvcnRhbE91dGxldCkge1xuICAgICAgICBwb3J0YWxIb3N0UmVmLmRldGFjaCgpO1xuXG4gICAgICAgIHRoaXMucG9ydGFsSG9zdCA9IG51bGw7XG4gICAgICAgIHRoaXMucG9ydGFsID0gbnVsbDtcbiAgICAgICAgdGhpcy5wb3J0YWxDb21wb25lbnRJbnN0YW5jZSA9IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY3JlYXRlcyBhIGN1c3RvbSBpbmplY3RvciB0byBiZSB1c2VkIHdoZW4gcHJvdmlkaW5nIGN1c3RvbSBpbmplY3Rpb24gdG9rZW5zIHRvIGNvbXBvbmVudHMgaW5zaWRlIGEgcG9ydGFsXG4gICAgICogQHBhcmFtIGRhdGEgdG8gYmUgdXNlZCBieSBEWU5BTUlDX0NPTVBPTkVOVF9DT05GSUcgdG9rZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNyZWF0ZUluamVjdG9yKGRhdGE6IGFueSk6IEluamVjdG9yIHtcbiAgICAgICAgY29uc3QgaW5qZWN0b3JUb2tlbnMgPSBuZXcgV2Vha01hcCgpO1xuICAgICAgICBpbmplY3RvclRva2Vucy5zZXQoRFlOQU1JQ19DT01QT05FTlRfQ09ORklHLCBkYXRhKTtcbiAgICAgICAgcmV0dXJuIG5ldyBQb3J0YWxJbmplY3Rvcih0aGlzLmluamVjdG9yLCBpbmplY3RvclRva2Vucyk7XG4gICAgfVxufVxuIl19
@@ -1,66 +1,66 @@
1
- import { Injectable } from '@angular/core';
2
- import { getUserState } from '@eui/base';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../permission/permission.service";
5
- import * as i2 from "../store/store.service";
6
- export class UxDynamicMenuService {
7
- // TODO: it should be moved euiservice, or it should be static
8
- // TODO: can we moved that service inside the module of the component that's using it?
9
- constructor(uxPermission, store) {
10
- this.uxPermission = uxPermission;
11
- this.store = store;
12
- this.menuLinks = [];
13
- this.store.select(getUserState).subscribe((user) => {
14
- if (user.menuLinks) {
15
- this.menuLinks = user.menuLinks;
16
- }
17
- });
18
- }
19
- getMenuLinks() {
20
- return this.menuLinks;
21
- }
22
- filterUxLinksWithRights(links) {
23
- return links.filter((link) => {
24
- if (link.hasChildren) {
25
- link.children = this.filterUxLinksWithRights(link.children);
26
- }
27
- // First check if the user is denied access:
28
- if (link.deniedRightId) {
29
- if (this.uxPermission.checkRight(link.deniedRightId)) {
30
- return false;
31
- }
32
- }
33
- if (link.deniedRightIds) {
34
- for (const deniedRightId of link.deniedRightIds) {
35
- if (this.uxPermission.checkRight(deniedRightId)) {
36
- return false;
37
- }
38
- }
39
- }
40
- // Then check if the user needs to be allowed access explicitly:
41
- if (link.allowedRightId) {
42
- return this.uxPermission.checkRight(link.allowedRightId);
43
- }
44
- if (link.allowedRightIds) {
45
- for (const allowedRightId of link.allowedRightIds) {
46
- if (this.uxPermission.checkRight(allowedRightId)) {
47
- return true;
48
- }
49
- }
50
- // User doesn't have one of the allowed rights. Deny access:
51
- return false;
52
- }
53
- // Access to the menu item is not denied, therefore allow it:
54
- return true;
55
- });
56
- }
57
- }
58
- /** @nocollapse */ UxDynamicMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UxDynamicMenuService, deps: [{ token: i1.EuiPermissionService }, { token: i2.StoreService }], target: i0.ɵɵFactoryTarget.Injectable });
59
- /** @nocollapse */ UxDynamicMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UxDynamicMenuService, providedIn: 'root' });
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UxDynamicMenuService, decorators: [{
61
- type: Injectable,
62
- args: [{
63
- providedIn: 'root',
64
- }]
65
- }], ctorParameters: function () { return [{ type: i1.EuiPermissionService }, { type: i2.StoreService }]; } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXgtZHluYW1pYy1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3V4LWR5bmFtaWMtbWVudS91eC1keW5hbWljLW1lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQVUsTUFBTSxXQUFXLENBQUM7Ozs7QUFPakQsTUFBTSxPQUFPLG9CQUFvQjtJQUc3Qiw4REFBOEQ7SUFDOUQsc0ZBQXNGO0lBQ3RGLFlBQW9CLFlBQWtDLEVBQVUsS0FBbUI7UUFBL0QsaUJBQVksR0FBWixZQUFZLENBQXNCO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUpuRixjQUFTLEdBQWUsRUFBRSxDQUFDO1FBS3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQy9DLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO2FBQ25DO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsdUJBQXVCLENBQUMsS0FBb0I7UUFDeEMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDekIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDL0Q7WUFFRCw0Q0FBNEM7WUFDNUMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUNwQixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtvQkFDbEQsT0FBTyxLQUFLLENBQUM7aUJBQ2hCO2FBQ0o7WUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3JCLEtBQUssTUFBTSxhQUFhLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtvQkFDN0MsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRTt3QkFDN0MsT0FBTyxLQUFLLENBQUM7cUJBQ2hCO2lCQUNKO2FBQ0o7WUFFRCxnRUFBZ0U7WUFDaEUsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNyQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUM1RDtZQUNELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDdEIsS0FBSyxNQUFNLGNBQWMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO29CQUMvQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFO3dCQUM5QyxPQUFPLElBQUksQ0FBQztxQkFDZjtpQkFDSjtnQkFDRCw0REFBNEQ7Z0JBQzVELE9BQU8sS0FBSyxDQUFDO2FBQ2hCO1lBRUQsNkRBQTZEO1lBQzdELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7b0lBdERRLG9CQUFvQjt3SUFBcEIsb0JBQW9CLGNBRmpCLE1BQU07MkZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZ2V0VXNlclN0YXRlLCBVeExpbmsgfSBmcm9tICdAZXVpL2Jhc2UnO1xyXG5pbXBvcnQgeyBFdWlQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJy4uL3Blcm1pc3Npb24vcGVybWlzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmUvc3RvcmUuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVeER5bmFtaWNNZW51U2VydmljZSB7XHJcbiAgICBtZW51TGlua3M6IEFycmF5PGFueT4gPSBbXTtcclxuXHJcbiAgICAvLyBUT0RPOiBpdCBzaG91bGQgYmUgbW92ZWQgZXVpc2VydmljZSwgb3IgaXQgc2hvdWxkIGJlIHN0YXRpY1xyXG4gICAgLy8gVE9ETzogY2FuIHdlIG1vdmVkIHRoYXQgc2VydmljZSBpbnNpZGUgdGhlIG1vZHVsZSBvZiB0aGUgY29tcG9uZW50IHRoYXQncyB1c2luZyBpdD9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdXhQZXJtaXNzaW9uOiBFdWlQZXJtaXNzaW9uU2VydmljZSwgcHJpdmF0ZSBzdG9yZTogU3RvcmVTZXJ2aWNlKSB7XHJcbiAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoZ2V0VXNlclN0YXRlKS5zdWJzY3JpYmUoKHVzZXIpID0+IHtcclxuICAgICAgICAgICAgaWYgKHVzZXIubWVudUxpbmtzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVMaW5rcyA9IHVzZXIubWVudUxpbmtzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0TWVudUxpbmtzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1lbnVMaW5rcztcclxuICAgIH1cclxuXHJcbiAgICBmaWx0ZXJVeExpbmtzV2l0aFJpZ2h0cyhsaW5rczogQXJyYXk8VXhMaW5rPik6IEFycmF5PFV4TGluaz4ge1xyXG4gICAgICAgIHJldHVybiBsaW5rcy5maWx0ZXIoKGxpbmspID0+IHtcclxuICAgICAgICAgICAgaWYgKGxpbmsuaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIGxpbmsuY2hpbGRyZW4gPSB0aGlzLmZpbHRlclV4TGlua3NXaXRoUmlnaHRzKGxpbmsuY2hpbGRyZW4pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBGaXJzdCBjaGVjayBpZiB0aGUgdXNlciBpcyBkZW5pZWQgYWNjZXNzOlxyXG4gICAgICAgICAgICBpZiAobGluay5kZW5pZWRSaWdodElkKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy51eFBlcm1pc3Npb24uY2hlY2tSaWdodChsaW5rLmRlbmllZFJpZ2h0SWQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChsaW5rLmRlbmllZFJpZ2h0SWRzKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGRlbmllZFJpZ2h0SWQgb2YgbGluay5kZW5pZWRSaWdodElkcykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnV4UGVybWlzc2lvbi5jaGVja1JpZ2h0KGRlbmllZFJpZ2h0SWQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIFRoZW4gY2hlY2sgaWYgdGhlIHVzZXIgbmVlZHMgdG8gYmUgYWxsb3dlZCBhY2Nlc3MgZXhwbGljaXRseTpcclxuICAgICAgICAgICAgaWYgKGxpbmsuYWxsb3dlZFJpZ2h0SWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnV4UGVybWlzc2lvbi5jaGVja1JpZ2h0KGxpbmsuYWxsb3dlZFJpZ2h0SWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChsaW5rLmFsbG93ZWRSaWdodElkcykge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBhbGxvd2VkUmlnaHRJZCBvZiBsaW5rLmFsbG93ZWRSaWdodElkcykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnV4UGVybWlzc2lvbi5jaGVja1JpZ2h0KGFsbG93ZWRSaWdodElkKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBVc2VyIGRvZXNuJ3QgaGF2ZSBvbmUgb2YgdGhlIGFsbG93ZWQgcmlnaHRzLiBEZW55IGFjY2VzczpcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gQWNjZXNzIHRvIHRoZSBtZW51IGl0ZW0gaXMgbm90IGRlbmllZCwgdGhlcmVmb3JlIGFsbG93IGl0OlxyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
1
+ import { Injectable } from '@angular/core';
2
+ import { getUserState } from '@eui/base';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../permission/permission.service";
5
+ import * as i2 from "../store/store.service";
6
+ export class UxDynamicMenuService {
7
+ // TODO: it should be moved euiservice, or it should be static
8
+ // TODO: can we moved that service inside the module of the component that's using it?
9
+ constructor(uxPermission, store) {
10
+ this.uxPermission = uxPermission;
11
+ this.store = store;
12
+ this.menuLinks = [];
13
+ this.store.select(getUserState).subscribe((user) => {
14
+ if (user.menuLinks) {
15
+ this.menuLinks = user.menuLinks;
16
+ }
17
+ });
18
+ }
19
+ getMenuLinks() {
20
+ return this.menuLinks;
21
+ }
22
+ filterUxLinksWithRights(links) {
23
+ return links.filter((link) => {
24
+ if (link.hasChildren) {
25
+ link.children = this.filterUxLinksWithRights(link.children);
26
+ }
27
+ // First check if the user is denied access:
28
+ if (link.deniedRightId) {
29
+ if (this.uxPermission.checkRight(link.deniedRightId)) {
30
+ return false;
31
+ }
32
+ }
33
+ if (link.deniedRightIds) {
34
+ for (const deniedRightId of link.deniedRightIds) {
35
+ if (this.uxPermission.checkRight(deniedRightId)) {
36
+ return false;
37
+ }
38
+ }
39
+ }
40
+ // Then check if the user needs to be allowed access explicitly:
41
+ if (link.allowedRightId) {
42
+ return this.uxPermission.checkRight(link.allowedRightId);
43
+ }
44
+ if (link.allowedRightIds) {
45
+ for (const allowedRightId of link.allowedRightIds) {
46
+ if (this.uxPermission.checkRight(allowedRightId)) {
47
+ return true;
48
+ }
49
+ }
50
+ // User doesn't have one of the allowed rights. Deny access:
51
+ return false;
52
+ }
53
+ // Access to the menu item is not denied, therefore allow it:
54
+ return true;
55
+ });
56
+ }
57
+ }
58
+ /** @nocollapse */ UxDynamicMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UxDynamicMenuService, deps: [{ token: i1.EuiPermissionService }, { token: i2.StoreService }], target: i0.ɵɵFactoryTarget.Injectable });
59
+ /** @nocollapse */ UxDynamicMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UxDynamicMenuService, providedIn: 'root' });
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UxDynamicMenuService, decorators: [{
61
+ type: Injectable,
62
+ args: [{
63
+ providedIn: 'root',
64
+ }]
65
+ }], ctorParameters: function () { return [{ type: i1.EuiPermissionService }, { type: i2.StoreService }]; } });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXgtZHluYW1pYy1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3V4LWR5bmFtaWMtbWVudS91eC1keW5hbWljLW1lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQVUsTUFBTSxXQUFXLENBQUM7Ozs7QUFPakQsTUFBTSxPQUFPLG9CQUFvQjtJQUc3Qiw4REFBOEQ7SUFDOUQsc0ZBQXNGO0lBQ3RGLFlBQW9CLFlBQWtDLEVBQVUsS0FBbUI7UUFBL0QsaUJBQVksR0FBWixZQUFZLENBQXNCO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUpuRixjQUFTLEdBQWUsRUFBRSxDQUFDO1FBS3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQy9DLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO2FBQ25DO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsdUJBQXVCLENBQUMsS0FBb0I7UUFDeEMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDekIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDL0Q7WUFFRCw0Q0FBNEM7WUFDNUMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUNwQixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtvQkFDbEQsT0FBTyxLQUFLLENBQUM7aUJBQ2hCO2FBQ0o7WUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3JCLEtBQUssTUFBTSxhQUFhLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtvQkFDN0MsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRTt3QkFDN0MsT0FBTyxLQUFLLENBQUM7cUJBQ2hCO2lCQUNKO2FBQ0o7WUFFRCxnRUFBZ0U7WUFDaEUsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNyQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUM1RDtZQUNELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDdEIsS0FBSyxNQUFNLGNBQWMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO29CQUMvQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFO3dCQUM5QyxPQUFPLElBQUksQ0FBQztxQkFDZjtpQkFDSjtnQkFDRCw0REFBNEQ7Z0JBQzVELE9BQU8sS0FBSyxDQUFDO2FBQ2hCO1lBRUQsNkRBQTZEO1lBQzdELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7b0lBdERRLG9CQUFvQjt3SUFBcEIsb0JBQW9CLGNBRmpCLE1BQU07MkZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldFVzZXJTdGF0ZSwgVXhMaW5rIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IEV1aVBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vcGVybWlzc2lvbi9wZXJtaXNzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmUvc3RvcmUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFV4RHluYW1pY01lbnVTZXJ2aWNlIHtcbiAgICBtZW51TGlua3M6IEFycmF5PGFueT4gPSBbXTtcblxuICAgIC8vIFRPRE86IGl0IHNob3VsZCBiZSBtb3ZlZCBldWlzZXJ2aWNlLCBvciBpdCBzaG91bGQgYmUgc3RhdGljXG4gICAgLy8gVE9ETzogY2FuIHdlIG1vdmVkIHRoYXQgc2VydmljZSBpbnNpZGUgdGhlIG1vZHVsZSBvZiB0aGUgY29tcG9uZW50IHRoYXQncyB1c2luZyBpdD9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHV4UGVybWlzc2lvbjogRXVpUGVybWlzc2lvblNlcnZpY2UsIHByaXZhdGUgc3RvcmU6IFN0b3JlU2VydmljZSkge1xuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChnZXRVc2VyU3RhdGUpLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgICAgICAgICAgaWYgKHVzZXIubWVudUxpbmtzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51TGlua3MgPSB1c2VyLm1lbnVMaW5rcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0TWVudUxpbmtzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tZW51TGlua3M7XG4gICAgfVxuXG4gICAgZmlsdGVyVXhMaW5rc1dpdGhSaWdodHMobGlua3M6IEFycmF5PFV4TGluaz4pOiBBcnJheTxVeExpbms+IHtcbiAgICAgICAgcmV0dXJuIGxpbmtzLmZpbHRlcigobGluaykgPT4ge1xuICAgICAgICAgICAgaWYgKGxpbmsuaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBsaW5rLmNoaWxkcmVuID0gdGhpcy5maWx0ZXJVeExpbmtzV2l0aFJpZ2h0cyhsaW5rLmNoaWxkcmVuKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRmlyc3QgY2hlY2sgaWYgdGhlIHVzZXIgaXMgZGVuaWVkIGFjY2VzczpcbiAgICAgICAgICAgIGlmIChsaW5rLmRlbmllZFJpZ2h0SWQpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy51eFBlcm1pc3Npb24uY2hlY2tSaWdodChsaW5rLmRlbmllZFJpZ2h0SWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobGluay5kZW5pZWRSaWdodElkcykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZGVuaWVkUmlnaHRJZCBvZiBsaW5rLmRlbmllZFJpZ2h0SWRzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnV4UGVybWlzc2lvbi5jaGVja1JpZ2h0KGRlbmllZFJpZ2h0SWQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFRoZW4gY2hlY2sgaWYgdGhlIHVzZXIgbmVlZHMgdG8gYmUgYWxsb3dlZCBhY2Nlc3MgZXhwbGljaXRseTpcbiAgICAgICAgICAgIGlmIChsaW5rLmFsbG93ZWRSaWdodElkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudXhQZXJtaXNzaW9uLmNoZWNrUmlnaHQobGluay5hbGxvd2VkUmlnaHRJZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobGluay5hbGxvd2VkUmlnaHRJZHMpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGFsbG93ZWRSaWdodElkIG9mIGxpbmsuYWxsb3dlZFJpZ2h0SWRzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnV4UGVybWlzc2lvbi5jaGVja1JpZ2h0KGFsbG93ZWRSaWdodElkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gVXNlciBkb2Vzbid0IGhhdmUgb25lIG9mIHRoZSBhbGxvd2VkIHJpZ2h0cy4gRGVueSBhY2Nlc3M6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBY2Nlc3MgdG8gdGhlIG1lbnUgaXRlbSBpcyBub3QgZGVuaWVkLCB0aGVyZWZvcmUgYWxsb3cgaXQ6XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -1,99 +1,99 @@
1
- import { UxClearErrorFeedbackEvent, UxPublishErrorFeedbackEvent, } from '@eui/base';
2
- import { Subject } from 'rxjs';
3
- import { filter, take } from 'rxjs/operators';
4
- import { withUxErrorManager } from './ux-error-handler.operator';
5
- import { Injectable } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../ux-app-shell.service";
8
- import * as i2 from "@ngx-translate/core";
9
- export class UxErrorFeedbackService {
10
- constructor(asService, translateService) {
11
- this.asService = asService;
12
- this.translateService = translateService;
13
- this.errors = new Subject();
14
- }
15
- /**
16
- * Publishes errors to targeted components
17
- */
18
- publishError(err, instanceId, groupId, accumulate) {
19
- if (instanceId) {
20
- this.errors.next(new UxPublishErrorFeedbackEvent(err.uxHttpErrorOutput, instanceId, groupId, accumulate));
21
- }
22
- else {
23
- this.errors.next(new UxPublishErrorFeedbackEvent(err.uxHttpErrorOutput, undefined, groupId, accumulate));
24
- }
25
- }
26
- /**
27
- * Growl errors
28
- */
29
- growlError(err) {
30
- const feedBacks = err.uxHttpErrorOutput.getFeedBacks();
31
- const isGrowlSticky = false;
32
- const isGrowlMultiple = true;
33
- const growlLife = 10000;
34
- const position = 'bottom-right';
35
- feedBacks.forEach((feedback) => this.translateService
36
- .get(feedback.msgId)
37
- .pipe(take(1))
38
- .subscribe((translate) => {
39
- this.asService.growl({
40
- severity: feedback.severity || 'danger',
41
- summary: 'ERROR',
42
- detail: translate,
43
- }, isGrowlSticky, isGrowlMultiple, growlLife, position);
44
- }));
45
- }
46
- clearError(id, groupId) {
47
- this.errors.next(new UxClearErrorFeedbackEvent(id, groupId));
48
- }
49
- createLocalErrorManager() {
50
- return new UxErrorManager(this);
51
- }
52
- createGlobalErrorManager() {
53
- return new UxErrorManager(this, true);
54
- }
55
- }
56
- /** @nocollapse */ UxErrorFeedbackService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UxErrorFeedbackService, deps: [{ token: i1.UxAppShellService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
57
- /** @nocollapse */ UxErrorFeedbackService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UxErrorFeedbackService, providedIn: 'root' });
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UxErrorFeedbackService, decorators: [{
59
- type: Injectable,
60
- args: [{
61
- providedIn: 'root',
62
- }]
63
- }], ctorParameters: function () { return [{ type: i1.UxAppShellService }, { type: i2.TranslateService }]; } });
64
- export class UxErrorManager {
65
- constructor(uxErrorFeedbackService, isGlobal) {
66
- this.uxErrorFeedbackService = uxErrorFeedbackService;
67
- this.isGlobal = isGlobal;
68
- this.httpErrorOperator = withUxErrorManager(this);
69
- this.id = Math.random().toString();
70
- }
71
- publishError(err, groupId, accumulate) {
72
- if (!this.isGlobal) {
73
- this.uxErrorFeedbackService.publishError(err, this.id, groupId, accumulate);
74
- }
75
- else {
76
- this.uxErrorFeedbackService.publishError(err, undefined, groupId, accumulate);
77
- }
78
- }
79
- clearError(groupId) {
80
- if (!this.isGlobal) {
81
- this.uxErrorFeedbackService.clearError(this.id, groupId);
82
- }
83
- else {
84
- this.uxErrorFeedbackService.clearError(undefined, groupId);
85
- }
86
- }
87
- growlError(err) {
88
- this.uxErrorFeedbackService.growlError(err);
89
- }
90
- errors() {
91
- if (!this.isGlobal) {
92
- return this.uxErrorFeedbackService.errors.pipe(filter((evt) => evt.id === this.id));
93
- }
94
- else {
95
- return this.uxErrorFeedbackService.errors.pipe(filter((evt) => !evt.id));
96
- }
97
- }
98
- }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXgtZXJyb3ItZmVlZGJhY2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdXgtZXJyb3ItZmVlZGJhY2svdXgtZXJyb3ItZmVlZGJhY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gseUJBQXlCLEVBSXpCLDJCQUEyQixHQUM5QixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUszQyxNQUFNLE9BQU8sc0JBQXNCO0lBRy9CLFlBQW9CLFNBQTRCLEVBQVUsZ0JBQWtDO1FBQXhFLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUY1RixXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQTRCLENBQUM7SUFFOEMsQ0FBQztJQUVoRzs7T0FFRztJQUNILFlBQVksQ0FBQyxHQUF3QixFQUFFLFVBQW1CLEVBQUUsT0FBZ0IsRUFBRSxVQUFvQjtRQUM5RixJQUFJLFVBQVUsRUFBRTtZQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksMkJBQTJCLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUM3RzthQUFNO1lBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSwyQkFBMkIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FB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O0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBNkIsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNqSDthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUE2QixFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3RHO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIFV4Q2xlYXJFcnJvckZlZWRiYWNrRXZlbnQsXHJcbiAgICBVeEVycm9yRmVlZGJhY2ssXHJcbiAgICBVeEVycm9yRmVlZGJhY2tFdmVudFR5cGUsXHJcbiAgICBVeEh0dHBFcnJvclJlc3BvbnNlLFxyXG4gICAgVXhQdWJsaXNoRXJyb3JGZWVkYmFja0V2ZW50LFxyXG59IGZyb20gJ0BldWkvYmFzZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyB3aXRoVXhFcnJvck1hbmFnZXIgfSBmcm9tICcuL3V4LWVycm9yLWhhbmRsZXIub3BlcmF0b3InO1xyXG5pbXBvcnQgeyBVeEFwcFNoZWxsU2VydmljZSB9IGZyb20gJy4uL3V4LWFwcC1zaGVsbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVeEVycm9yRmVlZGJhY2tTZXJ2aWNlIHtcclxuICAgIGVycm9ycyA9IG5ldyBTdWJqZWN0PFV4RXJyb3JGZWVkYmFja0V2ZW50VHlwZT4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFzU2VydmljZTogVXhBcHBTaGVsbFNlcnZpY2UsIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge31cclxuXHJcbiAgICAvKipcclxuICAgICAqICBQdWJsaXNoZXMgZXJyb3JzIHRvIHRhcmdldGVkIGNvbXBvbmVudHNcclxuICAgICAqL1xyXG4gICAgcHVibGlzaEVycm9yKGVycjogVXhIdHRwRXJyb3JSZXNwb25zZSwgaW5zdGFuY2VJZD86IHN0cmluZywgZ3JvdXBJZD86IHN0cmluZywgYWNjdW11bGF0ZT86IGJvb2xlYW4pIHtcclxuICAgICAgICBpZiAoaW5zdGFuY2VJZCkge1xyXG4gICAgICAgICAgICB0aGlzLmVycm9ycy5uZXh0KG5ldyBVeFB1Ymxpc2hFcnJvckZlZWRiYWNrRXZlbnQoZXJyLnV4SHR0cEVycm9yT3V0cHV0LCBpbnN0YW5jZUlkLCBncm91cElkLCBhY2N1bXVsYXRlKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5lcnJvcnMubmV4dChuZXcgVXhQdWJsaXNoRXJyb3JGZWVkYmFja0V2ZW50KGVyci51eEh0dHBFcnJvck91dHB1dCwgdW5kZWZpbmVkLCBncm91cElkLCBhY2N1bXVsYXRlKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogIEdyb3dsIGVycm9yc1xyXG4gICAgICovXHJcbiAgICBncm93bEVycm9yKGVycjogVXhIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgICAgIGNvbnN0IGZlZWRCYWNrcyA9IGVyci51eEh0dHBFcnJvck91dHB1dC5nZXRGZWVkQmFja3MoKTtcclxuICAgICAgICBjb25zdCBpc0dyb3dsU3RpY2t5ID0gZmFsc2U7XHJcbiAgICAgICAgY29uc3QgaXNHcm93bE11bHRpcGxlID0gdHJ1ZTtcclxuICAgICAgICBjb25zdCBncm93bExpZmUgPSAxMDAwMDtcclxuICAgICAgICBjb25zdCBwb3NpdGlvbiA9ICdib3R0b20tcmlnaHQnO1xyXG4gICAgICAgIGZlZWRCYWNrcy5mb3JFYWNoKChmZWVkYmFjazogVXhFcnJvckZlZWRiYWNrKSA9PlxyXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2VcclxuICAgICAgICAgICAgICAgIC5nZXQoZmVlZGJhY2subXNnSWQpXHJcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgodHJhbnNsYXRlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hc1NlcnZpY2UuZ3Jvd2woXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldmVyaXR5OiBmZWVkYmFjay5zZXZlcml0eSB8fCAnZGFuZ2VyJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bW1hcnk6ICdFUlJPUicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6IHRyYW5zbGF0ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNHcm93bFN0aWNreSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNHcm93bE11bHRpcGxlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBncm93bExpZmUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBjbGVhckVycm9yKGlkPzogc3RyaW5nLCBncm91cElkPzogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5lcnJvcnMubmV4dChuZXcgVXhDbGVhckVycm9yRmVlZGJhY2tFdmVudChpZCwgZ3JvdXBJZCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZUxvY2FsRXJyb3JNYW5hZ2VyKCk6IFV4RXJyb3JNYW5hZ2VyIHtcclxuICAgICAgICByZXR1cm4gbmV3IFV4RXJyb3JNYW5hZ2VyKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZUdsb2JhbEVycm9yTWFuYWdlcigpOiBVeEVycm9yTWFuYWdlciB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBVeEVycm9yTWFuYWdlcih0aGlzLCB0cnVlKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFV4RXJyb3JNYW5hZ2VyIHtcclxuICAgIHJlYWRvbmx5IGh0dHBFcnJvck9wZXJhdG9yID0gd2l0aFV4RXJyb3JNYW5hZ2VyKHRoaXMpO1xyXG4gICAgcHJpdmF0ZSBpZCA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHV4RXJyb3JGZWVkYmFja1NlcnZpY2U6IFV4RXJyb3JGZWVkYmFja1NlcnZpY2UsIHByaXZhdGUgaXNHbG9iYWw/OiBib29sZWFuKSB7fVxyXG5cclxuICAgIHB1Ymxpc2hFcnJvcihlcnI6IFV4SHR0cEVycm9yUmVzcG9uc2UsIGdyb3VwSWQ/OiBzdHJpbmcsIGFjY3VtdWxhdGU/OiBib29sZWFuKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzR2xvYmFsKSB7XHJcbiAgICAgICAgICAgIHRoaXMudXhFcnJvckZlZWRiYWNrU2VydmljZS5wdWJsaXNoRXJyb3IoZXJyLCB0aGlzLmlkLCBncm91cElkLCBhY2N1bXVsYXRlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnV4RXJyb3JGZWVkYmFja1NlcnZpY2UucHVibGlzaEVycm9yKGVyciwgdW5kZWZpbmVkLCBncm91cElkLCBhY2N1bXVsYXRlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2xlYXJFcnJvcihncm91cElkPzogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzR2xvYmFsKSB7XHJcbiAgICAgICAgICAgIHRoaXMudXhFcnJvckZlZWRiYWNrU2VydmljZS5jbGVhckVycm9yKHRoaXMuaWQsIGdyb3VwSWQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudXhFcnJvckZlZWRiYWNrU2VydmljZS5jbGVhckVycm9yKHVuZGVmaW5lZCwgZ3JvdXBJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdyb3dsRXJyb3IoZXJyOiBVeEh0dHBFcnJvclJlc3BvbnNlKSB7XHJcbiAgICAgICAgdGhpcy51eEVycm9yRmVlZGJhY2tTZXJ2aWNlLmdyb3dsRXJyb3IoZXJyKTtcclxuICAgIH1cclxuXHJcbiAgICBlcnJvcnMoKTogT2JzZXJ2YWJsZTxVeEVycm9yRmVlZGJhY2tFdmVudFR5cGU+IHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNHbG9iYWwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudXhFcnJvckZlZWRiYWNrU2VydmljZS5lcnJvcnMucGlwZShmaWx0ZXIoKGV2dDogVXhFcnJvckZlZWRiYWNrRXZlbnRUeXBlKSA9PiBldnQuaWQgPT09IHRoaXMuaWQpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy51eEVycm9yRmVlZGJhY2tTZXJ2aWNlLmVycm9ycy5waXBlKGZpbHRlcigoZXZ0OiBVeEVycm9yRmVlZGJhY2tFdmVudFR5cGUpID0+ICFldnQuaWQpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
1
+ import { UxClearErrorFeedbackEvent, UxPublishErrorFeedbackEvent, } from '@eui/base';
2
+ import { Subject } from 'rxjs';
3
+ import { filter, take } from 'rxjs/operators';
4
+ import { withUxErrorManager } from './ux-error-handler.operator';
5
+ import { Injectable } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../ux-app-shell.service";
8
+ import * as i2 from "@ngx-translate/core";
9
+ export class UxErrorFeedbackService {
10
+ constructor(asService, translateService) {
11
+ this.asService = asService;
12
+ this.translateService = translateService;
13
+ this.errors = new Subject();
14
+ }
15
+ /**
16
+ * Publishes errors to targeted components
17
+ */
18
+ publishError(err, instanceId, groupId, accumulate) {
19
+ if (instanceId) {
20
+ this.errors.next(new UxPublishErrorFeedbackEvent(err.uxHttpErrorOutput, instanceId, groupId, accumulate));
21
+ }
22
+ else {
23
+ this.errors.next(new UxPublishErrorFeedbackEvent(err.uxHttpErrorOutput, undefined, groupId, accumulate));
24
+ }
25
+ }
26
+ /**
27
+ * Growl errors
28
+ */
29
+ growlError(err) {
30
+ const feedBacks = err.uxHttpErrorOutput.getFeedBacks();
31
+ const isGrowlSticky = false;
32
+ const isGrowlMultiple = true;
33
+ const growlLife = 10000;
34
+ const position = 'bottom-right';
35
+ feedBacks.forEach((feedback) => this.translateService
36
+ .get(feedback.msgId)
37
+ .pipe(take(1))
38
+ .subscribe((translate) => {
39
+ this.asService.growl({
40
+ severity: feedback.severity || 'danger',
41
+ summary: 'ERROR',
42
+ detail: translate,
43
+ }, isGrowlSticky, isGrowlMultiple, growlLife, position);
44
+ }));
45
+ }
46
+ clearError(id, groupId) {
47
+ this.errors.next(new UxClearErrorFeedbackEvent(id, groupId));
48
+ }
49
+ createLocalErrorManager() {
50
+ return new UxErrorManager(this);
51
+ }
52
+ createGlobalErrorManager() {
53
+ return new UxErrorManager(this, true);
54
+ }
55
+ }
56
+ /** @nocollapse */ UxErrorFeedbackService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UxErrorFeedbackService, deps: [{ token: i1.UxAppShellService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
57
+ /** @nocollapse */ UxErrorFeedbackService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UxErrorFeedbackService, providedIn: 'root' });
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UxErrorFeedbackService, decorators: [{
59
+ type: Injectable,
60
+ args: [{
61
+ providedIn: 'root',
62
+ }]
63
+ }], ctorParameters: function () { return [{ type: i1.UxAppShellService }, { type: i2.TranslateService }]; } });
64
+ export class UxErrorManager {
65
+ constructor(uxErrorFeedbackService, isGlobal) {
66
+ this.uxErrorFeedbackService = uxErrorFeedbackService;
67
+ this.isGlobal = isGlobal;
68
+ this.httpErrorOperator = withUxErrorManager(this);
69
+ this.id = Math.random().toString();
70
+ }
71
+ publishError(err, groupId, accumulate) {
72
+ if (!this.isGlobal) {
73
+ this.uxErrorFeedbackService.publishError(err, this.id, groupId, accumulate);
74
+ }
75
+ else {
76
+ this.uxErrorFeedbackService.publishError(err, undefined, groupId, accumulate);
77
+ }
78
+ }
79
+ clearError(groupId) {
80
+ if (!this.isGlobal) {
81
+ this.uxErrorFeedbackService.clearError(this.id, groupId);
82
+ }
83
+ else {
84
+ this.uxErrorFeedbackService.clearError(undefined, groupId);
85
+ }
86
+ }
87
+ growlError(err) {
88
+ this.uxErrorFeedbackService.growlError(err);
89
+ }
90
+ errors() {
91
+ if (!this.isGlobal) {
92
+ return this.uxErrorFeedbackService.errors.pipe(filter((evt) => evt.id === this.id));
93
+ }
94
+ else {
95
+ return this.uxErrorFeedbackService.errors.pipe(filter((evt) => !evt.id));
96
+ }
97
+ }
98
+ }
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXgtZXJyb3ItZmVlZGJhY2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdXgtZXJyb3ItZmVlZGJhY2svdXgtZXJyb3ItZmVlZGJhY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gseUJBQXlCLEVBSXpCLDJCQUEyQixHQUM5QixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUszQyxNQUFNLE9BQU8sc0JBQXNCO0lBRy9CLFlBQW9CLFNBQTRCLEVBQVUsZ0JBQWtDO1FBQXhFLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUY1RixXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQTRCLENBQUM7SUFFOEMsQ0FBQztJQUVoRzs7T0FFRztJQUNILFlBQVksQ0FBQyxHQUF3QixFQUFFLFVBQW1CLEVBQUUsT0FBZ0IsRUFBRSxVQUFvQjtRQUM5RixJQUFJLFVBQVUsRUFBRTtZQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksMkJBQTJCLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUM3RzthQUFNO1lBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSwyQkFBMkIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FB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O0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBNkIsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNqSDthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUE2QixFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3RHO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBVeENsZWFyRXJyb3JGZWVkYmFja0V2ZW50LFxuICAgIFV4RXJyb3JGZWVkYmFjayxcbiAgICBVeEVycm9yRmVlZGJhY2tFdmVudFR5cGUsXG4gICAgVXhIdHRwRXJyb3JSZXNwb25zZSxcbiAgICBVeFB1Ymxpc2hFcnJvckZlZWRiYWNrRXZlbnQsXG59IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyB3aXRoVXhFcnJvck1hbmFnZXIgfSBmcm9tICcuL3V4LWVycm9yLWhhbmRsZXIub3BlcmF0b3InO1xuaW1wb3J0IHsgVXhBcHBTaGVsbFNlcnZpY2UgfSBmcm9tICcuLi91eC1hcHAtc2hlbGwuc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFV4RXJyb3JGZWVkYmFja1NlcnZpY2Uge1xuICAgIGVycm9ycyA9IG5ldyBTdWJqZWN0PFV4RXJyb3JGZWVkYmFja0V2ZW50VHlwZT4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYXNTZXJ2aWNlOiBVeEFwcFNoZWxsU2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gICAgLyoqXG4gICAgICogIFB1Ymxpc2hlcyBlcnJvcnMgdG8gdGFyZ2V0ZWQgY29tcG9uZW50c1xuICAgICAqL1xuICAgIHB1Ymxpc2hFcnJvcihlcnI6IFV4SHR0cEVycm9yUmVzcG9uc2UsIGluc3RhbmNlSWQ/OiBzdHJpbmcsIGdyb3VwSWQ/OiBzdHJpbmcsIGFjY3VtdWxhdGU/OiBib29sZWFuKSB7XG4gICAgICAgIGlmIChpbnN0YW5jZUlkKSB7XG4gICAgICAgICAgICB0aGlzLmVycm9ycy5uZXh0KG5ldyBVeFB1Ymxpc2hFcnJvckZlZWRiYWNrRXZlbnQoZXJyLnV4SHR0cEVycm9yT3V0cHV0LCBpbnN0YW5jZUlkLCBncm91cElkLCBhY2N1bXVsYXRlKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVycm9ycy5uZXh0KG5ldyBVeFB1Ymxpc2hFcnJvckZlZWRiYWNrRXZlbnQoZXJyLnV4SHR0cEVycm9yT3V0cHV0LCB1bmRlZmluZWQsIGdyb3VwSWQsIGFjY3VtdWxhdGUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBHcm93bCBlcnJvcnNcbiAgICAgKi9cbiAgICBncm93bEVycm9yKGVycjogVXhIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICBjb25zdCBmZWVkQmFja3MgPSBlcnIudXhIdHRwRXJyb3JPdXRwdXQuZ2V0RmVlZEJhY2tzKCk7XG4gICAgICAgIGNvbnN0IGlzR3Jvd2xTdGlja3kgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgaXNHcm93bE11bHRpcGxlID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgZ3Jvd2xMaWZlID0gMTAwMDA7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uID0gJ2JvdHRvbS1yaWdodCc7XG4gICAgICAgIGZlZWRCYWNrcy5mb3JFYWNoKChmZWVkYmFjazogVXhFcnJvckZlZWRiYWNrKSA9PlxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmdldChmZWVkYmFjay5tc2dJZClcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRyYW5zbGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFzU2VydmljZS5ncm93bChcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXZlcml0eTogZmVlZGJhY2suc2V2ZXJpdHkgfHwgJ2RhbmdlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VtbWFyeTogJ0VSUk9SJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6IHRyYW5zbGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0dyb3dsU3RpY2t5LFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNHcm93bE11bHRpcGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZ3Jvd2xMaWZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNsZWFyRXJyb3IoaWQ/OiBzdHJpbmcsIGdyb3VwSWQ/OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5lcnJvcnMubmV4dChuZXcgVXhDbGVhckVycm9yRmVlZGJhY2tFdmVudChpZCwgZ3JvdXBJZCkpO1xuICAgIH1cblxuICAgIGNyZWF0ZUxvY2FsRXJyb3JNYW5hZ2VyKCk6IFV4RXJyb3JNYW5hZ2VyIHtcbiAgICAgICAgcmV0dXJuIG5ldyBVeEVycm9yTWFuYWdlcih0aGlzKTtcbiAgICB9XG5cbiAgICBjcmVhdGVHbG9iYWxFcnJvck1hbmFnZXIoKTogVXhFcnJvck1hbmFnZXIge1xuICAgICAgICByZXR1cm4gbmV3IFV4RXJyb3JNYW5hZ2VyKHRoaXMsIHRydWUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFV4RXJyb3JNYW5hZ2VyIHtcbiAgICByZWFkb25seSBodHRwRXJyb3JPcGVyYXRvciA9IHdpdGhVeEVycm9yTWFuYWdlcih0aGlzKTtcbiAgICBwcml2YXRlIGlkID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB1eEVycm9yRmVlZGJhY2tTZXJ2aWNlOiBVeEVycm9yRmVlZGJhY2tTZXJ2aWNlLCBwcml2YXRlIGlzR2xvYmFsPzogYm9vbGVhbikge31cblxuICAgIHB1Ymxpc2hFcnJvcihlcnI6IFV4SHR0cEVycm9yUmVzcG9uc2UsIGdyb3VwSWQ/OiBzdHJpbmcsIGFjY3VtdWxhdGU/OiBib29sZWFuKSB7XG4gICAgICAgIGlmICghdGhpcy5pc0dsb2JhbCkge1xuICAgICAgICAgICAgdGhpcy51eEVycm9yRmVlZGJhY2tTZXJ2aWNlLnB1Ymxpc2hFcnJvcihlcnIsIHRoaXMuaWQsIGdyb3VwSWQsIGFjY3VtdWxhdGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy51eEVycm9yRmVlZGJhY2tTZXJ2aWNlLnB1Ymxpc2hFcnJvcihlcnIsIHVuZGVmaW5lZCwgZ3JvdXBJZCwgYWNjdW11bGF0ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhckVycm9yKGdyb3VwSWQ/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzR2xvYmFsKSB7XG4gICAgICAgICAgICB0aGlzLnV4RXJyb3JGZWVkYmFja1NlcnZpY2UuY2xlYXJFcnJvcih0aGlzLmlkLCBncm91cElkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXhFcnJvckZlZWRiYWNrU2VydmljZS5jbGVhckVycm9yKHVuZGVmaW5lZCwgZ3JvdXBJZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBncm93bEVycm9yKGVycjogVXhIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICB0aGlzLnV4RXJyb3JGZWVkYmFja1NlcnZpY2UuZ3Jvd2xFcnJvcihlcnIpO1xuICAgIH1cblxuICAgIGVycm9ycygpOiBPYnNlcnZhYmxlPFV4RXJyb3JGZWVkYmFja0V2ZW50VHlwZT4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNHbG9iYWwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnV4RXJyb3JGZWVkYmFja1NlcnZpY2UuZXJyb3JzLnBpcGUoZmlsdGVyKChldnQ6IFV4RXJyb3JGZWVkYmFja0V2ZW50VHlwZSkgPT4gZXZ0LmlkID09PSB0aGlzLmlkKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy51eEVycm9yRmVlZGJhY2tTZXJ2aWNlLmVycm9ycy5waXBlKGZpbHRlcigoZXZ0OiBVeEVycm9yRmVlZGJhY2tFdmVudFR5cGUpID0+ICFldnQuaWQpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,16 +1,16 @@
1
- import { Observable } from 'rxjs';
2
- export function withUxErrorManager(errorManager) {
3
- return (source$) => new Observable((observer) => {
4
- const wrapper = {
5
- next: (value) => {
6
- errorManager.clearError();
7
- observer.next(value);
8
- },
9
- error: (err) => {
10
- errorManager.publishError(err);
11
- },
12
- };
13
- return source$.subscribe(wrapper);
14
- });
15
- }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXgtZXJyb3ItaGFuZGxlci5vcGVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdXgtZXJyb3ItZmVlZGJhY2svdXgtZXJyb3ItaGFuZGxlci5vcGVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFvQixNQUFNLE1BQU0sQ0FBQztBQUlwRCxNQUFNLFVBQVUsa0JBQWtCLENBQUksWUFBNkI7SUFDL0QsT0FBTyxDQUFDLE9BQXNCLEVBQWlCLEVBQUUsQ0FDN0MsSUFBSSxVQUFVLENBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUMzQixNQUFNLE9BQU8sR0FBRztZQUNaLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNaLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDMUIsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsR0FBd0IsRUFBRSxFQUFFO2dCQUNoQyxZQUFZLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLENBQUM7U0FDSixDQUFDO1FBQ0YsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIE9wZXJhdG9yRnVuY3Rpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVXhFcnJvck1hbmFnZXIgfSBmcm9tICcuL3V4LWVycm9yLWZlZWRiYWNrLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVeEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGV1aS9iYXNlJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoVXhFcnJvck1hbmFnZXI8VD4oZXJyb3JNYW5hZ2VyPzogVXhFcnJvck1hbmFnZXIpOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFQ+IHtcclxuICAgIHJldHVybiAoc291cmNlJDogT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VD4gPT5cclxuICAgICAgICBuZXcgT2JzZXJ2YWJsZTxUPigob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgd3JhcHBlciA9IHtcclxuICAgICAgICAgICAgICAgIG5leHQ6ICh2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGVycm9yTWFuYWdlci5jbGVhckVycm9yKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgZXJyb3I6IChlcnI6IFV4SHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBlcnJvck1hbmFnZXIucHVibGlzaEVycm9yKGVycik7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICByZXR1cm4gc291cmNlJC5zdWJzY3JpYmUod3JhcHBlcik7XHJcbiAgICAgICAgfSk7XHJcbn1cclxuIl19
1
+ import { Observable } from 'rxjs';
2
+ export function withUxErrorManager(errorManager) {
3
+ return (source$) => new Observable((observer) => {
4
+ const wrapper = {
5
+ next: (value) => {
6
+ errorManager.clearError();
7
+ observer.next(value);
8
+ },
9
+ error: (err) => {
10
+ errorManager.publishError(err);
11
+ },
12
+ };
13
+ return source$.subscribe(wrapper);
14
+ });
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXgtZXJyb3ItaGFuZGxlci5vcGVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdXgtZXJyb3ItZmVlZGJhY2svdXgtZXJyb3ItaGFuZGxlci5vcGVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFvQixNQUFNLE1BQU0sQ0FBQztBQUlwRCxNQUFNLFVBQVUsa0JBQWtCLENBQUksWUFBNkI7SUFDL0QsT0FBTyxDQUFDLE9BQXNCLEVBQWlCLEVBQUUsQ0FDN0MsSUFBSSxVQUFVLENBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUMzQixNQUFNLE9BQU8sR0FBRztZQUNaLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNaLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDMUIsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsR0FBd0IsRUFBRSxFQUFFO2dCQUNoQyxZQUFZLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLENBQUM7U0FDSixDQUFDO1FBQ0YsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIE9wZXJhdG9yRnVuY3Rpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFV4RXJyb3JNYW5hZ2VyIH0gZnJvbSAnLi91eC1lcnJvci1mZWVkYmFjay5zZXJ2aWNlJztcbmltcG9ydCB7IFV4SHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAZXVpL2Jhc2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gd2l0aFV4RXJyb3JNYW5hZ2VyPFQ+KGVycm9yTWFuYWdlcj86IFV4RXJyb3JNYW5hZ2VyKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUPiB7XG4gICAgcmV0dXJuIChzb3VyY2UkOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiA9PlxuICAgICAgICBuZXcgT2JzZXJ2YWJsZTxUPigob2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHdyYXBwZXIgPSB7XG4gICAgICAgICAgICAgICAgbmV4dDogKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yTWFuYWdlci5jbGVhckVycm9yKCk7XG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQodmFsdWUpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6IChlcnI6IFV4SHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JNYW5hZ2VyLnB1Ymxpc2hFcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmV0dXJuIHNvdXJjZSQuc3Vic2NyaWJlKHdyYXBwZXIpO1xuICAgICAgICB9KTtcbn1cbiJdfQ==