@axelor/aos-mobile-core 8.0.7 → 8.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -22
- package/lib/api/login-api.js +3 -3
- package/lib/api/login-api.js.map +1 -1
- package/lib/api/metafile-api.js +1 -1
- package/lib/api/metafile-api.js.map +1 -1
- package/lib/apiProviders/Standard/ObjectFieldsProvider.d.ts +1 -1
- package/lib/apiProviders/Standard/requests.helper.d.ts +1 -0
- package/lib/apiProviders/Standard/requests.helper.js +3 -0
- package/lib/apiProviders/Standard/requests.helper.js.map +1 -1
- package/lib/apiProviders/utils.js +14 -8
- package/lib/apiProviders/utils.js.map +1 -1
- package/lib/app/Application.d.ts +3 -2
- package/lib/app/Application.js +7 -3
- package/lib/app/Application.js.map +1 -1
- package/lib/app/ContextedApplication.d.ts +2 -3
- package/lib/app/ContextedApplication.js +9 -4
- package/lib/app/ContextedApplication.js.map +1 -1
- package/lib/app/ContextsProvider.d.ts +1 -3
- package/lib/app/ContextsProvider.js +26 -15
- package/lib/app/ContextsProvider.js.map +1 -1
- package/lib/app/RootNavigator.d.ts +3 -4
- package/lib/app/RootNavigator.js +4 -5
- package/lib/app/RootNavigator.js.map +1 -1
- package/lib/app/context.helper.d.ts +3 -3
- package/lib/app/context.helper.js +50 -0
- package/lib/app/context.helper.js.map +1 -1
- package/lib/app/index.d.ts +1 -1
- package/lib/app/index.js +1 -0
- package/lib/app/index.js.map +1 -1
- package/lib/app/modules/ModuleProvider.d.ts +18 -0
- package/lib/app/modules/ModuleProvider.js +73 -0
- package/lib/app/modules/ModuleProvider.js.map +1 -0
- package/lib/app/modules/index.d.ts +2 -0
- package/lib/app/modules/index.js +20 -0
- package/lib/app/modules/index.js.map +1 -0
- package/lib/app/{Module.d.ts → modules/types.d.ts} +5 -2
- package/lib/app/{Module.js → modules/types.js} +1 -1
- package/lib/app/modules/types.js.map +1 -0
- package/lib/auth/api/config-api.d.ts +1 -0
- package/lib/auth/api/config-api.js +26 -0
- package/lib/auth/api/config-api.js.map +1 -0
- package/lib/auth/components/molecules/DashboardsCard/DashboardsCard.d.ts +5 -0
- package/lib/auth/components/molecules/DashboardsCard/DashboardsCard.js +49 -0
- package/lib/auth/components/molecules/DashboardsCard/DashboardsCard.js.map +1 -0
- package/lib/auth/components/molecules/NavigationToolsButton/NavigationToolsButton.d.ts +3 -0
- package/lib/auth/components/molecules/NavigationToolsButton/NavigationToolsButton.js +60 -0
- package/lib/auth/components/molecules/NavigationToolsButton/NavigationToolsButton.js.map +1 -0
- package/lib/auth/components/molecules/ShortcutsCard/ShortcutsCard.d.ts +7 -0
- package/lib/auth/components/molecules/ShortcutsCard/ShortcutsCard.js +71 -0
- package/lib/auth/components/molecules/ShortcutsCard/ShortcutsCard.js.map +1 -0
- package/lib/auth/components/molecules/TranslationsButton/TranslationsButton.d.ts +2 -1
- package/lib/auth/components/molecules/TranslationsButton/TranslationsButton.js +5 -3
- package/lib/auth/components/molecules/TranslationsButton/TranslationsButton.js.map +1 -1
- package/lib/auth/components/molecules/UserCard/UserCard.d.ts +6 -0
- package/lib/auth/components/molecules/UserCard/UserCard.js +105 -0
- package/lib/auth/components/molecules/UserCard/UserCard.js.map +1 -0
- package/lib/auth/components/molecules/index.d.ts +4 -0
- package/lib/auth/components/molecules/index.js +4 -0
- package/lib/auth/components/molecules/index.js.map +1 -1
- package/lib/auth/features/companySlice.d.ts +1 -10
- package/lib/auth/features/configSlice.d.ts +3 -11
- package/lib/auth/features/configSlice.js +20 -0
- package/lib/auth/features/configSlice.js.map +1 -1
- package/lib/auth/features/localizationSlice.d.ts +1 -10
- package/lib/auth/features/userSlice.d.ts +3 -21
- package/lib/auth/i18n/en.json +3 -1
- package/lib/auth/i18n/fr.json +3 -1
- package/lib/auth/index.d.ts +1 -1
- package/lib/auth/models/objectFields.js +4 -1
- package/lib/auth/models/objectFields.js.map +1 -1
- package/lib/auth/screens/SettingsScreen.d.ts +2 -1
- package/lib/auth/screens/SettingsScreen.js +45 -13
- package/lib/auth/screens/SettingsScreen.js.map +1 -1
- package/lib/auth/screens/UserScreen.d.ts +2 -1
- package/lib/auth/screens/UserScreen.js +18 -75
- package/lib/auth/screens/UserScreen.js.map +1 -1
- package/lib/components/external/Camera/Camera.d.ts +2 -1
- package/lib/components/external/Camera/Camera.js +49 -64
- package/lib/components/external/Camera/Camera.js.map +1 -1
- package/lib/components/external/Camera/CaptureButton.d.ts +1 -1
- package/lib/components/external/Camera/CaptureButton.js.map +1 -1
- package/lib/components/external/CodeHighlighter/CodeHighlighter.d.ts +2 -1
- package/lib/components/external/PlanningView/PlanningView.d.ts +1 -1
- package/lib/components/external/Stopwatch/Stopwatch.d.ts +2 -1
- package/lib/components/external/Timer/Timer.d.ts +2 -2
- package/lib/components/external/Timer/Timer.js +3 -2
- package/lib/components/external/Timer/Timer.js.map +1 -1
- package/lib/components/external/Toast/Toast.d.ts +2 -1
- package/lib/components/external/WebView/WebView.d.ts +9 -0
- package/lib/components/external/WebView/WebView.js +52 -0
- package/lib/components/external/WebView/WebView.js.map +1 -0
- package/lib/components/external/index.d.ts +1 -1
- package/lib/components/external/index.js +1 -1
- package/lib/components/external/index.js.map +1 -1
- package/lib/components/molecules/CameraButton/CameraButton.d.ts +2 -1
- package/lib/components/molecules/DateDisplay/DateDisplay.d.ts +2 -1
- package/lib/components/molecules/DatePicker/DatePicker.d.ts +2 -1
- package/lib/components/molecules/FocusScreen/FocusScreen.d.ts +2 -1
- package/lib/components/molecules/HeaderBand/HeaderBand.d.ts +2 -1
- package/lib/components/molecules/HeaderBand/HeaderBand.js +31 -8
- package/lib/components/molecules/HeaderBand/HeaderBand.js.map +1 -1
- package/lib/components/molecules/HeaderOptionsMenuItem/HeaderOptionMenuItem.d.ts +2 -2
- package/lib/components/molecules/InputBarCodeCard/InputBarCodeCard.d.ts +2 -1
- package/lib/components/molecules/MailMessageReadIcon/MailMessageReadIcon.d.ts +2 -1
- package/lib/components/molecules/PeriodDisplay/PeriodDisplay.d.ts +2 -1
- package/lib/components/molecules/TrackItem/TrackItem.d.ts +2 -1
- package/lib/components/molecules/UploadFileInput/UploadFileInput.d.ts +2 -1
- package/lib/components/organisms/AOSImage/AOSImage.d.ts +2 -1
- package/lib/components/organisms/AOSImageBubble/AOSImageBubble.d.ts +2 -1
- package/lib/components/organisms/AnomalyBubble/AnomalyBubble.d.ts +2 -1
- package/lib/components/organisms/AnomalyList/AnomalyList.d.ts +2 -1
- package/lib/components/organisms/DateInput/DateInput.d.ts +2 -1
- package/lib/components/organisms/HeaderBandList/HeaderBandList.d.ts +2 -1
- package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.d.ts +2 -1
- package/lib/components/organisms/MailMessageCard/MailMessageCard.d.ts +2 -1
- package/lib/components/organisms/MailMessageCommentCard/MailMessageCommentCard.d.ts +2 -1
- package/lib/components/organisms/MailMessageNotificationCard/MailMessageNotificationCard.d.ts +2 -1
- package/lib/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.d.ts +2 -1
- package/lib/components/organisms/SignatureInput/PictureIcon.d.ts +9 -0
- package/lib/components/organisms/SignatureInput/PictureIcon.js +35 -0
- package/lib/components/organisms/SignatureInput/PictureIcon.js.map +1 -0
- package/lib/components/organisms/SignatureInput/SignatureInput.d.ts +16 -0
- package/lib/components/organisms/SignatureInput/SignatureInput.js +197 -0
- package/lib/components/organisms/SignatureInput/SignatureInput.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 +2 -1
- package/lib/components/pages/CustomFieldForm/CustomFieldForm.js +7 -5
- package/lib/components/pages/CustomFieldForm/CustomFieldForm.js.map +1 -1
- package/lib/components/pages/FormView/Alerts/ConfirmationPopup.d.ts +7 -0
- package/lib/components/pages/FormView/Alerts/ConfirmationPopup.js +45 -0
- package/lib/components/pages/FormView/Alerts/ConfirmationPopup.js.map +1 -0
- package/lib/components/pages/FormView/Alerts/ConstraintsValidatorPopup.d.ts +2 -1
- package/lib/components/pages/FormView/Alerts/index.d.ts +1 -0
- package/lib/components/pages/FormView/Alerts/index.js +1 -0
- package/lib/components/pages/FormView/Alerts/index.js.map +1 -1
- package/lib/components/pages/FormView/Buttons/FloatingTools.d.ts +14 -0
- package/lib/components/pages/FormView/Buttons/FloatingTools.js +103 -0
- package/lib/components/pages/FormView/Buttons/FloatingTools.js.map +1 -0
- package/lib/components/pages/FormView/Buttons/index.d.ts +1 -0
- package/lib/components/pages/FormView/Buttons/index.js +19 -0
- package/lib/components/pages/FormView/Buttons/index.js.map +1 -0
- package/lib/components/pages/FormView/Components/Field.d.ts +3 -1
- package/lib/components/pages/FormView/Components/Field.js +14 -6
- package/lib/components/pages/FormView/Components/Field.js.map +1 -1
- package/lib/components/pages/FormView/Components/Panel.d.ts +2 -2
- package/lib/components/pages/FormView/Custom/CustomButton.d.ts +2 -1
- package/lib/components/pages/FormView/Custom/CustomPasswordInput.d.ts +2 -1
- package/lib/components/pages/FormView/Custom/CustomPicker.d.ts +2 -1
- package/lib/components/pages/FormView/Custom/CustomSearchBar.d.ts +2 -1
- package/lib/components/pages/FormView/FormView.d.ts +6 -2
- package/lib/components/pages/FormView/FormView.js +96 -119
- package/lib/components/pages/FormView/FormView.js.map +1 -1
- package/lib/components/templates/AttachedFilesView/AttachedFilesView.d.ts +5 -2
- package/lib/components/templates/AttachedFilesView/AttachedFilesView.js +2 -2
- package/lib/components/templates/AttachedFilesView/AttachedFilesView.js.map +1 -1
- package/lib/components/templates/MailMessageView/MailMessageView.d.ts +5 -2
- package/lib/components/templates/MailMessageView/MailMessageView.js +2 -2
- package/lib/components/templates/MailMessageView/MailMessageView.js.map +1 -1
- package/lib/components/templates/PeriodInput/PeriodInput.d.ts +15 -0
- package/lib/components/templates/PeriodInput/PeriodInput.js +85 -0
- package/lib/components/templates/PeriodInput/PeriodInput.js.map +1 -0
- package/lib/components/templates/PopupApplicationInformation/PopupApplicationInformation.d.ts +2 -1
- package/lib/components/templates/PopupMinimalRequiredVersion/PopupMinimalRequiredVersion.d.ts +2 -1
- package/lib/components/templates/SearchListView/SearchListView.d.ts +27 -0
- package/lib/components/templates/SearchListView/SearchListView.js +81 -0
- package/lib/components/templates/SearchListView/SearchListView.js.map +1 -0
- package/lib/components/templates/SearchTreeView/SearchTreeView.d.ts +38 -0
- package/lib/components/templates/SearchTreeView/SearchTreeView.js +110 -0
- package/lib/components/templates/SearchTreeView/SearchTreeView.js.map +1 -0
- package/lib/components/templates/SocialNetworkLinks/SocialNetworkLinks.d.ts +2 -1
- package/lib/components/templates/UserSearchBar/UserSearchBar.d.ts +2 -1
- 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/dashboards/api.helpers.d.ts +1 -0
- package/lib/dashboards/api.helpers.js +5 -0
- package/lib/dashboards/api.helpers.js.map +1 -1
- package/lib/dashboards/component/AOPChart/AOPChart.d.ts +6 -0
- package/lib/dashboards/component/AOPChart/AOPChart.js +67 -0
- package/lib/dashboards/component/AOPChart/AOPChart.js.map +1 -0
- package/lib/dashboards/component/AOPChart/api.helpers.d.ts +16 -0
- package/lib/dashboards/component/AOPChart/api.helpers.js +59 -0
- package/lib/dashboards/component/AOPChart/api.helpers.js.map +1 -0
- package/lib/dashboards/component/AOPChart/format.helpers.d.ts +11 -0
- package/lib/dashboards/component/AOPChart/format.helpers.js +47 -0
- package/lib/dashboards/component/AOPChart/format.helpers.js.map +1 -0
- package/lib/dashboards/component/RefreshChart/RefreshChart.d.ts +8 -0
- package/lib/dashboards/component/RefreshChart/RefreshChart.js +83 -0
- package/lib/dashboards/component/RefreshChart/RefreshChart.js.map +1 -0
- package/lib/dashboards/component/index.d.ts +2 -0
- package/lib/dashboards/component/index.js +20 -0
- package/lib/dashboards/component/index.js.map +1 -0
- package/lib/dashboards/index.d.ts +2 -0
- package/lib/dashboards/index.js +20 -0
- package/lib/dashboards/index.js.map +1 -0
- package/lib/dashboards/menu.helpers.d.ts +1 -24
- package/lib/dashboards/menu.helpers.js +0 -9
- package/lib/dashboards/menu.helpers.js.map +1 -1
- package/lib/dashboards/view/DashboardScreen.d.ts +7 -3
- package/lib/dashboards/view/DashboardScreen.js +4 -65
- package/lib/dashboards/view/DashboardScreen.js.map +1 -1
- package/lib/dashboards/view/DashboardView.d.ts +10 -0
- package/lib/dashboards/view/DashboardView.js +87 -0
- package/lib/dashboards/view/DashboardView.js.map +1 -0
- package/lib/dashboards/view/index.d.ts +1 -0
- package/lib/dashboards/view/index.js +1 -0
- package/lib/dashboards/view/index.js.map +1 -1
- package/lib/features/appConfigSlice.d.ts +1 -10
- package/lib/features/attachedFilesSlice.d.ts +3 -30
- package/lib/features/authSlice.d.ts +39 -34
- package/lib/features/authSlice.js +7 -2
- package/lib/features/authSlice.js.map +1 -1
- package/lib/features/formSlice.d.ts +5 -31
- package/lib/features/formSlice.js +10 -1
- package/lib/features/formSlice.js.map +1 -1
- package/lib/features/index.d.ts +2 -0
- package/lib/features/index.js +2 -0
- package/lib/features/index.js.map +1 -1
- package/lib/features/mailMessageSlice.d.ts +8 -80
- package/lib/features/metaJsonFieldSlice.d.ts +5 -30
- package/lib/features/metaJsonFieldSlice.js +14 -1
- package/lib/features/metaJsonFieldSlice.js.map +1 -1
- package/lib/features/metaModuleSlice.d.ts +1 -10
- package/lib/features/metafileSlice.d.ts +1 -10
- package/lib/features/mobileDashboardSlice.d.ts +1 -10
- package/lib/features/mobileWebViewSlice.d.ts +4 -0
- package/lib/features/mobileWebViewSlice.js +43 -0
- package/lib/features/mobileWebViewSlice.js.map +1 -0
- package/lib/features/onlineSlice.d.ts +3 -3
- package/lib/features/permissionSlice.d.ts +6 -0
- package/lib/features/permissionSlice.js +59 -0
- package/lib/features/permissionSlice.js.map +1 -0
- package/lib/features/userSlice.d.ts +1 -10
- package/lib/forms/action.helpers.d.ts +3 -0
- package/lib/forms/action.helpers.js +106 -0
- package/lib/forms/action.helpers.js.map +1 -0
- package/lib/forms/api.helpers.d.ts +4 -0
- package/lib/forms/api.helpers.js +13 -0
- package/lib/forms/api.helpers.js.map +1 -1
- package/lib/forms/display.helpers.d.ts +1 -2
- package/lib/forms/display.helpers.js +2 -19
- package/lib/forms/display.helpers.js.map +1 -1
- package/lib/forms/index.d.ts +1 -0
- package/lib/forms/index.js +1 -0
- package/lib/forms/index.js.map +1 -1
- package/lib/forms/studio/api.helpers.d.ts +3 -0
- package/lib/forms/studio/api.helpers.js +26 -0
- package/lib/forms/studio/api.helpers.js.map +1 -1
- package/lib/forms/studio/display.helpers.d.ts +2 -1
- package/lib/forms/studio/display.helpers.js +10 -4
- package/lib/forms/studio/display.helpers.js.map +1 -1
- package/lib/forms/studio/index.d.ts +1 -0
- package/lib/forms/studio/index.js +1 -0
- package/lib/forms/studio/index.js.map +1 -1
- package/lib/forms/studio/permission.helpers.d.ts +3 -0
- package/lib/forms/studio/permission.helpers.js +59 -0
- package/lib/forms/studio/permission.helpers.js.map +1 -0
- package/lib/forms/types.d.ts +9 -5
- package/lib/header/HeaderBandContext.d.ts +2 -1
- package/lib/i18n/component/Translator.d.ts +19 -3
- package/lib/i18n/translations/en.json +17 -2
- package/lib/i18n/translations/fr.json +17 -2
- package/lib/index.d.ts +3 -0
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/lib/models/objectFields.js +17 -0
- package/lib/models/objectFields.js.map +1 -1
- package/lib/navigator/NavigationInformationsProvider.d.ts +33 -0
- package/lib/navigator/NavigationInformationsProvider.js +81 -0
- package/lib/navigator/NavigationInformationsProvider.js.map +1 -0
- package/lib/navigator/Navigator.d.ts +2 -4
- package/lib/navigator/Navigator.js +32 -11
- package/lib/navigator/Navigator.js.map +1 -1
- package/lib/navigator/drawer/AuthMenuIconButton.d.ts +2 -1
- package/lib/navigator/drawer/BackIcon.d.ts +2 -1
- package/lib/navigator/drawer/DrawerContent.d.ts +3 -3
- package/lib/navigator/drawer/DrawerContent.js +3 -2
- package/lib/navigator/drawer/DrawerContent.js.map +1 -1
- package/lib/navigator/drawer/DrawerToggleButton.d.ts +2 -1
- package/lib/navigator/drawer/Header.d.ts +2 -1
- package/lib/navigator/drawer/Menu.d.ts +2 -1
- package/lib/navigator/drawer/MenuIconButton.d.ts +2 -1
- package/lib/navigator/drawer/MenuItem.d.ts +2 -1
- package/lib/navigator/drawer/MenuItemEntry.d.ts +2 -1
- package/lib/navigator/drawer/MenuSeparator.d.ts +2 -1
- package/lib/navigator/drawer/MenuTitle.d.ts +2 -1
- package/lib/navigator/drawer/SubMenuItem.d.ts +2 -1
- package/lib/navigator/drawer/SubMenuItemList.d.ts +2 -1
- package/lib/navigator/menu.helper.d.ts +4 -0
- package/lib/navigator/menu.helper.js +21 -0
- package/lib/navigator/menu.helper.js.map +1 -1
- package/lib/navigator/module.helper.d.ts +1 -2
- package/lib/navigator/module.helper.js.map +1 -1
- package/lib/permissions/api.helpers.d.ts +6 -0
- package/lib/permissions/api.helpers.js +64 -0
- package/lib/permissions/api.helpers.js.map +1 -0
- package/lib/permissions/format.helpers.d.ts +5 -0
- package/lib/permissions/format.helpers.js +81 -0
- package/lib/permissions/format.helpers.js.map +1 -0
- package/lib/permissions/hooks.d.ts +14 -0
- package/lib/permissions/hooks.js +97 -0
- package/lib/permissions/hooks.js.map +1 -0
- package/lib/permissions/index.d.ts +1 -0
- package/lib/permissions/index.js +19 -0
- package/lib/permissions/index.js.map +1 -0
- package/lib/permissions/type.helpers.d.ts +30 -0
- package/lib/permissions/type.helpers.js +34 -0
- package/lib/permissions/type.helpers.js.map +1 -0
- package/lib/redux/hooks.d.ts +2 -4
- package/lib/redux/hooks.js.map +1 -1
- package/lib/redux/store.d.ts +3 -1
- package/lib/screens/AttachedFilesScreen.d.ts +2 -1
- package/lib/screens/BarcodeDisplayScreen.d.ts +2 -1
- package/lib/screens/ErrorScreen.d.ts +2 -1
- package/lib/screens/JsonFieldScreen.d.ts +2 -1
- package/lib/screens/LoginScreen.d.ts +2 -1
- package/lib/screens/LoginScreen.js +1 -2
- package/lib/screens/LoginScreen.js.map +1 -1
- package/lib/screens/MailMessageScreen.d.ts +2 -1
- package/lib/screens/SessionManagementScreen.d.ts +2 -1
- package/lib/screens/SessionManagementScreen.js +2 -1
- package/lib/screens/SessionManagementScreen.js.map +1 -1
- package/lib/selections/SelectionProvider.d.ts +4 -0
- package/lib/selections/SelectionProvider.js +79 -0
- package/lib/selections/SelectionProvider.js.map +1 -0
- package/lib/selections/api.helpers.d.ts +3 -0
- package/lib/selections/api.helpers.js +31 -0
- package/lib/selections/api.helpers.js.map +1 -0
- package/lib/selections/format.helpers.d.ts +6 -0
- package/lib/selections/format.helpers.js +41 -0
- package/lib/selections/format.helpers.js.map +1 -0
- package/lib/selections/hooks.d.ts +8 -0
- package/lib/selections/hooks.js +93 -0
- package/lib/selections/hooks.js.map +1 -0
- package/lib/selections/index.d.ts +3 -0
- package/lib/selections/index.js +21 -0
- package/lib/selections/index.js.map +1 -0
- package/lib/selections/types.d.ts +61 -0
- package/lib/selections/types.js +19 -0
- package/lib/selections/types.js.map +1 -0
- package/lib/sessions/components/alerts/PopupCreateSession.d.ts +2 -1
- package/lib/sessions/components/alerts/PopupCreateSession.js +2 -2
- package/lib/sessions/components/alerts/PopupCreateSession.js.map +1 -1
- package/lib/sessions/components/alerts/PopupEditSession.d.ts +2 -1
- package/lib/sessions/components/alerts/PopupSession.d.ts +2 -1
- package/lib/sessions/components/alerts/PopupSession.js +1 -0
- package/lib/sessions/components/alerts/PopupSession.js.map +1 -1
- package/lib/sessions/components/display/LogoImage.d.ts +2 -1
- package/lib/sessions/components/display/SessionCard.d.ts +2 -1
- package/lib/sessions/components/display/SessionListCard.d.ts +2 -1
- package/lib/sessions/components/error/ErrorText.d.ts +2 -1
- package/lib/sessions/components/inputs/DefaultCheckbox.d.ts +2 -1
- package/lib/sessions/components/inputs/PasswordInput.d.ts +2 -1
- package/lib/sessions/components/inputs/SessionInputs.d.ts +2 -1
- package/lib/sessions/components/inputs/SessionInputs.js +2 -2
- package/lib/sessions/components/inputs/SessionInputs.js.map +1 -1
- package/lib/sessions/components/inputs/SessionNameInput.d.ts +2 -1
- package/lib/sessions/components/inputs/UrlInput.d.ts +2 -1
- package/lib/sessions/components/inputs/UsernameInput.d.ts +2 -1
- package/lib/tools/FilePicker.d.ts +1 -1
- package/lib/tools/FilePicker.js +12 -14
- package/lib/tools/FilePicker.js.map +1 -1
- package/lib/tools/LinkingProvider.d.ts +5 -0
- package/lib/tools/LinkingProvider.js +8 -1
- package/lib/tools/LinkingProvider.js.map +1 -1
- package/lib/tools/index.d.ts +1 -0
- package/lib/tools/index.js +1 -0
- package/lib/tools/index.js.map +1 -1
- package/lib/tools/linking.helper.d.ts +5 -0
- package/lib/tools/linking.helper.js +12 -0
- package/lib/tools/linking.helper.js.map +1 -1
- package/lib/webViews/api.helpers.d.ts +4 -0
- package/lib/webViews/api.helpers.js +29 -0
- package/lib/webViews/api.helpers.js.map +1 -0
- package/lib/webViews/display.helpers.d.ts +1 -0
- package/lib/webViews/display.helpers.js +21 -0
- package/lib/webViews/display.helpers.js.map +1 -0
- package/lib/webViews/menu.helper.d.ts +29 -0
- package/lib/webViews/menu.helper.js +77 -0
- package/lib/webViews/menu.helper.js.map +1 -0
- package/lib/webViews/view/WebViewScreen.d.ts +8 -0
- package/lib/webViews/view/WebViewScreen.js +68 -0
- package/lib/webViews/view/WebViewScreen.js.map +1 -0
- package/lib/webViews/view/index.d.ts +1 -0
- package/lib/webViews/view/index.js +19 -0
- package/lib/webViews/view/index.js.map +1 -0
- package/package.json +51 -60
- package/lib/app/Module.js.map +0 -1
- package/lib/components/external/CameraScanner/CameraScanner.d.ts +0 -2
- package/lib/components/external/CameraScanner/CameraScanner.js +0 -88
- package/lib/components/external/CameraScanner/CameraScanner.js.map +0 -1
|
@@ -0,0 +1,103 @@
|
|
|
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 React, { useMemo, useState } from 'react';
|
|
19
|
+
import { View } from 'react-native';
|
|
20
|
+
import { FloatingButton, useThemeColor } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { useTranslator } from '../../../../i18n';
|
|
22
|
+
import { ConfirmationPopup } from '../Alerts';
|
|
23
|
+
const CONTAINER_ZINDEX = 50;
|
|
24
|
+
const DEFAULT_ALERT_STATE = {
|
|
25
|
+
visible: false,
|
|
26
|
+
onPress: () => { },
|
|
27
|
+
};
|
|
28
|
+
const findAction = (actions, type) => {
|
|
29
|
+
return actions
|
|
30
|
+
.filter(_action => _action.customComponent == null)
|
|
31
|
+
.find(_action => _action.type === type);
|
|
32
|
+
};
|
|
33
|
+
const getOnPress = (action, wrapper) => {
|
|
34
|
+
return () => {
|
|
35
|
+
if (action?.onPress == null) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
wrapper(action.onPress, action.needValidation);
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
const FloatingTools = ({ style, hideIf = false, isCreation = false, isDirty = false, toggleReadonly, actions, onCreate, onPressWrapper, defaultOpenValue = false, }) => {
|
|
42
|
+
const I18n = useTranslator();
|
|
43
|
+
const Colors = useThemeColor();
|
|
44
|
+
const createAction = useMemo(() => findAction(actions, 'create'), [actions]);
|
|
45
|
+
const resetAction = useMemo(() => findAction(actions, 'reset'), [actions]);
|
|
46
|
+
const updateAction = useMemo(() => findAction(actions, 'update'), [actions]);
|
|
47
|
+
const deleteAction = useMemo(() => findAction(actions, 'delete'), [actions]);
|
|
48
|
+
const [alertConfig, setAlertConfig] = useState(DEFAULT_ALERT_STATE);
|
|
49
|
+
if (hideIf) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
return (<View style={{ zIndex: CONTAINER_ZINDEX }}>
|
|
53
|
+
<ConfirmationPopup visible={alertConfig.visible} handleClose={() => setAlertConfig(DEFAULT_ALERT_STATE)} handleConfirm={() => {
|
|
54
|
+
setAlertConfig(DEFAULT_ALERT_STATE);
|
|
55
|
+
alertConfig.onPress();
|
|
56
|
+
}}/>
|
|
57
|
+
<FloatingButton style={style} actions={[
|
|
58
|
+
{
|
|
59
|
+
key: 'formAction_create',
|
|
60
|
+
iconName: 'plus-lg',
|
|
61
|
+
onPress: () => isDirty
|
|
62
|
+
? setAlertConfig({ visible: true, onPress: onCreate })
|
|
63
|
+
: onCreate,
|
|
64
|
+
color: Colors.infoColor,
|
|
65
|
+
hideIf: createAction == null,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
key: 'formAction_save',
|
|
69
|
+
iconName: 'floppy-fill',
|
|
70
|
+
onPress: getOnPress(isCreation ? createAction : updateAction, onPressWrapper),
|
|
71
|
+
color: Colors.successColor,
|
|
72
|
+
indicator: isDirty,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
key: 'formAction_cancel',
|
|
76
|
+
iconName: 'eraser-fill',
|
|
77
|
+
onPress: () => isDirty
|
|
78
|
+
? setAlertConfig({
|
|
79
|
+
visible: true,
|
|
80
|
+
onPress: getOnPress(resetAction, onPressWrapper),
|
|
81
|
+
})
|
|
82
|
+
: getOnPress(resetAction, onPressWrapper),
|
|
83
|
+
color: Colors.cautionColor,
|
|
84
|
+
closeOnPress: true,
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
key: 'formAction_delete',
|
|
88
|
+
iconName: 'trash-fill',
|
|
89
|
+
onPress: () => isDirty
|
|
90
|
+
? setAlertConfig({
|
|
91
|
+
visible: true,
|
|
92
|
+
onPress: getOnPress(deleteAction, onPressWrapper),
|
|
93
|
+
})
|
|
94
|
+
: getOnPress(deleteAction, onPressWrapper),
|
|
95
|
+
color: Colors.errorColor,
|
|
96
|
+
closeOnPress: true,
|
|
97
|
+
hideIf: deleteAction == null,
|
|
98
|
+
},
|
|
99
|
+
]} iconName="pencil-fill" closeIconName="box-arrow-down-left" closeOnOutsideClick={false} translator={I18n.t} useCircleStyle onGlobalPress={toggleReadonly} defaultOpenValue={defaultOpenValue}/>
|
|
100
|
+
</View>);
|
|
101
|
+
};
|
|
102
|
+
export default FloatingTools;
|
|
103
|
+
//# sourceMappingURL=FloatingTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FloatingTools.js","sourceRoot":"","sources":["../../../../../src/components/pages/FormView/Buttons/FloatingTools.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as FloatingTools } from './FloatingTools';
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
export { default as FloatingTools } from './FloatingTools';
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/pages/FormView/Buttons/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { DisplayField, DisplayPanel, States } from '../../../../forms';
|
|
2
3
|
interface FieldProps {
|
|
3
4
|
handleFieldChange: (newValue: any, fieldName: string) => void;
|
|
@@ -5,6 +6,7 @@ interface FieldProps {
|
|
|
5
6
|
object: any;
|
|
6
7
|
globalReadonly?: (values?: States) => boolean;
|
|
7
8
|
formContent: (DisplayPanel | DisplayField)[];
|
|
9
|
+
modelName: string;
|
|
8
10
|
}
|
|
9
|
-
declare const Field: ({ handleFieldChange, _field, object, globalReadonly, formContent, }: FieldProps) => JSX.Element;
|
|
11
|
+
declare const Field: ({ handleFieldChange, _field, object, globalReadonly, formContent, modelName, }: FieldProps) => React.JSX.Element;
|
|
10
12
|
export default Field;
|
|
@@ -22,13 +22,18 @@ import { getKeyboardType, getWidget, getZIndex, getZIndexStyle, validateFieldSch
|
|
|
22
22
|
import { useTranslator } from '../../../../i18n';
|
|
23
23
|
import { useSelector } from '../../../../redux/hooks';
|
|
24
24
|
import { UploadFileInput } from '../../../molecules';
|
|
25
|
-
import { DateInput } from '../../../organisms';
|
|
25
|
+
import { DateInput, SignatureInput } from '../../../organisms';
|
|
26
26
|
import { CustomPasswordInput } from '../Custom';
|
|
27
|
-
|
|
27
|
+
import { useFieldPermitted } from '../../../../permissions';
|
|
28
|
+
const Field = ({ handleFieldChange, _field, object, globalReadonly = () => false, formContent, modelName, }) => {
|
|
28
29
|
const I18n = useTranslator();
|
|
29
30
|
const Colors = useThemeColor();
|
|
30
31
|
const value = object?.[_field.key];
|
|
31
32
|
const storeState = useSelector((state) => state);
|
|
33
|
+
const { hidden, readonly } = useFieldPermitted({
|
|
34
|
+
modelName,
|
|
35
|
+
fieldName: _field.key,
|
|
36
|
+
});
|
|
32
37
|
const zIndex = useMemo(() => {
|
|
33
38
|
return getZIndex(formContent, _field.key);
|
|
34
39
|
}, [_field.key, formContent]);
|
|
@@ -47,17 +52,18 @@ const Field = ({ handleFieldChange, _field, object, globalReadonly = () => false
|
|
|
47
52
|
handleFieldChange(_value, _field.key);
|
|
48
53
|
}, [_field.key, handleFieldChange, handleValidate]);
|
|
49
54
|
const isHidden = useMemo(() => {
|
|
50
|
-
return _field.hideIf({ objectState: object, storeState: storeState });
|
|
51
|
-
}, [_field, object, storeState]);
|
|
55
|
+
return (hidden || _field.hideIf({ objectState: object, storeState: storeState }));
|
|
56
|
+
}, [_field, hidden, object, storeState]);
|
|
52
57
|
const isRequired = useMemo(() => {
|
|
53
58
|
return (_field.required ||
|
|
54
59
|
_field.requiredIf({ objectState: object, storeState: storeState }));
|
|
55
60
|
}, [_field, object, storeState]);
|
|
56
61
|
const isReadonly = useMemo(() => {
|
|
57
|
-
return (
|
|
62
|
+
return (readonly ||
|
|
63
|
+
globalReadonly({ objectState: object, storeState: storeState }) ||
|
|
58
64
|
_field.readonly ||
|
|
59
65
|
_field.readonlyIf({ objectState: object, storeState: storeState }));
|
|
60
|
-
}, [_field, globalReadonly, object, storeState]);
|
|
66
|
+
}, [_field, globalReadonly, object, readonly, storeState]);
|
|
61
67
|
const fieldStyle = useMemo(() => ({
|
|
62
68
|
width: `${_field.parentPanel != null ? 100 : 90}%`,
|
|
63
69
|
alignSelf: 'center',
|
|
@@ -81,6 +87,8 @@ const Field = ({ handleFieldChange, _field, object, globalReadonly = () => false
|
|
|
81
87
|
return (<StarScore size={25} score={value} onPress={handleChange} editMode={!isReadonly} showMissingStar={true} {..._field.options}/>);
|
|
82
88
|
case 'file':
|
|
83
89
|
return (<UploadFileInput style={fieldStyle} title={I18n.t(_field.titleKey)} defaultValue={value} onUpload={handleChange} required={isRequired} readonly={isReadonly} {..._field.options}/>);
|
|
90
|
+
case 'signature':
|
|
91
|
+
return (<SignatureInput style={fieldStyle} title={I18n.t(_field.titleKey)} defaultValue={value} onChange={handleChange} required={isRequired} readonly={isReadonly} {..._field.options}/>);
|
|
84
92
|
case 'date':
|
|
85
93
|
return (<DateInput style={fieldStyle} title={I18n.t(_field.titleKey)} mode={_field.type} defaultDate={value ? new Date(value) : null} onDateChange={_date => {
|
|
86
94
|
if (_date) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../../../src/components/pages/FormView/Components/Field.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAC,UAAU,EAAa,UAAU,EAAE,IAAI,EAAY,MAAM,cAAc,CAAC;AAChF,OAAO,EACL,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,KAAK,EACL,SAAS,EACT,IAAI,EACJ,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAIL,eAAe,EACf,SAAS,EACT,SAAS,EACT,cAAc,EACd,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../../../src/components/pages/FormView/Components/Field.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
2
|
import { DisplayField, DisplayPanel } from '../../../../forms';
|
|
3
3
|
interface PanelProps {
|
|
4
4
|
renderItem: (item: DisplayPanel | DisplayField) => ReactNode;
|
|
5
5
|
formContent: (DisplayPanel | DisplayField)[];
|
|
6
6
|
_panel: DisplayPanel;
|
|
7
7
|
}
|
|
8
|
-
declare const Panel: ({ renderItem, formContent, _panel }: PanelProps) => JSX.Element;
|
|
8
|
+
declare const Panel: ({ renderItem, formContent, _panel }: PanelProps) => React.JSX.Element;
|
|
9
9
|
export default Panel;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { customComponentOptions } from '../../../../forms/types';
|
|
2
3
|
interface props extends customComponentOptions {
|
|
3
4
|
item: any;
|
|
@@ -6,5 +7,5 @@ interface props extends customComponentOptions {
|
|
|
6
7
|
title?: string;
|
|
7
8
|
readonly?: boolean;
|
|
8
9
|
}
|
|
9
|
-
declare const CustomButton: ({ item, style, title, readonly }: props) => JSX.Element;
|
|
10
|
+
declare const CustomButton: ({ item, style, title, readonly }: props) => React.JSX.Element;
|
|
10
11
|
export default CustomButton;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { customComponentOptions } from '../../../../forms/types';
|
|
2
3
|
interface props extends customComponentOptions {
|
|
3
4
|
style?: any;
|
|
@@ -7,5 +8,5 @@ interface props extends customComponentOptions {
|
|
|
7
8
|
required?: boolean;
|
|
8
9
|
readonly?: boolean;
|
|
9
10
|
}
|
|
10
|
-
declare const CustomPasswordInput: ({ style, title, defaultValue, onChange, required, readonly, }: props) => JSX.Element;
|
|
11
|
+
declare const CustomPasswordInput: ({ style, title, defaultValue, onChange, required, readonly, }: props) => React.JSX.Element;
|
|
11
12
|
export default CustomPasswordInput;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { customComponentOptions } from '../../../../forms/types';
|
|
2
3
|
interface props extends customComponentOptions {
|
|
3
4
|
item: any;
|
|
@@ -8,5 +9,5 @@ interface props extends customComponentOptions {
|
|
|
8
9
|
required?: boolean;
|
|
9
10
|
readonly?: boolean;
|
|
10
11
|
}
|
|
11
|
-
declare const CustomPicker: ({ item, style, title, defaultValue, onChange, required, readonly, }: props) => JSX.Element;
|
|
12
|
+
declare const CustomPicker: ({ item, style, title, defaultValue, onChange, required, readonly, }: props) => React.JSX.Element;
|
|
12
13
|
export default CustomPicker;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { customComponentOptions } from '../../../../forms/types';
|
|
2
3
|
interface props extends customComponentOptions {
|
|
3
4
|
item: any;
|
|
@@ -8,5 +9,5 @@ interface props extends customComponentOptions {
|
|
|
8
9
|
required?: boolean;
|
|
9
10
|
readonly?: boolean;
|
|
10
11
|
}
|
|
11
|
-
declare const CustomSearchBar: ({ item, style, title, defaultValue, onChange, required, readonly, }: props) => JSX.Element;
|
|
12
|
+
declare const CustomSearchBar: ({ item, style, title, defaultValue, onChange, required, readonly, }: props) => React.JSX.Element;
|
|
12
13
|
export default CustomSearchBar;
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { Action } from '../../../forms';
|
|
2
3
|
interface FormProps {
|
|
3
4
|
style?: any;
|
|
4
5
|
defaultValue?: any;
|
|
6
|
+
creationDefaultValue?: any;
|
|
5
7
|
formKey: string;
|
|
8
|
+
isCustom?: boolean;
|
|
6
9
|
actions: Action[];
|
|
7
|
-
|
|
10
|
+
floatingTools?: boolean;
|
|
11
|
+
defaultEditMode?: boolean;
|
|
8
12
|
}
|
|
9
|
-
declare const FormView: ({ style, defaultValue, formKey, actions: _actions,
|
|
13
|
+
declare const FormView: ({ style, defaultValue, creationDefaultValue, formKey, isCustom, actions: _actions, floatingTools, defaultEditMode, }: FormProps) => React.JSX.Element;
|
|
10
14
|
export default FormView;
|
|
@@ -18,24 +18,36 @@
|
|
|
18
18
|
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
19
19
|
import { StyleSheet, View } from 'react-native';
|
|
20
20
|
import { useDispatch, useSelector } from 'react-redux';
|
|
21
|
-
import { Button,
|
|
21
|
+
import { Button, KeyboardAvoidingScrollView, Screen, WarningCard, } from '@axelor/aos-mobile-ui';
|
|
22
22
|
import { useTranslator } from '../../../i18n';
|
|
23
|
-
import {
|
|
23
|
+
import { usePermitted } from '../../../permissions';
|
|
24
|
+
import { getActionConfig, getConfigItems, getFields, getValidationErrors, getZIndexStyle, isField, mapErrorWithTranslationKey, sortContent, useFormConfig, validateSchema, } from '../../../forms';
|
|
24
25
|
import { Field as FieldComponent, Panel as PanelComponent } from './Components';
|
|
25
26
|
import { ConstraintsValidatorPopup } from './Alerts';
|
|
26
|
-
import { clearRecord
|
|
27
|
-
import { isEmpty } from '../../../utils';
|
|
28
|
-
|
|
27
|
+
import { clearRecord } from '../../../features/formSlice';
|
|
28
|
+
import { areObjectsEquals, isEmpty } from '../../../utils';
|
|
29
|
+
import { FloatingTools } from './Buttons';
|
|
30
|
+
const FormView = ({ style, defaultValue, creationDefaultValue, formKey, isCustom = false, actions: _actions, floatingTools = true, defaultEditMode = false, }) => {
|
|
29
31
|
const I18n = useTranslator();
|
|
30
|
-
const Colors = useThemeColor();
|
|
31
32
|
const dispatch = useDispatch();
|
|
32
33
|
const { config } = useFormConfig(formKey);
|
|
33
34
|
const storeState = useSelector((state) => state);
|
|
34
35
|
const { record } = useSelector((state) => state.form);
|
|
35
|
-
const
|
|
36
|
+
const { canCreate, canDelete, readonly } = usePermitted({
|
|
37
|
+
modelName: config?.modelName,
|
|
38
|
+
});
|
|
39
|
+
const [object, setObject] = useState(defaultValue ?? creationDefaultValue ?? {});
|
|
36
40
|
const [errors, setErrors] = useState();
|
|
37
|
-
const [isReadonly, setIsReadonly] = useState(
|
|
41
|
+
const [isReadonly, setIsReadonly] = useState(floatingTools && !defaultEditMode);
|
|
42
|
+
const [buttonHeight, setButtonHeight] = useState(0);
|
|
38
43
|
const formContent = useMemo(() => sortContent(config), [config]);
|
|
44
|
+
const isCreation = useMemo(() => object?.id == null, [object?.id]);
|
|
45
|
+
const isDirty = useMemo(() => {
|
|
46
|
+
if (isCreation) {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
return !areObjectsEquals(defaultValue, object);
|
|
50
|
+
}, [defaultValue, isCreation, object]);
|
|
39
51
|
useEffect(() => {
|
|
40
52
|
mapErrorWithTranslationKey();
|
|
41
53
|
}, []);
|
|
@@ -45,11 +57,12 @@ const FormView = ({ style, defaultValue, formKey, actions: _actions, readonlyBut
|
|
|
45
57
|
useEffect(() => {
|
|
46
58
|
setObject(_current => {
|
|
47
59
|
if (isEmpty(record)) {
|
|
48
|
-
|
|
60
|
+
const _default = defaultValue ?? creationDefaultValue ?? {};
|
|
61
|
+
if (_default == null || areObjectsEquals(_current, _default)) {
|
|
49
62
|
return _current;
|
|
50
63
|
}
|
|
51
64
|
else {
|
|
52
|
-
return
|
|
65
|
+
return _default;
|
|
53
66
|
}
|
|
54
67
|
}
|
|
55
68
|
if (_current === record) {
|
|
@@ -59,13 +72,13 @@ const FormView = ({ style, defaultValue, formKey, actions: _actions, readonlyBut
|
|
|
59
72
|
return record;
|
|
60
73
|
}
|
|
61
74
|
});
|
|
62
|
-
}, [defaultValue, record]);
|
|
75
|
+
}, [creationDefaultValue, defaultValue, isCreation, record]);
|
|
63
76
|
const handleFieldChange = (newValue, fieldName) => {
|
|
64
77
|
setObject(_current => {
|
|
65
78
|
if (_current?.[fieldName] === newValue) {
|
|
66
79
|
return _current;
|
|
67
80
|
}
|
|
68
|
-
const updatedObject = _current != null ? { ..._current } :
|
|
81
|
+
const updatedObject = _current != null ? { ..._current } : {};
|
|
69
82
|
updatedObject[fieldName] = newValue;
|
|
70
83
|
getFields(config)
|
|
71
84
|
.filter(_field => _field.dependsOn != null)
|
|
@@ -81,104 +94,24 @@ const FormView = ({ style, defaultValue, formKey, actions: _actions, readonlyBut
|
|
|
81
94
|
return updatedObject;
|
|
82
95
|
});
|
|
83
96
|
};
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
97
|
+
const isButtonAuthorized = useCallback((_action) => {
|
|
98
|
+
switch (_action.type) {
|
|
99
|
+
case 'create':
|
|
100
|
+
return canCreate;
|
|
101
|
+
case 'update':
|
|
102
|
+
return !readonly;
|
|
103
|
+
case 'delete':
|
|
104
|
+
return canDelete;
|
|
105
|
+
default:
|
|
106
|
+
return true;
|
|
94
107
|
}
|
|
95
|
-
|
|
96
|
-
switch (_action.type) {
|
|
97
|
-
case 'create':
|
|
98
|
-
buttonConfig.onPress = () => {
|
|
99
|
-
dispatch(createRecord({
|
|
100
|
-
modelName: config.modelName,
|
|
101
|
-
data: object,
|
|
102
|
-
}));
|
|
103
|
-
handleReset();
|
|
104
|
-
};
|
|
105
|
-
break;
|
|
106
|
-
case 'update':
|
|
107
|
-
buttonConfig.onPress = () => {
|
|
108
|
-
dispatch(updateRecord({
|
|
109
|
-
modelName: config.modelName,
|
|
110
|
-
data: object,
|
|
111
|
-
}));
|
|
112
|
-
};
|
|
113
|
-
break;
|
|
114
|
-
case 'refresh':
|
|
115
|
-
buttonConfig.onPress = () => {
|
|
116
|
-
dispatch(refreshRecord({
|
|
117
|
-
modelName: config.modelName,
|
|
118
|
-
id: object?.id,
|
|
119
|
-
}));
|
|
120
|
-
};
|
|
121
|
-
break;
|
|
122
|
-
case 'reset':
|
|
123
|
-
buttonConfig.onPress = handleReset;
|
|
124
|
-
break;
|
|
125
|
-
default:
|
|
126
|
-
buttonConfig.onPress = () => console.log(object);
|
|
127
|
-
break;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
return buttonConfig;
|
|
131
|
-
};
|
|
132
|
-
const renderAction = (_action) => {
|
|
133
|
-
if (_action.hideIf?.({ objectState: object, storeState })) {
|
|
134
|
-
return null;
|
|
135
|
-
}
|
|
136
|
-
const buttonConfig = getButtonConfig(_action);
|
|
137
|
-
const isDisabled = (_action.needRequiredFields
|
|
138
|
-
? isObjectMissingRequiredField(object, updateRequiredFieldsOfConfig(config, {
|
|
139
|
-
objectState: object,
|
|
140
|
-
storeState,
|
|
141
|
-
}))
|
|
142
|
-
: false) || _action.disabledIf?.({ objectState: object, storeState });
|
|
143
|
-
const originalOnPress = buttonConfig.onPress;
|
|
144
|
-
buttonConfig.onPress = () => {
|
|
145
|
-
originalOnPress();
|
|
146
|
-
if (_action.readonlyAfterAction) {
|
|
147
|
-
toggleReadonlyMode();
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
if (_action.customComponent) {
|
|
151
|
-
return React.cloneElement(_action.customComponent, {
|
|
152
|
-
key: _action.key,
|
|
153
|
-
onPress: () => handleValidate(buttonConfig.onPress, _action.needValidation),
|
|
154
|
-
disabled: isDisabled,
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
return (<Button key={_action.key} iconName={_action.iconName} color={_action.color} title={I18n.t(buttonConfig.title)} onPress={() => handleValidate(buttonConfig.onPress, _action.needValidation)} disabled={isDisabled}/>);
|
|
158
|
-
};
|
|
108
|
+
}, [canCreate, canDelete, readonly]);
|
|
159
109
|
const toggleReadonlyMode = () => {
|
|
160
110
|
setIsReadonly(currentState => !currentState);
|
|
161
111
|
};
|
|
162
112
|
const handleReset = useCallback(() => {
|
|
163
|
-
setObject(defaultValue ?? {});
|
|
164
|
-
}, [defaultValue]);
|
|
165
|
-
const actions = useMemo(() => {
|
|
166
|
-
return [
|
|
167
|
-
{
|
|
168
|
-
key: 'cancel-readonly',
|
|
169
|
-
titleKey: 'Base_Cancel',
|
|
170
|
-
type: 'custom',
|
|
171
|
-
needValidation: true,
|
|
172
|
-
customAction: () => {
|
|
173
|
-
toggleReadonlyMode();
|
|
174
|
-
handleReset();
|
|
175
|
-
},
|
|
176
|
-
hideIf: () => !readonlyButton,
|
|
177
|
-
color: Colors.errorColor,
|
|
178
|
-
},
|
|
179
|
-
...(_actions ?? []),
|
|
180
|
-
];
|
|
181
|
-
}, [Colors.errorColor, _actions, handleReset, readonlyButton]);
|
|
113
|
+
setObject((isCreation ? creationDefaultValue : defaultValue) ?? {});
|
|
114
|
+
}, [creationDefaultValue, defaultValue, isCreation]);
|
|
182
115
|
const handleValidate = (_action, needValidation) => {
|
|
183
116
|
if (needValidation) {
|
|
184
117
|
return validateSchema(config, object)
|
|
@@ -194,9 +127,49 @@ const FormView = ({ style, defaultValue, formKey, actions: _actions, readonlyBut
|
|
|
194
127
|
resolve();
|
|
195
128
|
});
|
|
196
129
|
};
|
|
130
|
+
const actions = useMemo(() => {
|
|
131
|
+
if (!Array.isArray(_actions) || _actions.length === 0) {
|
|
132
|
+
return [];
|
|
133
|
+
}
|
|
134
|
+
return _actions
|
|
135
|
+
.filter(_action => isButtonAuthorized(_action) &&
|
|
136
|
+
_action.hideIf?.({ objectState: object, storeState }) !== true)
|
|
137
|
+
.map(_action => getActionConfig(_action, config, {
|
|
138
|
+
handleObjectChange: setObject,
|
|
139
|
+
objectState: object,
|
|
140
|
+
storeState,
|
|
141
|
+
dispatch,
|
|
142
|
+
handleReset,
|
|
143
|
+
}, I18n));
|
|
144
|
+
}, [
|
|
145
|
+
I18n,
|
|
146
|
+
_actions,
|
|
147
|
+
config,
|
|
148
|
+
dispatch,
|
|
149
|
+
handleReset,
|
|
150
|
+
isButtonAuthorized,
|
|
151
|
+
object,
|
|
152
|
+
storeState,
|
|
153
|
+
]);
|
|
154
|
+
const renderAction = (_action) => {
|
|
155
|
+
const onPress = () => handleValidate(() => {
|
|
156
|
+
_action.onPress();
|
|
157
|
+
if (_action.readonlyAfterAction) {
|
|
158
|
+
toggleReadonlyMode();
|
|
159
|
+
}
|
|
160
|
+
}, _action.needValidation);
|
|
161
|
+
if (_action.customComponent) {
|
|
162
|
+
return React.cloneElement(_action.customComponent, {
|
|
163
|
+
key: _action.key,
|
|
164
|
+
onPress: onPress,
|
|
165
|
+
disabled: _action.isDisabled,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
return (<Button key={_action.key} iconName={_action.iconName} color={_action.color} title={_action.title} onPress={onPress} disabled={_action.isDisabled}/>);
|
|
169
|
+
};
|
|
197
170
|
const renderItem = (item) => {
|
|
198
171
|
if (isField(item)) {
|
|
199
|
-
return (<FieldComponent key={`${item.key} - ${item.order}`} handleFieldChange={handleFieldChange} _field={item} object={object} globalReadonly={() => isReadonly ||
|
|
172
|
+
return (<FieldComponent key={`${item.key} - ${item.order}`} handleFieldChange={handleFieldChange} _field={item} object={object} modelName={config.modelName} globalReadonly={() => isReadonly ||
|
|
200
173
|
(config.readonlyIf &&
|
|
201
174
|
config.readonlyIf({ objectState: object, storeState }))} formContent={getConfigItems(config)}/>);
|
|
202
175
|
}
|
|
@@ -207,19 +180,27 @@ const FormView = ({ style, defaultValue, formKey, actions: _actions, readonlyBut
|
|
|
207
180
|
<WarningCard errorMessage={I18n.t('Base_FormNotFound')}/>
|
|
208
181
|
</View>);
|
|
209
182
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
183
|
+
if (!isCustom && object?.id == null && !canCreate) {
|
|
184
|
+
return (<View>
|
|
185
|
+
<WarningCard errorMessage={I18n.t('Base_FormMissingCreateAccess')}/>
|
|
186
|
+
</View>);
|
|
187
|
+
}
|
|
188
|
+
return (<Screen fixedItems={<View onLayout={({ nativeEvent }) => {
|
|
189
|
+
setButtonHeight(nativeEvent.layout.height);
|
|
190
|
+
}}>
|
|
191
|
+
{isReadonly
|
|
192
|
+
? undefined
|
|
193
|
+
: actions
|
|
194
|
+
.filter(_action => !floatingTools || _action.type === 'custom')
|
|
195
|
+
.map(renderAction)}
|
|
196
|
+
</View>} removeSpaceOnTop={true}>
|
|
197
|
+
<KeyboardAvoidingScrollView keyboardOffset={{ ios: 70, android: 100 }} style={styles.scroll}>
|
|
217
198
|
{Array.isArray(errors) && (<ConstraintsValidatorPopup onContinue={() => setErrors(null)} errors={errors}/>)}
|
|
218
199
|
<View style={[styles.container, style, getZIndexStyle(5)]}>
|
|
219
200
|
{formContent.map(renderItem)}
|
|
220
201
|
</View>
|
|
221
202
|
</KeyboardAvoidingScrollView>
|
|
222
|
-
{
|
|
203
|
+
<FloatingTools hideIf={!floatingTools} style={{ bottom: buttonHeight + 20 }} toggleReadonly={toggleReadonlyMode} actions={actions} isCreation={isCreation} onCreate={() => setObject(creationDefaultValue)} onPressWrapper={handleValidate} isDirty={isDirty} defaultOpenValue={defaultEditMode}/>
|
|
223
204
|
</Screen>);
|
|
224
205
|
};
|
|
225
206
|
const styles = StyleSheet.create({
|
|
@@ -228,11 +209,7 @@ const styles = StyleSheet.create({
|
|
|
228
209
|
},
|
|
229
210
|
container: {
|
|
230
211
|
alignItems: 'center',
|
|
231
|
-
|
|
232
|
-
floatingButton: {
|
|
233
|
-
position: 'absolute',
|
|
234
|
-
bottom: 25,
|
|
235
|
-
right: 25,
|
|
212
|
+
paddingBottom: 125,
|
|
236
213
|
},
|
|
237
214
|
});
|
|
238
215
|
export default FormView;
|