@axelor/aos-mobile-core 8.1.7 → 8.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +5 -1
- package/lib/app/Application.js +15 -7
- package/lib/app/Application.js.map +1 -1
- package/lib/app/ContextedApplication.d.ts +4 -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 +3 -1
- package/lib/app/RootNavigator.js +7 -4
- 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/external/Camera/Camera.js +1 -1
- package/lib/components/external/Camera/Camera.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 +47 -3
- package/lib/features/authSlice.js +8 -1
- 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 +4 -2
- package/lib/index.js +4 -2
- 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
|
@@ -15,47 +15,70 @@
|
|
|
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, { useState, useEffect } from 'react';
|
|
18
|
+
import React, { useState, useEffect, useMemo, useCallback } from 'react';
|
|
19
19
|
import { StyleSheet, View } from 'react-native';
|
|
20
|
-
import { Icon, IconInput, Text, useThemeColor } from '@axelor/aos-mobile-ui';
|
|
20
|
+
import { checkNullString, getCommonStyles, Icon, IconInput, Text, useThemeColor, } from '@axelor/aos-mobile-ui';
|
|
21
21
|
import { useScannedValueByKey, useScannerSelector, } from '../../../features/scannerSlice';
|
|
22
22
|
import { useCameraScannerValueByKey } from '../../../features/cameraScannerSlice';
|
|
23
23
|
import { useScanActivator, useScannerDeviceActivator, } from '../../../hooks/use-scan-activator';
|
|
24
|
-
const InputBarCodeCard = ({ style,
|
|
24
|
+
const InputBarCodeCard = ({ style, title, placeholder, defaultValue, readonly = false, required = false, onChange = () => { }, scanKeySearch, }) => {
|
|
25
25
|
const Colors = useThemeColor();
|
|
26
|
-
const [inputData, setInputData] = useState(defaultValue);
|
|
27
26
|
const { isEnabled: scannerEnabled, scanKey } = useScannerSelector();
|
|
28
|
-
const scannedValue = useScannedValueByKey(scanKeySearch);
|
|
29
|
-
const scanData = useCameraScannerValueByKey(scanKeySearch);
|
|
30
27
|
const { enable: onScanPress } = useScanActivator(scanKeySearch);
|
|
31
28
|
const { enable: enableScanner } = useScannerDeviceActivator(scanKeySearch);
|
|
29
|
+
const scannedValue = useScannedValueByKey(scanKeySearch);
|
|
30
|
+
const scanData = useCameraScannerValueByKey(scanKeySearch);
|
|
31
|
+
const [inputData, setInputData] = useState(defaultValue);
|
|
32
|
+
const handleValueChange = useCallback((_v) => {
|
|
33
|
+
setInputData(_v);
|
|
34
|
+
onChange(_v);
|
|
35
|
+
}, [onChange]);
|
|
32
36
|
useEffect(() => {
|
|
33
37
|
if (scannedValue) {
|
|
34
|
-
|
|
35
|
-
onChange(scannedValue);
|
|
38
|
+
handleValueChange(scannedValue);
|
|
36
39
|
}
|
|
37
40
|
else if (scanData?.value != null) {
|
|
38
|
-
|
|
39
|
-
onChange(scanData.value);
|
|
41
|
+
handleValueChange(scanData.value);
|
|
40
42
|
}
|
|
41
|
-
}, [
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
}, [handleValueChange, scanData, scannedValue]);
|
|
44
|
+
const _required = useMemo(() => required && (inputData == null || inputData === ''), [required, inputData]);
|
|
45
|
+
const styles = useMemo(() => getStyles(Colors, _required), [Colors, _required]);
|
|
46
|
+
const commonStyles = useMemo(() => getCommonStyles(Colors, _required), [Colors, _required]);
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
setInputData(defaultValue);
|
|
49
|
+
}, [defaultValue]);
|
|
50
|
+
return (<View style={[styles.container, style]}>
|
|
51
|
+
{!checkNullString(title) && <Text style={styles.title}>{title}</Text>}
|
|
52
|
+
<IconInput style={[
|
|
53
|
+
commonStyles.filter,
|
|
54
|
+
commonStyles.filterSize,
|
|
55
|
+
commonStyles.filterAlign,
|
|
56
|
+
styles.content,
|
|
57
|
+
]} placeholder={placeholder} value={inputData} onChange={handleValueChange} readOnly={readonly} required={required} onSelection={enableScanner} onEndFocus={() => { }} rightIconsList={[
|
|
58
|
+
<Icon name="arrow-counterclockwise" size={20} visible={inputData !== defaultValue} touchable={!readonly} style={styles.icon} onPress={() => handleValueChange(defaultValue)}/>,
|
|
59
|
+
<Icon name="qr-code-scan" size={20} color={!readonly && scannerEnabled && scanKey === scanKeySearch
|
|
48
60
|
? Colors.primaryColor.background
|
|
49
|
-
: Colors.secondaryColor_dark.background} touchable={
|
|
61
|
+
: Colors.secondaryColor_dark.background} touchable={!readonly} style={styles.icon} onPress={onScanPress}/>,
|
|
50
62
|
]}/>
|
|
51
63
|
</View>);
|
|
52
64
|
};
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
65
|
+
const getStyles = (Colors, required) => StyleSheet.create({
|
|
66
|
+
container: {
|
|
67
|
+
width: '90%',
|
|
68
|
+
minHeight: 62,
|
|
69
|
+
alignSelf: 'center',
|
|
70
|
+
},
|
|
71
|
+
content: {
|
|
72
|
+
width: '100%',
|
|
73
|
+
borderColor: required
|
|
74
|
+
? Colors.errorColor.background
|
|
75
|
+
: Colors.secondaryColor.background,
|
|
76
|
+
borderWidth: 1,
|
|
77
|
+
marginHorizontal: 0,
|
|
78
|
+
minHeight: 40,
|
|
56
79
|
},
|
|
57
|
-
|
|
58
|
-
|
|
80
|
+
title: {
|
|
81
|
+
marginLeft: 10,
|
|
59
82
|
},
|
|
60
83
|
icon: {
|
|
61
84
|
width: '7%',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputBarCodeCard.js","sourceRoot":"","sources":["../../../../src/components/molecules/InputBarCodeCard/InputBarCodeCard.
|
|
1
|
+
{"version":3,"file":"InputBarCodeCard.js","sourceRoot":"","sources":["../../../../src/components/molecules/InputBarCodeCard/InputBarCodeCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export default HeaderOptionsMenu;
|
|
2
|
-
declare function HeaderOptionsMenu({ model, modelId, actions, disableMailMessages, disableJsonFields, attachedFileScreenTitle, barcodeFieldname, }: {
|
|
2
|
+
declare function HeaderOptionsMenu({ model, modelId, actions, disableMailMessages, disableJsonFields, disablePrint, attachedFileScreenTitle, barcodeFieldname, }: {
|
|
3
3
|
model: any;
|
|
4
4
|
modelId: any;
|
|
5
5
|
actions?: any[];
|
|
6
6
|
disableMailMessages: any;
|
|
7
7
|
disableJsonFields: any;
|
|
8
|
+
disablePrint: any;
|
|
8
9
|
attachedFileScreenTitle: any;
|
|
9
10
|
barcodeFieldname: any;
|
|
10
11
|
}): React.JSX.Element;
|
|
@@ -15,17 +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 React, { useMemo } from 'react';
|
|
18
|
+
import React, { useCallback, useMemo } from 'react';
|
|
19
19
|
import { Dimensions, StyleSheet, View } from 'react-native';
|
|
20
20
|
import { DropdownMenu, DropdownMenuItem } from '@axelor/aos-mobile-ui';
|
|
21
21
|
import { HeaderOptionMenuItem } from '../../molecules';
|
|
22
22
|
import { useBasicActions } from '../../../header';
|
|
23
|
+
import PopupPrintTemplate from '../PopupPrintTemplate/PopupPrintTemplate';
|
|
23
24
|
const SMALLEST_WINDOW_WIDTH = 300;
|
|
24
|
-
const HeaderOptionsMenu = ({ model, modelId, actions = [], disableMailMessages, disableJsonFields, attachedFileScreenTitle, barcodeFieldname, }) => {
|
|
25
|
-
const { mailMessagesAction, attachedFilesAction, barcodeAction, jsonFieldsAction, } = useBasicActions({
|
|
25
|
+
const HeaderOptionsMenu = ({ model, modelId, actions = [], disableMailMessages, disableJsonFields, disablePrint, attachedFileScreenTitle, barcodeFieldname, }) => {
|
|
26
|
+
const { mailMessagesAction, attachedFilesAction, barcodeAction, printAction, jsonFieldsAction, isTemplateSelectorVisible, closePrintTemplateSelector, } = useBasicActions({
|
|
26
27
|
model,
|
|
27
28
|
modelId,
|
|
28
29
|
disableMailMessages,
|
|
30
|
+
disablePrint,
|
|
29
31
|
barcodeFieldname,
|
|
30
32
|
disableJsonFields,
|
|
31
33
|
attachedFileScreenTitle,
|
|
@@ -35,6 +37,7 @@ const HeaderOptionsMenu = ({ model, modelId, actions = [], disableMailMessages,
|
|
|
35
37
|
const allActions = useMemo(() => [
|
|
36
38
|
attachedFilesAction,
|
|
37
39
|
mailMessagesAction,
|
|
40
|
+
printAction,
|
|
38
41
|
barcodeAction,
|
|
39
42
|
jsonFieldsAction,
|
|
40
43
|
...actions,
|
|
@@ -43,12 +46,14 @@ const HeaderOptionsMenu = ({ model, modelId, actions = [], disableMailMessages,
|
|
|
43
46
|
.sort((a, b) => a.order - b.order), [
|
|
44
47
|
actions,
|
|
45
48
|
attachedFilesAction,
|
|
49
|
+
printAction,
|
|
46
50
|
barcodeAction,
|
|
47
51
|
jsonFieldsAction,
|
|
48
52
|
mailMessagesAction,
|
|
49
53
|
]);
|
|
50
54
|
const headerActions = useMemo(() => allActions.filter(_action => _action.showInHeader).slice(0, 2), [allActions]);
|
|
51
55
|
const menuActions = useMemo(() => allActions.filter(_action => !headerActions.some(_header => _header.key === _action.key)), [allActions, headerActions]);
|
|
56
|
+
const renderPopupPrintTemplate = useCallback(() => isTemplateSelectorVisible ? (<PopupPrintTemplate visible={isTemplateSelectorVisible} onClose={closePrintTemplateSelector} model={model} modelId={modelId}/>) : null, [closePrintTemplateSelector, isTemplateSelectorVisible, model, modelId]);
|
|
52
57
|
const HeaderItemList = useMemo(() => headerActions.map((_action, index) => (<MenuItem key={_action.key + index} icon={_action.iconName} color={_action.iconColor} indicator={_action.indicator} placeholder={_action.title} hideIf={_action.hideIf} disableIf={_action.disableIf} onPress={_action.onPress} customComponent={_action.customComponent}/>)), [headerActions]);
|
|
53
58
|
const MenuItemList = useMemo(() => menuActions.map((_action, index) => (<DropdownMenuItem key={_action.key + index} icon={_action.iconName} indicator={_action.indicator} placeholder={_action.title} hideIf={_action.hideIf} disableIf={_action.disableIf} onPress={_action.onPress} customComponent={_action.customComponent}/>)), [menuActions]);
|
|
54
59
|
if (allActions.length === 0) {
|
|
@@ -57,11 +62,13 @@ const HeaderOptionsMenu = ({ model, modelId, actions = [], disableMailMessages,
|
|
|
57
62
|
if (collapseMenuItems) {
|
|
58
63
|
return (<View style={styles.container}>
|
|
59
64
|
<DropdownMenu>{[...HeaderItemList, ...MenuItemList]}</DropdownMenu>
|
|
65
|
+
{renderPopupPrintTemplate()}
|
|
60
66
|
</View>);
|
|
61
67
|
}
|
|
62
68
|
return (<View style={styles.container}>
|
|
63
69
|
{HeaderItemList}
|
|
64
70
|
{menuActions.length !== 0 && <DropdownMenu>{MenuItemList}</DropdownMenu>}
|
|
71
|
+
{renderPopupPrintTemplate()}
|
|
65
72
|
</View>);
|
|
66
73
|
};
|
|
67
74
|
const styles = StyleSheet.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderOptionsMenu.js","sourceRoot":"","sources":["../../../../src/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"HeaderOptionsMenu.js","sourceRoot":"","sources":["../../../../src/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js"],"names":[],"mappings":"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"}
|
package/lib/components/organisms/MailMessageNotificationCard/MailMessageNotificationCard.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { ReactElement } from 'react';
|
|
2
2
|
interface TagProps {
|
|
3
3
|
title: string;
|
|
4
4
|
style: string;
|
|
@@ -11,6 +11,7 @@ interface MailMessageNotificationCardProps {
|
|
|
11
11
|
tracks?: any[];
|
|
12
12
|
flags?: any;
|
|
13
13
|
style?: any;
|
|
14
|
+
customTopComponent?: ReactElement<any>;
|
|
14
15
|
}
|
|
15
|
-
declare const MailMessageNotificationCard: ({ relatedModel, relatedId, title, tag, tracks, flags, style, }: MailMessageNotificationCardProps) => React.JSX.Element;
|
|
16
|
+
declare const MailMessageNotificationCard: ({ relatedModel, relatedId, title, tag, tracks, flags, style, customTopComponent, }: MailMessageNotificationCardProps) => React.JSX.Element;
|
|
16
17
|
export default MailMessageNotificationCard;
|
|
@@ -21,7 +21,7 @@ import { Card, Icon, LabelText, useThemeColor, UnorderedList, Badge, } from '@ax
|
|
|
21
21
|
import MailMessageNotificationType from '../../../types/mail-message-notification-type';
|
|
22
22
|
import { MailMessageReadIcon, TrackItem } from '../../molecules';
|
|
23
23
|
const MAX_TRACK_ITEMS = 5;
|
|
24
|
-
const MailMessageNotificationCard = ({ relatedModel, relatedId, title, tag, tracks, flags, style, }) => {
|
|
24
|
+
const MailMessageNotificationCard = ({ relatedModel, relatedId, title, tag, tracks, flags, style, customTopComponent, }) => {
|
|
25
25
|
const Colors = useThemeColor();
|
|
26
26
|
const [moreItems, setMoreItems] = useState(false);
|
|
27
27
|
const displayFlags = useMemo(() => relatedModel != null && relatedId != null && flags != null, [flags, relatedId, relatedModel]);
|
|
@@ -29,6 +29,7 @@ const MailMessageNotificationCard = ({ relatedModel, relatedId, title, tag, trac
|
|
|
29
29
|
<Card style={[styles.card, style]}>
|
|
30
30
|
<View style={styles.cardHeader}>
|
|
31
31
|
<LabelText iconName="info-circle-fill" size={18} value={title} style={styles.headerLabel} textStyle={styles.title} color={Colors.primaryColor.background}/>
|
|
32
|
+
{customTopComponent && React.cloneElement(customTopComponent)}
|
|
32
33
|
{tag && (<View style={styles.tagContainer}>
|
|
33
34
|
<Badge title={tag.title} color={MailMessageNotificationType.getTagColor(tag.style, Colors)} txtStyle={styles.tagTxt}/>
|
|
34
35
|
</View>)}
|
package/lib/components/organisms/MailMessageNotificationCard/MailMessageNotificationCard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MailMessageNotificationCard.js","sourceRoot":"","sources":["../../../../src/components/organisms/MailMessageNotificationCard/MailMessageNotificationCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"MailMessageNotificationCard.js","sourceRoot":"","sources":["../../../../src/components/organisms/MailMessageNotificationCard/MailMessageNotificationCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,OAAO,EAAgB,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAChE,OAAO,EACL,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,aAAa,EACb,aAAa,EACb,KAAK,GACN,MAAM,uBAAuB,CAAC;AAC/B,OAAO,2BAA2B,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAC,mBAAmB,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAkB/D,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B,MAAM,2BAA2B,GAAG,CAAC,EACnC,YAAY,EACZ,SAAS,EACT,KAAK,EACL,GAAG,EACH,MAAM,EACN,KAAK,EACL,KAAK,EACL,kBAAkB,GACe,EAAE,EAAE;IACrC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,YAAY,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAChE,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,CACjC,CAAC;IAEF,OAAO,CACL,CAAC,gBAAgB,CACf,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,CACxC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC,CAC1C,aAAa,CAAC,CAAC,GAAG,CAAC,CACnB;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAChC;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAC7B;UAAA,CAAC,SAAS,CACR,QAAQ,CAAC,kBAAkB,CAC3B,IAAI,CAAC,CAAC,EAAE,CAAC,CACT,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAC1B,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACxB,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,EAExC;UAAA,CAAC,kBAAkB,IAAI,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAC7D;UAAA,CAAC,GAAG,IAAI,CACN,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAC/B;cAAA,CAAC,KAAK,CACJ,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CACjB,KAAK,CAAC,CAAC,2BAA2B,CAAC,WAAW,CAC5C,GAAG,CAAC,KAAK,EACT,MAAM,CACP,CAAC,CACF,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAE5B;YAAA,EAAE,IAAI,CAAC,CACR,CACD;UAAA,CAAC,YAAY,IAAI,CACf,CAAC,mBAAmB,CAClB,eAAe,CAAC,CAAC,KAAK,CAAC,CACvB,KAAK,CAAC,CAAC,YAAY,CAAC,CACpB,OAAO,CAAC,CAAC,SAAS,CAAC,EACnB,CACH,CACH;QAAA,EAAE,IAAI,CACN;QAAA,CAAC,MAAM,IAAI,CACT,EACE;YAAA,CAAC,aAAa,CACZ,IAAI,CAAC,CAAC,MAAM,CAAC,CACb,aAAa,CAAC,CACZ,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,eAAe,IAAI,eAAe,CACjE,CACD,UAAU,CAAC,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,CACtB,CAAC,SAAS,CACR,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,eAAe,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CACtC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,YAAY,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAChC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAClB,CACH,CAAC,EAEJ;YAAA,CAAC,MAAM,CAAC,MAAM,GAAG,eAAe,IAAI,CAClC,CAAC,IAAI,CACH,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAChD,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CACtC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EACvB,CACH,CACH;UAAA,GAAG,CACJ,CACH;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,gBAAgB,CAAC,CACpB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE;QACJ,KAAK,EAAE,KAAK;QACZ,iBAAiB,EAAE,EAAE;QACrB,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,CAAC;KACV;IACD,UAAU,EAAE;QACV,aAAa,EAAE,KAAK;QACpB,KAAK,EAAE,MAAM;KACd;IACD,SAAS,EAAE;QACT,KAAK,EAAE,KAAK;QACZ,cAAc,EAAE,UAAU;QAC1B,UAAU,EAAE,QAAQ;KACrB;IACD,QAAQ,EAAE;QACR,SAAS,EAAE,QAAQ;KACpB;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,KAAK;QACZ,aAAa,EAAE,aAAa;KAC7B;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,EAAE;KACb;IACD,WAAW,EAAE;QACX,IAAI,EAAE,CAAC;KACR;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;KACb;CACF,CAAC,CAAC;AAEH,eAAe,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface PopupPrintTemplateProps {
|
|
3
|
+
visible: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
model: string;
|
|
6
|
+
modelId: number;
|
|
7
|
+
}
|
|
8
|
+
declare const PopupPrintTemplate: ({ visible, onClose, model, modelId, }: PopupPrintTemplateProps) => React.JSX.Element;
|
|
9
|
+
export default PopupPrintTemplate;
|
|
@@ -0,0 +1,89 @@
|
|
|
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, { useCallback, useEffect, useState } from 'react';
|
|
19
|
+
import { Alert } from '@axelor/aos-mobile-ui';
|
|
20
|
+
import { useTranslator } from '../../../i18n';
|
|
21
|
+
import { useSelector } from '../../../redux/hooks';
|
|
22
|
+
import { fetchActionPrint, fetchFileToPrint, } from '../../../api/print-template-api';
|
|
23
|
+
import { openFileInExternalApp } from '../../../tools';
|
|
24
|
+
import { PrintTemplateSearchBar } from '../../templates';
|
|
25
|
+
import { showToastMessage } from '../../../utils';
|
|
26
|
+
const PopupPrintTemplate = ({ visible = false, onClose, model, modelId, }) => {
|
|
27
|
+
const I18n = useTranslator();
|
|
28
|
+
const { baseUrl, token, jsessionId } = useSelector((state) => state.auth);
|
|
29
|
+
const [templateIdList, setTemplateIdList] = useState([]);
|
|
30
|
+
const [selectedTemplate, setSelectedTemplate] = useState(null);
|
|
31
|
+
const [showPopup, setShowPopup] = useState(false);
|
|
32
|
+
const handleShowFile = useCallback(async (file) => {
|
|
33
|
+
const fileName = file.split('=')[1];
|
|
34
|
+
await openFileInExternalApp({ fileName, path: file }, { baseUrl, token, jsessionId }, I18n);
|
|
35
|
+
onClose();
|
|
36
|
+
}, [I18n, baseUrl, jsessionId, onClose, token]);
|
|
37
|
+
const handleCancel = useCallback(() => {
|
|
38
|
+
setTemplateIdList([]);
|
|
39
|
+
setSelectedTemplate(null);
|
|
40
|
+
onClose();
|
|
41
|
+
}, [onClose]);
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
if (visible) {
|
|
44
|
+
fetchActionPrint({ id: modelId, model: model })
|
|
45
|
+
.then(({ templateSet, fileName, error }) => {
|
|
46
|
+
if (Array.isArray(templateSet) && templateSet.length > 0) {
|
|
47
|
+
setTemplateIdList(templateSet);
|
|
48
|
+
setShowPopup(true);
|
|
49
|
+
}
|
|
50
|
+
else if (fileName) {
|
|
51
|
+
handleShowFile(fileName);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
showToastMessage({
|
|
55
|
+
type: 'error',
|
|
56
|
+
position: 'bottom',
|
|
57
|
+
text1: 'Error',
|
|
58
|
+
text2: error,
|
|
59
|
+
});
|
|
60
|
+
onClose();
|
|
61
|
+
}
|
|
62
|
+
})
|
|
63
|
+
.catch(handleCancel);
|
|
64
|
+
}
|
|
65
|
+
}, [handleCancel, handleShowFile, model, modelId, onClose, visible]);
|
|
66
|
+
const openFile = useCallback(() => {
|
|
67
|
+
fetchFileToPrint({ printingTemplate: selectedTemplate, id: modelId, model })
|
|
68
|
+
.then(({ error, fileName }) => {
|
|
69
|
+
if (fileName == null) {
|
|
70
|
+
showToastMessage({
|
|
71
|
+
type: 'error',
|
|
72
|
+
position: 'bottom',
|
|
73
|
+
text1: 'Error',
|
|
74
|
+
text2: error,
|
|
75
|
+
});
|
|
76
|
+
handleCancel();
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
handleShowFile(fileName);
|
|
80
|
+
}
|
|
81
|
+
})
|
|
82
|
+
.catch(handleCancel);
|
|
83
|
+
}, [selectedTemplate, modelId, model, handleCancel, handleShowFile]);
|
|
84
|
+
return (<Alert visible={showPopup} cancelButtonConfig={{ onPress: onClose }} confirmButtonConfig={{ onPress: openFile }} translator={I18n.t}>
|
|
85
|
+
<PrintTemplateSearchBar idList={templateIdList} defaultValue={selectedTemplate} onChange={setSelectedTemplate}/>
|
|
86
|
+
</Alert>);
|
|
87
|
+
};
|
|
88
|
+
export default PopupPrintTemplate;
|
|
89
|
+
//# sourceMappingURL=PopupPrintTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PopupPrintTemplate.js","sourceRoot":"","sources":["../../../../src/components/organisms/PopupPrintTemplate/PopupPrintTemplate.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,5 +9,6 @@ export { default as LogoImage } from "../../sessions/components/display/LogoImag
|
|
|
9
9
|
export { default as MailMessageCard } from "./MailMessageCard/MailMessageCard";
|
|
10
10
|
export { default as MailMessageCommentCard } from "./MailMessageCommentCard/MailMessageCommentCard";
|
|
11
11
|
export { default as MailMessageNotificationCard } from "./MailMessageNotificationCard/MailMessageNotificationCard";
|
|
12
|
+
export { default as PopupPrintTemplate } from "./PopupPrintTemplate/PopupPrintTemplate";
|
|
12
13
|
export { default as SignatureInput } from "./SignatureInput/SignatureInput";
|
|
13
14
|
export { default as ScannerAutocompleteSearch } from "./ScannerAutocompleteSearch/ScannerAutocompleteSearch";
|
|
@@ -26,6 +26,7 @@ export { default as LogoImage } from '../../sessions/components/display/LogoImag
|
|
|
26
26
|
export { default as MailMessageCard } from './MailMessageCard/MailMessageCard';
|
|
27
27
|
export { default as MailMessageCommentCard } from './MailMessageCommentCard/MailMessageCommentCard';
|
|
28
28
|
export { default as MailMessageNotificationCard } from './MailMessageNotificationCard/MailMessageNotificationCard';
|
|
29
|
+
export { default as PopupPrintTemplate } from './PopupPrintTemplate/PopupPrintTemplate';
|
|
29
30
|
export { default as SignatureInput } from './SignatureInput/SignatureInput';
|
|
30
31
|
export { default as ScannerAutocompleteSearch } from './ScannerAutocompleteSearch/ScannerAutocompleteSearch';
|
|
31
32
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/organisms/index.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAC,OAAO,IAAI,sBAAsB,EAAC,MAAM,iDAAiD,CAAC;AAClG,OAAO,EAAC,OAAO,IAAI,2BAA2B,EAAC,MAAM,2DAA2D,CAAC;AACjH,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAC,OAAO,IAAI,yBAAyB,EAAC,MAAM,uDAAuD,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/organisms/index.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAC,OAAO,IAAI,sBAAsB,EAAC,MAAM,iDAAiD,CAAC;AAClG,OAAO,EAAC,OAAO,IAAI,2BAA2B,EAAC,MAAM,2DAA2D,CAAC;AACjH,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAC,OAAO,IAAI,yBAAyB,EAAC,MAAM,uDAAuD,CAAC"}
|
|
@@ -6,12 +6,15 @@ interface JsonAction extends Action {
|
|
|
6
6
|
postActions?: (res: any) => void;
|
|
7
7
|
}
|
|
8
8
|
interface CustomFieldFormProps {
|
|
9
|
+
style?: any;
|
|
9
10
|
model: string;
|
|
10
11
|
modelId: number;
|
|
11
12
|
fieldType?: string;
|
|
12
13
|
additionalActions?: JsonAction[];
|
|
13
14
|
readonly?: boolean;
|
|
14
15
|
readonlyButton?: boolean;
|
|
16
|
+
hideButtonBackground?: boolean;
|
|
17
|
+
hideFormBackground?: boolean;
|
|
15
18
|
}
|
|
16
|
-
declare const CustomFieldForm: ({ model, modelId, fieldType, additionalActions, readonly, readonlyButton, }: CustomFieldFormProps) => React.JSX.Element;
|
|
19
|
+
declare const CustomFieldForm: ({ style, model, modelId, fieldType, additionalActions, readonly, readonlyButton, hideButtonBackground, hideFormBackground, }: CustomFieldFormProps) => React.JSX.Element;
|
|
17
20
|
export default CustomFieldForm;
|
|
@@ -15,46 +15,69 @@
|
|
|
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, { useEffect, useMemo } from 'react';
|
|
18
|
+
import React, { useEffect, useMemo, useState } from 'react';
|
|
19
19
|
import { StyleSheet } from 'react-native';
|
|
20
|
-
import {
|
|
20
|
+
import { useSelector } from 'react-redux';
|
|
21
21
|
import { useThemeColor } from '@axelor/aos-mobile-ui';
|
|
22
22
|
import { FormView } from '../../pages';
|
|
23
|
-
import {
|
|
24
|
-
import { formConfigsProvider, getAttrsValue, mapFormToStudioFields, mapStudioFields, mapStudioFieldsWithFormula, useFieldPermitter, } from '../../../forms';
|
|
23
|
+
import { handlerApiCall } from '../../../apiProviders';
|
|
24
|
+
import { fetchJsonFieldsOfModel, fetchObject, formConfigsProvider, getAttrsValue, mapFormToStudioFields, mapStudioFields, mapStudioFieldsWithFormula, updateJsonFieldsObject, useFieldPermitter, } from '../../../forms';
|
|
25
25
|
const FORM_KEY = 'customField-form';
|
|
26
|
-
const CustomFieldForm = ({ model, modelId, fieldType = null, additionalActions = [], readonly = false, readonlyButton = false, }) => {
|
|
26
|
+
const CustomFieldForm = ({ style, model, modelId, fieldType = null, additionalActions = [], readonly = false, readonlyButton = false, hideButtonBackground, hideFormBackground, }) => {
|
|
27
27
|
const Colors = useThemeColor();
|
|
28
|
-
const
|
|
29
|
-
const
|
|
28
|
+
const { userId } = useSelector((state) => state.auth);
|
|
29
|
+
const [_fields, setFields] = useState(null);
|
|
30
|
+
const [object, setObject] = useState(null);
|
|
30
31
|
const removeUnauthorizedFields = useFieldPermitter({ modelName: model });
|
|
31
32
|
useEffect(() => {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
fetchJsonFieldsOfModel({ modelName: model, type: fieldType })
|
|
34
|
+
.then(res => {
|
|
35
|
+
setFields(res?.data?.data);
|
|
36
|
+
})
|
|
37
|
+
.catch(() => {
|
|
38
|
+
setFields(null);
|
|
39
|
+
});
|
|
40
|
+
fetchObject({ modelName: model, id: modelId })
|
|
41
|
+
.then(res => {
|
|
42
|
+
setObject(res?.data?.data?.[0]);
|
|
43
|
+
})
|
|
44
|
+
.catch(() => {
|
|
45
|
+
setObject(null);
|
|
46
|
+
});
|
|
47
|
+
}, [model, modelId, fieldType]);
|
|
35
48
|
const { fields, panels, defaults } = useMemo(() => mapStudioFields(mapStudioFieldsWithFormula(_fields, object), Colors, removeUnauthorizedFields), [Colors, _fields, object, removeUnauthorizedFields]);
|
|
49
|
+
const formKey = useMemo(() => `${FORM_KEY}_${fieldType}_${readonly}`, [fieldType, readonly]);
|
|
36
50
|
useEffect(() => {
|
|
37
|
-
formConfigsProvider.registerForm(
|
|
51
|
+
formConfigsProvider.registerForm(formKey, {
|
|
38
52
|
readonlyIf: () => readonly,
|
|
39
53
|
fields,
|
|
40
54
|
panels,
|
|
41
55
|
modelName: model,
|
|
42
56
|
}, { replaceOld: true });
|
|
43
|
-
}, [fields, model, panels, readonly]);
|
|
57
|
+
}, [fields, formKey, model, panels, readonly]);
|
|
44
58
|
const attrsValues = useMemo(() => (object?.id !== modelId ? null : getAttrsValue(object, fieldType)), [modelId, object, fieldType]);
|
|
45
59
|
const _additionalActions = useMemo(() => (additionalActions ?? []).map(_action => {
|
|
46
60
|
if (_action?.useDefaultAction) {
|
|
47
61
|
return {
|
|
48
62
|
..._action,
|
|
49
63
|
customAction: ({ objectState }) => {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
64
|
+
handlerApiCall({
|
|
65
|
+
fetchFunction: updateJsonFieldsObject,
|
|
66
|
+
data: {
|
|
67
|
+
modelName: model,
|
|
68
|
+
id: object?.id,
|
|
69
|
+
version: object?.version,
|
|
70
|
+
values: mapFormToStudioFields(_fields, objectState),
|
|
71
|
+
},
|
|
72
|
+
action: 'Base_SliceAction_UpdateJsonFieldsObject',
|
|
73
|
+
getState: () => ({ auth: { userId } }),
|
|
74
|
+
responseOptions: {
|
|
75
|
+
isArrayResponse: false,
|
|
76
|
+
showToast: _action.showToast != null ? _action.showToast : true,
|
|
77
|
+
},
|
|
78
|
+
}).then(res => {
|
|
79
|
+
setObject(res);
|
|
80
|
+
_action.postActions?.(res);
|
|
58
81
|
});
|
|
59
82
|
},
|
|
60
83
|
};
|
|
@@ -62,13 +85,16 @@ const CustomFieldForm = ({ model, modelId, fieldType = null, additionalActions =
|
|
|
62
85
|
else {
|
|
63
86
|
return _action;
|
|
64
87
|
}
|
|
65
|
-
}), [_fields, additionalActions,
|
|
66
|
-
return (<FormView style={styles.formView} actions={_additionalActions} formKey={
|
|
88
|
+
}), [_fields, additionalActions, model, object?.id, object?.version, userId]);
|
|
89
|
+
return (<FormView style={[styles.formView, style]} styleScreen={hideFormBackground && styles.screen} hideButtonBackground={hideButtonBackground} actions={_additionalActions} formKey={formKey} isCustom={true} defaultValue={attrsValues == null ? { ...defaults } : attrsValues} floatingTools={readonlyButton}/>);
|
|
67
90
|
};
|
|
68
91
|
const styles = StyleSheet.create({
|
|
69
92
|
formView: {
|
|
70
93
|
paddingBottom: 0,
|
|
71
94
|
},
|
|
95
|
+
screen: {
|
|
96
|
+
backgroundColor: null,
|
|
97
|
+
},
|
|
72
98
|
});
|
|
73
99
|
export default CustomFieldForm;
|
|
74
100
|
//# sourceMappingURL=CustomFieldForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomFieldForm.js","sourceRoot":"","sources":["../../../../src/components/pages/CustomFieldForm/CustomFieldForm.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,SAAS,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CustomFieldForm.js","sourceRoot":"","sources":["../../../../src/components/pages/CustomFieldForm/CustomFieldForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Panel.js","sourceRoot":"","sources":["../../../../../src/components/pages/FormView/Components/Panel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAY,OAAO,EAAC,MAAM,OAAO,CAAC;AAChD,OAAO,EAAY,UAAU,EAAE,IAAI,EAAY,MAAM,cAAc,CAAC;AACpE,OAAO,EAAC,YAAY,EAAE,cAAc,EAAE,IAAI,EAAC,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,eAAe,EAGf,SAAS,EACT,cAAc,GACf,MAAM,mBAAmB,CAAC;AAQ3B,MAAM,KAAK,GAAG,CAAC,EAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAa,EAAE,EAAE;IAC9D,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAE7B,MAAM,MAAM,GAAW,OAAO,CAAC,GAAG,EAAE;QAClC,OAAO,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;IAE9B,MAAM,UAAU,GAAyB,OAAO,CAC9C,GAAG,EAAE,CAAC,CAAC;QACL,UAAU,EAAE,QAAQ;QACpB,aAAa,EAAE,MAAM,CAAC,SAAS,IAAI,KAAK;QACxC,KAAK,EAAE,GACL,MAAM,CAAC,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,GAAG,EAAE;YACvC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,GAAG,eAAe,CAAC,GAAG,GAAG;YACrE,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"Panel.js","sourceRoot":"","sources":["../../../../../src/components/pages/FormView/Components/Panel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,6 @@ import React from 'react';
|
|
|
2
2
|
import { customComponentOptions } from '../../../../forms/types';
|
|
3
3
|
interface props extends customComponentOptions {
|
|
4
4
|
item: any;
|
|
5
|
-
object?: any;
|
|
6
|
-
style?: any;
|
|
7
|
-
title?: string;
|
|
8
|
-
readonly?: boolean;
|
|
9
5
|
}
|
|
10
|
-
declare const CustomButton: ({ item, style, title, readonly }: props) => React.JSX.Element;
|
|
6
|
+
declare const CustomButton: ({ item, style, title, readonly, objectState }: props) => React.JSX.Element;
|
|
11
7
|
export default CustomButton;
|
|
@@ -16,15 +16,13 @@
|
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
import React, { useCallback } from 'react';
|
|
19
|
-
import { useSelector } from 'react-redux';
|
|
20
19
|
import { Button, useThemeColor } from '@axelor/aos-mobile-ui';
|
|
21
20
|
import { executeButtonAction } from '../../../../forms/studio/api.helpers';
|
|
22
|
-
const CustomButton = ({ item, style, title, readonly }) => {
|
|
21
|
+
const CustomButton = ({ item, style, title, readonly, objectState }) => {
|
|
23
22
|
const Colors = useThemeColor();
|
|
24
|
-
const { object } = useSelector((state) => state.metaJsonField);
|
|
25
23
|
const handlePress = useCallback(() => {
|
|
26
|
-
executeButtonAction(item.onClick, item.uniqueModel,
|
|
27
|
-
}, [item,
|
|
24
|
+
executeButtonAction(item.onClick, item.uniqueModel, objectState);
|
|
25
|
+
}, [item, objectState]);
|
|
28
26
|
return (<Button style={style} onPress={handlePress} title={title} disabled={readonly} color={readonly ? Colors.secondaryColor : Colors.primaryColor}/>);
|
|
29
27
|
};
|
|
30
28
|
export default CustomButton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomButton.js","sourceRoot":"","sources":["../../../../../src/components/pages/FormView/Custom/CustomButton.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAC,MAAM,OAAO,CAAC;AACzC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"CustomButton.js","sourceRoot":"","sources":["../../../../../src/components/pages/FormView/Custom/CustomButton.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAC,MAAM,OAAO,CAAC;AACzC,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAC;AAMzE,MAAM,YAAY,GAAG,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAQ,EAAE,EAAE;IAC1E,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACnE,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAExB,OAAO,CACL,CAAC,MAAM,CACL,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,OAAO,CAAC,CAAC,WAAW,CAAC,CACrB,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAC9D,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|