@axelor/aos-mobile-core 8.1.8 → 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.
- package/lib/api/print-template-api.d.ts +21 -0
- package/lib/api/print-template-api.js +95 -0
- package/lib/api/print-template-api.js.map +1 -0
- package/lib/app/Application.d.ts +3 -0
- package/lib/app/Application.js +13 -5
- package/lib/app/Application.js.map +1 -1
- package/lib/app/ContextedApplication.d.ts +3 -1
- package/lib/app/ContextedApplication.js +4 -3
- package/lib/app/ContextedApplication.js.map +1 -1
- package/lib/app/ContextsProvider.d.ts +3 -1
- package/lib/app/ContextsProvider.js +31 -72
- package/lib/app/ContextsProvider.js.map +1 -1
- package/lib/app/RootNavigator.d.ts +2 -1
- package/lib/app/RootNavigator.js +6 -3
- package/lib/app/RootNavigator.js.map +1 -1
- package/lib/app/modules/ModuleProvider.d.ts +3 -1
- package/lib/app/modules/ModuleProvider.js +12 -5
- package/lib/app/modules/ModuleProvider.js.map +1 -1
- package/lib/app/modules/hooks.d.ts +3 -0
- package/lib/app/modules/hooks.js +58 -0
- package/lib/app/modules/hooks.js.map +1 -0
- package/lib/app/modules/index.d.ts +1 -0
- package/lib/app/modules/index.js +1 -0
- package/lib/app/modules/index.js.map +1 -1
- package/lib/app/modules/types.d.ts +22 -1
- package/lib/auth/components/molecules/TranslationsButton/TranslationsButton.js +6 -4
- package/lib/auth/components/molecules/TranslationsButton/TranslationsButton.js.map +1 -1
- package/lib/auth/features/companySlice.d.ts +10 -1
- package/lib/auth/features/configSlice.d.ts +20 -2
- package/lib/auth/features/localizationSlice.d.ts +10 -1
- package/lib/auth/features/userSlice.d.ts +20 -2
- package/lib/auth/i18n/en.json +1 -0
- package/lib/auth/i18n/fr.json +1 -0
- package/lib/auth/index.js +10 -0
- package/lib/auth/index.js.map +1 -1
- package/lib/auth/models/objectFields.js +4 -5
- package/lib/auth/models/objectFields.js.map +1 -1
- package/lib/auth/screens/SettingsScreen.js +7 -1
- package/lib/auth/screens/SettingsScreen.js.map +1 -1
- package/lib/auth/screens/UserScreen.js +5 -2
- package/lib/auth/screens/UserScreen.js.map +1 -1
- package/lib/components/molecules/DateDisplay/DateDisplay.d.ts +2 -1
- package/lib/components/molecules/DateDisplay/DateDisplay.js +4 -1
- package/lib/components/molecules/DateDisplay/DateDisplay.js.map +1 -1
- package/lib/components/molecules/InputBarCodeCard/InputBarCodeCard.d.ts +11 -9
- package/lib/components/molecules/InputBarCodeCard/InputBarCodeCard.js +46 -23
- package/lib/components/molecules/InputBarCodeCard/InputBarCodeCard.js.map +1 -1
- package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.d.ts +2 -1
- package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js +10 -3
- package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js.map +1 -1
- package/lib/components/organisms/MailMessageNotificationCard/MailMessageNotificationCard.d.ts +3 -2
- package/lib/components/organisms/MailMessageNotificationCard/MailMessageNotificationCard.js +2 -1
- package/lib/components/organisms/MailMessageNotificationCard/MailMessageNotificationCard.js.map +1 -1
- package/lib/components/organisms/PopupPrintTemplate/PopupPrintTemplate.d.ts +9 -0
- package/lib/components/organisms/PopupPrintTemplate/PopupPrintTemplate.js +89 -0
- package/lib/components/organisms/PopupPrintTemplate/PopupPrintTemplate.js.map +1 -0
- package/lib/components/organisms/index.d.ts +1 -0
- package/lib/components/organisms/index.js +1 -0
- package/lib/components/organisms/index.js.map +1 -1
- package/lib/components/pages/CustomFieldForm/CustomFieldForm.d.ts +4 -1
- package/lib/components/pages/CustomFieldForm/CustomFieldForm.js +48 -22
- package/lib/components/pages/CustomFieldForm/CustomFieldForm.js.map +1 -1
- package/lib/components/pages/FormView/Components/Panel.js.map +1 -1
- package/lib/components/pages/FormView/Custom/CustomButton.d.ts +1 -5
- package/lib/components/pages/FormView/Custom/CustomButton.js +3 -5
- package/lib/components/pages/FormView/Custom/CustomButton.js.map +1 -1
- package/lib/components/pages/FormView/Custom/CustomPicker.js +11 -6
- package/lib/components/pages/FormView/Custom/CustomPicker.js.map +1 -1
- package/lib/components/pages/FormView/Custom/CustomSearchBar.js +2 -2
- package/lib/components/pages/FormView/Custom/CustomSearchBar.js.map +1 -1
- package/lib/components/pages/FormView/FormView.d.ts +3 -1
- package/lib/components/pages/FormView/FormView.js +3 -3
- package/lib/components/pages/FormView/FormView.js.map +1 -1
- package/lib/components/templates/GlobalToolBox/GlobalToolBox.d.ts +3 -0
- package/lib/components/templates/GlobalToolBox/GlobalToolBox.js +77 -0
- package/lib/components/templates/GlobalToolBox/GlobalToolBox.js.map +1 -0
- package/lib/components/templates/PeriodInput/PeriodInput.d.ts +3 -1
- package/lib/components/templates/PeriodInput/PeriodInput.js +62 -11
- package/lib/components/templates/PeriodInput/PeriodInput.js.map +1 -1
- package/lib/components/templates/PrintTemplateSearchBar/PrintTemplateSearchBar.d.ts +12 -0
- package/lib/components/templates/PrintTemplateSearchBar/PrintTemplateSearchBar.js +38 -0
- package/lib/components/templates/PrintTemplateSearchBar/PrintTemplateSearchBar.js.map +1 -0
- package/lib/components/templates/SingleSelectSearchListView/SingleSelectSearchListView.d.ts +30 -0
- package/lib/components/templates/SingleSelectSearchListView/SingleSelectSearchListView.js +81 -0
- package/lib/components/templates/SingleSelectSearchListView/SingleSelectSearchListView.js.map +1 -0
- package/lib/components/templates/index.d.ts +3 -0
- package/lib/components/templates/index.js +3 -0
- package/lib/components/templates/index.js.map +1 -1
- package/lib/config/RouterProvider.d.ts +4 -0
- package/lib/config/RouterProvider.js +4 -0
- package/lib/config/RouterProvider.js.map +1 -1
- package/lib/config/routes.d.ts +6 -0
- package/lib/config/routes.js +4 -0
- package/lib/config/routes.js.map +1 -1
- package/lib/dashboards/component/AOPChart/AOPChart.js +76 -36
- package/lib/dashboards/component/AOPChart/AOPChart.js.map +1 -1
- package/lib/dashboards/component/AOPChart/DynamicSearchForm.d.ts +8 -0
- package/lib/dashboards/component/AOPChart/DynamicSearchForm.js +84 -0
- package/lib/dashboards/component/AOPChart/DynamicSearchForm.js.map +1 -0
- package/lib/dashboards/menu.helpers.d.ts +1 -0
- package/lib/dashboards/menu.helpers.js +13 -0
- package/lib/dashboards/menu.helpers.js.map +1 -1
- package/lib/features/appConfigSlice.d.ts +10 -1
- package/lib/features/attachedFilesSlice.d.ts +30 -3
- package/lib/features/authSlice.d.ts +30 -3
- package/lib/features/authSlice.js +2 -0
- package/lib/features/authSlice.js.map +1 -1
- package/lib/features/formSlice.d.ts +40 -4
- package/lib/features/index.d.ts +1 -2
- package/lib/features/index.js +1 -2
- package/lib/features/index.js.map +1 -1
- package/lib/features/mailMessageSlice.d.ts +80 -8
- package/lib/features/metaJsonFieldSlice.d.ts +40 -4
- package/lib/features/metaModuleSlice.d.ts +10 -1
- package/lib/features/metafileSlice.d.ts +10 -1
- package/lib/features/permissionSlice.d.ts +20 -2
- package/lib/features/printTemplateSlice.d.ts +16 -0
- package/lib/features/{mobileWebViewSlice.js → printTemplateSlice.js} +19 -12
- package/lib/features/printTemplateSlice.js.map +1 -0
- package/lib/features/userSlice.d.ts +10 -1
- package/lib/forms/studio/api.helpers.d.ts +2 -2
- package/lib/forms/studio/api.helpers.js +4 -3
- package/lib/forms/studio/api.helpers.js.map +1 -1
- package/lib/forms/studio/display.helpers.d.ts +1 -1
- package/lib/forms/studio/display.helpers.js +2 -1
- package/lib/forms/studio/display.helpers.js.map +1 -1
- package/lib/forms/types.d.ts +1 -1
- package/lib/header/hooks.d.ts +19 -1
- package/lib/header/hooks.js +49 -15
- package/lib/header/hooks.js.map +1 -1
- package/lib/header/types.d.ts +1 -0
- package/lib/hooks/use-header-registers.js +3 -1
- package/lib/hooks/use-header-registers.js.map +1 -1
- package/lib/hooks/use-storage-config.d.ts +4 -0
- package/lib/hooks/use-storage-config.js +71 -0
- package/lib/hooks/use-storage-config.js.map +1 -0
- package/lib/i18n/component/Translator.d.ts +17 -5
- package/lib/i18n/component/Translator.js +28 -23
- package/lib/i18n/component/Translator.js.map +1 -1
- package/lib/i18n/helpers/langages.d.ts +2 -5
- package/lib/i18n/helpers/langages.js +1 -7
- package/lib/i18n/helpers/langages.js.map +1 -1
- package/lib/i18n/hooks/use-translator.js +3 -4
- package/lib/i18n/hooks/use-translator.js.map +1 -1
- package/lib/i18n/i18n.d.ts +0 -1
- package/lib/i18n/i18n.js +1 -5
- package/lib/i18n/i18n.js.map +1 -1
- package/lib/i18n/translations/en.json +6 -2
- package/lib/i18n/translations/fr.json +6 -2
- package/lib/index.d.ts +2 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/models/objectFields.js +3 -0
- package/lib/models/objectFields.js.map +1 -1
- package/lib/models/searchFields.js +1 -0
- package/lib/models/searchFields.js.map +1 -1
- package/lib/navigator/ActiveScreenProvider.d.ts +35 -0
- package/lib/navigator/ActiveScreenProvider.js +117 -0
- package/lib/navigator/ActiveScreenProvider.js.map +1 -0
- package/lib/navigator/Navigator.d.ts +0 -2
- package/lib/navigator/Navigator.js +36 -53
- package/lib/navigator/Navigator.js.map +1 -1
- package/lib/navigator/drawer/Header.js +1 -1
- package/lib/navigator/drawer/Header.js.map +1 -1
- package/lib/navigator/drawer/MenuIconButton.js.map +1 -1
- package/lib/navigator/index.d.ts +2 -0
- package/lib/navigator/index.js +20 -0
- package/lib/navigator/index.js.map +1 -0
- package/lib/navigator/menu.helper.d.ts +0 -1
- package/lib/navigator/menu.helper.js +0 -13
- package/lib/navigator/menu.helper.js.map +1 -1
- package/lib/navigator/module.helper.d.ts +5 -3
- package/lib/navigator/module.helper.js +35 -6
- package/lib/navigator/module.helper.js.map +1 -1
- package/lib/screens/JsonFieldScreen.js +5 -14
- package/lib/screens/JsonFieldScreen.js.map +1 -1
- package/lib/sessions/SessionStorage.d.ts +1 -0
- package/lib/sessions/SessionStorage.js +5 -0
- package/lib/sessions/SessionStorage.js.map +1 -1
- package/lib/sessions/components/alerts/PopupCreateSession.js.map +1 -1
- package/lib/tools/FileViewer.d.ts +6 -2
- package/lib/tools/FileViewer.js +10 -4
- package/lib/tools/FileViewer.js.map +1 -1
- package/lib/utils/displayers.d.ts +1 -0
- package/lib/utils/displayers.js +1 -0
- package/lib/utils/displayers.js.map +1 -1
- package/lib/utils/image.js +7 -5
- package/lib/utils/image.js.map +1 -1
- package/lib/utils/index.d.ts +3 -3
- package/lib/utils/index.js +3 -3
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/list.d.ts +2 -0
- package/lib/utils/list.js +21 -0
- package/lib/utils/list.js.map +1 -1
- package/lib/utils/time.d.ts +1 -0
- package/lib/utils/time.js +1 -0
- package/lib/utils/time.js.map +1 -1
- package/lib/webViews/menu.helper.d.ts +1 -0
- package/lib/webViews/menu.helper.js +13 -0
- package/lib/webViews/menu.helper.js.map +1 -1
- package/package.json +38 -38
- package/lib/features/mobileDashboardSlice.d.ts +0 -4
- package/lib/features/mobileDashboardSlice.js +0 -43
- package/lib/features/mobileDashboardSlice.js.map +0 -1
- package/lib/features/mobileWebViewSlice.d.ts +0 -4
- 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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"}
|
package/lib/app/Application.d.ts
CHANGED
|
@@ -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;
|
package/lib/app/Application.js
CHANGED
|
@@ -22,17 +22,25 @@ import ContextedApplication from './ContextedApplication';
|
|
|
22
22
|
import { authModule } from '../auth';
|
|
23
23
|
import { RouterProvider } from '../config';
|
|
24
24
|
import { ApiProviderConfig } from '../apiProviders/config';
|
|
25
|
+
import { sessionStorage } from '../sessions';
|
|
25
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.
|
|
28
|
-
|
|
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
|
-
|
|
35
|
-
|
|
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,
|
|
@@ -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;
|
|
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;AAGzD,OAAO,EAAU,cAAc,EAAC,MAAM,aAAa,CAAC;AAkCpD,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,EACb,eAAe,GACE,EAAE,EAAE;IACrB,MAAM,OAAO,GAAa,MAAM,CAAC,CAAC,UAAU,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;IAE3E,cAAc,CAAC,IAAI,CAAC;QAClB,kBAAkB,EAAE,aAAa,EAAE,sBAAsB;QACzD,gBAAgB,EAAE,aAAa,EAAE,gBAAgB;KAClD,CAAC,CAAC;IAEH,iBAAiB,CAAC,oBAAoB;QACpC,aAAa,CAAC,4BAA4B,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,CAAC,IAAI,CAClB,OAAO,EACP,OAAO;aACJ,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;aACzC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAC9C,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,CAAC,IAAI,CACjB,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,WAAW,CAC3B,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;IAE/D,OAAO,CACL,CAAC,gBAAgB,CACf,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,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,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,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,CACF,eAAe,CAAC,CAAC,eAAe,CAAC,EAErC;IAAA,EAAE,gBAAgB,CAAC,CACpB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -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,10 +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;
|
|
14
16
|
customLoginPage?: React.ComponentType;
|
|
15
17
|
}
|
|
16
|
-
declare const ContextedApplication: ({ mainMenu, version, configuration, customLoginPage, }: ContextedApplicationProps) => React.JSX.Element;
|
|
18
|
+
declare const ContextedApplication: ({ modules, mainMenu, version, configuration, customLoginPage, }: ContextedApplicationProps) => React.JSX.Element;
|
|
17
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, customLoginPage, }) => {
|
|
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, customLoginPag
|
|
|
51
51
|
<HeaderBandList />
|
|
52
52
|
<LoadingIndicator />
|
|
53
53
|
<BlockInteractionMessage />
|
|
54
|
-
<
|
|
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":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,uBAAuB,EAAE,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,
|
|
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, {
|
|
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
|
-
|
|
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
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
-
}, [
|
|
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
|
-
|
|
96
|
-
}, [defaultRequestLimit, modulesObjectFields, modulesFormsRegisters]);
|
|
57
|
+
}, [defaultRequestLimit]);
|
|
97
58
|
if (loading) {
|
|
98
59
|
return null;
|
|
99
60
|
}
|
|
100
|
-
return (<
|
|
101
|
-
<
|
|
102
|
-
<
|
|
103
|
-
<
|
|
104
|
-
<
|
|
105
|
-
<
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,
|
|
1
|
+
{"version":3,"file":"ContextsProvider.js","sourceRoot":"","sources":["../../src/app/ContextsProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export default RootNavigator;
|
|
2
|
-
declare function RootNavigator({ mainMenu, onRefresh, configuration, customLoginPage: CustomLoginPage, }: {
|
|
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;
|
package/lib/app/RootNavigator.js
CHANGED
|
@@ -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 {
|
|
32
|
+
import { useConfigUpdater } from '../hooks/use-storage-config';
|
|
33
33
|
const { Navigator, Screen } = createNativeStackNavigator();
|
|
34
|
-
const RootNavigator = ({ mainMenu, onRefresh, configuration, customLoginPage: CustomLoginPage, }) => {
|
|
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, customLoginPage: Cu
|
|
|
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,6 +88,9 @@ const RootNavigator = ({ mainMenu, onRefresh, configuration, customLoginPage: Cu
|
|
|
88
88
|
handleSessionExpired();
|
|
89
89
|
}
|
|
90
90
|
}, [handleSessionExpired, sessionExpired]);
|
|
91
|
+
useEffect(() => {
|
|
92
|
+
updateConfigFromStorage();
|
|
93
|
+
}, [updateConfigFromStorage]);
|
|
91
94
|
return (<Navigator screenOptions={{ headerShown: false }}>
|
|
92
95
|
{!logged ? (CustomLoginPage ? (<Screen name="CustomLoginPage" component={CustomLoginPage}/>) : configuration?.enableConnectionSessions ? (<Screen name="SessionManagementScreen" component={SessionManagementScreen} initialParams={{
|
|
93
96
|
testInstanceConfig: configuration?.testInstanceConfig,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RootNavigator.js","sourceRoot":"","sources":["../../src/app/RootNavigator.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AACrE,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,aAAa,CAAC;AACrD,OAAO,EAAC,0BAA0B,EAAC,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAC;AACjE,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AACxC,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AACtC,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"RootNavigator.js","sourceRoot":"","sources":["../../src/app/RootNavigator.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AACrE,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,aAAa,CAAC;AACrD,OAAO,EAAC,0BAA0B,EAAC,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAC;AACjE,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AACxC,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AACtC,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAE7D,MAAM,EAAC,SAAS,EAAE,MAAM,EAAC,GAAG,0BAA0B,EAAE,CAAC;AAEzD,MAAM,aAAa,GAAG,CAAC,EACrB,OAAO,EACP,QAAQ,EACR,SAAS,EACT,aAAa,EACb,eAAe,EAAE,eAAe,GACjC,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC;IAC/B,MAAM,kBAAkB,GAAG,MAAM,EAAE,CAAC;IAEpC,MAAM,EAAC,cAAc,EAAC,GAAG,iBAAiB,EAAE,CAAC;IAC7C,MAAM,EAAC,kBAAkB,EAAC,GAAG,aAAa,EAAE,CAAC;IAC7C,MAAM,EAAC,uBAAuB,EAAC,GAAG,gBAAgB,EAAE,CAAC;IAErD,MAAM,EAAC,MAAM,EAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElD,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1C,OAAO,OAAO;aACX,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC;aAClD,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACpD,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAE3C,MAAM,YAAY,GAAG,WAAW,CAC9B,GAAG,EAAE,CAAC,CACJ,CAAC,aAAa,CACZ,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,kBAAkB,CAAC,CAAC,aAAa,EAAE,kBAAkB,CAAC,EACtD,CACH,EACD,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,CAAC,CACzD,CAAC;IAEF,MAAM,uBAAuB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACrD,MAAM,EAAC,WAAW,EAAC,GAAG,MAAM,UAAU,EAAE,CAAC;QAEzC,kBAAkB,CAAC;YACjB,GAAG,EAAE,sBAAsB;YAC3B,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;YACjC,KAAK,EAAE,MAAM,CAAC,cAAc;YAC5B,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,CAAC,WAAW;SACrB,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEvC,SAAS,CAAC,GAAG,EAAE;QACb,kBAAkB,CAAC,OAAO,GAAG,WAAW,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;QACxE,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAE9B,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,gBAAgB,CAAC;YACf,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;YAClC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,gCAAgC,CAAC;YAC/C,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACrB,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;YAC/B,IAAI,MAAM,EAAE;gBACV,MAAM,EAAC,YAAY,EAAC,GAAG,MAAM,YAAY,EAAE,CAAC;gBAE5C,IAAI,CAAC,YAAY,EAAE;oBACjB,oBAAoB,EAAE,CAAC;iBACxB;aACF;QACH,CAAC,CAAC;QAEF,aAAa,CAAC,OAAO,GAAG,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC3D,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC;IAEnC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,cAAc,EAAE;YAClB,oBAAoB,EAAE,CAAC;SACxB;IACH,CAAC,EAAE,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC,CAAC;IAE3C,SAAS,CAAC,GAAG,EAAE;QACb,uBAAuB,EAAE,CAAC;IAC5B,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAE9B,OAAO,CACL,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,EAAC,WAAW,EAAE,KAAK,EAAC,CAAC,CAC7C;MAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CACT,eAAe,CAAC,CAAC,CAAC,CAChB,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,EAAG,CAC9D,CAAC,CAAC,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAC5C,CAAC,MAAM,CACL,IAAI,CAAC,yBAAyB,CAC9B,SAAS,CAAC,CAAC,uBAAuB,CAAC,CACnC,aAAa,CAAC,CAAC;gBACb,kBAAkB,EAAE,aAAa,EAAE,kBAAkB;gBACrD,qBAAqB,EAAE,aAAa,EAAE,qBAAqB;gBAC3D,QAAQ,EAAE,aAAa,EAAE,QAAQ;aAClC,CAAC,EACF,CACH,CAAC,CAAC,CAAC,CACF,CAAC,MAAM,CACL,IAAI,CAAC,aAAa,CAClB,SAAS,CAAC,CAAC,WAAW,CAAC,CACvB,aAAa,CAAC,CAAC;gBACb,kBAAkB,EAAE,aAAa,EAAE,kBAAkB;gBACrD,qBAAqB,EAAE,aAAa,EAAE,qBAAqB;gBAC3D,QAAQ,EAAE,aAAa,EAAE,QAAQ;aAClC,CAAC,EACF,CACH,CACF,CAAC,CAAC,CAAC,CACF,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EAAG,CACxD,CACH;IAAA,EAAE,SAAS,CAAC,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -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(
|
|
70
|
+
modulesProvider.registerCallback(refreshData);
|
|
64
71
|
return () => {
|
|
65
|
-
modulesProvider.unregisterCallback(
|
|
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;
|
|
1
|
+
{"version":3,"file":"ModuleProvider.js","sourceRoot":"","sources":["../../../src/app/modules/ModuleProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
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 { useEffect, useMemo } from 'react';
|
|
19
|
+
import { processProvider } from '../../loader';
|
|
20
|
+
import { useBackgroundFunction } from '../../hooks/use-background-function';
|
|
21
|
+
import { core_modelAPI, core_searchFields, core_sortFields } from '../../models';
|
|
22
|
+
import { addModuleForms, formConfigsProvider } from '../../forms';
|
|
23
|
+
import { objectFieldsProvider } from '../../apiProviders';
|
|
24
|
+
import { initSelections } from '../../selections';
|
|
25
|
+
import { addModuleModels } from '../context.helper';
|
|
26
|
+
import { useModules } from './ModuleProvider';
|
|
27
|
+
export const useModulesInitialisation = () => {
|
|
28
|
+
const { modules } = useModules();
|
|
29
|
+
const modulesBackgroundFunctions = useMemo(() => {
|
|
30
|
+
const backgroundFunctions = modules
|
|
31
|
+
.filter(_module => _module.backgroundFunctions)
|
|
32
|
+
.flatMap(_module => _module.backgroundFunctions);
|
|
33
|
+
backgroundFunctions.push(processProvider.removeOldProcesses);
|
|
34
|
+
return backgroundFunctions;
|
|
35
|
+
}, [modules]);
|
|
36
|
+
useBackgroundFunction(modulesBackgroundFunctions);
|
|
37
|
+
const modulesObjectFields = useMemo(() => modules
|
|
38
|
+
.filter(_module => _module.models)
|
|
39
|
+
.reduce(addModuleModels, {
|
|
40
|
+
objectFields: { ...core_modelAPI },
|
|
41
|
+
sortFields: { ...core_sortFields },
|
|
42
|
+
searchFields: { ...core_searchFields },
|
|
43
|
+
typeObjects: [],
|
|
44
|
+
}), [modules]);
|
|
45
|
+
const modulesFormsRegisters = useMemo(() => {
|
|
46
|
+
return modules
|
|
47
|
+
.filter(_module => _module.models?.formsRegister)
|
|
48
|
+
.map(_module => _module.models.formsRegister)
|
|
49
|
+
.reduce((forms, _moduleForms) => addModuleForms(forms, _moduleForms), {});
|
|
50
|
+
}, [modules]);
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
objectFieldsProvider.init(modulesObjectFields);
|
|
53
|
+
initSelections(modulesObjectFields.typeObjects);
|
|
54
|
+
formConfigsProvider.init(modulesFormsRegisters);
|
|
55
|
+
}, [modulesObjectFields, modulesFormsRegisters]);
|
|
56
|
+
return useMemo(() => ({ modules }), [modules]);
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/app/modules/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,SAAS,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;AACzC,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAC,qBAAqB,EAAC,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAC,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAC,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAChE,OAAO,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAG5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,MAAM,EAAC,OAAO,EAAC,GAAG,UAAU,EAAE,CAAC;IAE/B,MAAM,0BAA0B,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9C,MAAM,mBAAmB,GAAG,OAAO;aAChC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;aAC9C,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAEnD,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QAE7D,OAAO,mBAAmB,CAAC;IAC7B,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,qBAAqB,CAAC,0BAA0B,CAAC,CAAC;IAElD,MAAM,mBAAmB,GAAW,OAAO,CACzC,GAAG,EAAE,CACH,OAAO;SACJ,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;SACjC,MAAM,CAAC,eAAe,EAAE;QACvB,YAAY,EAAE,EAAC,GAAG,aAAa,EAAC;QAChC,UAAU,EAAE,EAAC,GAAG,eAAe,EAAC;QAChC,YAAY,EAAE,EAAC,GAAG,iBAAiB,EAAC;QACpC,WAAW,EAAE,EAAE;KAChB,CAAC,EACN,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,EAAE;QACzC,OAAO,OAAO;aACX,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;aAChD,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;aAC5C,MAAM,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9E,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,SAAS,CAAC,GAAG,EAAE;QACb,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC/C,cAAc,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAChD,mBAAmB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClD,CAAC,EAAE,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAEjD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAC,OAAO,EAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC"}
|