@axelor/aos-mobile-core 8.1.7 → 8.2.0

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 (208) hide show
  1. package/lib/api/print-template-api.d.ts +21 -0
  2. package/lib/api/print-template-api.js +95 -0
  3. package/lib/api/print-template-api.js.map +1 -0
  4. package/lib/app/Application.d.ts +5 -1
  5. package/lib/app/Application.js +15 -7
  6. package/lib/app/Application.js.map +1 -1
  7. package/lib/app/ContextedApplication.d.ts +4 -1
  8. package/lib/app/ContextedApplication.js +4 -3
  9. package/lib/app/ContextedApplication.js.map +1 -1
  10. package/lib/app/ContextsProvider.d.ts +3 -1
  11. package/lib/app/ContextsProvider.js +31 -72
  12. package/lib/app/ContextsProvider.js.map +1 -1
  13. package/lib/app/RootNavigator.d.ts +3 -1
  14. package/lib/app/RootNavigator.js +7 -4
  15. package/lib/app/RootNavigator.js.map +1 -1
  16. package/lib/app/modules/ModuleProvider.d.ts +3 -1
  17. package/lib/app/modules/ModuleProvider.js +12 -5
  18. package/lib/app/modules/ModuleProvider.js.map +1 -1
  19. package/lib/app/modules/hooks.d.ts +3 -0
  20. package/lib/app/modules/hooks.js +58 -0
  21. package/lib/app/modules/hooks.js.map +1 -0
  22. package/lib/app/modules/index.d.ts +1 -0
  23. package/lib/app/modules/index.js +1 -0
  24. package/lib/app/modules/index.js.map +1 -1
  25. package/lib/app/modules/types.d.ts +22 -1
  26. package/lib/auth/components/molecules/TranslationsButton/TranslationsButton.js +6 -4
  27. package/lib/auth/components/molecules/TranslationsButton/TranslationsButton.js.map +1 -1
  28. package/lib/auth/features/companySlice.d.ts +10 -1
  29. package/lib/auth/features/configSlice.d.ts +20 -2
  30. package/lib/auth/features/localizationSlice.d.ts +10 -1
  31. package/lib/auth/features/userSlice.d.ts +20 -2
  32. package/lib/auth/i18n/en.json +1 -0
  33. package/lib/auth/i18n/fr.json +1 -0
  34. package/lib/auth/index.js +10 -0
  35. package/lib/auth/index.js.map +1 -1
  36. package/lib/auth/models/objectFields.js +4 -5
  37. package/lib/auth/models/objectFields.js.map +1 -1
  38. package/lib/auth/screens/SettingsScreen.js +7 -1
  39. package/lib/auth/screens/SettingsScreen.js.map +1 -1
  40. package/lib/auth/screens/UserScreen.js +5 -2
  41. package/lib/auth/screens/UserScreen.js.map +1 -1
  42. package/lib/components/external/Camera/Camera.js +1 -1
  43. package/lib/components/external/Camera/Camera.js.map +1 -1
  44. package/lib/components/molecules/DateDisplay/DateDisplay.d.ts +2 -1
  45. package/lib/components/molecules/DateDisplay/DateDisplay.js +4 -1
  46. package/lib/components/molecules/DateDisplay/DateDisplay.js.map +1 -1
  47. package/lib/components/molecules/InputBarCodeCard/InputBarCodeCard.d.ts +11 -9
  48. package/lib/components/molecules/InputBarCodeCard/InputBarCodeCard.js +46 -23
  49. package/lib/components/molecules/InputBarCodeCard/InputBarCodeCard.js.map +1 -1
  50. package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.d.ts +2 -1
  51. package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js +10 -3
  52. package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js.map +1 -1
  53. package/lib/components/organisms/MailMessageNotificationCard/MailMessageNotificationCard.d.ts +3 -2
  54. package/lib/components/organisms/MailMessageNotificationCard/MailMessageNotificationCard.js +2 -1
  55. package/lib/components/organisms/MailMessageNotificationCard/MailMessageNotificationCard.js.map +1 -1
  56. package/lib/components/organisms/PopupPrintTemplate/PopupPrintTemplate.d.ts +9 -0
  57. package/lib/components/organisms/PopupPrintTemplate/PopupPrintTemplate.js +89 -0
  58. package/lib/components/organisms/PopupPrintTemplate/PopupPrintTemplate.js.map +1 -0
  59. package/lib/components/organisms/index.d.ts +1 -0
  60. package/lib/components/organisms/index.js +1 -0
  61. package/lib/components/organisms/index.js.map +1 -1
  62. package/lib/components/pages/CustomFieldForm/CustomFieldForm.d.ts +4 -1
  63. package/lib/components/pages/CustomFieldForm/CustomFieldForm.js +48 -22
  64. package/lib/components/pages/CustomFieldForm/CustomFieldForm.js.map +1 -1
  65. package/lib/components/pages/FormView/Components/Panel.js.map +1 -1
  66. package/lib/components/pages/FormView/Custom/CustomButton.d.ts +1 -5
  67. package/lib/components/pages/FormView/Custom/CustomButton.js +3 -5
  68. package/lib/components/pages/FormView/Custom/CustomButton.js.map +1 -1
  69. package/lib/components/pages/FormView/Custom/CustomPicker.js +11 -6
  70. package/lib/components/pages/FormView/Custom/CustomPicker.js.map +1 -1
  71. package/lib/components/pages/FormView/Custom/CustomSearchBar.js +2 -2
  72. package/lib/components/pages/FormView/Custom/CustomSearchBar.js.map +1 -1
  73. package/lib/components/pages/FormView/FormView.d.ts +3 -1
  74. package/lib/components/pages/FormView/FormView.js +3 -3
  75. package/lib/components/pages/FormView/FormView.js.map +1 -1
  76. package/lib/components/templates/GlobalToolBox/GlobalToolBox.d.ts +3 -0
  77. package/lib/components/templates/GlobalToolBox/GlobalToolBox.js +77 -0
  78. package/lib/components/templates/GlobalToolBox/GlobalToolBox.js.map +1 -0
  79. package/lib/components/templates/PeriodInput/PeriodInput.d.ts +3 -1
  80. package/lib/components/templates/PeriodInput/PeriodInput.js +62 -11
  81. package/lib/components/templates/PeriodInput/PeriodInput.js.map +1 -1
  82. package/lib/components/templates/PrintTemplateSearchBar/PrintTemplateSearchBar.d.ts +12 -0
  83. package/lib/components/templates/PrintTemplateSearchBar/PrintTemplateSearchBar.js +38 -0
  84. package/lib/components/templates/PrintTemplateSearchBar/PrintTemplateSearchBar.js.map +1 -0
  85. package/lib/components/templates/SingleSelectSearchListView/SingleSelectSearchListView.d.ts +30 -0
  86. package/lib/components/templates/SingleSelectSearchListView/SingleSelectSearchListView.js +81 -0
  87. package/lib/components/templates/SingleSelectSearchListView/SingleSelectSearchListView.js.map +1 -0
  88. package/lib/components/templates/index.d.ts +3 -0
  89. package/lib/components/templates/index.js +3 -0
  90. package/lib/components/templates/index.js.map +1 -1
  91. package/lib/config/RouterProvider.d.ts +4 -0
  92. package/lib/config/RouterProvider.js +4 -0
  93. package/lib/config/RouterProvider.js.map +1 -1
  94. package/lib/config/routes.d.ts +6 -0
  95. package/lib/config/routes.js +4 -0
  96. package/lib/config/routes.js.map +1 -1
  97. package/lib/dashboards/component/AOPChart/AOPChart.js +76 -36
  98. package/lib/dashboards/component/AOPChart/AOPChart.js.map +1 -1
  99. package/lib/dashboards/component/AOPChart/DynamicSearchForm.d.ts +8 -0
  100. package/lib/dashboards/component/AOPChart/DynamicSearchForm.js +84 -0
  101. package/lib/dashboards/component/AOPChart/DynamicSearchForm.js.map +1 -0
  102. package/lib/dashboards/menu.helpers.d.ts +1 -0
  103. package/lib/dashboards/menu.helpers.js +13 -0
  104. package/lib/dashboards/menu.helpers.js.map +1 -1
  105. package/lib/features/appConfigSlice.d.ts +10 -1
  106. package/lib/features/attachedFilesSlice.d.ts +30 -3
  107. package/lib/features/authSlice.d.ts +47 -3
  108. package/lib/features/authSlice.js +8 -1
  109. package/lib/features/authSlice.js.map +1 -1
  110. package/lib/features/formSlice.d.ts +40 -4
  111. package/lib/features/index.d.ts +1 -2
  112. package/lib/features/index.js +1 -2
  113. package/lib/features/index.js.map +1 -1
  114. package/lib/features/mailMessageSlice.d.ts +80 -8
  115. package/lib/features/metaJsonFieldSlice.d.ts +40 -4
  116. package/lib/features/metaModuleSlice.d.ts +10 -1
  117. package/lib/features/metafileSlice.d.ts +10 -1
  118. package/lib/features/permissionSlice.d.ts +20 -2
  119. package/lib/features/printTemplateSlice.d.ts +16 -0
  120. package/lib/features/{mobileWebViewSlice.js → printTemplateSlice.js} +19 -12
  121. package/lib/features/printTemplateSlice.js.map +1 -0
  122. package/lib/features/userSlice.d.ts +10 -1
  123. package/lib/forms/studio/api.helpers.d.ts +2 -2
  124. package/lib/forms/studio/api.helpers.js +4 -3
  125. package/lib/forms/studio/api.helpers.js.map +1 -1
  126. package/lib/forms/studio/display.helpers.d.ts +1 -1
  127. package/lib/forms/studio/display.helpers.js +2 -1
  128. package/lib/forms/studio/display.helpers.js.map +1 -1
  129. package/lib/forms/types.d.ts +1 -1
  130. package/lib/header/hooks.d.ts +19 -1
  131. package/lib/header/hooks.js +49 -15
  132. package/lib/header/hooks.js.map +1 -1
  133. package/lib/header/types.d.ts +1 -0
  134. package/lib/hooks/use-header-registers.js +3 -1
  135. package/lib/hooks/use-header-registers.js.map +1 -1
  136. package/lib/hooks/use-storage-config.d.ts +4 -0
  137. package/lib/hooks/use-storage-config.js +71 -0
  138. package/lib/hooks/use-storage-config.js.map +1 -0
  139. package/lib/i18n/component/Translator.d.ts +17 -5
  140. package/lib/i18n/component/Translator.js +28 -23
  141. package/lib/i18n/component/Translator.js.map +1 -1
  142. package/lib/i18n/helpers/langages.d.ts +2 -5
  143. package/lib/i18n/helpers/langages.js +1 -7
  144. package/lib/i18n/helpers/langages.js.map +1 -1
  145. package/lib/i18n/hooks/use-translator.js +3 -4
  146. package/lib/i18n/hooks/use-translator.js.map +1 -1
  147. package/lib/i18n/i18n.d.ts +0 -1
  148. package/lib/i18n/i18n.js +1 -5
  149. package/lib/i18n/i18n.js.map +1 -1
  150. package/lib/i18n/translations/en.json +6 -2
  151. package/lib/i18n/translations/fr.json +6 -2
  152. package/lib/index.d.ts +4 -2
  153. package/lib/index.js +4 -2
  154. package/lib/index.js.map +1 -1
  155. package/lib/models/objectFields.js +3 -0
  156. package/lib/models/objectFields.js.map +1 -1
  157. package/lib/models/searchFields.js +1 -0
  158. package/lib/models/searchFields.js.map +1 -1
  159. package/lib/navigator/ActiveScreenProvider.d.ts +35 -0
  160. package/lib/navigator/ActiveScreenProvider.js +117 -0
  161. package/lib/navigator/ActiveScreenProvider.js.map +1 -0
  162. package/lib/navigator/Navigator.d.ts +0 -2
  163. package/lib/navigator/Navigator.js +36 -53
  164. package/lib/navigator/Navigator.js.map +1 -1
  165. package/lib/navigator/drawer/Header.js +1 -1
  166. package/lib/navigator/drawer/Header.js.map +1 -1
  167. package/lib/navigator/drawer/MenuIconButton.js.map +1 -1
  168. package/lib/navigator/index.d.ts +2 -0
  169. package/lib/navigator/index.js +20 -0
  170. package/lib/navigator/index.js.map +1 -0
  171. package/lib/navigator/menu.helper.d.ts +0 -1
  172. package/lib/navigator/menu.helper.js +0 -13
  173. package/lib/navigator/menu.helper.js.map +1 -1
  174. package/lib/navigator/module.helper.d.ts +5 -3
  175. package/lib/navigator/module.helper.js +35 -6
  176. package/lib/navigator/module.helper.js.map +1 -1
  177. package/lib/screens/JsonFieldScreen.js +5 -14
  178. package/lib/screens/JsonFieldScreen.js.map +1 -1
  179. package/lib/sessions/SessionStorage.d.ts +1 -0
  180. package/lib/sessions/SessionStorage.js +5 -0
  181. package/lib/sessions/SessionStorage.js.map +1 -1
  182. package/lib/sessions/components/alerts/PopupCreateSession.js.map +1 -1
  183. package/lib/tools/FileViewer.d.ts +6 -2
  184. package/lib/tools/FileViewer.js +10 -4
  185. package/lib/tools/FileViewer.js.map +1 -1
  186. package/lib/utils/displayers.d.ts +1 -0
  187. package/lib/utils/displayers.js +1 -0
  188. package/lib/utils/displayers.js.map +1 -1
  189. package/lib/utils/image.js +7 -5
  190. package/lib/utils/image.js.map +1 -1
  191. package/lib/utils/index.d.ts +3 -3
  192. package/lib/utils/index.js +3 -3
  193. package/lib/utils/index.js.map +1 -1
  194. package/lib/utils/list.d.ts +2 -0
  195. package/lib/utils/list.js +21 -0
  196. package/lib/utils/list.js.map +1 -1
  197. package/lib/utils/time.d.ts +1 -0
  198. package/lib/utils/time.js +1 -0
  199. package/lib/utils/time.js.map +1 -1
  200. package/lib/webViews/menu.helper.d.ts +1 -0
  201. package/lib/webViews/menu.helper.js +13 -0
  202. package/lib/webViews/menu.helper.js.map +1 -1
  203. package/package.json +38 -38
  204. package/lib/features/mobileDashboardSlice.d.ts +0 -4
  205. package/lib/features/mobileDashboardSlice.js +0 -43
  206. package/lib/features/mobileDashboardSlice.js.map +0 -1
  207. package/lib/features/mobileWebViewSlice.d.ts +0 -4
  208. package/lib/features/mobileWebViewSlice.js.map +0 -1
@@ -0,0 +1,21 @@
1
+ export function fetchActionPrint({ id, model }: {
2
+ id: any;
3
+ model: any;
4
+ }): Promise<{
5
+ templateSet: any;
6
+ fileName: any;
7
+ error: any;
8
+ }>;
9
+ export function searchPrintingTemplate({ searchValue, page, idList, }: {
10
+ searchValue?: any;
11
+ page?: number;
12
+ idList: any;
13
+ }): Promise<any>;
14
+ export function fetchFileToPrint({ id, model, printingTemplate }: {
15
+ id: any;
16
+ model: any;
17
+ printingTemplate: any;
18
+ }): Promise<{
19
+ error: any;
20
+ fileName: any;
21
+ }>;
@@ -0,0 +1,95 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2024 Axelor (<http://axelor.com>).
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU Affero General Public License, version 3,
8
+ * as published by the Free Software Foundation.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU Affero General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Affero General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ import { axiosApiProvider, createStandardSearch, getSearchCriterias, } from '../apiProviders';
19
+ const createPrintingTemplateCriteria = ({ searchValue, idList }) => {
20
+ return [
21
+ getSearchCriterias('core_printTemplate', searchValue),
22
+ {
23
+ fieldName: 'id',
24
+ operator: 'in',
25
+ value: idList,
26
+ },
27
+ ];
28
+ };
29
+ export async function fetchActionPrint({ id, model }) {
30
+ return axiosApiProvider
31
+ .post({
32
+ url: 'ws/action',
33
+ data: {
34
+ action: 'action-method-print-template',
35
+ model: model,
36
+ data: {
37
+ context: {
38
+ id: id,
39
+ _model: model,
40
+ },
41
+ },
42
+ },
43
+ })
44
+ .then(res => res?.data?.data?.[0])
45
+ .then(res => {
46
+ const templateSet = res?.view?.context?._printingTemplateIdList;
47
+ const fileName = res.view?.views?.[0]?.name;
48
+ const error = res?.error?.message;
49
+ return { templateSet, fileName, error };
50
+ });
51
+ }
52
+ export async function searchPrintingTemplate({ searchValue = null, page = 0, idList, }) {
53
+ if (!Array.isArray(idList) || idList.length === 0) {
54
+ return { data: { data: [], total: 0 } };
55
+ }
56
+ return createStandardSearch({
57
+ model: 'com.axelor.apps.base.db.PrintingTemplate',
58
+ criteria: createPrintingTemplateCriteria({ idList, searchValue }),
59
+ fieldKey: 'core_printTemplate',
60
+ page,
61
+ });
62
+ }
63
+ export async function fetchFileToPrint({ id, model, printingTemplate }) {
64
+ return axiosApiProvider
65
+ .post({
66
+ url: 'ws/action',
67
+ data: {
68
+ action: 'action-method-printing-template-config-wizard-print',
69
+ model: 'com.axelor.utils.db.Wizard',
70
+ data: {
71
+ context: {
72
+ _modelId: id,
73
+ _fromTestWizard: false,
74
+ _modelClass: model,
75
+ _viewType: 'form',
76
+ _viewName: 'printing-template-print-config-wizard',
77
+ _views: [
78
+ {
79
+ name: 'printing-template-print-config-wizard',
80
+ type: 'form',
81
+ },
82
+ ],
83
+ _model: 'com.axelor.utils.db.Wizard',
84
+ printingTemplate: printingTemplate,
85
+ },
86
+ },
87
+ },
88
+ })
89
+ .then(res => res?.data?.data?.[0])
90
+ .then(res => ({
91
+ error: res?.error?.message,
92
+ fileName: res.view?.views?.[0]?.name,
93
+ }));
94
+ }
95
+ //# sourceMappingURL=print-template-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"print-template-api.js","sourceRoot":"","sources":["../../src/api/print-template-api.js"],"names":[],"mappings":"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"}
@@ -3,9 +3,12 @@ import { Theme, ThemeColors, Writing, WritingStyles } from '@axelor/aos-mobile-u
3
3
  import { Module } from './modules';
4
4
  import { proxy, releaseConfig, versionCheckConfig } from './types';
5
5
  import { RouteSwitcher } from '../config/RouterProvider';
6
+ import { Session } from '../sessions';
6
7
  interface appConfig {
7
8
  testInstanceConfig: proxy;
8
9
  releaseInstanceConfig: releaseConfig;
10
+ isDemoSession: boolean;
11
+ demoSession: Session;
9
12
  defaultLanguage: string;
10
13
  defaultRequestLimit: number;
11
14
  enableConnectionSessions: boolean;
@@ -29,6 +32,7 @@ interface ApplicationProps {
29
32
  defaultWritingTheme?: Writing;
30
33
  showModulesSubtitle?: boolean;
31
34
  configuration?: appConfig;
35
+ customLoginPage?: React.ComponentType;
32
36
  }
33
- declare const Application: ({ modules: modulesProvided, mainMenu, additionalsReducers, version, themes, defaultTheme, writingThemes, defaultWritingTheme, showModulesSubtitle, configuration, }: ApplicationProps) => React.JSX.Element;
37
+ declare const Application: ({ modules: modulesProvided, mainMenu, additionalsReducers, version, themes, defaultTheme, writingThemes, defaultWritingTheme, showModulesSubtitle, configuration, customLoginPage, }: ApplicationProps) => React.JSX.Element;
34
38
  export default Application;
@@ -22,23 +22,31 @@ import ContextedApplication from './ContextedApplication';
22
22
  import { authModule } from '../auth';
23
23
  import { RouterProvider } from '../config';
24
24
  import { ApiProviderConfig } from '../apiProviders/config';
25
- const Application = ({ modules: modulesProvided, mainMenu, additionalsReducers, version, themes, defaultTheme, writingThemes, defaultWritingTheme, showModulesSubtitle = false, configuration, }) => {
25
+ import { sessionStorage } from '../sessions';
26
+ const Application = ({ modules: modulesProvided, mainMenu, additionalsReducers, version, themes, defaultTheme, writingThemes, defaultWritingTheme, showModulesSubtitle = false, configuration, customLoginPage, }) => {
26
27
  const modules = useRef([authModule, ...modulesProvided]).current;
27
- RouterProvider.enableRetrocompatibilityWithAOSv6(configuration?.retrocompatibilityAOS6);
28
- RouterProvider.addRoutes(configuration?.additionalRoutes);
28
+ RouterProvider.init({
29
+ retrocompatibility: configuration?.retrocompatibilityAOS6,
30
+ routesDefinition: configuration?.additionalRoutes,
31
+ });
29
32
  ApiProviderConfig.allowConnectionBlock =
30
33
  configuration.allowInternetConnectionBlock;
31
34
  useEffect(() => {
32
- modulesProvider.init(modules);
35
+ modulesProvider.init(modules, modules
36
+ .filter(_module => _module.moduleRegister)
37
+ .flatMap(_module => _module.moduleRegister));
33
38
  }, [modules]);
34
- return (<ContextsProvider additionalsReducers={additionalsReducers} defaultTheme={defaultTheme} themes={themes} defaultWritingTheme={defaultWritingTheme} writingThemes={writingThemes} defaultLanguage={configuration?.defaultLanguage} defaultRequestLimit={configuration?.defaultRequestLimit} themeColorsConfig={configuration?.themeColorsConfig} writingStylesConfig={configuration?.writingStylesConfig} showModulesSubtitle={configuration?.showModulesSubtitle ?? showModulesSubtitle}>
35
- <ContextedApplication mainMenu={mainMenu} version={version} configuration={{
39
+ useEffect(() => {
40
+ sessionStorage.init(configuration?.isDemoSession, configuration?.demoSession);
41
+ }, [configuration?.demoSession, configuration?.isDemoSession]);
42
+ return (<ContextsProvider modules={modules} additionalsReducers={additionalsReducers} defaultTheme={defaultTheme} themes={themes} defaultWritingTheme={defaultWritingTheme} writingThemes={writingThemes} defaultLanguage={configuration?.defaultLanguage} defaultRequestLimit={configuration?.defaultRequestLimit} themeColorsConfig={configuration?.themeColorsConfig} writingStylesConfig={configuration?.writingStylesConfig} showModulesSubtitle={configuration?.showModulesSubtitle ?? showModulesSubtitle}>
43
+ <ContextedApplication modules={modules} mainMenu={mainMenu} version={version} configuration={{
36
44
  testInstanceConfig: configuration?.testInstanceConfig,
37
45
  releaseInstanceConfig: configuration?.releaseInstanceConfig,
38
46
  enableConnectionSessions: configuration?.enableConnectionSessions,
39
47
  logoFile: configuration?.logoFile,
40
48
  versionCheckConfig: configuration?.versionCheckConfig,
41
- }}/>
49
+ }} customLoginPage={customLoginPage}/>
42
50
  </ContextsProvider>);
43
51
  };
44
52
  export default Application;
@@ -1 +1 @@
1
- {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../src/app/Application.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AAO/C,OAAO,EAAS,eAAe,EAAC,MAAM,WAAW,CAAC;AAClD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AACzC,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AAiCzD,MAAM,WAAW,GAAG,CAAC,EACnB,OAAO,EAAE,eAAe,EACxB,QAAQ,EACR,mBAAmB,EACnB,OAAO,EACP,MAAM,EACN,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,mBAAmB,GAAG,KAAK,EAC3B,aAAa,GACI,EAAE,EAAE;IACrB,MAAM,OAAO,GAAa,MAAM,CAAC,CAAC,UAAU,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;IAE3E,cAAc,CAAC,iCAAiC,CAC9C,aAAa,EAAE,sBAAsB,CACtC,CAAC;IAEF,cAAc,CAAC,SAAS,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAE1D,iBAAiB,CAAC,oBAAoB;QACpC,aAAa,CAAC,4BAA4B,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,CACL,CAAC,gBAAgB,CACf,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,CACzC,YAAY,CAAC,CAAC,YAAY,CAAC,CAC3B,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,CACzC,aAAa,CAAC,CAAC,aAAa,CAAC,CAC7B,eAAe,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,CAChD,mBAAmB,CAAC,CAAC,aAAa,EAAE,mBAAmB,CAAC,CACxD,iBAAiB,CAAC,CAAC,aAAa,EAAE,iBAAiB,CAAC,CACpD,mBAAmB,CAAC,CAAC,aAAa,EAAE,mBAAmB,CAAC,CACxD,mBAAmB,CAAC,CAClB,aAAa,EAAE,mBAAmB,IAAI,mBAAmB,CAC1D,CACD;MAAA,CAAC,oBAAoB,CACnB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,aAAa,CAAC,CAAC;YACb,kBAAkB,EAAE,aAAa,EAAE,kBAAkB;YACrD,qBAAqB,EAAE,aAAa,EAAE,qBAAqB;YAC3D,wBAAwB,EAAE,aAAa,EAAE,wBAAwB;YACjE,QAAQ,EAAE,aAAa,EAAE,QAAQ;YACjC,kBAAkB,EAAE,aAAa,EAAE,kBAAkB;SACtD,CAAC,EAEN;IAAA,EAAE,gBAAgB,CAAC,CACpB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../src/app/Application.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { proxy, releaseConfig, versionCheckConfig } from './types';
3
+ import { Module } from './modules';
3
4
  interface instanceConfig {
4
5
  testInstanceConfig: proxy;
5
6
  releaseInstanceConfig: releaseConfig;
@@ -8,9 +9,11 @@ interface instanceConfig {
8
9
  versionCheckConfig?: versionCheckConfig;
9
10
  }
10
11
  interface ContextedApplicationProps {
12
+ modules: Module[];
11
13
  mainMenu?: string;
12
14
  version: string;
13
15
  configuration?: instanceConfig;
16
+ customLoginPage?: React.ComponentType;
14
17
  }
15
- declare const ContextedApplication: ({ mainMenu, version, configuration, }: ContextedApplicationProps) => React.JSX.Element;
18
+ declare const ContextedApplication: ({ modules, mainMenu, version, configuration, customLoginPage, }: ContextedApplicationProps) => React.JSX.Element;
16
19
  export default ContextedApplication;
@@ -24,11 +24,11 @@ import RootNavigator from './RootNavigator';
24
24
  import Translator from '../i18n/component/Translator';
25
25
  import { getActiveUserInfo } from '../api/login-api';
26
26
  import ErrorScreen from '../screens/ErrorScreen';
27
- import { Camera, HeaderBandList, Scanner, Toast } from '../components';
27
+ import { Camera, GlobalToolBox, HeaderBandList, Scanner, Toast, } from '../components';
28
28
  import { RouterProvider } from '../config';
29
29
  import { useDispatch } from '../redux/hooks';
30
30
  import { setAppVersion } from '../features/authSlice';
31
- const ContextedApplication = ({ mainMenu, version, configuration, }) => {
31
+ const ContextedApplication = ({ modules, mainMenu, version, configuration, customLoginPage, }) => {
32
32
  const dispatch = useDispatch();
33
33
  const [, setRefresh] = useState(false);
34
34
  const [tracebackRoute, setTracebackRoute] = useState('');
@@ -51,7 +51,8 @@ const ContextedApplication = ({ mainMenu, version, configuration, }) => {
51
51
  <HeaderBandList />
52
52
  <LoadingIndicator />
53
53
  <BlockInteractionMessage />
54
- <RootNavigator mainMenu={mainMenu} onRefresh={() => setRefresh(_current => !_current)} configuration={configuration}/>
54
+ <GlobalToolBox />
55
+ <RootNavigator modules={modules} mainMenu={mainMenu} onRefresh={() => setRefresh(_current => !_current)} configuration={configuration} customLoginPage={customLoginPage}/>
55
56
  </NavigationContainer>
56
57
  </ErrorBoundary>
57
58
  <Toast />
@@ -1 +1 @@
1
- {"version":3,"file":"ContextedApplication.js","sourceRoot":"","sources":["../../src/app/ContextedApplication.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContextedApplication.js","sourceRoot":"","sources":["../../src/app/ContextedApplication.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import React from 'react';
2
2
  import { Theme, Writing, ThemeColors, WritingStyles } from '@axelor/aos-mobile-ui';
3
+ import { Module } from './modules';
3
4
  interface ContextsProviderProps {
5
+ modules: Module[];
4
6
  additionalsReducers?: any;
5
7
  themes?: Theme[];
6
8
  defaultTheme?: Theme;
@@ -13,5 +15,5 @@ interface ContextsProviderProps {
13
15
  writingStylesConfig?: WritingStyles;
14
16
  showModulesSubtitle?: boolean;
15
17
  }
16
- declare const ContextsProvider: ({ additionalsReducers, themes, defaultTheme, writingThemes, defaultWritingTheme, children, defaultLanguage, defaultRequestLimit, themeColorsConfig, writingStylesConfig, showModulesSubtitle, }: ContextsProviderProps) => React.JSX.Element;
18
+ declare const ContextsProvider: ({ modules, additionalsReducers, themes, defaultTheme, writingThemes, defaultWritingTheme, children, defaultLanguage, defaultRequestLimit, themeColorsConfig, writingStylesConfig, showModulesSubtitle, }: ContextsProviderProps) => React.JSX.Element;
17
19
  export default ContextsProvider;
@@ -15,101 +15,60 @@
15
15
  * You should have received a copy of the GNU Affero General Public License
16
16
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
  */
18
- import React, { createContext, useEffect, useMemo, useState } from 'react';
18
+ import React, { useEffect, useMemo, useState } from 'react';
19
19
  import { Provider } from 'react-redux';
20
20
  import { ConfigProvider, OutsideAlerterProvider, ThemeProvider, WritingThemeProvider, } from '@axelor/aos-mobile-ui';
21
- import { useModules } from './modules';
22
21
  import { configI18n } from '../i18n/i18n';
23
22
  import enTranslation from '../i18n/translations/en.json';
24
23
  import frTranslation from '../i18n/translations/fr.json';
25
24
  import { configGlobalStore } from '../redux/store';
26
- import { useBackgroundFunction } from '../hooks/use-background-function';
27
- import { addModuleModels } from './context.helper';
28
- import { objectFieldsProvider } from '../apiProviders';
29
25
  import { requestBuilder } from '../apiProviders/Standard/requests.helper';
30
- import { core_modelAPI, core_searchFields, core_sortFields } from '../models';
31
26
  import { HeaderBandProvider } from '../header';
32
- import { addModuleForms, formConfigsProvider } from '../forms';
33
- import { initSelections } from '../selections';
34
- import { processProvider } from '../loader';
35
- const ApplicationContext = createContext(null);
36
- const ContextsProvider = ({ additionalsReducers, themes, defaultTheme, writingThemes, defaultWritingTheme, children, defaultLanguage = 'en', defaultRequestLimit = 10, themeColorsConfig, writingStylesConfig, showModulesSubtitle = false, }) => {
37
- const { modules } = useModules();
27
+ const ContextsProvider = ({ modules, additionalsReducers, themes, defaultTheme, writingThemes, defaultWritingTheme, children, defaultLanguage = 'en', defaultRequestLimit = 10, themeColorsConfig, writingStylesConfig, showModulesSubtitle = false, }) => {
38
28
  const [loading, setLoading] = useState(true);
39
- const [moduleLoaded, setModuleLoaded] = useState(0);
40
- const appTranslations = useMemo(() => modules
41
- .filter(_module => _module.translations)
42
- .reduce((translations, _module) => {
43
- setModuleLoaded(_current => _current + 1);
44
- return {
45
- en: { ...translations.en, ..._module.translations?.en },
46
- fr: { ...translations.fr, ..._module.translations?.fr },
47
- };
48
- }, { en: enTranslation, fr: frTranslation }), [modules]);
49
29
  useEffect(() => {
50
- if (moduleLoaded === modules?.length) {
51
- configI18n({
52
- resources: [
53
- { lng: 'en', translationsObject: appTranslations.en },
54
- { lng: 'fr', translationsObject: appTranslations.fr },
55
- ],
56
- defaultLanguage: defaultLanguage,
57
- });
58
- setLoading(false);
59
- }
30
+ const appTranslations = modules
31
+ .filter(_module => _module.translations)
32
+ .reduce((translations, _module) => {
33
+ return {
34
+ en: { ...translations.en, ..._module.translations?.en },
35
+ fr: { ...translations.fr, ..._module.translations?.fr },
36
+ };
37
+ }, { en: enTranslation, fr: frTranslation });
38
+ configI18n({
39
+ resources: [
40
+ { lng: 'en', translationsObject: appTranslations.en },
41
+ { lng: 'fr', translationsObject: appTranslations.fr },
42
+ ],
43
+ defaultLanguage: defaultLanguage,
44
+ });
45
+ setLoading(false);
60
46
  // NOTE: I18n should be initialize only once
61
47
  // eslint-disable-next-line react-hooks/exhaustive-deps
62
- }, [moduleLoaded, modules]);
48
+ }, []);
63
49
  const externalsReducers = useMemo(() => modules
64
50
  .filter(_module => _module.reducers)
65
51
  .reduce((reducers, _module) => ({ ...reducers, ..._module.reducers }), {
66
52
  ...additionalsReducers,
67
53
  }), [additionalsReducers, modules]);
68
- const modulesBackgroundFunctions = useMemo(() => {
69
- const backgroundFunctions = modules
70
- .filter(_module => _module.backgroundFunctions)
71
- .flatMap(_module => _module.backgroundFunctions);
72
- backgroundFunctions.push(processProvider.removeOldProcesses);
73
- return backgroundFunctions;
74
- }, [modules]);
75
54
  const store = useMemo(() => configGlobalStore(externalsReducers), [externalsReducers]);
76
- useBackgroundFunction(modulesBackgroundFunctions);
77
- const modulesObjectFields = useMemo(() => modules
78
- .filter(_module => _module.models)
79
- .reduce(addModuleModels, {
80
- objectFields: { ...core_modelAPI },
81
- sortFields: { ...core_sortFields },
82
- searchFields: { ...core_searchFields },
83
- typeObjects: [],
84
- }), [modules]);
85
- const modulesFormsRegisters = useMemo(() => {
86
- return modules
87
- .filter(_module => _module.models?.formsRegister)
88
- .map(_module => _module.models.formsRegister)
89
- .reduce((forms, _moduleForms) => addModuleForms(forms, _moduleForms), {});
90
- }, [modules]);
91
55
  useEffect(() => {
92
- objectFieldsProvider.init(modulesObjectFields);
93
- initSelections(modulesObjectFields.typeObjects);
94
56
  requestBuilder.init(defaultRequestLimit);
95
- formConfigsProvider.init(modulesFormsRegisters);
96
- }, [defaultRequestLimit, modulesObjectFields, modulesFormsRegisters]);
57
+ }, [defaultRequestLimit]);
97
58
  if (loading) {
98
59
  return null;
99
60
  }
100
- return (<ApplicationContext.Provider value={{}}>
101
- <Provider store={store} identityFunctionCheck="never">
102
- <OutsideAlerterProvider>
103
- <ThemeProvider themes={themes} defaultTheme={defaultTheme} themeColorsConfig={themeColorsConfig}>
104
- <WritingThemeProvider themes={writingThemes} defaultTheme={defaultWritingTheme} writingStylesConfig={writingStylesConfig}>
105
- <ConfigProvider showModulesSubtitle={showModulesSubtitle}>
106
- <HeaderBandProvider>{children}</HeaderBandProvider>
107
- </ConfigProvider>
108
- </WritingThemeProvider>
109
- </ThemeProvider>
110
- </OutsideAlerterProvider>
111
- </Provider>
112
- </ApplicationContext.Provider>);
61
+ return (<Provider store={store} identityFunctionCheck="never">
62
+ <OutsideAlerterProvider>
63
+ <ThemeProvider themes={themes} defaultTheme={defaultTheme} themeColorsConfig={themeColorsConfig}>
64
+ <WritingThemeProvider themes={writingThemes} defaultTheme={defaultWritingTheme} writingStylesConfig={writingStylesConfig}>
65
+ <ConfigProvider showModulesSubtitle={showModulesSubtitle}>
66
+ <HeaderBandProvider>{children}</HeaderBandProvider>
67
+ </ConfigProvider>
68
+ </WritingThemeProvider>
69
+ </ThemeProvider>
70
+ </OutsideAlerterProvider>
71
+ </Provider>);
113
72
  };
114
73
  export default ContextsProvider;
115
74
  //# sourceMappingURL=ContextsProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextsProvider.js","sourceRoot":"","sources":["../../src/app/ContextsProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContextsProvider.js","sourceRoot":"","sources":["../../src/app/ContextsProvider.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  export default RootNavigator;
2
- declare function RootNavigator({ mainMenu, onRefresh, configuration }: {
2
+ declare function RootNavigator({ modules, mainMenu, onRefresh, configuration, customLoginPage: CustomLoginPage, }: {
3
+ modules: any;
3
4
  mainMenu: any;
4
5
  onRefresh: any;
5
6
  configuration: any;
7
+ customLoginPage: any;
6
8
  }): React.JSX.Element;
7
9
  import React from 'react';
@@ -29,10 +29,9 @@ import { useTranslator } from '../i18n';
29
29
  import { showToastMessage } from '../utils';
30
30
  import { logout } from '../features/authSlice';
31
31
  import { useSessionExpired } from '../apiProviders/config';
32
- import { useModules } from './modules';
32
+ import { useConfigUpdater } from '../hooks/use-storage-config';
33
33
  const { Navigator, Screen } = createNativeStackNavigator();
34
- const RootNavigator = ({ mainMenu, onRefresh, configuration }) => {
35
- const { modules } = useModules();
34
+ const RootNavigator = ({ modules, mainMenu, onRefresh, configuration, customLoginPage: CustomLoginPage, }) => {
36
35
  const Colors = useThemeColor();
37
36
  const I18n = useTranslator();
38
37
  const dispatch = useDispatch();
@@ -40,6 +39,7 @@ const RootNavigator = ({ mainMenu, onRefresh, configuration }) => {
40
39
  const connectionInterval = useRef();
41
40
  const { sessionExpired } = useSessionExpired();
42
41
  const { registerHeaderBand } = useHeaderBand();
42
+ const { updateConfigFromStorage } = useConfigUpdater();
43
43
  const { logged } = useSelector(state => state.auth);
44
44
  const modulesHeaderRegisters = useMemo(() => {
45
45
  return modules
@@ -88,8 +88,11 @@ const RootNavigator = ({ mainMenu, onRefresh, configuration }) => {
88
88
  handleSessionExpired();
89
89
  }
90
90
  }, [handleSessionExpired, sessionExpired]);
91
+ useEffect(() => {
92
+ updateConfigFromStorage();
93
+ }, [updateConfigFromStorage]);
91
94
  return (<Navigator screenOptions={{ headerShown: false }}>
92
- {!logged ? (configuration?.enableConnectionSessions ? (<Screen name="SessionManagementScreen" component={SessionManagementScreen} initialParams={{
95
+ {!logged ? (CustomLoginPage ? (<Screen name="CustomLoginPage" component={CustomLoginPage}/>) : configuration?.enableConnectionSessions ? (<Screen name="SessionManagementScreen" component={SessionManagementScreen} initialParams={{
93
96
  testInstanceConfig: configuration?.testInstanceConfig,
94
97
  releaseInstanceConfig: configuration?.releaseInstanceConfig,
95
98
  logoFile: configuration?.logoFile,
@@ -1 +1 @@
1
- {"version":3,"file":"RootNavigator.js","sourceRoot":"","sources":["../../src/app/RootNavigator.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RootNavigator.js","sourceRoot":"","sources":["../../src/app/RootNavigator.js"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
1
  import { Module } from './types';
2
2
  declare class ModuleProvider {
3
3
  private modules;
4
+ private moduleRegisters;
4
5
  private refreshCallBack;
5
6
  constructor();
6
- init(_modules: Module[]): void;
7
+ init(_modules: Module[], _moduleRegisters: Function[]): void;
7
8
  registerCallback(callBack: Function): void;
8
9
  unregisterCallback(callBack: Function): void;
9
10
  registerModule(_module: Module): void;
10
11
  getModules(): Module[];
12
+ getModuleRegisters(): Function[];
11
13
  private updateState;
12
14
  }
13
15
  export declare const modulesProvider: ModuleProvider;
@@ -15,16 +15,19 @@
15
15
  * You should have received a copy of the GNU Affero General Public License
16
16
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
  */
18
- import { useEffect, useMemo, useState } from 'react';
18
+ import { useCallback, useEffect, useMemo, useState } from 'react';
19
19
  class ModuleProvider {
20
20
  modules;
21
+ moduleRegisters;
21
22
  refreshCallBack;
22
23
  constructor() {
23
24
  this.modules = [];
25
+ this.moduleRegisters = [];
24
26
  this.refreshCallBack = [];
25
27
  }
26
- init(_modules) {
28
+ init(_modules, _moduleRegisters) {
27
29
  this.modules = _modules ?? [];
30
+ this.moduleRegisters = _moduleRegisters ?? [];
28
31
  this.updateState();
29
32
  }
30
33
  registerCallback(callBack) {
@@ -52,6 +55,9 @@ class ModuleProvider {
52
55
  getModules() {
53
56
  return this.modules;
54
57
  }
58
+ getModuleRegisters() {
59
+ return this.moduleRegisters;
60
+ }
55
61
  updateState() {
56
62
  this.refreshCallBack.forEach(_f => _f(this.modules));
57
63
  }
@@ -59,12 +65,13 @@ class ModuleProvider {
59
65
  export const modulesProvider = new ModuleProvider();
60
66
  export const useModules = () => {
61
67
  const [modules, setModules] = useState(modulesProvider.getModules());
68
+ const refreshData = useCallback((data) => setModules([...data]), []);
62
69
  useEffect(() => {
63
- modulesProvider.registerCallback(data => setModules([...data]));
70
+ modulesProvider.registerCallback(refreshData);
64
71
  return () => {
65
- modulesProvider.unregisterCallback(setModules);
72
+ modulesProvider.unregisterCallback(refreshData);
66
73
  };
67
- }, []);
74
+ }, [refreshData]);
68
75
  return useMemo(() => ({
69
76
  modules,
70
77
  checkModule: moduleName => modules.find(({ name }) => name === moduleName) != null,
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleProvider.js","sourceRoot":"","sources":["../../../src/app/modules/ModuleProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAGnD,MAAM,cAAc;IACV,OAAO,CAAW;IAClB,eAAe,CAAa;IAEpC;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,QAAkB;QACrB,IAAI,CAAC,OAAO,GAAG,QAAQ,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,gBAAgB,CAAC,QAAkB;QACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,kBAAkB,CAAC,QAAkB;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,cAAc,CAAC,OAAe;QAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;YAChE,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SAC3C;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACnC,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE;oBAC5B,OAAO,OAAO,CAAC;iBAChB;qBAAM;oBACL,OAAO,EAAE,CAAC;iBACX;YACH,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,CAAC;CACF;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,cAAc,EAAE,CAAC;AAEpD,MAAM,CAAC,MAAM,UAAU,GAAG,GAGxB,EAAE;IACF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CACpC,eAAe,CAAC,UAAU,EAAE,CAC7B,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEhE,OAAO,GAAG,EAAE;YACV,eAAe,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,OAAO;QACP,WAAW,EAAE,UAAU,CAAC,EAAE,CACxB,OAAO,CAAC,IAAI,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,IAAI;KACxD,CAAC,EACF,CAAC,OAAO,CAAC,CACV,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"ModuleProvider.js","sourceRoot":"","sources":["../../../src/app/modules/ModuleProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const useModulesInitialisation: () => {
2
+ modules: import("./types").Module[];
3
+ };