@eui/core 15.4.0 → 15.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +95 -7
  29. package/docs/index.html +36 -59
  30. package/docs/injectables/CoreAppEffects.html +51 -51
  31. package/docs/js/menu-wc.js +12 -7
  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/docs/overview.html +171 -0
  36. package/esm2020/eui-core.mjs +4 -4
  37. package/esm2020/index.mjs +13 -13
  38. package/esm2020/lib/eui-core.module.mjs +78 -78
  39. package/esm2020/lib/helpers/date-helpers.mjs +3 -3
  40. package/esm2020/lib/helpers/dom-helpers.mjs +87 -87
  41. package/esm2020/lib/helpers/event-helpers.mjs +9 -9
  42. package/esm2020/lib/helpers/form-helpers.mjs +42 -42
  43. package/esm2020/lib/helpers/format-helpers.mjs +66 -66
  44. package/esm2020/lib/helpers/http-helpers.mjs +7 -7
  45. package/esm2020/lib/helpers/index.mjs +8 -8
  46. package/esm2020/lib/helpers/utils.mjs +7 -7
  47. package/esm2020/lib/interceptors/add-lang-param.interceptor.mjs +35 -35
  48. package/esm2020/lib/interceptors/cache-prevention.interceptor.mjs +21 -21
  49. package/esm2020/lib/interceptors/cors-security.interceptor.mjs +15 -15
  50. package/esm2020/lib/interceptors/csrf-prevention.interceptor.mjs +15 -15
  51. package/esm2020/lib/interceptors/eu-login-session-timeout-handling.interceptor.mjs +72 -72
  52. package/esm2020/lib/interceptors/index.mjs +8 -8
  53. package/esm2020/lib/interceptors/openid/index.mjs +4 -4
  54. package/esm2020/lib/interceptors/openid/openid-connect.interceptor.mjs +149 -149
  55. package/esm2020/lib/interceptors/openid/openid-connect.service.mjs +56 -56
  56. package/esm2020/lib/interceptors/openid/openid-connect.service.mock.mjs +8 -8
  57. package/esm2020/lib/interceptors/ux-request-error-model.interceptor.mjs +31 -31
  58. package/esm2020/lib/services/app/eui-init-app.mjs +29 -29
  59. package/esm2020/lib/services/app/eui-pre-init-app.mjs +43 -43
  60. package/esm2020/lib/services/app/eui-startup.mjs +40 -40
  61. package/esm2020/lib/services/app/factories/log.mjs +55 -55
  62. package/esm2020/lib/services/app/index.mjs +2 -2
  63. package/esm2020/lib/services/config/defaults.mjs +68 -68
  64. package/esm2020/lib/services/config/tokens.mjs +74 -74
  65. package/esm2020/lib/services/errors/eui.error.mjs +38 -38
  66. package/esm2020/lib/services/errors/global-error-handler.mjs +24 -24
  67. package/esm2020/lib/services/errors/http-error-handler-callback-functions.mjs +17 -17
  68. package/esm2020/lib/services/errors/http-error-handler.interceptor.mjs +55 -55
  69. package/esm2020/lib/services/errors/index.mjs +5 -5
  70. package/esm2020/lib/services/i18n/i18n.loader.mjs +198 -198
  71. package/esm2020/lib/services/i18n/i18n.resource.mjs +43 -43
  72. package/esm2020/lib/services/i18n/i18n.service.mjs +228 -228
  73. package/esm2020/lib/services/i18n/i18n.service.mock.mjs +38 -38
  74. package/esm2020/lib/services/i18n/index.mjs +6 -6
  75. package/esm2020/lib/services/index.mjs +19 -19
  76. package/esm2020/lib/services/locale/index.mjs +3 -3
  77. package/esm2020/lib/services/locale/locale.service.mjs +232 -232
  78. package/esm2020/lib/services/locale/locale.service.mock.mjs +43 -43
  79. package/esm2020/lib/services/log/index.mjs +4 -4
  80. package/esm2020/lib/services/log/log.module.mjs +38 -38
  81. package/esm2020/lib/services/log/log.service.mjs +51 -51
  82. package/esm2020/lib/services/log/log.service.mock.mjs +7 -7
  83. package/esm2020/lib/services/permission/permission.service.mjs +110 -110
  84. package/esm2020/lib/services/queue/api-queue.service.mjs +137 -137
  85. package/esm2020/lib/services/queue/api-queue.service.mock.mjs +23 -23
  86. package/esm2020/lib/services/queue/index.mjs +3 -3
  87. package/esm2020/lib/services/storage/async-storage.service.mjs +17 -17
  88. package/esm2020/lib/services/storage/async-storage.service.mock.mjs +22 -22
  89. package/esm2020/lib/services/storage/index.mjs +8 -8
  90. package/esm2020/lib/services/storage/local-forage.service.mjs +93 -93
  91. package/esm2020/lib/services/storage/local-storage.service.mjs +75 -75
  92. package/esm2020/lib/services/storage/session-storage.service.mjs +75 -75
  93. package/esm2020/lib/services/storage/storage.service.mjs +6 -6
  94. package/esm2020/lib/services/storage/storage.service.mock.mjs +12 -12
  95. package/esm2020/lib/services/store/actions/app.actions.mjs +74 -74
  96. package/esm2020/lib/services/store/actions/i18n.actions.mjs +11 -11
  97. package/esm2020/lib/services/store/actions/index.mjs +6 -6
  98. package/esm2020/lib/services/store/actions/locale.actions.mjs +11 -11
  99. package/esm2020/lib/services/store/actions/notifications.actions.mjs +11 -11
  100. package/esm2020/lib/services/store/actions/user.actions.mjs +39 -39
  101. package/esm2020/lib/services/store/effects/app.effects.mjs +55 -55
  102. package/esm2020/lib/services/store/effects/index.mjs +4 -4
  103. package/esm2020/lib/services/store/index.mjs +6 -6
  104. package/esm2020/lib/services/store/reducers/app.reducers.mjs +56 -56
  105. package/esm2020/lib/services/store/reducers/core.reducers.mjs +13 -13
  106. package/esm2020/lib/services/store/reducers/i18n.reducers.mjs +16 -16
  107. package/esm2020/lib/services/store/reducers/index.mjs +8 -8
  108. package/esm2020/lib/services/store/reducers/locale.reducers.mjs +16 -16
  109. package/esm2020/lib/services/store/reducers/meta.reducers.mjs +89 -89
  110. package/esm2020/lib/services/store/reducers/notifications.reducers.mjs +13 -13
  111. package/esm2020/lib/services/store/reducers/user.reducers.mjs +43 -43
  112. package/esm2020/lib/services/store/store.service.mjs +112 -112
  113. package/esm2020/lib/services/store/store.service.mock.mjs +22 -22
  114. package/esm2020/lib/services/user/index.mjs +3 -3
  115. package/esm2020/lib/services/user/user.service.mjs +64 -64
  116. package/esm2020/lib/services/user/user.service.mock.mjs +32 -32
  117. package/esm2020/lib/services/ux-app-shell.service.mjs +690 -690
  118. package/esm2020/lib/services/ux-dynamic-component/ux-dynamic-component.service.mjs +63 -63
  119. package/esm2020/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.mjs +66 -66
  120. package/esm2020/lib/services/ux-error-feedback/ux-error-feedback.service.mjs +99 -99
  121. package/esm2020/lib/services/ux-error-feedback/ux-error-handler.operator.mjs +16 -16
  122. package/esm2020/lib/services/ux-timezone.service.mjs +716 -716
  123. package/fesm2015/eui-core.mjs +4484 -4484
  124. package/fesm2015/eui-core.mjs.map +1 -1
  125. package/fesm2020/eui-core.mjs +4538 -4538
  126. package/fesm2020/eui-core.mjs.map +1 -1
  127. package/index.d.ts +5 -5
  128. package/lib/eui-core.module.d.ts +20 -20
  129. package/lib/helpers/date-helpers.d.ts +2 -2
  130. package/lib/helpers/dom-helpers.d.ts +26 -26
  131. package/lib/helpers/event-helpers.d.ts +1 -1
  132. package/lib/helpers/form-helpers.d.ts +10 -10
  133. package/lib/helpers/format-helpers.d.ts +12 -12
  134. package/lib/helpers/http-helpers.d.ts +2 -2
  135. package/lib/helpers/index.d.ts +7 -7
  136. package/lib/helpers/utils.d.ts +6 -6
  137. package/lib/interceptors/add-lang-param.interceptor.d.ts +16 -16
  138. package/lib/interceptors/cache-prevention.interceptor.d.ts +8 -8
  139. package/lib/interceptors/cors-security.interceptor.d.ts +8 -8
  140. package/lib/interceptors/csrf-prevention.interceptor.d.ts +8 -8
  141. package/lib/interceptors/eu-login-session-timeout-handling.interceptor.d.ts +12 -12
  142. package/lib/interceptors/index.d.ts +7 -7
  143. package/lib/interceptors/openid/index.d.ts +3 -3
  144. package/lib/interceptors/openid/openid-connect.interceptor.d.ts +14 -14
  145. package/lib/interceptors/openid/openid-connect.service.d.ts +17 -17
  146. package/lib/interceptors/openid/openid-connect.service.mock.d.ts +5 -5
  147. package/lib/interceptors/ux-request-error-model.interceptor.d.ts +13 -13
  148. package/lib/services/app/eui-init-app.d.ts +2 -2
  149. package/lib/services/app/eui-pre-init-app.d.ts +16 -16
  150. package/lib/services/app/eui-startup.d.ts +4 -4
  151. package/lib/services/app/factories/log.d.ts +25 -25
  152. package/lib/services/app/index.d.ts +1 -1
  153. package/lib/services/config/defaults.d.ts +11 -11
  154. package/lib/services/config/tokens.d.ts +19 -19
  155. package/lib/services/errors/eui.error.d.ts +15 -15
  156. package/lib/services/errors/global-error-handler.d.ts +10 -10
  157. package/lib/services/errors/http-error-handler-callback-functions.d.ts +6 -6
  158. package/lib/services/errors/http-error-handler.interceptor.d.ts +22 -22
  159. package/lib/services/errors/index.d.ts +4 -4
  160. package/lib/services/i18n/i18n.loader.d.ts +79 -79
  161. package/lib/services/i18n/i18n.resource.d.ts +35 -35
  162. package/lib/services/i18n/i18n.service.d.ts +73 -73
  163. package/lib/services/i18n/i18n.service.mock.d.ts +19 -19
  164. package/lib/services/i18n/index.d.ts +4 -4
  165. package/lib/services/index.d.ts +18 -18
  166. package/lib/services/locale/index.d.ts +2 -2
  167. package/lib/services/locale/locale.service.d.ts +68 -68
  168. package/lib/services/locale/locale.service.mock.d.ts +15 -15
  169. package/lib/services/log/index.d.ts +3 -3
  170. package/lib/services/log/log.module.d.ts +15 -15
  171. package/lib/services/log/log.service.d.ts +27 -27
  172. package/lib/services/log/log.service.mock.d.ts +4 -4
  173. package/lib/services/permission/permission.service.d.ts +52 -52
  174. package/lib/services/queue/api-queue.service.d.ts +76 -76
  175. package/lib/services/queue/api-queue.service.mock.d.ts +13 -13
  176. package/lib/services/queue/index.d.ts +2 -2
  177. package/lib/services/storage/async-storage.service.d.ts +44 -44
  178. package/lib/services/storage/async-storage.service.mock.d.ts +11 -11
  179. package/lib/services/storage/index.d.ts +7 -7
  180. package/lib/services/storage/local-forage.service.d.ts +48 -48
  181. package/lib/services/storage/local-storage.service.d.ts +34 -34
  182. package/lib/services/storage/session-storage.service.d.ts +34 -34
  183. package/lib/services/storage/storage.service.d.ts +28 -28
  184. package/lib/services/storage/storage.service.mock.d.ts +7 -7
  185. package/lib/services/store/actions/app.actions.d.ts +82 -82
  186. package/lib/services/store/actions/i18n.actions.d.ts +11 -11
  187. package/lib/services/store/actions/index.d.ts +5 -5
  188. package/lib/services/store/actions/locale.actions.d.ts +11 -11
  189. package/lib/services/store/actions/notifications.actions.d.ts +10 -10
  190. package/lib/services/store/actions/user.actions.d.ts +35 -35
  191. package/lib/services/store/effects/app.effects.d.ts +19 -19
  192. package/lib/services/store/effects/index.d.ts +3 -3
  193. package/lib/services/store/index.d.ts +5 -5
  194. package/lib/services/store/reducers/app.reducers.d.ts +3 -3
  195. package/lib/services/store/reducers/core.reducers.d.ts +3 -3
  196. package/lib/services/store/reducers/i18n.reducers.d.ts +3 -3
  197. package/lib/services/store/reducers/index.d.ts +7 -7
  198. package/lib/services/store/reducers/locale.reducers.d.ts +3 -3
  199. package/lib/services/store/reducers/meta.reducers.d.ts +17 -17
  200. package/lib/services/store/reducers/notifications.reducers.d.ts +3 -3
  201. package/lib/services/store/reducers/user.reducers.d.ts +3 -3
  202. package/lib/services/store/store.service.d.ts +43 -43
  203. package/lib/services/store/store.service.mock.d.ts +12 -12
  204. package/lib/services/user/index.d.ts +2 -2
  205. package/lib/services/user/user.service.d.ts +15 -15
  206. package/lib/services/user/user.service.mock.d.ts +16 -16
  207. package/lib/services/ux-app-shell.service.d.ts +155 -155
  208. package/lib/services/ux-dynamic-component/ux-dynamic-component.service.d.ts +36 -36
  209. package/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.d.ts +14 -14
  210. package/lib/services/ux-error-feedback/ux-error-feedback.service.d.ts +35 -35
  211. package/lib/services/ux-error-feedback/ux-error-handler.operator.d.ts +3 -3
  212. package/lib/services/ux-timezone.service.d.ts +269 -269
  213. package/package.json +2 -2
@@ -1,24 +1,24 @@
1
- import { ErrorHandler, Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../log/index";
4
- export class GlobalErrorHandler extends ErrorHandler {
5
- constructor(logService) {
6
- super();
7
- this.logService = logService;
8
- }
9
- handleError(error) {
10
- // log error
11
- this.logService.error(error.message || error.toString());
12
- // throw error;
13
- super.handleError(error);
14
- }
15
- }
16
- /** @nocollapse */ GlobalErrorHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GlobalErrorHandler, deps: [{ token: i1.LogService }], target: i0.ɵɵFactoryTarget.Injectable });
17
- /** @nocollapse */ GlobalErrorHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GlobalErrorHandler, providedIn: 'root' });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GlobalErrorHandler, decorators: [{
19
- type: Injectable,
20
- args: [{
21
- providedIn: 'root',
22
- }]
23
- }], ctorParameters: function () { return [{ type: i1.LogService }]; } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWVycm9yLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2Vycm9ycy9nbG9iYWwtZXJyb3ItaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT3pELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUFZO0lBQ2hELFlBQXNCLFVBQXNCO1FBQ3hDLEtBQUssRUFBRSxDQUFDO1FBRFUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUU1QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDbEIsWUFBWTtRQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFekQsZUFBZTtRQUNmLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7a0lBWFEsa0JBQWtCO3NJQUFsQixrQkFBa0IsY0FGZixNQUFNOzJGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFcnJvckhhbmRsZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZy9pbmRleCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEdsb2JhbEVycm9ySGFuZGxlciBleHRlbmRzIEVycm9ySGFuZGxlciB7XG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGxvZ1NlcnZpY2U6IExvZ1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVFcnJvcihlcnJvcjogYW55KSB7XG4gICAgICAgIC8vIGxvZyBlcnJvclxuICAgICAgICB0aGlzLmxvZ1NlcnZpY2UuZXJyb3IoZXJyb3IubWVzc2FnZSB8fCBlcnJvci50b1N0cmluZygpKTtcblxuICAgICAgICAvLyB0aHJvdyBlcnJvcjtcbiAgICAgICAgc3VwZXIuaGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgIH1cbn1cbiJdfQ==
1
+ import { ErrorHandler, Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../log/index";
4
+ export class GlobalErrorHandler extends ErrorHandler {
5
+ constructor(logService) {
6
+ super();
7
+ this.logService = logService;
8
+ }
9
+ handleError(error) {
10
+ // log error
11
+ this.logService.error(error.message || error.toString());
12
+ // throw error;
13
+ super.handleError(error);
14
+ }
15
+ }
16
+ /** @nocollapse */ GlobalErrorHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GlobalErrorHandler, deps: [{ token: i1.LogService }], target: i0.ɵɵFactoryTarget.Injectable });
17
+ /** @nocollapse */ GlobalErrorHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GlobalErrorHandler, providedIn: 'root' });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GlobalErrorHandler, decorators: [{
19
+ type: Injectable,
20
+ args: [{
21
+ providedIn: 'root',
22
+ }]
23
+ }], ctorParameters: function () { return [{ type: i1.LogService }]; } });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWVycm9yLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2Vycm9ycy9nbG9iYWwtZXJyb3ItaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT3pELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUFZO0lBQ2hELFlBQXNCLFVBQXNCO1FBQ3hDLEtBQUssRUFBRSxDQUFDO1FBRFUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUU1QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDbEIsWUFBWTtRQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFekQsZUFBZTtRQUNmLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7a0lBWFEsa0JBQWtCO3NJQUFsQixrQkFBa0IsY0FGZixNQUFNOzJGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFcnJvckhhbmRsZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuLi9sb2cvaW5kZXgnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR2xvYmFsRXJyb3JIYW5kbGVyIGV4dGVuZHMgRXJyb3JIYW5kbGVyIHtcclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBsb2dTZXJ2aWNlOiBMb2dTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVFcnJvcihlcnJvcjogYW55KSB7XHJcbiAgICAgICAgLy8gbG9nIGVycm9yXHJcbiAgICAgICAgdGhpcy5sb2dTZXJ2aWNlLmVycm9yKGVycm9yLm1lc3NhZ2UgfHwgZXJyb3IudG9TdHJpbmcoKSk7XHJcblxyXG4gICAgICAgIC8vIHRocm93IGVycm9yO1xyXG4gICAgICAgIHN1cGVyLmhhbmRsZUVycm9yKGVycm9yKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,17 +1,17 @@
1
- import { LogService } from '../log/log.service';
2
- import { UxAppShellService } from '../ux-app-shell.service';
3
- export function AlertHttpErrorCallbackFn(error) {
4
- alert(error.statusText);
5
- }
6
- export function ConsoleHttpErrorCallbackFn(error) {
7
- console.error('HttpError', error);
8
- }
9
- export function LogHttpErrorCallbackFn(error, injector) {
10
- const logService = injector.get(LogService);
11
- logService.error('HttpError', error);
12
- }
13
- export function GrowlHttpErrorCallbackFn(error, injector) {
14
- const asService = injector.get(UxAppShellService);
15
- asService.growlError(error.statusText);
16
- }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1oYW5kbGVyLWNhbGxiYWNrLWZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvZXJyb3JzL2h0dHAtZXJyb3ItaGFuZGxlci1jYWxsYmFjay1mdW5jdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUF3QjtJQUM3RCxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsS0FBd0I7SUFDL0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxLQUF3QixFQUFFLFFBQWtCO0lBQy9FLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUF3QixFQUFFLFFBQWtCO0lBQ2pGLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZy9sb2cuc2VydmljZSc7XG5pbXBvcnQgeyBVeEFwcFNoZWxsU2VydmljZSB9IGZyb20gJy4uL3V4LWFwcC1zaGVsbC5zZXJ2aWNlJztcblxuZXhwb3J0IGZ1bmN0aW9uIEFsZXJ0SHR0cEVycm9yQ2FsbGJhY2tGbihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICBhbGVydChlcnJvci5zdGF0dXNUZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENvbnNvbGVIdHRwRXJyb3JDYWxsYmFja0ZuKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0h0dHBFcnJvcicsIGVycm9yKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIExvZ0h0dHBFcnJvckNhbGxiYWNrRm4oZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBjb25zdCBsb2dTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KExvZ1NlcnZpY2UpO1xuICAgIGxvZ1NlcnZpY2UuZXJyb3IoJ0h0dHBFcnJvcicsIGVycm9yKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEdyb3dsSHR0cEVycm9yQ2FsbGJhY2tGbihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UsIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIGNvbnN0IGFzU2VydmljZSA9IGluamVjdG9yLmdldChVeEFwcFNoZWxsU2VydmljZSk7XG4gICAgYXNTZXJ2aWNlLmdyb3dsRXJyb3IoZXJyb3Iuc3RhdHVzVGV4dCk7XG59XG4iXX0=
1
+ import { LogService } from '../log/log.service';
2
+ import { UxAppShellService } from '../ux-app-shell.service';
3
+ export function AlertHttpErrorCallbackFn(error) {
4
+ alert(error.statusText);
5
+ }
6
+ export function ConsoleHttpErrorCallbackFn(error) {
7
+ console.error('HttpError', error);
8
+ }
9
+ export function LogHttpErrorCallbackFn(error, injector) {
10
+ const logService = injector.get(LogService);
11
+ logService.error('HttpError', error);
12
+ }
13
+ export function GrowlHttpErrorCallbackFn(error, injector) {
14
+ const asService = injector.get(UxAppShellService);
15
+ asService.growlError(error.statusText);
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1oYW5kbGVyLWNhbGxiYWNrLWZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvZXJyb3JzL2h0dHAtZXJyb3ItaGFuZGxlci1jYWxsYmFjay1mdW5jdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUF3QjtJQUM3RCxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsS0FBd0I7SUFDL0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxLQUF3QixFQUFFLFFBQWtCO0lBQy9FLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUF3QixFQUFFLFFBQWtCO0lBQ2pGLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuLi9sb2cvbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVeEFwcFNoZWxsU2VydmljZSB9IGZyb20gJy4uL3V4LWFwcC1zaGVsbC5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBBbGVydEh0dHBFcnJvckNhbGxiYWNrRm4oZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSB7XHJcbiAgICBhbGVydChlcnJvci5zdGF0dXNUZXh0KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIENvbnNvbGVIdHRwRXJyb3JDYWxsYmFja0ZuKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgY29uc29sZS5lcnJvcignSHR0cEVycm9yJywgZXJyb3IpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gTG9nSHR0cEVycm9yQ2FsbGJhY2tGbihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UsIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgY29uc3QgbG9nU2VydmljZSA9IGluamVjdG9yLmdldChMb2dTZXJ2aWNlKTtcclxuICAgIGxvZ1NlcnZpY2UuZXJyb3IoJ0h0dHBFcnJvcicsIGVycm9yKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEdyb3dsSHR0cEVycm9yQ2FsbGJhY2tGbihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UsIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgY29uc3QgYXNTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFV4QXBwU2hlbGxTZXJ2aWNlKTtcclxuICAgIGFzU2VydmljZS5ncm93bEVycm9yKGVycm9yLnN0YXR1c1RleHQpO1xyXG59XHJcbiJdfQ==
@@ -1,55 +1,55 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { HttpErrorResponse } from '@angular/common/http';
3
- import { tap } from 'rxjs/operators';
4
- import { HTTP_ERROR_HANDLER_CONFIG_TOKEN } from '../config/tokens';
5
- import { DEFAULT_HTTP_ERROR_HANDLER_CONFIG } from '../config/defaults';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/router";
8
- export class HttpErrorHandlerInterceptor {
9
- constructor(config = DEFAULT_HTTP_ERROR_HANDLER_CONFIG, injector, router) {
10
- this.config = config;
11
- this.injector = injector;
12
- this.router = router;
13
- }
14
- intercept(req, next) {
15
- return next.handle(req).pipe(tap(() => { }, (error) => {
16
- // in case of http error
17
- if (error instanceof HttpErrorResponse) {
18
- const routeConfig = this.getRouteConfig(error);
19
- const rule = routeConfig && (routeConfig[error.status] || routeConfig.default);
20
- if (typeof rule === 'string') {
21
- // perform a redirect
22
- this.router.navigate([rule]);
23
- }
24
- else if (typeof rule === 'function') {
25
- // callback function
26
- rule.call(null, error, this.injector);
27
- }
28
- }
29
- }));
30
- }
31
- /**
32
- * Search in the configuration for the first matching route
33
- *
34
- * @param error http error response
35
- * @returns HttpErrorRouteConfig or null
36
- */
37
- getRouteConfig(error) {
38
- // filter the routes
39
- const routes = this.config.routes.filter((route) => {
40
- const regex = new RegExp('^' + route.path.split('*').join('.*') + '$');
41
- return regex.test(error.url) && (typeof route[error.status] !== 'undefined' || typeof route.default !== 'undefined');
42
- });
43
- // return the first matching route, if any
44
- return routes.length > 0 ? routes[0] : null;
45
- }
46
- }
47
- /** @nocollapse */ HttpErrorHandlerInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HttpErrorHandlerInterceptor, deps: [{ token: HTTP_ERROR_HANDLER_CONFIG_TOKEN }, { token: i0.Injector }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
48
- /** @nocollapse */ HttpErrorHandlerInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HttpErrorHandlerInterceptor });
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HttpErrorHandlerInterceptor, decorators: [{
50
- type: Injectable
51
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
52
- type: Inject,
53
- args: [HTTP_ERROR_HANDLER_CONFIG_TOKEN]
54
- }] }, { type: i0.Injector }, { type: i1.Router }]; } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1oYW5kbGVyLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9lcnJvcnMvaHR0cC1lcnJvci1oYW5kbGVyLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBd0QsTUFBTSxzQkFBc0IsQ0FBQztBQUcvRyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUd2RSxNQUFNLE9BQU8sMkJBQTJCO0lBQ3BDLFlBQ3VELFNBQWlDLGlDQUFpQyxFQUMzRyxRQUFrQixFQUNsQixNQUFjO1FBRjJCLFdBQU0sR0FBTixNQUFNLENBQTREO1FBQzNHLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUN6QixDQUFDO0lBRUosU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDOUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDeEIsR0FBRyxDQUNDLEdBQUcsRUFBRSxHQUFFLENBQUMsRUFDUixDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ1gsd0JBQXdCO1lBQ3hCLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFO2dCQUNwQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMvQyxNQUFNLElBQUksR0FBRyxXQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFL0UsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7b0JBQzFCLHFCQUFxQjtvQkFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUNoQztxQkFBTSxJQUFJLE9BQU8sSUFBSSxLQUFLLFVBQVUsRUFBRTtvQkFDbkMsb0JBQW9CO29CQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUN6QzthQUNKO1FBQ0wsQ0FBQyxDQUNKLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLGNBQWMsQ0FBQyxLQUF3QjtRQUM3QyxvQkFBb0I7UUFDcEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDL0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUN2RSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLFdBQVcsSUFBSSxPQUFPLEtBQUssQ0FBQyxPQUFPLEtBQUssV0FBVyxDQUFDLENBQUM7UUFDekgsQ0FBQyxDQUFDLENBQUM7UUFDSCwwQ0FBMEM7UUFDMUMsT0FBTyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDaEQsQ0FBQzs7MklBNUNRLDJCQUEyQixrQkFFeEIsK0JBQStCOytJQUZsQywyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVTs7MEJBR0YsTUFBTTsyQkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEh0dHBFcnJvckhhbmRsZXJDb25maWcsIEh0dHBFcnJvclJvdXRlQ29uZmlnIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IEhUVFBfRVJST1JfSEFORExFUl9DT05GSUdfVE9LRU4gfSBmcm9tICcuLi9jb25maWcvdG9rZW5zJztcbmltcG9ydCB7IERFRkFVTFRfSFRUUF9FUlJPUl9IQU5ETEVSX0NPTkZJRyB9IGZyb20gJy4uL2NvbmZpZy9kZWZhdWx0cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIdHRwRXJyb3JIYW5kbGVySW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEhUVFBfRVJST1JfSEFORExFUl9DT05GSUdfVE9LRU4pIHByb3RlY3RlZCBjb25maWc6IEh0dHBFcnJvckhhbmRsZXJDb25maWcgPSBERUZBVUxUX0hUVFBfRVJST1JfSEFORExFUl9DT05GSUcsXG4gICAgICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlclxuICAgICkge31cblxuICAgIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKS5waXBlKFxuICAgICAgICAgICAgdGFwKFxuICAgICAgICAgICAgICAgICgpID0+IHt9LFxuICAgICAgICAgICAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGluIGNhc2Ugb2YgaHR0cCBlcnJvclxuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm91dGVDb25maWcgPSB0aGlzLmdldFJvdXRlQ29uZmlnKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJ1bGUgPSByb3V0ZUNvbmZpZyAmJiAocm91dGVDb25maWdbZXJyb3Iuc3RhdHVzXSB8fCByb3V0ZUNvbmZpZy5kZWZhdWx0KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBydWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBlcmZvcm0gYSByZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtydWxlXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBydWxlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2FsbGJhY2sgZnVuY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBydWxlLmNhbGwobnVsbCwgZXJyb3IsIHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlYXJjaCBpbiB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIGZpcnN0IG1hdGNoaW5nIHJvdXRlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXJyb3IgaHR0cCBlcnJvciByZXNwb25zZVxuICAgICAqIEByZXR1cm5zIEh0dHBFcnJvclJvdXRlQ29uZmlnIG9yIG51bGxcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0Um91dGVDb25maWcoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogSHR0cEVycm9yUm91dGVDb25maWcgfCBudWxsIHtcbiAgICAgICAgLy8gZmlsdGVyIHRoZSByb3V0ZXNcbiAgICAgICAgY29uc3Qgcm91dGVzID0gdGhpcy5jb25maWcucm91dGVzLmZpbHRlcigocm91dGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cCgnXicgKyByb3V0ZS5wYXRoLnNwbGl0KCcqJykuam9pbignLionKSArICckJyk7XG4gICAgICAgICAgICByZXR1cm4gcmVnZXgudGVzdChlcnJvci51cmwpICYmICh0eXBlb2Ygcm91dGVbZXJyb3Iuc3RhdHVzXSAhPT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIHJvdXRlLmRlZmF1bHQgIT09ICd1bmRlZmluZWQnKTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIHJldHVybiB0aGUgZmlyc3QgbWF0Y2hpbmcgcm91dGUsIGlmIGFueVxuICAgICAgICByZXR1cm4gcm91dGVzLmxlbmd0aCA+IDAgPyByb3V0ZXNbMF0gOiBudWxsO1xuICAgIH1cbn1cbiJdfQ==
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { HttpErrorResponse } from '@angular/common/http';
3
+ import { tap } from 'rxjs/operators';
4
+ import { HTTP_ERROR_HANDLER_CONFIG_TOKEN } from '../config/tokens';
5
+ import { DEFAULT_HTTP_ERROR_HANDLER_CONFIG } from '../config/defaults';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/router";
8
+ export class HttpErrorHandlerInterceptor {
9
+ constructor(config = DEFAULT_HTTP_ERROR_HANDLER_CONFIG, injector, router) {
10
+ this.config = config;
11
+ this.injector = injector;
12
+ this.router = router;
13
+ }
14
+ intercept(req, next) {
15
+ return next.handle(req).pipe(tap(() => { }, (error) => {
16
+ // in case of http error
17
+ if (error instanceof HttpErrorResponse) {
18
+ const routeConfig = this.getRouteConfig(error);
19
+ const rule = routeConfig && (routeConfig[error.status] || routeConfig.default);
20
+ if (typeof rule === 'string') {
21
+ // perform a redirect
22
+ this.router.navigate([rule]);
23
+ }
24
+ else if (typeof rule === 'function') {
25
+ // callback function
26
+ rule.call(null, error, this.injector);
27
+ }
28
+ }
29
+ }));
30
+ }
31
+ /**
32
+ * Search in the configuration for the first matching route
33
+ *
34
+ * @param error http error response
35
+ * @returns HttpErrorRouteConfig or null
36
+ */
37
+ getRouteConfig(error) {
38
+ // filter the routes
39
+ const routes = this.config.routes.filter((route) => {
40
+ const regex = new RegExp('^' + route.path.split('*').join('.*') + '$');
41
+ return regex.test(error.url) && (typeof route[error.status] !== 'undefined' || typeof route.default !== 'undefined');
42
+ });
43
+ // return the first matching route, if any
44
+ return routes.length > 0 ? routes[0] : null;
45
+ }
46
+ }
47
+ /** @nocollapse */ HttpErrorHandlerInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HttpErrorHandlerInterceptor, deps: [{ token: HTTP_ERROR_HANDLER_CONFIG_TOKEN }, { token: i0.Injector }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
48
+ /** @nocollapse */ HttpErrorHandlerInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HttpErrorHandlerInterceptor });
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HttpErrorHandlerInterceptor, decorators: [{
50
+ type: Injectable
51
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
52
+ type: Inject,
53
+ args: [HTTP_ERROR_HANDLER_CONFIG_TOKEN]
54
+ }] }, { type: i0.Injector }, { type: i1.Router }]; } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1oYW5kbGVyLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9lcnJvcnMvaHR0cC1lcnJvci1oYW5kbGVyLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBd0QsTUFBTSxzQkFBc0IsQ0FBQztBQUcvRyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUd2RSxNQUFNLE9BQU8sMkJBQTJCO0lBQ3BDLFlBQ3VELFNBQWlDLGlDQUFpQyxFQUMzRyxRQUFrQixFQUNsQixNQUFjO1FBRjJCLFdBQU0sR0FBTixNQUFNLENBQTREO1FBQzNHLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUN6QixDQUFDO0lBRUosU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDOUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDeEIsR0FBRyxDQUNDLEdBQUcsRUFBRSxHQUFFLENBQUMsRUFDUixDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ1gsd0JBQXdCO1lBQ3hCLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFO2dCQUNwQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMvQyxNQUFNLElBQUksR0FBRyxXQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFL0UsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7b0JBQzFCLHFCQUFxQjtvQkFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUNoQztxQkFBTSxJQUFJLE9BQU8sSUFBSSxLQUFLLFVBQVUsRUFBRTtvQkFDbkMsb0JBQW9CO29CQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUN6QzthQUNKO1FBQ0wsQ0FBQyxDQUNKLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLGNBQWMsQ0FBQyxLQUF3QjtRQUM3QyxvQkFBb0I7UUFDcEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDL0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUN2RSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLFdBQVcsSUFBSSxPQUFPLEtBQUssQ0FBQyxPQUFPLEtBQUssV0FBVyxDQUFDLENBQUM7UUFDekgsQ0FBQyxDQUFDLENBQUM7UUFDSCwwQ0FBMEM7UUFDMUMsT0FBTyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDaEQsQ0FBQzs7MklBNUNRLDJCQUEyQixrQkFFeEIsK0JBQStCOytJQUZsQywyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVTs7MEJBR0YsTUFBTTsyQkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEh0dHBFcnJvckhhbmRsZXJDb25maWcsIEh0dHBFcnJvclJvdXRlQ29uZmlnIH0gZnJvbSAnQGV1aS9iYXNlJztcclxuaW1wb3J0IHsgSFRUUF9FUlJPUl9IQU5ETEVSX0NPTkZJR19UT0tFTiB9IGZyb20gJy4uL2NvbmZpZy90b2tlbnMnO1xyXG5pbXBvcnQgeyBERUZBVUxUX0hUVFBfRVJST1JfSEFORExFUl9DT05GSUcgfSBmcm9tICcuLi9jb25maWcvZGVmYXVsdHMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSHR0cEVycm9ySGFuZGxlckludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBJbmplY3QoSFRUUF9FUlJPUl9IQU5ETEVSX0NPTkZJR19UT0tFTikgcHJvdGVjdGVkIGNvbmZpZzogSHR0cEVycm9ySGFuZGxlckNvbmZpZyA9IERFRkFVTFRfSFRUUF9FUlJPUl9IQU5ETEVSX0NPTkZJRyxcclxuICAgICAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlclxyXG4gICAgKSB7fVxyXG5cclxuICAgIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpLnBpcGUoXHJcbiAgICAgICAgICAgIHRhcChcclxuICAgICAgICAgICAgICAgICgpID0+IHt9LFxyXG4gICAgICAgICAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBpbiBjYXNlIG9mIGh0dHAgZXJyb3JcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByb3V0ZUNvbmZpZyA9IHRoaXMuZ2V0Um91dGVDb25maWcoZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBydWxlID0gcm91dGVDb25maWcgJiYgKHJvdXRlQ29uZmlnW2Vycm9yLnN0YXR1c10gfHwgcm91dGVDb25maWcuZGVmYXVsdCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJ1bGUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBwZXJmb3JtIGEgcmVkaXJlY3RcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtydWxlXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHJ1bGUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNhbGxiYWNrIGZ1bmN0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBydWxlLmNhbGwobnVsbCwgZXJyb3IsIHRoaXMuaW5qZWN0b3IpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNlYXJjaCBpbiB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIGZpcnN0IG1hdGNoaW5nIHJvdXRlXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGVycm9yIGh0dHAgZXJyb3IgcmVzcG9uc2VcclxuICAgICAqIEByZXR1cm5zIEh0dHBFcnJvclJvdXRlQ29uZmlnIG9yIG51bGxcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldFJvdXRlQ29uZmlnKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IEh0dHBFcnJvclJvdXRlQ29uZmlnIHwgbnVsbCB7XHJcbiAgICAgICAgLy8gZmlsdGVyIHRoZSByb3V0ZXNcclxuICAgICAgICBjb25zdCByb3V0ZXMgPSB0aGlzLmNvbmZpZy5yb3V0ZXMuZmlsdGVyKChyb3V0ZSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoJ14nICsgcm91dGUucGF0aC5zcGxpdCgnKicpLmpvaW4oJy4qJykgKyAnJCcpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVnZXgudGVzdChlcnJvci51cmwpICYmICh0eXBlb2Ygcm91dGVbZXJyb3Iuc3RhdHVzXSAhPT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIHJvdXRlLmRlZmF1bHQgIT09ICd1bmRlZmluZWQnKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICAvLyByZXR1cm4gdGhlIGZpcnN0IG1hdGNoaW5nIHJvdXRlLCBpZiBhbnlcclxuICAgICAgICByZXR1cm4gcm91dGVzLmxlbmd0aCA+IDAgPyByb3V0ZXNbMF0gOiBudWxsO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
- export * from './eui.error';
2
- export * from './global-error-handler';
3
- export * from './http-error-handler.interceptor';
4
- export * from './http-error-handler-callback-functions';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2Vycm9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZXVpLmVycm9yJztcbmV4cG9ydCAqIGZyb20gJy4vZ2xvYmFsLWVycm9yLWhhbmRsZXInO1xuZXhwb3J0ICogZnJvbSAnLi9odHRwLWVycm9yLWhhbmRsZXIuaW50ZXJjZXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9odHRwLWVycm9yLWhhbmRsZXItY2FsbGJhY2stZnVuY3Rpb25zJztcbiJdfQ==
1
+ export * from './eui.error';
2
+ export * from './global-error-handler';
3
+ export * from './http-error-handler.interceptor';
4
+ export * from './http-error-handler-callback-functions';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2Vycm9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZXVpLmVycm9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9nbG9iYWwtZXJyb3ItaGFuZGxlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1lcnJvci1oYW5kbGVyLmludGVyY2VwdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9odHRwLWVycm9yLWhhbmRsZXItY2FsbGJhY2stZnVuY3Rpb25zJztcclxuIl19