@eui/core 13.0.0-beta.14 → 13.0.0-beta.18

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 (210) hide show
  1. package/docs/classes/ActivatedRouteAction.html +43 -43
  2. package/docs/classes/AddApiQueueItemAction.html +43 -43
  3. package/docs/classes/AddAppLoadedConfigModulesAction.html +43 -43
  4. package/docs/classes/ApiQueueServiceMock.html +26 -526
  5. package/docs/classes/AsyncStorageService.html +43 -469
  6. package/docs/classes/AsyncStorageServiceMock.html +40 -1225
  7. package/docs/classes/EmptyApiQueueAction.html +43 -43
  8. package/docs/classes/EuiCoreRootGuardClass.html +8 -6
  9. package/docs/classes/EuiError.html +8 -6
  10. package/docs/classes/I18nResourceImpl.html +25 -26
  11. package/docs/classes/InitStoreAction.html +43 -43
  12. package/docs/classes/LogServiceMock.html +10 -10
  13. package/docs/classes/OpenIdConnectServiceMock.html +10 -46
  14. package/docs/classes/RemoveApiQueueItemAction.html +43 -43
  15. package/docs/classes/RouterMock.html +77 -84
  16. package/docs/classes/StorageService.html +31 -36
  17. package/docs/classes/StorageServiceMock.html +16 -479
  18. package/docs/classes/StoreMock.html +41 -47
  19. package/docs/classes/TranslateServiceMock.html +251 -270
  20. package/docs/classes/UpdateAppConnectionAction.html +43 -43
  21. package/docs/classes/UpdateAppStatusAction.html +43 -43
  22. package/docs/classes/UpdateAppVersionAction.html +43 -43
  23. package/docs/classes/UpdateCurrentModuleAction.html +43 -43
  24. package/docs/classes/UpdateI18nStateAction.html +43 -43
  25. package/docs/classes/UpdateLocaleStateAction.html +43 -43
  26. package/docs/classes/UpdateNotificationsListAction.html +43 -43
  27. package/docs/classes/UpdateUserDashboardAction.html +43 -43
  28. package/docs/classes/UpdateUserDetailsAction.html +43 -43
  29. package/docs/classes/UpdateUserPreferencesAction.html +43 -43
  30. package/docs/classes/UpdateUserRightsAction.html +43 -43
  31. package/docs/classes/UpdateUserStateAction.html +43 -43
  32. package/docs/classes/UxErrorManager.html +39 -43
  33. package/docs/dependencies.html +44 -41
  34. package/docs/directives/TranslateMockDirective.html +9 -7
  35. package/docs/index.html +7 -6
  36. package/docs/injectables/ApiQueueService.html +33 -40
  37. package/docs/injectables/CoreAppEffects.html +98 -99
  38. package/docs/injectables/EuiPermissionService.html +26 -31
  39. package/docs/injectables/GlobalErrorHandler.html +12 -11
  40. package/docs/injectables/I18nLoader.html +28 -30
  41. package/docs/injectables/I18nService.html +42 -48
  42. package/docs/injectables/I18nServiceMock.html +32 -569
  43. package/docs/injectables/LocalForageService.html +75 -1549
  44. package/docs/injectables/LocalStorageService.html +38 -499
  45. package/docs/injectables/LocaleService.html +23 -28
  46. package/docs/injectables/LocaleServiceMock.html +21 -198
  47. package/docs/injectables/LogService.html +11 -10
  48. package/docs/injectables/OpenIdConnectService.html +10 -10
  49. package/docs/injectables/SessionStorageService.html +38 -499
  50. package/docs/injectables/StoreService.html +24 -28
  51. package/docs/injectables/StoreServiceMock.html +18 -360
  52. package/docs/injectables/UserService.html +24 -27
  53. package/docs/injectables/UserServiceMock.html +31 -196
  54. package/docs/injectables/UxAppShellService.html +299 -355
  55. package/docs/injectables/UxDynamicComponentService.html +16 -16
  56. package/docs/injectables/UxDynamicMenuService.html +38 -40
  57. package/docs/injectables/UxErrorFeedbackService.html +42 -48
  58. package/docs/injectables/UxTimezoneService.html +18 -22
  59. package/docs/interceptors/AddLangParamInterceptor.html +11 -10
  60. package/docs/interceptors/CachePreventionInterceptor.html +11 -10
  61. package/docs/interceptors/CorsSecurityInterceptor.html +11 -10
  62. package/docs/interceptors/CsrfPreventionInterceptor.html +11 -10
  63. package/docs/interceptors/EuLoginSessionTimeoutHandlingInterceptor.html +11 -10
  64. package/docs/interceptors/HttpErrorHandlerInterceptor.html +11 -10
  65. package/docs/interceptors/OpenIdConnectInterceptor.html +35 -35
  66. package/docs/interceptors/UxRequestErrorModelInterceptor.html +11 -10
  67. package/docs/interfaces/LoadedResources.html +37 -12
  68. package/docs/interfaces/LoadedResourcesError.html +28 -10
  69. package/docs/interfaces/ModuleLoadEvent.html +37 -12
  70. package/docs/interfaces/OpenIdConnectUserDetails.html +64 -18
  71. package/docs/interfaces/ResourceError.html +37 -12
  72. package/docs/interfaces/TimeZone.html +28 -10
  73. package/docs/interfaces/UIState.html +325 -76
  74. package/docs/js/libs/prism.js +46 -14
  75. package/docs/js/menu-wc.js +76 -79
  76. package/docs/js/menu-wc_es5.js +60 -0
  77. package/docs/js/menu.js +15 -11
  78. package/docs/js/search/lunr.min.js +3 -3
  79. package/docs/js/search/search_index.js +2 -2
  80. package/docs/license.html +6 -5
  81. package/docs/miscellaneous/enumerations.html +18 -17
  82. package/docs/miscellaneous/functions.html +261 -140
  83. package/docs/miscellaneous/typealiases.html +18 -17
  84. package/docs/miscellaneous/variables.html +1719 -1811
  85. package/docs/modules/CoreModule.html +13 -14
  86. package/docs/modules/I18nModule.html +11 -11
  87. package/docs/modules/LogModule.html +16 -16
  88. package/docs/modules/TranslateMockModule.html +8 -6
  89. package/docs/modules.html +6 -5
  90. package/docs/pipes/TranslateMockPipe.html +10 -9
  91. package/docs/styles/bootstrap.min.css +4 -3
  92. package/docs/styles/compodoc.css +41 -33
  93. package/docs/styles/dark.css +113 -0
  94. package/docs/styles/laravel.css +52 -6
  95. package/docs/styles/material.css +31 -7
  96. package/docs/styles/original.css +12 -6
  97. package/docs/styles/postmark.css +23 -7
  98. package/docs/styles/prism.css +169 -135
  99. package/docs/styles/readthedocs.css +22 -11
  100. package/docs/styles/stripe.css +48 -5
  101. package/docs/styles/vagrant.css +42 -6
  102. package/{esm2015/eui-core.js → esm2020/eui-core.mjs} +0 -0
  103. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  104. package/{esm2015/lib/eui-core.module.js → esm2020/lib/eui-core.module.mjs} +5 -5
  105. package/{esm2015/lib/helpers/date-helpers.js → esm2020/lib/helpers/date-helpers.mjs} +0 -0
  106. package/{esm2015/lib/helpers/dom-helpers.js → esm2020/lib/helpers/dom-helpers.mjs} +0 -0
  107. package/{esm2015/lib/helpers/event-helpers.js → esm2020/lib/helpers/event-helpers.mjs} +0 -0
  108. package/{esm2015/lib/helpers/form-helpers.js → esm2020/lib/helpers/form-helpers.mjs} +0 -0
  109. package/{esm2015/lib/helpers/format-helpers.js → esm2020/lib/helpers/format-helpers.mjs} +0 -0
  110. package/{esm2015/lib/helpers/http-helpers.js → esm2020/lib/helpers/http-helpers.mjs} +0 -0
  111. package/{esm2015/lib/helpers/index.js → esm2020/lib/helpers/index.mjs} +0 -0
  112. package/{esm2015/lib/helpers/utils.js → esm2020/lib/helpers/utils.mjs} +0 -0
  113. package/{esm2015/lib/interceptors/add-lang-param.interceptor.js → esm2020/lib/interceptors/add-lang-param.interceptor.mjs} +4 -4
  114. package/{esm2015/lib/interceptors/cache-prevention.interceptor.js → esm2020/lib/interceptors/cache-prevention.interceptor.mjs} +4 -4
  115. package/{esm2015/lib/interceptors/cors-security.interceptor.js → esm2020/lib/interceptors/cors-security.interceptor.mjs} +4 -4
  116. package/{esm2015/lib/interceptors/csrf-prevention.interceptor.js → esm2020/lib/interceptors/csrf-prevention.interceptor.mjs} +4 -4
  117. package/esm2020/lib/interceptors/eu-login-session-timeout-handling.interceptor.mjs +61 -0
  118. package/{esm2015/lib/interceptors/index.js → esm2020/lib/interceptors/index.mjs} +0 -0
  119. package/{esm2015/lib/interceptors/openid/index.js → esm2020/lib/interceptors/openid/index.mjs} +0 -0
  120. package/esm2020/lib/interceptors/openid/openid-connect.interceptor.mjs +146 -0
  121. package/{esm2015/lib/interceptors/openid/openid-connect.service.js → esm2020/lib/interceptors/openid/openid-connect.service.mjs} +4 -4
  122. package/{esm2015/lib/interceptors/openid/openid-connect.service.mock.js → esm2020/lib/interceptors/openid/openid-connect.service.mock.mjs} +0 -0
  123. package/{esm2015/lib/interceptors/ux-request-error-model.interceptor.js → esm2020/lib/interceptors/ux-request-error-model.interceptor.mjs} +4 -4
  124. package/{esm2015/lib/services/app/eui-init-app.js → esm2020/lib/services/app/eui-init-app.mjs} +0 -0
  125. package/esm2020/lib/services/app/eui-pre-init-app.mjs +42 -0
  126. package/{esm2015/lib/services/app/eui-startup.js → esm2020/lib/services/app/eui-startup.mjs} +0 -0
  127. package/{esm2015/lib/services/app/factories/log.js → esm2020/lib/services/app/factories/log.mjs} +0 -0
  128. package/{esm2015/lib/services/app/index.js → esm2020/lib/services/app/index.mjs} +0 -0
  129. package/esm2020/lib/services/config/defaults.mjs +63 -0
  130. package/{esm2015/lib/services/config/tokens.js → esm2020/lib/services/config/tokens.mjs} +5 -2
  131. package/{esm2015/lib/services/errors/eui.error.js → esm2020/lib/services/errors/eui.error.mjs} +0 -0
  132. package/{esm2015/lib/services/errors/global-error-handler.js → esm2020/lib/services/errors/global-error-handler.mjs} +4 -4
  133. package/{esm2015/lib/services/errors/http-error-handler-callback-functions.js → esm2020/lib/services/errors/http-error-handler-callback-functions.mjs} +0 -0
  134. package/{esm2015/lib/services/errors/http-error-handler.interceptor.js → esm2020/lib/services/errors/http-error-handler.interceptor.mjs} +4 -4
  135. package/{esm2015/lib/services/errors/index.js → esm2020/lib/services/errors/index.mjs} +0 -0
  136. package/{esm2015/lib/services/i18n/i18n.loader.js → esm2020/lib/services/i18n/i18n.loader.mjs} +4 -4
  137. package/{esm2015/lib/services/i18n/i18n.resource.js → esm2020/lib/services/i18n/i18n.resource.mjs} +0 -0
  138. package/esm2020/lib/services/i18n/i18n.service.mjs +222 -0
  139. package/{esm2015/lib/services/i18n/i18n.service.mock.js → esm2020/lib/services/i18n/i18n.service.mock.mjs} +4 -4
  140. package/{esm2015/lib/services/i18n/index.js → esm2020/lib/services/i18n/index.mjs} +0 -0
  141. package/{esm2015/lib/services/index.js → esm2020/lib/services/index.mjs} +0 -0
  142. package/{esm2015/lib/services/locale/index.js → esm2020/lib/services/locale/index.mjs} +0 -0
  143. package/esm2020/lib/services/locale/locale.service.mjs +250 -0
  144. package/{esm2015/lib/services/log/index.js → esm2020/lib/services/log/index.mjs} +0 -0
  145. package/{esm2015/lib/services/log/log.module.js → esm2020/lib/services/log/log.module.mjs} +5 -5
  146. package/{esm2015/lib/services/log/log.service.js → esm2020/lib/services/log/log.service.mjs} +4 -4
  147. package/{esm2015/lib/services/log/log.service.mock.js → esm2020/lib/services/log/log.service.mock.mjs} +0 -0
  148. package/{esm2015/lib/services/permission/permission.service.js → esm2020/lib/services/permission/permission.service.mjs} +5 -5
  149. package/{esm2015/lib/services/queue/api-queue.service.js → esm2020/lib/services/queue/api-queue.service.mjs} +4 -4
  150. package/{esm2015/lib/services/queue/api-queue.service.mock.js → esm2020/lib/services/queue/api-queue.service.mock.mjs} +0 -0
  151. package/{esm2015/lib/services/queue/index.js → esm2020/lib/services/queue/index.mjs} +0 -0
  152. package/{esm2015/lib/services/storage/async-storage.service.js → esm2020/lib/services/storage/async-storage.service.mjs} +0 -0
  153. package/{esm2015/lib/services/storage/async-storage.service.mock.js → esm2020/lib/services/storage/async-storage.service.mock.mjs} +0 -0
  154. package/{esm2015/lib/services/storage/index.js → esm2020/lib/services/storage/index.mjs} +0 -0
  155. package/{esm2015/lib/services/storage/local-forage.service.js → esm2020/lib/services/storage/local-forage.service.mjs} +4 -4
  156. package/{esm2015/lib/services/storage/local-storage.service.js → esm2020/lib/services/storage/local-storage.service.mjs} +4 -4
  157. package/{esm2015/lib/services/storage/session-storage.service.js → esm2020/lib/services/storage/session-storage.service.mjs} +4 -4
  158. package/{esm2015/lib/services/storage/storage.service.js → esm2020/lib/services/storage/storage.service.mjs} +0 -0
  159. package/{esm2015/lib/services/storage/storage.service.mock.js → esm2020/lib/services/storage/storage.service.mock.mjs} +0 -0
  160. package/{esm2015/lib/services/store/actions/app.actions.js → esm2020/lib/services/store/actions/app.actions.mjs} +0 -0
  161. package/{esm2015/lib/services/store/actions/i18n.actions.js → esm2020/lib/services/store/actions/i18n.actions.mjs} +0 -0
  162. package/{esm2015/lib/services/store/actions/index.js → esm2020/lib/services/store/actions/index.mjs} +0 -0
  163. package/{esm2015/lib/services/store/actions/locale.actions.js → esm2020/lib/services/store/actions/locale.actions.mjs} +0 -0
  164. package/{esm2015/lib/services/store/actions/notifications.actions.js → esm2020/lib/services/store/actions/notifications.actions.mjs} +0 -0
  165. package/{esm2015/lib/services/store/actions/user.actions.js → esm2020/lib/services/store/actions/user.actions.mjs} +0 -0
  166. package/{esm2015/lib/services/store/effects/app.effects.js → esm2020/lib/services/store/effects/app.effects.mjs} +5 -5
  167. package/{esm2015/lib/services/store/effects/index.js → esm2020/lib/services/store/effects/index.mjs} +0 -0
  168. package/{esm2015/lib/services/store/index.js → esm2020/lib/services/store/index.mjs} +0 -0
  169. package/esm2020/lib/services/store/reducers/app.reducers.mjs +57 -0
  170. package/{esm2015/lib/services/store/reducers/core.reducers.js → esm2020/lib/services/store/reducers/core.reducers.mjs} +0 -0
  171. package/esm2020/lib/services/store/reducers/i18n.reducers.mjs +18 -0
  172. package/{esm2015/lib/services/store/reducers/index.js → esm2020/lib/services/store/reducers/index.mjs} +0 -0
  173. package/esm2020/lib/services/store/reducers/locale.reducers.mjs +18 -0
  174. package/esm2020/lib/services/store/reducers/meta.reducers.mjs +91 -0
  175. package/{esm2015/lib/services/store/reducers/notifications.reducers.js → esm2020/lib/services/store/reducers/notifications.reducers.mjs} +0 -0
  176. package/esm2020/lib/services/store/reducers/user.reducers.mjs +43 -0
  177. package/{esm2015/lib/services/store/store.service.js → esm2020/lib/services/store/store.service.mjs} +4 -4
  178. package/{esm2015/lib/services/store/store.service.mock.js → esm2020/lib/services/store/store.service.mock.mjs} +4 -4
  179. package/{esm2015/lib/services/user/index.js → esm2020/lib/services/user/index.mjs} +0 -0
  180. package/{esm2015/lib/services/user/user.service.js → esm2020/lib/services/user/user.service.mjs} +4 -4
  181. package/{esm2015/lib/services/user/user.service.mock.js → esm2020/lib/services/user/user.service.mock.mjs} +4 -4
  182. package/esm2020/lib/services/ux-app-shell.service.mjs +633 -0
  183. package/{esm2015/lib/services/ux-dynamic-component/ux-dynamic-component.service.js → esm2020/lib/services/ux-dynamic-component/ux-dynamic-component.service.mjs} +4 -4
  184. package/{esm2015/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.js → esm2020/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.mjs} +4 -4
  185. package/{esm2015/lib/services/ux-error-feedback/ux-error-feedback.service.js → esm2020/lib/services/ux-error-feedback/ux-error-feedback.service.mjs} +4 -4
  186. package/{esm2015/lib/services/ux-error-feedback/ux-error-handler.operator.js → esm2020/lib/services/ux-error-feedback/ux-error-handler.operator.mjs} +0 -0
  187. package/{esm2015/lib/services/ux-timezone.service.js → esm2020/lib/services/ux-timezone.service.mjs} +4 -4
  188. package/fesm2015/{eui-core.js → eui-core.mjs} +270 -247
  189. package/fesm2015/eui-core.mjs.map +1 -0
  190. package/fesm2020/eui-core.mjs +4592 -0
  191. package/fesm2020/eui-core.mjs.map +1 -0
  192. package/lib/services/locale/locale.service.d.ts.map +1 -1
  193. package/lib/services/permission/permission.service.d.ts +1 -1
  194. package/lib/services/permission/permission.service.d.ts.map +1 -1
  195. package/package.json +19 -6
  196. package/bundles/eui-core.umd.js +0 -5323
  197. package/bundles/eui-core.umd.js.map +0 -1
  198. package/esm2015/lib/interceptors/eu-login-session-timeout-handling.interceptor.js +0 -61
  199. package/esm2015/lib/interceptors/openid/openid-connect.interceptor.js +0 -146
  200. package/esm2015/lib/services/app/eui-pre-init-app.js +0 -47
  201. package/esm2015/lib/services/config/defaults.js +0 -49
  202. package/esm2015/lib/services/i18n/i18n.service.js +0 -219
  203. package/esm2015/lib/services/locale/locale.service.js +0 -255
  204. package/esm2015/lib/services/store/reducers/app.reducers.js +0 -49
  205. package/esm2015/lib/services/store/reducers/i18n.reducers.js +0 -15
  206. package/esm2015/lib/services/store/reducers/locale.reducers.js +0 -15
  207. package/esm2015/lib/services/store/reducers/meta.reducers.js +0 -92
  208. package/esm2015/lib/services/store/reducers/user.reducers.js +0 -43
  209. package/esm2015/lib/services/ux-app-shell.service.js +0 -584
  210. package/fesm2015/eui-core.js.map +0 -1
@@ -1,255 +0,0 @@
1
- /**
2
- * Angular is using a gulp task to generate the locales that we dynamically import. This task can be found here
3
- * https://github.com/angular/angular/blob/master/tools/gulp-tasks/cldr/cldr-data.js
4
- * That task is utilizing the CLDR library to load and construct the locale for each region. This service is responsible
5
- * to load those locale dynamically upon request and to update the state of the eUI app.
6
- *
7
- * Parts that are handles through configuration:
8
- * - update of the LOCALE_ID token
9
- * - initial dynamical load of locales
10
- * - bind to translation service for locale changes
11
- */
12
- import { Inject, Injectable, InjectionToken, LOCALE_ID, Optional } from '@angular/core';
13
- import { getLocaleId, registerLocaleData } from '@angular/common';
14
- import { EuiService, getLocaleState, getLocaleServiceConfigFromBase, } from '@eui/base';
15
- import { forkJoin, of, Subject, from, throwError } from 'rxjs';
16
- import { catchError, filter, map, mergeMap, switchMap, take, takeUntil, tap } from 'rxjs/operators';
17
- import { StoreService, UpdateLocaleStateAction } from '../store';
18
- import { LogService } from '../log';
19
- import { I18nService } from '../i18n';
20
- import { GLOBAL_CONFIG_TOKEN } from '../config/tokens';
21
- import * as i0 from "@angular/core";
22
- import * as i1 from "../store";
23
- import * as i2 from "../i18n";
24
- import * as i3 from "../log";
25
- export const LOCALE_ID_MAPPER = new InjectionToken('localeIdMapper');
26
- export class LocaleService extends EuiService {
27
- constructor(store, baseGlobalConfig, locale_id, localeMapper, i18n, log) {
28
- super({ id: getLocaleId(locale_id) });
29
- this.store = store;
30
- this.baseGlobalConfig = baseGlobalConfig;
31
- this.locale_id = locale_id;
32
- this.localeMapper = localeMapper;
33
- this.i18n = i18n;
34
- this.log = log;
35
- this.subNotifier = new Subject();
36
- if (log) {
37
- this.logger = log.getLogger('core.LocaleService');
38
- }
39
- this.config = getLocaleServiceConfigFromBase(this.baseGlobalConfig);
40
- // in case no localeMapper provided, set the angular getLocaleId as default
41
- if (!this.localeMapper) {
42
- this.localeMapper = getLocaleId;
43
- }
44
- }
45
- ngOnDestroy() {
46
- this.subNotifier.next();
47
- this.subNotifier.complete();
48
- }
49
- getState() {
50
- return this.store.select(getLocaleState).pipe(takeUntil(this.subNotifier),
51
- // in case service didn't init fallback to LOCALE_ID token value
52
- map(state => state ? state : this.stateInstance ? this.stateInstance : this.locale_id));
53
- }
54
- init(state) {
55
- var _a, _b;
56
- super.initEuiService();
57
- if (state) {
58
- this.stateInstance = state;
59
- }
60
- // bind language changes to locale changes
61
- if ((_a = this.config) === null || _a === void 0 ? void 0 : _a.bindWithTranslate) {
62
- this.bindTranslateServiceLangChangeToState();
63
- }
64
- // dynamically load locale based on provided configuration
65
- const availableLocales = (state === null || state === void 0 ? void 0 : state.available) || ((_b = this.config) === null || _b === void 0 ? void 0 : _b.available) || this.getBrowserLocales() || [this.currentLocale];
66
- return this.loadLocale(availableLocales).pipe(takeUntil(this.subNotifier), tap(() => this.updateState({ id: this.currentLocale })));
67
- }
68
- /**
69
- * dynamically load locale and update the state
70
- */
71
- updateState(state) {
72
- try {
73
- const id = getLocaleId(state.id);
74
- this.store.dispatch(new UpdateLocaleStateAction(Object.assign(Object.assign({}, state), { id })));
75
- // update global TOKEN ID based on configuration
76
- if (this.config.affectGlobalLocale) {
77
- this.locale_id = id;
78
- }
79
- }
80
- catch (e) {
81
- const message = `Locale for '${state.id}' is not available.
82
- Please use addLocale('${state.id}') first`;
83
- if (this.log) {
84
- this.logger.info(message, e);
85
- }
86
- throw new Error(message);
87
- }
88
- }
89
- addLocale(id) {
90
- return this.loadLocale(id);
91
- }
92
- get currentLocale() {
93
- return this.stateInstance.id;
94
- }
95
- /**
96
- * load and register locale data dynamically
97
- * @param locale array of locale to load
98
- */
99
- loadLocale(locale) {
100
- locale = Array.isArray(locale) ? locale : [locale];
101
- const localeImports = this.filterRegisteredLocales(locale).map(this.importDataAndExtraLocale.bind(this));
102
- // in case localeImports array is empty because locale exists, Observable still needs to complete
103
- if (localeImports.length < 1) {
104
- return of({ success: true });
105
- }
106
- return forkJoin(...localeImports).pipe(takeUntil(this.subNotifier), map(localeData => {
107
- // filter out null results and registerLocaleData including extra
108
- localeData.filter(({ data }) => data)
109
- .forEach(({ data, localeId, extraData }) => registerLocaleData(data, localeId, extraData));
110
- return { success: true };
111
- }), catchError(error => {
112
- if (this.log) {
113
- this.logger.debug(`Locale load error: ${error.message}`, error);
114
- }
115
- return of({ success: false, error: error });
116
- }));
117
- }
118
- /**
119
- * listen for language changes and dynamically set locale accordingly. In case of non registered locale register it
120
- * dynamically.
121
- */
122
- bindTranslateServiceLangChangeToState() {
123
- if (this.i18n) {
124
- this.i18n.onStateChange.pipe(takeUntil(this.subNotifier),
125
- // BEWARE: filter is based on convention that locale id sliced(2) will match activeLang e.g. en-US => en
126
- // Also, if activeLang is 'en' and locale is 'en-GB' it will not trigger locale change
127
- filter(state => { var _a, _b; return ((_a = state === null || state === void 0 ? void 0 : state.activeLang) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== ((_b = this.stateInstance) === null || _b === void 0 ? void 0 : _b.id.slice(0, 2).toLowerCase()); }),
128
- // to check if registration of locale otherwise register it
129
- switchMap(value => of(value).pipe(
130
- // getLocaleId may throw Error(`Missing locale data for the locale "${locale}".`);
131
- switchMap(i18state => {
132
- // check if activeLang is null or undefined
133
- if (!i18state.activeLang) {
134
- return throwError('Has i18nService initialized? If not make sure i18nService.init().subscribe(..)');
135
- }
136
- return of(this.localeMapper(i18state.activeLang));
137
- }), catchError(error => {
138
- if (this.log) {
139
- this.logger.debug(error);
140
- }
141
- return this.loadLocale(value.activeLang).pipe(filter((s) => s.success), map(() => this.localeMapper(value.activeLang)), catchError(e => {
142
- if (this.log) {
143
- this.logger.debug('Something went terribly really wrong during locale loading', e.err.message);
144
- }
145
- return of(e);
146
- }));
147
- }))),
148
- // update the "available" array attribute with newly registered
149
- switchMap(id => this.getState().pipe(take(1), map((state) => {
150
- const available = (state === null || state === void 0 ? void 0 : state.available) ? state.available : [];
151
- return Object.assign(Object.assign({}, state), { id, available: Array.from(new Set([...available, id])) });
152
- })))).subscribe((state) => {
153
- this.updateState(state);
154
- });
155
- }
156
- }
157
- /**
158
- * retrieve locales from browser
159
- * @param options
160
- */
161
- getBrowserLocales() {
162
- const browserLocales = navigator.languages === undefined ? [navigator.language] : navigator.languages;
163
- if (!browserLocales) {
164
- return undefined;
165
- }
166
- return browserLocales.map(locale => locale.trim());
167
- }
168
- /**
169
- * if locale is already registered filtered out.
170
- * @param locales A string array contains all locale id e.g. ["el", "el-CY"]
171
- */
172
- filterRegisteredLocales(locales) {
173
- return locales.filter((loc) => {
174
- try {
175
- getLocaleId(loc);
176
- return false;
177
- }
178
- catch (e) {
179
- return true;
180
- }
181
- });
182
- }
183
- /**
184
- * returns an Observable which loads the locale based on provided ID
185
- * @param id the locale id e.g. en, el-CY
186
- * @private
187
- */
188
- importLocale(id) {
189
- // in case of an error, catch it and return null
190
- return import(
191
- /* webpackExclude: /\.d\.ts$/ */
192
- /* webpackMode: "lazy-once" */
193
- /* webpackChunkName: "i18n-base" */
194
- `@angular/common/locales/${id}`)
195
- .then(m => m.default)
196
- .catch(error => {
197
- if (this.log) {
198
- this.logger.debug(`Locale with ID: "${id}" failed to load. Error: ${error.message}`, error);
199
- }
200
- return null;
201
- });
202
- }
203
- /**
204
- * returns a Promise which loads the locale based on provided ID
205
- * @param id the locale id e.g. en, el-CY
206
- * @private
207
- */
208
- importExtraLocale(id) {
209
- // in case of an error, catch it and return null
210
- return import(
211
- /* webpackExclude: /\.d\.ts$/ */
212
- /* webpackMode: "lazy-once" */
213
- /* webpackChunkName: "i18n-extra" */
214
- `@angular/common/locales/extra/${id}`)
215
- .then(m => m.default)
216
- .catch(error => {
217
- if (this.log) {
218
- this.logger.debug(`Extra Locale with ID: "${id}" failed to load. Error: ${error.message}`, error);
219
- }
220
- return null;
221
- });
222
- }
223
- /**
224
- * Imports Locale and then Extra. It returns the Object which registerLocale(...) function needs.
225
- * @param localeId The id of the locale
226
- * @private
227
- */
228
- importDataAndExtraLocale(localeId) {
229
- return from(this.importLocale(localeId)).pipe(mergeMap(() => from(this.importExtraLocale(localeId)).pipe(map((data, extraData) => Object.assign({}, { data, localeId, extraData }))), 1));
230
- }
231
- }
232
- /** @nocollapse */ LocaleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.8", ngImport: i0, type: LocaleService, deps: [{ token: i1.StoreService }, { token: GLOBAL_CONFIG_TOKEN }, { token: LOCALE_ID }, { token: LOCALE_ID_MAPPER, optional: true }, { token: i2.I18nService, optional: true }, { token: i3.LogService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
233
- /** @nocollapse */ LocaleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.8", ngImport: i0, type: LocaleService, providedIn: 'root' });
234
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.8", ngImport: i0, type: LocaleService, decorators: [{
235
- type: Injectable,
236
- args: [{
237
- providedIn: 'root'
238
- }]
239
- }], ctorParameters: function () { return [{ type: i1.StoreService }, { type: undefined, decorators: [{
240
- type: Inject,
241
- args: [GLOBAL_CONFIG_TOKEN]
242
- }] }, { type: undefined, decorators: [{
243
- type: Inject,
244
- args: [LOCALE_ID]
245
- }] }, { type: undefined, decorators: [{
246
- type: Optional
247
- }, {
248
- type: Inject,
249
- args: [LOCALE_ID_MAPPER]
250
- }] }, { type: i2.I18nService, decorators: [{
251
- type: Optional
252
- }] }, { type: i3.LogService, decorators: [{
253
- type: Optional
254
- }] }]; } });
255
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvY2FsZS9sb2NhbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHO0FBRUgsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFDSCxVQUFVLEVBRVYsY0FBYyxFQUNkLDhCQUE4QixHQUtqQyxNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQUd2RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBZSxnQkFBZ0IsQ0FBQyxDQUFDO0FBS25GLE1BQU0sT0FBTyxhQUFjLFNBQVEsVUFBdUI7SUFLdEQsWUFBc0IsS0FBbUIsRUFDVSxnQkFBOEIsRUFDeEMsU0FBaUIsRUFDQSxZQUEwQixFQUNw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Q0ssd0JBQXdCLENBQUMsUUFBZ0I7UUFDN0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQzlDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQ3RFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDdEQsQ0FBQyxDQUNKLENBQUMsQ0FBQztJQUNYLENBQUM7O29JQTVQUSxhQUFhLDhDQU1GLG1CQUFtQixhQUNuQixTQUFTLGFBQ0csZ0JBQWdCO3dJQVJ2QyxhQUFhLGNBRlYsTUFBTTtrR0FFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBT2dCLE1BQU07MkJBQUMsbUJBQW1COzswQkFDMUIsTUFBTTsyQkFBQyxTQUFTOzswQkFDaEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUNuQyxRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBbmd1bGFyIGlzIHVzaW5nIGEgZ3VscCB0YXNrIHRvIGdlbmVyYXRlIHRoZSBsb2NhbGVzIHRoYXQgd2UgZHluYW1pY2FsbHkgaW1wb3J0LiBUaGlzIHRhc2sgY2FuIGJlIGZvdW5kIGhlcmVcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi9tYXN0ZXIvdG9vbHMvZ3VscC10YXNrcy9jbGRyL2NsZHItZGF0YS5qc1xuICogVGhhdCB0YXNrIGlzIHV0aWxpemluZyB0aGUgQ0xEUiBsaWJyYXJ5IHRvIGxvYWQgYW5kIGNvbnN0cnVjdCB0aGUgbG9jYWxlIGZvciBlYWNoIHJlZ2lvbi4gVGhpcyBzZXJ2aWNlIGlzIHJlc3BvbnNpYmxlXG4gKiB0byBsb2FkIHRob3NlIGxvY2FsZSBkeW5hbWljYWxseSB1cG9uIHJlcXVlc3QgYW5kIHRvIHVwZGF0ZSB0aGUgc3RhdGUgb2YgdGhlIGVVSSBhcHAuXG4gKlxuICogUGFydHMgdGhhdCBhcmUgaGFuZGxlcyB0aHJvdWdoIGNvbmZpZ3VyYXRpb246XG4gKiAgLSB1cGRhdGUgb2YgdGhlIExPQ0FMRV9JRCB0b2tlblxuICogIC0gaW5pdGlhbCBkeW5hbWljYWwgbG9hZCBvZiBsb2NhbGVzXG4gKiAgLSBiaW5kIHRvIHRyYW5zbGF0aW9uIHNlcnZpY2UgZm9yIGxvY2FsZSBjaGFuZ2VzXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgTE9DQUxFX0lELCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXRMb2NhbGVJZCwgcmVnaXN0ZXJMb2NhbGVEYXRhIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgRXVpU2VydmljZSxcbiAgICBFdWlTZXJ2aWNlU3RhdHVzLFxuICAgIGdldExvY2FsZVN0YXRlLFxuICAgIGdldExvY2FsZVNlcnZpY2VDb25maWdGcm9tQmFzZSxcbiAgICBHbG9iYWxDb25maWcsXG4gICAgTG9jYWxlU2VydmljZUNvbmZpZyxcbiAgICBMb2NhbGVTdGF0ZSxcbiAgICBMb2dnZXIsXG59IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QsIGZyb20sIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCBtZXJnZU1hcCwgc3dpdGNoTWFwLCB0YWtlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSwgVXBkYXRlTG9jYWxlU3RhdGVBY3Rpb24gfSBmcm9tICcuLi9zdG9yZSc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vaTE4bic7XG5pbXBvcnQgeyBHTE9CQUxfQ09ORklHX1RPS0VOIH0gZnJvbSAnLi4vY29uZmlnL3Rva2Vucyc7XG5cbmV4cG9ydCB0eXBlIExvY2FsZU1hcHBlciA9IChsb2NhbGU6IHN0cmluZykgPT4gYW55O1xuZXhwb3J0IGNvbnN0IExPQ0FMRV9JRF9NQVBQRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48TG9jYWxlTWFwcGVyPignbG9jYWxlSWRNYXBwZXInKTtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMb2NhbGVTZXJ2aWNlIGV4dGVuZHMgRXVpU2VydmljZTxMb2NhbGVTdGF0ZT4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXI7XG4gICAgcHJpdmF0ZSBzdWJOb3RpZmllcjogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcbiAgICBwcm90ZWN0ZWQgY29uZmlnOiBMb2NhbGVTZXJ2aWNlQ29uZmlnO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHN0b3JlOiBTdG9yZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQEluamVjdChHTE9CQUxfQ09ORklHX1RPS0VOKSBwcm90ZWN0ZWQgYmFzZUdsb2JhbENvbmZpZzogR2xvYmFsQ29uZmlnLFxuICAgICAgICAgICAgICAgIEBJbmplY3QoTE9DQUxFX0lEKSBwcm90ZWN0ZWQgbG9jYWxlX2lkOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChMT0NBTEVfSURfTUFQUEVSKSBwcml2YXRlIGxvY2FsZU1hcHBlcjogTG9jYWxlTWFwcGVyLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgaTE4bjogSTE4blNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBsb2c6IExvZ1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoeyBpZDogZ2V0TG9jYWxlSWQobG9jYWxlX2lkKSB9KTtcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIgPSBsb2cuZ2V0TG9nZ2VyKCdjb3JlLkxvY2FsZVNlcnZpY2UnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29uZmlnID0gZ2V0TG9jYWxlU2VydmljZUNvbmZpZ0Zyb21CYXNlKHRoaXMuYmFzZUdsb2JhbENvbmZpZyk7XG4gICAgICAgIC8vIGluIGNhc2Ugbm8gbG9jYWxlTWFwcGVyIHByb3ZpZGVkLCBzZXQgdGhlIGFuZ3VsYXIgZ2V0TG9jYWxlSWQgYXMgZGVmYXVsdFxuICAgICAgICBpZiAoIXRoaXMubG9jYWxlTWFwcGVyKSB7XG4gICAgICAgICAgICB0aGlzLmxvY2FsZU1hcHBlciA9IGdldExvY2FsZUlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3ViTm90aWZpZXIubmV4dCgpO1xuICAgICAgICB0aGlzLnN1Yk5vdGlmaWVyLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgZ2V0U3RhdGUoKTogT2JzZXJ2YWJsZTxMb2NhbGVTdGF0ZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoZ2V0TG9jYWxlU3RhdGUpLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5zdWJOb3RpZmllciksXG4gICAgICAgICAgICAvLyBpbiBjYXNlIHNlcnZpY2UgZGlkbid0IGluaXQgZmFsbGJhY2sgdG8gTE9DQUxFX0lEIHRva2VuIHZhbHVlXG4gICAgICAgICAgICBtYXAoc3RhdGUgPT4gc3RhdGUgPyBzdGF0ZSA6IHRoaXMuc3RhdGVJbnN0YW5jZSA/IHRoaXMuc3RhdGVJbnN0YW5jZSA6IHRoaXMubG9jYWxlX2lkKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGluaXQoc3RhdGU/OiBMb2NhbGVTdGF0ZSB8IHVuZGVmaW5lZCk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBzdXBlci5pbml0RXVpU2VydmljZSgpO1xuXG4gICAgICAgIGlmIChzdGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUluc3RhbmNlID0gc3RhdGU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBiaW5kIGxhbmd1YWdlIGNoYW5nZXMgdG8gbG9jYWxlIGNoYW5nZXNcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnPy5iaW5kV2l0aFRyYW5zbGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5iaW5kVHJhbnNsYXRlU2VydmljZUxhbmdDaGFuZ2VUb1N0YXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBkeW5hbWljYWxseSBsb2FkIGxvY2FsZSBiYXNlZCBvbiBwcm92aWRlZCBjb25maWd1cmF0aW9uXG4gICAgICAgIGNvbnN0IGF2YWlsYWJsZUxvY2FsZXMgPSBzdGF0ZT8uYXZhaWxhYmxlIHx8IHRoaXMuY29uZmlnPy5hdmFpbGFibGUgfHwgdGhpcy5nZXRCcm93c2VyTG9jYWxlcygpIHx8IFt0aGlzLmN1cnJlbnRMb2NhbGVdO1xuICAgICAgICByZXR1cm4gdGhpcy5sb2FkTG9jYWxlKGF2YWlsYWJsZUxvY2FsZXMpLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5zdWJOb3RpZmllciksXG4gICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy51cGRhdGVTdGF0ZSh7IGlkOiB0aGlzLmN1cnJlbnRMb2NhbGUgfSkpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGR5bmFtaWNhbGx5IGxvYWQgbG9jYWxlIGFuZCB1cGRhdGUgdGhlIHN0YXRlXG4gICAgICovXG4gICAgdXBkYXRlU3RhdGUoc3RhdGU6IExvY2FsZVN0YXRlKTogdm9pZCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBpZCA9IGdldExvY2FsZUlkKHN0YXRlLmlkKTtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFVwZGF0ZUxvY2FsZVN0YXRlQWN0aW9uKHsgLi4uc3RhdGUsIGlkIH0pKTtcbiAgICAgICAgICAgIC8vIHVwZGF0ZSBnbG9iYWwgVE9LRU4gSUQgYmFzZWQgb24gY29uZmlndXJhdGlvblxuICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnLmFmZmVjdEdsb2JhbExvY2FsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxlX2lkID0gaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgTG9jYWxlIGZvciAnJHtzdGF0ZS5pZH0nIGlzIG5vdCBhdmFpbGFibGUuXG4gICAgICAgICAgICAgICAgIFBsZWFzZSB1c2UgYWRkTG9jYWxlKCcke3N0YXRlLmlkfScpIGZpcnN0YDtcbiAgICAgICAgICAgIGlmICh0aGlzLmxvZykge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmluZm8obWVzc2FnZSwgZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhZGRMb2NhbGUoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2FkTG9jYWxlKGlkKTtcbiAgICB9XG5cbiAgICBnZXQgY3VycmVudExvY2FsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZUluc3RhbmNlLmlkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGxvYWQgYW5kIHJlZ2lzdGVyIGxvY2FsZSBkYXRhIGR5bmFtaWNhbGx5XG4gICAgICogQHBhcmFtIGxvY2FsZSBhcnJheSBvZiBsb2NhbGUgdG8gbG9hZFxuICAgICAqL1xuICAgIHByaXZhdGUgbG9hZExvY2FsZShsb2NhbGU6IHN0cmluZ1tdIHwgc3RyaW5nKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIGxvY2FsZSA9IEFycmF5LmlzQXJyYXkobG9jYWxlKSA/IGxvY2FsZSA6IFtsb2NhbGVdO1xuICAgICAgICBjb25zdCBsb2NhbGVJbXBvcnRzOiBPYnNlcnZhYmxlPHsgZGF0YTogYW55LCBsb2NhbGVJZDogc3RyaW5nLCBleHRyYURhdGE6IGFueSB9PltdXG4gICAgICAgICAgICA9IHRoaXMuZmlsdGVyUmVnaXN0ZXJlZExvY2FsZXMobG9jYWxlKS5tYXAodGhpcy5pbXBvcnREYXRhQW5kRXh0cmFMb2NhbGUuYmluZCh0aGlzKSk7XG5cbiAgICAgICAgLy8gaW4gY2FzZSBsb2NhbGVJbXBvcnRzIGFycmF5IGlzIGVtcHR5IGJlY2F1c2UgbG9jYWxlIGV4aXN0cywgT2JzZXJ2YWJsZSBzdGlsbCBuZWVkcyB0byBjb21wbGV0ZVxuICAgICAgICBpZiAobG9jYWxlSW1wb3J0cy5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiB0cnVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZvcmtKb2luKC4uLmxvY2FsZUltcG9ydHMpLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5zdWJOb3RpZmllciksXG4gICAgICAgICAgICBtYXAobG9jYWxlRGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gZmlsdGVyIG91dCBudWxsIHJlc3VsdHMgYW5kIHJlZ2lzdGVyTG9jYWxlRGF0YSBpbmNsdWRpbmcgZXh0cmFcbiAgICAgICAgICAgICAgICBsb2NhbGVEYXRhLmZpbHRlcigoeyBkYXRhIH0pID0+IGRhdGEpXG4gICAgICAgICAgICAgICAgICAgIC5mb3JFYWNoKCh7IGRhdGEsIGxvY2FsZUlkLCBleHRyYURhdGEgfSkgPT4gcmVnaXN0ZXJMb2NhbGVEYXRhKGRhdGEsIGxvY2FsZUlkLCBleHRyYURhdGEpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlIH07XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmxvZykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgTG9jYWxlIGxvYWQgZXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogZXJyb3IgfSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGxpc3RlbiBmb3IgbGFuZ3VhZ2UgY2hhbmdlcyBhbmQgZHluYW1pY2FsbHkgc2V0IGxvY2FsZSBhY2NvcmRpbmdseS4gSW4gY2FzZSBvZiBub24gcmVnaXN0ZXJlZCBsb2NhbGUgcmVnaXN0ZXIgaXRcbiAgICAgKiBkeW5hbWljYWxseS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGJpbmRUcmFuc2xhdGVTZXJ2aWNlTGFuZ0NoYW5nZVRvU3RhdGUoKSB7XG4gICAgICAgIGlmICh0aGlzLmkxOG4pIHtcbiAgICAgICAgICAgIHRoaXMuaTE4bi5vblN0YXRlQ2hhbmdlLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuc3ViTm90aWZpZXIpLFxuICAgICAgICAgICAgICAgIC8vIEJFV0FSRTogZmlsdGVyIGlzIGJhc2VkIG9uIGNvbnZlbnRpb24gdGhhdCBsb2NhbGUgaWQgc2xpY2VkKDIpIHdpbGwgbWF0Y2ggYWN0aXZlTGFuZyBlLmcuIGVuLVVTID0+IGVuXG4gICAgICAgICAgICAgICAgLy8gQWxzbywgaWYgYWN0aXZlTGFuZyBpcyAnZW4nIGFuZCBsb2NhbGUgaXMgJ2VuLUdCJyBpdCB3aWxsIG5vdCB0cmlnZ2VyIGxvY2FsZSBjaGFuZ2VcbiAgICAgICAgICAgICAgICBmaWx0ZXIoc3RhdGUgPT4gc3RhdGU/LmFjdGl2ZUxhbmc/LnRvTG93ZXJDYXNlKCkgIT09IHRoaXMuc3RhdGVJbnN0YW5jZT8uaWQuc2xpY2UoMCwgMikudG9Mb3dlckNhc2UoKSksXG4gICAgICAgICAgICAgICAgLy8gdG8gY2hlY2sgaWYgcmVnaXN0cmF0aW9uIG9mIGxvY2FsZSBvdGhlcndpc2UgcmVnaXN0ZXIgaXRcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAodmFsdWUgPT4gb2YodmFsdWUpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIC8vIGdldExvY2FsZUlkIG1heSB0aHJvdyBFcnJvcihgTWlzc2luZyBsb2NhbGUgZGF0YSBmb3IgdGhlIGxvY2FsZSBcIiR7bG9jYWxlfVwiLmApO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoaTE4c3RhdGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgYWN0aXZlTGFuZyBpcyBudWxsIG9yIHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpMThzdGF0ZS5hY3RpdmVMYW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoJ0hhcyBpMThuU2VydmljZSBpbml0aWFsaXplZD8gSWYgbm90IG1ha2Ugc3VyZSBpMThuU2VydmljZS5pbml0KCkuc3Vic2NyaWJlKC4uKScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMubG9jYWxlTWFwcGVyKGkxOHN0YXRlLmFjdGl2ZUxhbmcpKTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZExvY2FsZSh2YWx1ZS5hY3RpdmVMYW5nKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcigoczogRXVpU2VydmljZVN0YXR1cykgPT4gcy5zdWNjZXNzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5sb2NhbGVNYXBwZXIodmFsdWUuYWN0aXZlTGFuZykpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmxvZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvbWV0aGluZyB3ZW50IHRlcnJpYmx5IHJlYWxseSB3cm9uZyBkdXJpbmcgbG9jYWxlIGxvYWRpbmcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuZXJyLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgICAgICAvLyB1cGRhdGUgdGhlIFwiYXZhaWxhYmxlXCIgYXJyYXkgYXR0cmlidXRlIHdpdGggbmV3bHkgcmVnaXN0ZXJlZFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChpZCA9PiB0aGlzLmdldFN0YXRlKCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKChzdGF0ZTogTG9jYWxlU3RhdGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGF2YWlsYWJsZSA9IHN0YXRlPy5hdmFpbGFibGUgPyBzdGF0ZS5hdmFpbGFibGUgOiBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBpZCwgYXZhaWxhYmxlOiBBcnJheS5mcm9tKG5ldyBTZXQoWy4uLmF2YWlsYWJsZSwgaWRdKSkgfTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoKHN0YXRlOiBMb2NhbGVTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUoc3RhdGUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZXRyaWV2ZSBsb2NhbGVzIGZyb20gYnJvd3NlclxuICAgICAqIEBwYXJhbSBvcHRpb25zXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRCcm93c2VyTG9jYWxlcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIGNvbnN0IGJyb3dzZXJMb2NhbGVzID0gbmF2aWdhdG9yLmxhbmd1YWdlcyA9PT0gdW5kZWZpbmVkID8gW25hdmlnYXRvci5sYW5ndWFnZV0gOiBuYXZpZ2F0b3IubGFuZ3VhZ2VzO1xuXG4gICAgICAgIGlmICghYnJvd3NlckxvY2FsZXMpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYnJvd3NlckxvY2FsZXMubWFwKGxvY2FsZSA9PiBsb2NhbGUudHJpbSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBpZiBsb2NhbGUgaXMgYWxyZWFkeSByZWdpc3RlcmVkIGZpbHRlcmVkIG91dC5cbiAgICAgKiBAcGFyYW0gbG9jYWxlcyBBIHN0cmluZyBhcnJheSBjb250YWlucyBhbGwgbG9jYWxlIGlkIGUuZy4gW1wiZWxcIiwgXCJlbC1DWVwiXVxuICAgICAqL1xuICAgIHByaXZhdGUgZmlsdGVyUmVnaXN0ZXJlZExvY2FsZXMobG9jYWxlczogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBsb2NhbGVzLmZpbHRlcigobG9jOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgZ2V0TG9jYWxlSWQobG9jKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHVybnMgYW4gT2JzZXJ2YWJsZSB3aGljaCBsb2FkcyB0aGUgbG9jYWxlIGJhc2VkIG9uIHByb3ZpZGVkIElEXG4gICAgICogQHBhcmFtIGlkIHRoZSBsb2NhbGUgaWQgZS5nLiBlbiwgZWwtQ1lcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgaW1wb3J0TG9jYWxlKGlkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICAvLyBpbiBjYXNlIG9mIGFuIGVycm9yLCBjYXRjaCBpdCBhbmQgcmV0dXJuIG51bGxcbiAgICAgICAgcmV0dXJuIGltcG9ydChcbiAgICAgICAgICAgIC8qIHdlYnBhY2tFeGNsdWRlOiAvXFwuZFxcLnRzJC8gKi9cbiAgICAgICAgICAgIC8qIHdlYnBhY2tNb2RlOiBcImxhenktb25jZVwiICovXG4gICAgICAgICAgICAvKiB3ZWJwYWNrQ2h1bmtOYW1lOiBcImkxOG4tYmFzZVwiICovXG4gICAgICAgICAgICBgQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvJHtpZH1gKVxuICAgICAgICAgICAgLnRoZW4obSA9PiBtLmRlZmF1bHQpXG4gICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmxvZykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgTG9jYWxlIHdpdGggSUQ6IFwiJHtpZH1cIiBmYWlsZWQgdG8gbG9hZC4gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmV0dXJucyBhIFByb21pc2Ugd2hpY2ggbG9hZHMgdGhlIGxvY2FsZSBiYXNlZCBvbiBwcm92aWRlZCBJRFxuICAgICAqIEBwYXJhbSBpZCB0aGUgbG9jYWxlIGlkIGUuZy4gZW4sIGVsLUNZXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGltcG9ydEV4dHJhTG9jYWxlKGlkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICAvLyBpbiBjYXNlIG9mIGFuIGVycm9yLCBjYXRjaCBpdCBhbmQgcmV0dXJuIG51bGxcbiAgICAgICAgcmV0dXJuIGltcG9ydChcbiAgICAgICAgICAgIC8qIHdlYnBhY2tFeGNsdWRlOiAvXFwuZFxcLnRzJC8gKi9cbiAgICAgICAgICAgIC8qIHdlYnBhY2tNb2RlOiBcImxhenktb25jZVwiICovXG4gICAgICAgICAgICAvKiB3ZWJwYWNrQ2h1bmtOYW1lOiBcImkxOG4tZXh0cmFcIiAqL1xuICAgICAgICAgICAgYEBhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2V4dHJhLyR7aWR9YClcbiAgICAgICAgICAgIC50aGVuKG0gPT4gbS5kZWZhdWx0KVxuICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYEV4dHJhIExvY2FsZSB3aXRoIElEOiBcIiR7aWR9XCIgZmFpbGVkIHRvIGxvYWQuIEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEltcG9ydHMgTG9jYWxlIGFuZCB0aGVuIEV4dHJhLiBJdCByZXR1cm5zIHRoZSBPYmplY3Qgd2hpY2ggcmVnaXN0ZXJMb2NhbGUoLi4uKSBmdW5jdGlvbiBuZWVkcy5cbiAgICAgKiBAcGFyYW0gbG9jYWxlSWQgVGhlIGlkIG9mIHRoZSBsb2NhbGVcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgaW1wb3J0RGF0YUFuZEV4dHJhTG9jYWxlKGxvY2FsZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHsgZGF0YTogYW55LCBsb2NhbGVJZDogc3RyaW5nLCBleHRyYURhdGE6IGFueSB9PiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMuaW1wb3J0TG9jYWxlKGxvY2FsZUlkKSkucGlwZShtZXJnZU1hcChcbiAgICAgICAgICAgICAgICAoKSA9PiBmcm9tKHRoaXMuaW1wb3J0RXh0cmFMb2NhbGUobG9jYWxlSWQpKS5waXBlKG1hcCgoZGF0YSwgZXh0cmFEYXRhKSA9PlxuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHt9LCB7IGRhdGEsIGxvY2FsZUlkLCBleHRyYURhdGEgfSkpKSxcbiAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApKTtcbiAgICB9XG59XG4iXX0=
@@ -1,49 +0,0 @@
1
- import { CoreAppActionTypes, } from '../actions/app.actions';
2
- import { initialAppState } from '@eui/base';
3
- const updateAppVersion = (state, action) => (Object.assign(Object.assign({}, state), { version: action.payload }));
4
- const updateAppConnection = (state, action) => (Object.assign(Object.assign({}, state), { connected: action.payload }));
5
- const AddAppLoadedConfigModules = (state, action) => (Object.assign(Object.assign({}, state), { loadedConfigModules: {
6
- lastAddedModule: action.payload.moduleName,
7
- modulesConfig: Object.assign(Object.assign({}, state.loadedConfigModules.modulesConfig), { [action.payload.moduleName]: Object.assign({}, action.payload.moduleConfig) }),
8
- } }));
9
- const updateAppStatus = (state, action) => (Object.assign(Object.assign({}, state), { status: action.payload }));
10
- const updateCurrentModule = (state, action) => {
11
- return Object.assign({}, state, { currentModule: action.payload });
12
- };
13
- const addApiQueueItem = (state, action) => {
14
- // apply the timestamp to the queue item
15
- const apiQueueItem = Object.assign({}, action.payload.item, { timestamp: new Date().getTime() });
16
- // update the queue
17
- const apiQueue = Object.assign({}, state.apiQueue, { [action.payload.id]: apiQueueItem });
18
- return Object.assign({}, state, { apiQueue });
19
- };
20
- const removeApiQueueItem = (state, action) => {
21
- // remove the specified id from the list of item ids and recreate the apiQueue from the remaining ids
22
- const apiQueue = Object.keys(state.apiQueue).filter(id => id !== action.payload).reduce((queue, key) => {
23
- queue[key] = state.apiQueue[key];
24
- return queue;
25
- }, {});
26
- return Object.assign({}, state, { apiQueue });
27
- };
28
- const emptyApiQueue = (state, action) => {
29
- // remove all items in the Api Queue
30
- return Object.assign({}, state, { apiQueue: {} });
31
- };
32
- const actionToReducerMap = {
33
- [CoreAppActionTypes.UPDATE_APP_VERSION]: updateAppVersion,
34
- [CoreAppActionTypes.UPDATE_APP_CONNECTION]: updateAppConnection,
35
- [CoreAppActionTypes.ADD_APP_LOADED_CONFIG_MODULES]: AddAppLoadedConfigModules,
36
- [CoreAppActionTypes.UPDATE_APP_STATUS]: updateAppStatus,
37
- [CoreAppActionTypes.UPDATE_CURRENT_MODULE]: updateCurrentModule,
38
- [CoreAppActionTypes.ADD_API_QUEUE_ITEM]: addApiQueueItem,
39
- [CoreAppActionTypes.REMOVE_API_QUEUE_ITEM]: removeApiQueueItem,
40
- [CoreAppActionTypes.EMPTY_API_QUEUE]: emptyApiQueue,
41
- };
42
- export const coreAppReducers = (state = initialAppState, action) => {
43
- if (actionToReducerMap[action.type]) {
44
- return actionToReducerMap[action.type](state, action);
45
- }
46
- // if the action type is not in the map, call the base reducers method
47
- return state;
48
- };
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnJlZHVjZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9zdG9yZS9yZWR1Y2Vycy9hcHAucmVkdWNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILGtCQUFrQixHQU1yQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBWSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWUsRUFBRSxNQUE4QixFQUFZLEVBQUUsQ0FDbkYsaUNBQU0sS0FBSyxLQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxJQUFHLENBQUM7QUFFNUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEtBQWUsRUFBRSxNQUFpQyxFQUFZLEVBQUUsQ0FDekYsaUNBQU0sS0FBSyxLQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsT0FBTyxJQUFHLENBQUM7QUFFOUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLEtBQWUsRUFBRSxNQUF1QyxFQUFZLEVBQUUsQ0FDckcsaUNBQ08sS0FBSyxLQUNSLG1CQUFtQixFQUFFO1FBQ2pCLGVBQWUsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVU7UUFDMUMsYUFBYSxrQ0FDTixLQUFLLENBQUMsbUJBQW1CLENBQUMsYUFBYSxLQUMxQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLG9CQUNwQixNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksSUFFckM7S0FDSixJQUNILENBQUM7QUFFUCxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQWUsRUFBRSxNQUE2QixFQUFZLEVBQUUsQ0FDakYsaUNBQU0sS0FBSyxLQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsT0FBTyxJQUFHLENBQUM7QUFFM0MsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEtBQWUsRUFBRSxNQUFpQyxFQUFFLEVBQUU7SUFDL0Us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Q2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gICAgQ29yZUFwcEFjdGlvblR5cGVzLCBDb3JlQXBwQWN0aW9ucyxcbiAgICBVcGRhdGVBcHBWZXJzaW9uQWN0aW9uLFxuICAgIFVwZGF0ZUFwcENvbm5lY3Rpb25BY3Rpb24sXG4gICAgQWRkQXBwTG9hZGVkQ29uZmlnTW9kdWxlc0FjdGlvbixcbiAgICBVcGRhdGVBcHBTdGF0dXNBY3Rpb24sIFVwZGF0ZUN1cnJlbnRNb2R1bGVBY3Rpb24sXG4gICAgQWRkQXBpUXVldWVJdGVtQWN0aW9uLCBSZW1vdmVBcGlRdWV1ZUl0ZW1BY3Rpb24sIEVtcHR5QXBpUXVldWVBY3Rpb24sXG59IGZyb20gJy4uL2FjdGlvbnMvYXBwLmFjdGlvbnMnO1xuaW1wb3J0IHsgQXBwU3RhdGUsIGluaXRpYWxBcHBTdGF0ZSB9IGZyb20gJ0BldWkvYmFzZSc7XG5cbmNvbnN0IHVwZGF0ZUFwcFZlcnNpb24gPSAoc3RhdGU6IEFwcFN0YXRlLCBhY3Rpb246IFVwZGF0ZUFwcFZlcnNpb25BY3Rpb24pOiBBcHBTdGF0ZSA9PlxuICAgICh7IC4uLnN0YXRlLCB2ZXJzaW9uOiBhY3Rpb24ucGF5bG9hZCB9KTtcblxuY29uc3QgdXBkYXRlQXBwQ29ubmVjdGlvbiA9IChzdGF0ZTogQXBwU3RhdGUsIGFjdGlvbjogVXBkYXRlQXBwQ29ubmVjdGlvbkFjdGlvbik6IEFwcFN0YXRlID0+XG4gICAgKHsgLi4uc3RhdGUsIGNvbm5lY3RlZDogYWN0aW9uLnBheWxvYWQgfSk7XG5cbmNvbnN0IEFkZEFwcExvYWRlZENvbmZpZ01vZHVsZXMgPSAoc3RhdGU6IEFwcFN0YXRlLCBhY3Rpb246IEFkZEFwcExvYWRlZENvbmZpZ01vZHVsZXNBY3Rpb24pOiBBcHBTdGF0ZSA9PlxuICAgICh7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkZWRDb25maWdNb2R1bGVzOiB7XG4gICAgICAgICAgICBsYXN0QWRkZWRNb2R1bGU6IGFjdGlvbi5wYXlsb2FkLm1vZHVsZU5hbWUsXG4gICAgICAgICAgICBtb2R1bGVzQ29uZmlnOiB7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUubG9hZGVkQ29uZmlnTW9kdWxlcy5tb2R1bGVzQ29uZmlnLFxuICAgICAgICAgICAgICAgIFthY3Rpb24ucGF5bG9hZC5tb2R1bGVOYW1lXToge1xuICAgICAgICAgICAgICAgICAgICAuLi5hY3Rpb24ucGF5bG9hZC5tb2R1bGVDb25maWcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfSk7XG5cbmNvbnN0IHVwZGF0ZUFwcFN0YXR1cyA9IChzdGF0ZTogQXBwU3RhdGUsIGFjdGlvbjogVXBkYXRlQXBwU3RhdHVzQWN0aW9uKTogQXBwU3RhdGUgPT5cbiAgICAoeyAuLi5zdGF0ZSwgc3RhdHVzOiBhY3Rpb24ucGF5bG9hZCB9KTtcblxuY29uc3QgdXBkYXRlQ3VycmVudE1vZHVsZSA9IChzdGF0ZTogQXBwU3RhdGUsIGFjdGlvbjogVXBkYXRlQ3VycmVudE1vZHVsZUFjdGlvbikgPT4ge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgeyBjdXJyZW50TW9kdWxlOiBhY3Rpb24ucGF5bG9hZCB9KTtcbn07XG5cbmNvbnN0IGFkZEFwaVF1ZXVlSXRlbSA9IChzdGF0ZTogQXBwU3RhdGUsIGFjdGlvbjogQWRkQXBpUXVldWVJdGVtQWN0aW9uKSA9PiB7XG4gICAgLy8gYXBwbHkgdGhlIHRpbWVzdGFtcCB0byB0aGUgcXVldWUgaXRlbVxuICAgIGNvbnN0IGFwaVF1ZXVlSXRlbSA9IE9iamVjdC5hc3NpZ24oe30sIGFjdGlvbi5wYXlsb2FkLml0ZW0sIHsgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSB9KTtcbiAgICAvLyB1cGRhdGUgdGhlIHF1ZXVlXG4gICAgY29uc3QgYXBpUXVldWUgPSBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZS5hcGlRdWV1ZSwgeyBbYWN0aW9uLnBheWxvYWQuaWRdOiBhcGlRdWV1ZUl0ZW0gfSk7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLCB7IGFwaVF1ZXVlIH0pO1xufTtcblxuY29uc3QgcmVtb3ZlQXBpUXVldWVJdGVtID0gKHN0YXRlOiBBcHBTdGF0ZSwgYWN0aW9uOiBSZW1vdmVBcGlRdWV1ZUl0ZW1BY3Rpb24pID0+IHtcbiAgICAvLyByZW1vdmUgdGhlIHNwZWNpZmllZCBpZCBmcm9tIHRoZSBsaXN0IG9mIGl0ZW0gaWRzIGFuZCByZWNyZWF0ZSB0aGUgYXBpUXVldWUgZnJvbSB0aGUgcmVtYWluaW5nIGlkc1xuICAgIGNvbnN0IGFwaVF1ZXVlID0gT2JqZWN0LmtleXMoc3RhdGUuYXBpUXVldWUpLmZpbHRlcihpZCA9PiBpZCAhPT0gYWN0aW9uLnBheWxvYWQpLnJlZHVjZSgocXVldWUsIGtleSkgPT4ge1xuICAgICAgICBxdWV1ZVtrZXldID0gc3RhdGUuYXBpUXVldWVba2V5XTtcbiAgICAgICAgcmV0dXJuIHF1ZXVlO1xuICAgIH0sIHt9KTtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIHsgYXBpUXVldWUgfSk7XG59O1xuXG5jb25zdCBlbXB0eUFwaVF1ZXVlID0gKHN0YXRlOiBBcHBTdGF0ZSwgYWN0aW9uOiBFbXB0eUFwaVF1ZXVlQWN0aW9uKSA9PiB7XG4gICAgLy8gcmVtb3ZlIGFsbCBpdGVtcyBpbiB0aGUgQXBpIFF1ZXVlXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLCB7IGFwaVF1ZXVlOiB7fSB9KTtcbn07XG5cbmNvbnN0IGFjdGlvblRvUmVkdWNlck1hcDogeyBba2V5OiBzdHJpbmddOiAoc3RhdGU6IEFwcFN0YXRlLCBhY3Rpb246IENvcmVBcHBBY3Rpb25zKSA9PiBBcHBTdGF0ZSB9ID0ge1xuICAgIFtDb3JlQXBwQWN0aW9uVHlwZXMuVVBEQVRFX0FQUF9WRVJTSU9OXTogdXBkYXRlQXBwVmVyc2lvbixcbiAgICBbQ29yZUFwcEFjdGlvblR5cGVzLlVQREFURV9BUFBfQ09OTkVDVElPTl06IHVwZGF0ZUFwcENvbm5lY3Rpb24sXG4gICAgW0NvcmVBcHBBY3Rpb25UeXBlcy5BRERfQVBQX0xPQURFRF9DT05GSUdfTU9EVUxFU106IEFkZEFwcExvYWRlZENvbmZpZ01vZHVsZXMsXG4gICAgW0NvcmVBcHBBY3Rpb25UeXBlcy5VUERBVEVfQVBQX1NUQVRVU106IHVwZGF0ZUFwcFN0YXR1cyxcbiAgICBbQ29yZUFwcEFjdGlvblR5cGVzLlVQREFURV9DVVJSRU5UX01PRFVMRV06IHVwZGF0ZUN1cnJlbnRNb2R1bGUsXG4gICAgW0NvcmVBcHBBY3Rpb25UeXBlcy5BRERfQVBJX1FVRVVFX0lURU1dOiBhZGRBcGlRdWV1ZUl0ZW0sXG4gICAgW0NvcmVBcHBBY3Rpb25UeXBlcy5SRU1PVkVfQVBJX1FVRVVFX0lURU1dOiByZW1vdmVBcGlRdWV1ZUl0ZW0sXG4gICAgW0NvcmVBcHBBY3Rpb25UeXBlcy5FTVBUWV9BUElfUVVFVUVdOiBlbXB0eUFwaVF1ZXVlLFxufTtcblxuZXhwb3J0IGNvbnN0IGNvcmVBcHBSZWR1Y2VyczogKHN0YXRlOiBBcHBTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pID0+IEFwcFN0YXRlID1cbiAgICAoc3RhdGUgPSBpbml0aWFsQXBwU3RhdGUsIGFjdGlvbjogQ29yZUFwcEFjdGlvbnMpID0+IHtcbiAgICAgICAgaWYgKGFjdGlvblRvUmVkdWNlck1hcFthY3Rpb24udHlwZV0pIHtcbiAgICAgICAgICAgIHJldHVybiBhY3Rpb25Ub1JlZHVjZXJNYXBbYWN0aW9uLnR5cGVdKHN0YXRlLCBhY3Rpb24pO1xuICAgICAgICB9XG4gICAgICAgIC8vIGlmIHRoZSBhY3Rpb24gdHlwZSBpcyBub3QgaW4gdGhlIG1hcCwgY2FsbCB0aGUgYmFzZSByZWR1Y2VycyBtZXRob2RcbiAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH07XG4iXX0=
@@ -1,15 +0,0 @@
1
- import { initialI18nState } from '@eui/base';
2
- import { CoreI18nActionTypes } from '../actions/i18n.actions';
3
- const updateI18nState = (state, action) => {
4
- return Object.assign(Object.assign({}, state), action.payload);
5
- };
6
- const actionToReducerMap = {
7
- [CoreI18nActionTypes.UPDATE_I18N_STATE]: updateI18nState,
8
- };
9
- export const corI18nReducers = (state = initialI18nState, action) => {
10
- if (actionToReducerMap[action.type]) {
11
- return actionToReducerMap[action.type](state, action);
12
- }
13
- return state;
14
- };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5yZWR1Y2Vycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvc3RvcmUvcmVkdWNlcnMvaTE4bi5yZWR1Y2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUEwQyxNQUFNLHlCQUF5QixDQUFDO0FBRXRHLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBZ0IsRUFBRSxNQUE2QixFQUFFLEVBQUU7SUFDeEUsdUNBQ08sS0FBSyxHQUNMLE1BQU0sQ0FBQyxPQUFPLEVBQ25CO0FBQ04sQ0FBQyxDQUFDO0FBRUYsTUFBTSxrQkFBa0IsR0FBZ0Y7SUFDcEcsQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLGVBQWU7Q0FDM0QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FDeEIsQ0FBQyxLQUFLLEdBQUcsZ0JBQWdCLEVBQUUsTUFBdUIsRUFBRSxFQUFFO0lBQ2xELElBQUksa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2pDLE9BQU8sa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztLQUN6RDtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEkxOG5TdGF0ZSwgaW5pdGlhbEkxOG5TdGF0ZSB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBDb3JlSTE4bkFjdGlvblR5cGVzLCBDb3JlSTE4bkFjdGlvbnMsIFVwZGF0ZUkxOG5TdGF0ZUFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMvaTE4bi5hY3Rpb25zJztcblxuY29uc3QgdXBkYXRlSTE4blN0YXRlID0gKHN0YXRlOiBJMThuU3RhdGUsIGFjdGlvbjogVXBkYXRlSTE4blN0YXRlQWN0aW9uKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIC4uLmFjdGlvbi5wYXlsb2FkLFxuICAgIH07XG59O1xuXG5jb25zdCBhY3Rpb25Ub1JlZHVjZXJNYXA6IHsgW2tleTogc3RyaW5nXTogKHN0YXRlOiBJMThuU3RhdGUsIGFjdGlvbjogQ29yZUkxOG5BY3Rpb25zKSA9PiBJMThuU3RhdGUgfSA9IHtcbiAgICBbQ29yZUkxOG5BY3Rpb25UeXBlcy5VUERBVEVfSTE4Tl9TVEFURV06IHVwZGF0ZUkxOG5TdGF0ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBjb3JJMThuUmVkdWNlcnM6IChzdGF0ZTogSTE4blN0YXRlLCBhY3Rpb246IEFjdGlvbikgPT4gSTE4blN0YXRlID1cbiAgICAoc3RhdGUgPSBpbml0aWFsSTE4blN0YXRlLCBhY3Rpb246IENvcmVJMThuQWN0aW9ucykgPT4ge1xuICAgICAgICBpZiAoYWN0aW9uVG9SZWR1Y2VyTWFwW2FjdGlvbi50eXBlXSkge1xuICAgICAgICAgICAgcmV0dXJuIGFjdGlvblRvUmVkdWNlck1hcFthY3Rpb24udHlwZV0oc3RhdGUsIGFjdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH07XG4iXX0=
@@ -1,15 +0,0 @@
1
- import { initialLocaleState } from '@eui/base';
2
- import { CoreLocaleActionTypes } from '../actions/locale.actions';
3
- const updateLocaleState = (state, action) => {
4
- return Object.assign(Object.assign({}, state), action.payload);
5
- };
6
- const actionToReducerMap = {
7
- [CoreLocaleActionTypes.UPDATE_LOCALE_STATE]: updateLocaleState,
8
- };
9
- export const coreLocaleReducers = (state = initialLocaleState, action) => {
10
- if (actionToReducerMap[action.type]) {
11
- return actionToReducerMap[action.type](state, action);
12
- }
13
- return state;
14
- };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLnJlZHVjZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9zdG9yZS9yZWR1Y2Vycy9sb2NhbGUucmVkdWNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFlLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBOEMsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RyxNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBa0IsRUFBRSxNQUErQixFQUFlLEVBQUU7SUFDM0YsdUNBQ08sS0FBSyxHQUNMLE1BQU0sQ0FBQyxPQUFPLEVBQ25CO0FBQ04sQ0FBQyxDQUFDO0FBRUYsTUFBTSxrQkFBa0IsR0FBc0Y7SUFDMUcsQ0FBQyxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLGlCQUFpQjtDQUNqRSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQzNCLENBQUMsS0FBSyxHQUFHLGtCQUFrQixFQUFFLE1BQXlCLEVBQUUsRUFBRTtJQUN0RCxJQUFJLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNqQyxPQUFPLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDekQ7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBMb2NhbGVTdGF0ZSwgaW5pdGlhbExvY2FsZVN0YXRlIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IENvcmVMb2NhbGVBY3Rpb25UeXBlcywgQ29yZUxvY2FsZUFjdGlvbnMsIFVwZGF0ZUxvY2FsZVN0YXRlQWN0aW9uIH0gZnJvbSAnLi4vYWN0aW9ucy9sb2NhbGUuYWN0aW9ucyc7XG5cbmNvbnN0IHVwZGF0ZUxvY2FsZVN0YXRlID0gKHN0YXRlOiBMb2NhbGVTdGF0ZSwgYWN0aW9uOiBVcGRhdGVMb2NhbGVTdGF0ZUFjdGlvbik6IExvY2FsZVN0YXRlID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgLi4uYWN0aW9uLnBheWxvYWQsXG4gICAgfTtcbn07XG5cbmNvbnN0IGFjdGlvblRvUmVkdWNlck1hcDogeyBba2V5OiBzdHJpbmddOiAoc3RhdGU6IExvY2FsZVN0YXRlLCBhY3Rpb246IENvcmVMb2NhbGVBY3Rpb25zKSA9PiBMb2NhbGVTdGF0ZSB9ID0ge1xuICAgIFtDb3JlTG9jYWxlQWN0aW9uVHlwZXMuVVBEQVRFX0xPQ0FMRV9TVEFURV06IHVwZGF0ZUxvY2FsZVN0YXRlLFxufTtcblxuZXhwb3J0IGNvbnN0IGNvcmVMb2NhbGVSZWR1Y2VyczogKHN0YXRlOiBMb2NhbGVTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pID0+IExvY2FsZVN0YXRlID1cbiAgICAoc3RhdGUgPSBpbml0aWFsTG9jYWxlU3RhdGUsIGFjdGlvbjogQ29yZUxvY2FsZUFjdGlvbnMpID0+IHtcbiAgICAgICAgaWYgKGFjdGlvblRvUmVkdWNlck1hcFthY3Rpb24udHlwZV0pIHtcbiAgICAgICAgICAgIHJldHVybiBhY3Rpb25Ub1JlZHVjZXJNYXBbYWN0aW9uLnR5cGVdKHN0YXRlLCBhY3Rpb24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9O1xuIl19
@@ -1,92 +0,0 @@
1
- import { CoreAppActionTypes } from '../actions/app.actions';
2
- import * as extendProxy from 'extend';
3
- const extend = extendProxy.default || extendProxy;
4
- /**
5
- * Utility meta-reducer to load the state from the local storage
6
- * @param reducer the action reducer
7
- */
8
- export function localStorageSync(reducer) {
9
- return cb(reducer, localStorage);
10
- }
11
- /**
12
- * Utility meta-reducer to load the state from the session storage
13
- * @param reducer the action reducer
14
- */
15
- export function sessionStorageSync(reducer) {
16
- return cb(reducer, sessionStorage);
17
- }
18
- // Keys that are allowed to be synced with NgRx state from BrowserStorage
19
- const disallowedKeys = ['loadedConfigModules', 'connect', 'currentModule', 'status', 'apiQueue'];
20
- /**
21
- * filters the AppState by removing those keys from the state and return a new state Object
22
- * @param app the AppState
23
- */
24
- const filterAppState = (app) => {
25
- // in case app is undefined or null it should return empty object
26
- if (!app) {
27
- return {};
28
- }
29
- return Object.keys(app)
30
- // select keys that are present in the allowed list
31
- .filter(key => !disallowedKeys.includes(key))
32
- // build a new object with only the allowed properties
33
- .reduce((obj, key) => {
34
- obj[key] = app[key];
35
- return obj;
36
- }, {});
37
- };
38
- /**
39
- *
40
- * @param storageType
41
- */
42
- export const loadState = (storage = localStorage) => {
43
- try {
44
- // by default falls back to localStorage
45
- const serializedState = storage.getItem('state');
46
- if (serializedState === null) {
47
- return undefined;
48
- }
49
- // deserialize state
50
- let state = JSON.parse(serializedState);
51
- // filter AppState and replace
52
- state = Object.assign(Object.assign({}, state), { app: filterAppState(state === null || state === void 0 ? void 0 : state.app) });
53
- return state;
54
- }
55
- catch (err) {
56
- return undefined;
57
- }
58
- };
59
- const cb = (reducer, storage) => {
60
- return function (state, action) {
61
- var _a;
62
- if (action.type === CoreAppActionTypes.INIT_STORE) {
63
- // This action must be dispatched from an app initializer
64
- // We load the state from a storage and compare the version and userId with the provided ones.
65
- // If they are the same, we merge the local state into the initial state.
66
- // If there is a mismatch, we don't merge the local state, but update only the initial state.
67
- // load the state from the localStorage
68
- const localState = loadState(storage);
69
- // extract the details about user and app version from the action payload
70
- const payload = action.payload;
71
- const payloadVersion = payload === null || payload === void 0 ? void 0 : payload.version;
72
- if (localState) {
73
- // TODO: Why all these checks here? What is the purpose of this code?
74
- // extract the details about user and app version from the storage state
75
- const localVersion = (_a = localState === null || localState === void 0 ? void 0 : localState.app) === null || _a === void 0 ? void 0 : _a.version;
76
- // const localUserId = localState.user && localState.user.userId;
77
- const isVersionOK = (!localVersion || !payloadVersion || localVersion === payloadVersion);
78
- // const isUserIdOK = (localUserId === payloadUserId);
79
- // update the entire state with deep merge of states, if the version and user are the same
80
- if (isVersionOK) {
81
- state = extend(true, {}, state, localState);
82
- }
83
- }
84
- // update the app version, if defined
85
- if (payloadVersion) {
86
- state = Object.assign(Object.assign({}, state), { app: Object.assign(Object.assign({}, state === null || state === void 0 ? void 0 : state.app), { version: payloadVersion }) });
87
- }
88
- }
89
- return reducer(state, action);
90
- };
91
- };
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS5yZWR1Y2Vycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvc3RvcmUvcmVkdWNlcnMvbWV0YS5yZWR1Y2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsa0JBQWtCLEVBQW1CLE1BQU0sd0JBQXdCLENBQUM7QUFFN0UsT0FBTyxLQUFLLFdBQVcsTUFBTSxRQUFRLENBQUM7QUFFdEMsTUFBTSxNQUFNLEdBQVMsV0FBWSxDQUFDLE9BQU8sSUFBSSxXQUFXLENBQUM7QUFFekQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFzQixPQUF5QjtJQUMzRSxPQUFPLEVBQUUsQ0FBSSxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBc0IsT0FBeUI7SUFDN0UsT0FBTyxFQUFFLENBQUksT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFFRCx5RUFBeUU7QUFDekUsTUFBTSxjQUFjLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUVqRzs7O0dBR0c7QUFDSCxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQWEsRUFBWSxFQUFFO0lBQy9DLGlFQUFpRTtJQUNqRSxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ04sT0FBTyxFQUFFLENBQUM7S0FDYjtJQUVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDbkIsbURBQW1EO1NBQ2xELE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QyxzREFBc0Q7U0FDckQsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ2pCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEIsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDZixDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBc0IsVUFBbUIsWUFBWSxFQUFLLEVBQUU7SUFDakYsSUFBSTtRQUNBLHdDQUF3QztRQUN4QyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWpELElBQUksZUFBZSxLQUFLLElBQUksRUFBRTtZQUMxQixPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUVELG9CQUFvQjtRQUNwQixJQUFJLEtBQUssR0FBTSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTNDLDhCQUE4QjtRQUM5QixLQUFLLG1DQUFRLEtBQUssS0FBRSxHQUFHLEVBQUUsY0FBYyxDQUFDLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxHQUFHLENBQUMsR0FBRSxDQUFDO1FBRXRELE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0lBQUMsT0FBTyxHQUFHLEVBQUU7UUFDVixPQUFPLFNBQVMsQ0FBQztLQUNwQjtBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sRUFBRSxHQUFHLENBQXNCLE9BQXlCLEVBQUUsT0FBZ0IsRUFBRSxFQUFFO0lBQzVFLE9BQU8sVUFBVSxLQUFRLEVBQUUsTUFBYzs7UUFDckMsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLGtCQUFrQixDQUFDLFVBQVUsRUFBRTtZQUMvQyx5REFBeUQ7WUFDekQsOEZBQThGO1lBQzlGLHlFQUF5RTtZQUN6RSw2RkFBNkY7WUFFN0YsdUNBQXVDO1lBQ3ZDLE1BQU0sVUFBVSxHQUFNLFNBQVMsQ0FBSSxPQUFPLENBQUMsQ0FBQztZQUU1Qyx5RUFBeUU7WUFDekUsTUFBTSxPQUFPLEdBQUksTUFBMEIsQ0FBQyxPQUFPLENBQUM7WUFDcEQsTUFBTSxjQUFjLEdBQUcsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU8sQ0FBQztZQUV4QyxJQUFJLFVBQVUsRUFBRTtnQkFDWixxRUFBcUU7Z0JBQ3JFLHdFQUF3RTtnQkFDeEUsTUFBTSxZQUFZLEdBQUcsTUFBQSxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsR0FBRywwQ0FBRSxPQUFPLENBQUM7Z0JBQzlDLGlFQUFpRTtnQkFFakUsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLFlBQVksSUFBSSxDQUFDLGNBQWMsSUFBSSxZQUFZLEtBQUssY0FBYyxDQUFDLENBQUM7Z0JBQzFGLHNEQUFzRDtnQkFFdEQsMEZBQTBGO2dCQUMxRixJQUFJLFdBQVcsRUFBRTtvQkFDYixLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2lCQUMvQzthQUNKO1lBRUQscUNBQXFDO1lBQ3JDLElBQUksY0FBYyxFQUFFO2dCQUNoQixLQUFLLG1DQUFRLEtBQUssS0FBRSxHQUFHLGtDQUFPLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxHQUFHLEtBQUUsT0FBTyxFQUFFLGNBQWMsTUFBSSxDQUFDO2FBQ3pFO1NBQ0o7UUFFRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBBY3Rpb25SZWR1Y2VyIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQ29yZUFwcEFjdGlvblR5cGVzLCBJbml0U3RvcmVBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL2FwcC5hY3Rpb25zJztcbmltcG9ydCB7IEFwcFN0YXRlLCBDb3JlU3RhdGUgfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0ICogYXMgZXh0ZW5kUHJveHkgZnJvbSAnZXh0ZW5kJztcblxuY29uc3QgZXh0ZW5kID0gKDxhbnk+ZXh0ZW5kUHJveHkpLmRlZmF1bHQgfHwgZXh0ZW5kUHJveHk7XG5cbi8qKlxuICogVXRpbGl0eSBtZXRhLXJlZHVjZXIgdG8gbG9hZCB0aGUgc3RhdGUgZnJvbSB0aGUgbG9jYWwgc3RvcmFnZVxuICogQHBhcmFtIHJlZHVjZXIgdGhlIGFjdGlvbiByZWR1Y2VyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2NhbFN0b3JhZ2VTeW5jPFMgZXh0ZW5kcyBDb3JlU3RhdGU+KHJlZHVjZXI6IEFjdGlvblJlZHVjZXI8Uz4pIHtcbiAgICByZXR1cm4gY2I8Uz4ocmVkdWNlciwgbG9jYWxTdG9yYWdlKTtcbn1cblxuLyoqXG4gKiBVdGlsaXR5IG1ldGEtcmVkdWNlciB0byBsb2FkIHRoZSBzdGF0ZSBmcm9tIHRoZSBzZXNzaW9uIHN0b3JhZ2VcbiAqIEBwYXJhbSByZWR1Y2VyIHRoZSBhY3Rpb24gcmVkdWNlclxuICovXG5leHBvcnQgZnVuY3Rpb24gc2Vzc2lvblN0b3JhZ2VTeW5jPFMgZXh0ZW5kcyBDb3JlU3RhdGU+KHJlZHVjZXI6IEFjdGlvblJlZHVjZXI8Uz4pIHtcbiAgICByZXR1cm4gY2I8Uz4ocmVkdWNlciwgc2Vzc2lvblN0b3JhZ2UpO1xufVxuXG4vLyBLZXlzIHRoYXQgYXJlIGFsbG93ZWQgdG8gYmUgc3luY2VkIHdpdGggTmdSeCBzdGF0ZSBmcm9tIEJyb3dzZXJTdG9yYWdlXG5jb25zdCBkaXNhbGxvd2VkS2V5cyA9IFsnbG9hZGVkQ29uZmlnTW9kdWxlcycsICdjb25uZWN0JywgJ2N1cnJlbnRNb2R1bGUnLCAnc3RhdHVzJywgJ2FwaVF1ZXVlJ107XG5cbi8qKlxuICogZmlsdGVycyB0aGUgQXBwU3RhdGUgYnkgcmVtb3ZpbmcgdGhvc2Uga2V5cyBmcm9tIHRoZSBzdGF0ZSBhbmQgcmV0dXJuIGEgbmV3IHN0YXRlIE9iamVjdFxuICogQHBhcmFtIGFwcCB0aGUgQXBwU3RhdGVcbiAqL1xuY29uc3QgZmlsdGVyQXBwU3RhdGUgPSAoYXBwOiBBcHBTdGF0ZSk6IEFwcFN0YXRlID0+IHtcbiAgICAvLyBpbiBjYXNlIGFwcCBpcyB1bmRlZmluZWQgb3IgbnVsbCBpdCBzaG91bGQgcmV0dXJuIGVtcHR5IG9iamVjdFxuICAgIGlmICghYXBwKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4gT2JqZWN0LmtleXMoYXBwKVxuICAgICAgICAvLyBzZWxlY3Qga2V5cyB0aGF0IGFyZSBwcmVzZW50IGluIHRoZSBhbGxvd2VkIGxpc3RcbiAgICAgICAgLmZpbHRlcihrZXkgPT4gIWRpc2FsbG93ZWRLZXlzLmluY2x1ZGVzKGtleSkpXG4gICAgICAgIC8vIGJ1aWxkIGEgbmV3IG9iamVjdCB3aXRoIG9ubHkgdGhlIGFsbG93ZWQgcHJvcGVydGllc1xuICAgICAgICAucmVkdWNlKChvYmosIGtleSkgPT4ge1xuICAgICAgICAgICAgb2JqW2tleV0gPSBhcHBba2V5XTtcbiAgICAgICAgICAgIHJldHVybiBvYmo7XG4gICAgICAgIH0sIHt9KTtcbn07XG5cbi8qKlxuICpcbiAqIEBwYXJhbSBzdG9yYWdlVHlwZVxuICovXG5leHBvcnQgY29uc3QgbG9hZFN0YXRlID0gPFMgZXh0ZW5kcyBDb3JlU3RhdGU+KHN0b3JhZ2U6IFN0b3JhZ2UgPSBsb2NhbFN0b3JhZ2UpOiBTID0+IHtcbiAgICB0cnkge1xuICAgICAgICAvLyBieSBkZWZhdWx0IGZhbGxzIGJhY2sgdG8gbG9jYWxTdG9yYWdlXG4gICAgICAgIGNvbnN0IHNlcmlhbGl6ZWRTdGF0ZSA9IHN0b3JhZ2UuZ2V0SXRlbSgnc3RhdGUnKTtcblxuICAgICAgICBpZiAoc2VyaWFsaXplZFN0YXRlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZGVzZXJpYWxpemUgc3RhdGVcbiAgICAgICAgbGV0IHN0YXRlOiBTID0gSlNPTi5wYXJzZShzZXJpYWxpemVkU3RhdGUpO1xuXG4gICAgICAgIC8vIGZpbHRlciBBcHBTdGF0ZSBhbmQgcmVwbGFjZVxuICAgICAgICBzdGF0ZSA9IHsgLi4uc3RhdGUsIGFwcDogZmlsdGVyQXBwU3RhdGUoc3RhdGU/LmFwcCkgfTtcblxuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxufTtcblxuY29uc3QgY2IgPSA8UyBleHRlbmRzIENvcmVTdGF0ZT4ocmVkdWNlcjogQWN0aW9uUmVkdWNlcjxTPiwgc3RvcmFnZTogU3RvcmFnZSkgPT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiAoc3RhdGU6IFMsIGFjdGlvbjogQWN0aW9uKTogUyB7XG4gICAgICAgIGlmIChhY3Rpb24udHlwZSA9PT0gQ29yZUFwcEFjdGlvblR5cGVzLklOSVRfU1RPUkUpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgYWN0aW9uIG11c3QgYmUgZGlzcGF0Y2hlZCBmcm9tIGFuIGFwcCBpbml0aWFsaXplclxuICAgICAgICAgICAgLy8gV2UgbG9hZCB0aGUgc3RhdGUgZnJvbSBhIHN0b3JhZ2UgYW5kIGNvbXBhcmUgdGhlIHZlcnNpb24gYW5kIHVzZXJJZCB3aXRoIHRoZSBwcm92aWRlZCBvbmVzLlxuICAgICAgICAgICAgLy8gSWYgdGhleSBhcmUgdGhlIHNhbWUsIHdlIG1lcmdlIHRoZSBsb2NhbCBzdGF0ZSBpbnRvIHRoZSBpbml0aWFsIHN0YXRlLlxuICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSBtaXNtYXRjaCwgd2UgZG9uJ3QgbWVyZ2UgdGhlIGxvY2FsIHN0YXRlLCBidXQgdXBkYXRlIG9ubHkgdGhlIGluaXRpYWwgc3RhdGUuXG5cbiAgICAgICAgICAgIC8vIGxvYWQgdGhlIHN0YXRlIGZyb20gdGhlIGxvY2FsU3RvcmFnZVxuICAgICAgICAgICAgY29uc3QgbG9jYWxTdGF0ZTogUyA9IGxvYWRTdGF0ZTxTPihzdG9yYWdlKTtcblxuICAgICAgICAgICAgLy8gZXh0cmFjdCB0aGUgZGV0YWlscyBhYm91dCB1c2VyIGFuZCBhcHAgdmVyc2lvbiBmcm9tIHRoZSBhY3Rpb24gcGF5bG9hZFxuICAgICAgICAgICAgY29uc3QgcGF5bG9hZCA9IChhY3Rpb24gYXMgSW5pdFN0b3JlQWN0aW9uKS5wYXlsb2FkO1xuICAgICAgICAgICAgY29uc3QgcGF5bG9hZFZlcnNpb24gPSBwYXlsb2FkPy52ZXJzaW9uO1xuXG4gICAgICAgICAgICBpZiAobG9jYWxTdGF0ZSkge1xuICAgICAgICAgICAgICAgIC8vIFRPRE86IFdoeSBhbGwgdGhlc2UgY2hlY2tzIGhlcmU/IFdoYXQgaXMgdGhlIHB1cnBvc2Ugb2YgdGhpcyBjb2RlP1xuICAgICAgICAgICAgICAgIC8vIGV4dHJhY3QgdGhlIGRldGFpbHMgYWJvdXQgdXNlciBhbmQgYXBwIHZlcnNpb24gZnJvbSB0aGUgc3RvcmFnZSBzdGF0ZVxuICAgICAgICAgICAgICAgIGNvbnN0IGxvY2FsVmVyc2lvbiA9IGxvY2FsU3RhdGU/LmFwcD8udmVyc2lvbjtcbiAgICAgICAgICAgICAgICAvLyBjb25zdCBsb2NhbFVzZXJJZCA9IGxvY2FsU3RhdGUudXNlciAmJiBsb2NhbFN0YXRlLnVzZXIudXNlcklkO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgaXNWZXJzaW9uT0sgPSAoIWxvY2FsVmVyc2lvbiB8fCAhcGF5bG9hZFZlcnNpb24gfHwgbG9jYWxWZXJzaW9uID09PSBwYXlsb2FkVmVyc2lvbik7XG4gICAgICAgICAgICAgICAgLy8gY29uc3QgaXNVc2VySWRPSyA9IChsb2NhbFVzZXJJZCA9PT0gcGF5bG9hZFVzZXJJZCk7XG5cbiAgICAgICAgICAgICAgICAvLyB1cGRhdGUgdGhlIGVudGlyZSBzdGF0ZSB3aXRoIGRlZXAgbWVyZ2Ugb2Ygc3RhdGVzLCBpZiB0aGUgdmVyc2lvbiBhbmQgdXNlciBhcmUgdGhlIHNhbWVcbiAgICAgICAgICAgICAgICBpZiAoaXNWZXJzaW9uT0spIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBleHRlbmQodHJ1ZSwge30sIHN0YXRlLCBsb2NhbFN0YXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHVwZGF0ZSB0aGUgYXBwIHZlcnNpb24sIGlmIGRlZmluZWRcbiAgICAgICAgICAgIGlmIChwYXlsb2FkVmVyc2lvbikge1xuICAgICAgICAgICAgICAgIHN0YXRlID0geyAuLi5zdGF0ZSwgYXBwOiB7IC4uLnN0YXRlPy5hcHAsIHZlcnNpb246IHBheWxvYWRWZXJzaW9uIH0gfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZWR1Y2VyKHN0YXRlLCBhY3Rpb24pO1xuICAgIH07XG59O1xuIl19
@@ -1,43 +0,0 @@
1
- import { CoreUserActionTypes, } from '../actions/user.actions';
2
- import { initialUserState, } from '@eui/base';
3
- const updateUser = (state, action) => {
4
- let fullName = action.payload.fullName;
5
- if (!fullName) {
6
- fullName = `${action.payload.firstName || ''} ${action.payload.lastName || ''}`.trim();
7
- }
8
- return Object.assign({}, state, action.payload, { fullName });
9
- };
10
- const updateUserDetails = (state, action) => {
11
- let fullName = action.payload.fullName;
12
- if (!fullName) {
13
- fullName = `${action.payload.firstName || ''} ${action.payload.lastName || ''}`.trim();
14
- }
15
- // todo should be checked if state.details is really there
16
- const details = Object.assign({}, state.details, action.payload, { fullName });
17
- return Object.assign({}, state, details);
18
- };
19
- const updateUserPreferences = (state, action) => {
20
- const preferences = Object.assign({}, state.preferences, action.payload);
21
- return Object.assign({}, state, { preferences });
22
- };
23
- const updateUserRights = (state, action) => Object.assign({}, state, { rights: [...action.payload] });
24
- const updateUserDashboard = (state, action) => {
25
- // apply the dashboard to preferences
26
- const preferences = Object.assign({}, state.preferences, { dashboard: action.payload });
27
- // update the state
28
- return Object.assign(Object.assign({}, state), { preferences });
29
- };
30
- const actionToReducerMap = {
31
- [CoreUserActionTypes.UPDATE_USER_DETAILS]: updateUserDetails,
32
- [CoreUserActionTypes.UPDATE_USER_PREFERENCES]: updateUserPreferences,
33
- [CoreUserActionTypes.UPDATE_USER_STATE]: updateUser,
34
- [CoreUserActionTypes.UPDATE_USER_RIGHTS]: updateUserRights,
35
- [CoreUserActionTypes.UPDATE_USER_DASHBOARD]: updateUserDashboard,
36
- };
37
- export const coreUserReducers = (state = initialUserState, action) => {
38
- if (actionToReducerMap[action.type]) {
39
- return actionToReducerMap[action.type](state, action);
40
- }
41
- return state;
42
- };
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5yZWR1Y2Vycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvc3RvcmUvcmVkdWNlcnMvdXNlci5yZWR1Y2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0gsbUJBQW1CLEdBT3RCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUVILGdCQUFnQixHQUNuQixNQUFNLFdBQVcsQ0FBQztBQUVuQixNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQWdCLEVBQUUsTUFBNkIsRUFBYSxFQUFFO0lBQzlFLElBQUksUUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ3ZDLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDWCxRQUFRLEdBQUcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxFQUFFLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDMUY7SUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBZ0IsRUFBRSxNQUErQixFQUFhLEVBQUU7SUFDdkYsSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDdkMsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNYLFFBQVEsR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUUsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztLQUMxRjtJQUNELDBEQUEwRDtJQUMxRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzdDLENBQUMsQ0FBQztBQUVGLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxLQUFnQixFQUFFLE1BQW1DLEVBQWEsRUFBRTtJQUMvRixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDckQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWdCLEVBQUUsTUFBOEIsRUFBYSxFQUFFLENBQ3JGLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUU5RCxNQUFNLG1CQUFtQixHQUFHLENBQUMsS0FBZ0IsRUFBRSxNQUFpQyxFQUFFLEVBQUU7SUFDaEYscUNBQXFDO0lBQ3JDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEYsbUJBQW1CO0lBQ25CLHVDQUFZLEtBQUssS0FBRSxXQUFXLElBQUc7QUFDckMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxrQkFBa0IsR0FBZ0Y7SUFDcEcsQ0FBQyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLGlCQUFpQjtJQUM1RCxDQUFDLG1CQUFtQixDQUFDLHVCQUF1QixDQUFDLEVBQUUscUJBQXFCO0lBQ3BFLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsRUFBRSxVQUFVO0lBQ25ELENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsRUFBRSxnQkFBZ0I7SUFDMUQsQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLG1CQUFtQjtDQUNuRSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQ3pCLENBQUMsS0FBSyxHQUFHLGdCQUFnQixFQUFFLE1BQXVCLEVBQUUsRUFBRTtJQUNsRCxJQUFJLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNqQyxPQUFPLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDekQ7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICAgIENvcmVVc2VyQWN0aW9uVHlwZXMsXG4gICAgQ29yZVVzZXJBY3Rpb25zLFxuICAgIFVwZGF0ZVVzZXJEYXNoYm9hcmRBY3Rpb24sXG4gICAgVXBkYXRlVXNlclN0YXRlQWN0aW9uLFxuICAgIFVwZGF0ZVVzZXJEZXRhaWxzQWN0aW9uLFxuICAgIFVwZGF0ZVVzZXJQcmVmZXJlbmNlc0FjdGlvbixcbiAgICBVcGRhdGVVc2VyUmlnaHRzQWN0aW9uLFxufSBmcm9tICcuLi9hY3Rpb25zL3VzZXIuYWN0aW9ucyc7XG5pbXBvcnQge1xuICAgIFVzZXJTdGF0ZSxcbiAgICBpbml0aWFsVXNlclN0YXRlLFxufSBmcm9tICdAZXVpL2Jhc2UnO1xuXG5jb25zdCB1cGRhdGVVc2VyID0gKHN0YXRlOiBVc2VyU3RhdGUsIGFjdGlvbjogVXBkYXRlVXNlclN0YXRlQWN0aW9uKTogVXNlclN0YXRlID0+IHtcbiAgICBsZXQgZnVsbE5hbWUgPSBhY3Rpb24ucGF5bG9hZC5mdWxsTmFtZTtcbiAgICBpZiAoIWZ1bGxOYW1lKSB7XG4gICAgICAgIGZ1bGxOYW1lID0gYCR7YWN0aW9uLnBheWxvYWQuZmlyc3ROYW1lIHx8ICcnfSAke2FjdGlvbi5wYXlsb2FkLmxhc3ROYW1lIHx8ICcnfWAudHJpbSgpO1xuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIGFjdGlvbi5wYXlsb2FkLCB7IGZ1bGxOYW1lIH0pO1xufTtcblxuY29uc3QgdXBkYXRlVXNlckRldGFpbHMgPSAoc3RhdGU6IFVzZXJTdGF0ZSwgYWN0aW9uOiBVcGRhdGVVc2VyRGV0YWlsc0FjdGlvbik6IFVzZXJTdGF0ZSA9PiB7XG4gICAgbGV0IGZ1bGxOYW1lID0gYWN0aW9uLnBheWxvYWQuZnVsbE5hbWU7XG4gICAgaWYgKCFmdWxsTmFtZSkge1xuICAgICAgICBmdWxsTmFtZSA9IGAke2FjdGlvbi5wYXlsb2FkLmZpcnN0TmFtZSB8fCAnJ30gJHthY3Rpb24ucGF5bG9hZC5sYXN0TmFtZSB8fCAnJ31gLnRyaW0oKTtcbiAgICB9XG4gICAgLy8gdG9kbyBzaG91bGQgYmUgY2hlY2tlZCBpZiBzdGF0ZS5kZXRhaWxzIGlzIHJlYWxseSB0aGVyZVxuICAgIGNvbnN0IGRldGFpbHMgPSBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZS5kZXRhaWxzLCBhY3Rpb24ucGF5bG9hZCwgeyBmdWxsTmFtZSB9KTtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIGRldGFpbHMpO1xufTtcblxuY29uc3QgdXBkYXRlVXNlclByZWZlcmVuY2VzID0gKHN0YXRlOiBVc2VyU3RhdGUsIGFjdGlvbjogVXBkYXRlVXNlclByZWZlcmVuY2VzQWN0aW9uKTogVXNlclN0YXRlID0+IHtcbiAgICBjb25zdCBwcmVmZXJlbmNlcyA9IE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLnByZWZlcmVuY2VzLCBhY3Rpb24ucGF5bG9hZCk7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLCB7IHByZWZlcmVuY2VzIH0pO1xufTtcblxuY29uc3QgdXBkYXRlVXNlclJpZ2h0cyA9IChzdGF0ZTogVXNlclN0YXRlLCBhY3Rpb246IFVwZGF0ZVVzZXJSaWdodHNBY3Rpb24pOiBVc2VyU3RhdGUgPT5cbiAgICBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgeyByaWdodHM6IFsuLi5hY3Rpb24ucGF5bG9hZF0gfSk7XG5cbmNvbnN0IHVwZGF0ZVVzZXJEYXNoYm9hcmQgPSAoc3RhdGU6IFVzZXJTdGF0ZSwgYWN0aW9uOiBVcGRhdGVVc2VyRGFzaGJvYXJkQWN0aW9uKSA9PiB7XG4gICAgLy8gYXBwbHkgdGhlIGRhc2hib2FyZCB0byBwcmVmZXJlbmNlc1xuICAgIGNvbnN0IHByZWZlcmVuY2VzID0gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUucHJlZmVyZW5jZXMsIHsgZGFzaGJvYXJkOiBhY3Rpb24ucGF5bG9hZCB9KTtcbiAgICAvLyB1cGRhdGUgdGhlIHN0YXRlXG4gICAgcmV0dXJuIHsgLi4uc3RhdGUsIHByZWZlcmVuY2VzIH07XG59O1xuXG5jb25zdCBhY3Rpb25Ub1JlZHVjZXJNYXA6IHsgW2tleTogc3RyaW5nXTogKHN0YXRlOiBVc2VyU3RhdGUsIGFjdGlvbjogQ29yZVVzZXJBY3Rpb25zKSA9PiBVc2VyU3RhdGUgfSA9IHtcbiAgICBbQ29yZVVzZXJBY3Rpb25UeXBlcy5VUERBVEVfVVNFUl9ERVRBSUxTXTogdXBkYXRlVXNlckRldGFpbHMsXG4gICAgW0NvcmVVc2VyQWN0aW9uVHlwZXMuVVBEQVRFX1VTRVJfUFJFRkVSRU5DRVNdOiB1cGRhdGVVc2VyUHJlZmVyZW5jZXMsXG4gICAgW0NvcmVVc2VyQWN0aW9uVHlwZXMuVVBEQVRFX1VTRVJfU1RBVEVdOiB1cGRhdGVVc2VyLFxuICAgIFtDb3JlVXNlckFjdGlvblR5cGVzLlVQREFURV9VU0VSX1JJR0hUU106IHVwZGF0ZVVzZXJSaWdodHMsXG4gICAgW0NvcmVVc2VyQWN0aW9uVHlwZXMuVVBEQVRFX1VTRVJfREFTSEJPQVJEXTogdXBkYXRlVXNlckRhc2hib2FyZCxcbn07XG5cbmV4cG9ydCBjb25zdCBjb3JlVXNlclJlZHVjZXJzOiAoc3RhdGU6IFVzZXJTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pID0+IFVzZXJTdGF0ZSA9XG4gICAgKHN0YXRlID0gaW5pdGlhbFVzZXJTdGF0ZSwgYWN0aW9uOiBDb3JlVXNlckFjdGlvbnMpID0+IHtcbiAgICAgICAgaWYgKGFjdGlvblRvUmVkdWNlck1hcFthY3Rpb24udHlwZV0pIHtcbiAgICAgICAgICAgIHJldHVybiBhY3Rpb25Ub1JlZHVjZXJNYXBbYWN0aW9uLnR5cGVdKHN0YXRlLCBhY3Rpb24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9O1xuIl19