@axelor/aos-mobile-core 6.5.0 → 6.5.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/lib/api/login-api.d.ts +1 -0
- package/lib/api/login-api.js +2 -2
- package/lib/api/login-api.js.map +1 -1
- package/lib/apiProviders/utils.js +8 -9
- package/lib/apiProviders/utils.js.map +1 -1
- package/lib/app/Module.d.ts +2 -0
- package/lib/app/RootNavigator.js +8 -1
- package/lib/app/RootNavigator.js.map +1 -1
- package/lib/auth/api/config-api.d.ts +1 -5
- package/lib/auth/api/config-api.js +1 -10
- package/lib/auth/api/config-api.js.map +1 -1
- package/lib/auth/features/companySlice.js +1 -1
- package/lib/auth/features/companySlice.js.map +1 -1
- package/lib/auth/features/configSlice.js +2 -2
- package/lib/auth/features/configSlice.js.map +1 -1
- package/lib/auth/features/languageSlice.js +1 -1
- package/lib/auth/features/languageSlice.js.map +1 -1
- package/lib/auth/features/userSlice.js +2 -2
- package/lib/auth/features/userSlice.js.map +1 -1
- package/lib/auth/hooks/use-auth-headers.d.ts +1 -0
- package/lib/auth/hooks/use-auth-headers.js +48 -0
- package/lib/auth/hooks/use-auth-headers.js.map +1 -0
- package/lib/auth/i18n/en.json +7 -1
- package/lib/auth/i18n/fr.json +7 -1
- package/lib/auth/index.js +3 -0
- package/lib/auth/index.js.map +1 -1
- package/lib/auth/screens/SettingsScreen.js +13 -2
- package/lib/auth/screens/SettingsScreen.js.map +1 -1
- package/lib/auth/screens/UserScreen.js +0 -6
- package/lib/auth/screens/UserScreen.js.map +1 -1
- package/lib/components/external/Scanner/Scanner.js +10 -6
- package/lib/components/external/Scanner/Scanner.js.map +1 -1
- package/lib/components/molecules/ErrorText/ErrorText.d.ts +2 -2
- package/lib/components/molecules/ErrorText/ErrorText.js +28 -11
- package/lib/components/molecules/ErrorText/ErrorText.js.map +1 -1
- package/lib/components/molecules/HeaderOptionsMenuItem/HeaderOptionMenuItem.d.ts +2 -1
- package/lib/components/molecules/HeaderOptionsMenuItem/HeaderOptionMenuItem.js +9 -9
- package/lib/components/molecules/HeaderOptionsMenuItem/HeaderOptionMenuItem.js.map +1 -1
- package/lib/components/molecules/InputBarCodeCard/InputBarCodeCard.d.ts +3 -1
- package/lib/components/molecules/InputBarCodeCard/InputBarCodeCard.js +18 -33
- package/lib/components/molecules/InputBarCodeCard/InputBarCodeCard.js.map +1 -1
- package/lib/components/molecules/LoginButton/LoginButton.d.ts +2 -1
- package/lib/components/molecules/LoginButton/LoginButton.js +4 -3
- package/lib/components/molecules/LoginButton/LoginButton.js.map +1 -1
- package/lib/components/molecules/MailMessageReadIcon/MailMessageReadIcon.d.ts +4 -0
- package/lib/components/molecules/MailMessageReadIcon/MailMessageReadIcon.js +10 -6
- package/lib/components/molecules/MailMessageReadIcon/MailMessageReadIcon.js.map +1 -1
- package/lib/components/molecules/index.d.ts +0 -1
- package/lib/components/molecules/index.js +0 -1
- package/lib/components/molecules/index.js.map +1 -1
- package/lib/components/organisms/DateInput/DateInput.js +4 -0
- package/lib/components/organisms/DateInput/DateInput.js.map +1 -1
- package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.d.ts +2 -3
- package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js +31 -36
- package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js.map +1 -1
- package/lib/components/organisms/MailMessageCard/MailMessageCard.d.ts +1 -2
- package/lib/components/organisms/MailMessageCard/MailMessageCard.js +2 -2
- package/lib/components/organisms/MailMessageCard/MailMessageCard.js.map +1 -1
- package/lib/components/organisms/MailMessageCommentCard/MailMessageCommentCard.d.ts +1 -1
- package/lib/components/organisms/MailMessageCommentCard/MailMessageCommentCard.js +3 -1
- package/lib/components/organisms/MailMessageCommentCard/MailMessageCommentCard.js.map +1 -1
- package/lib/components/organisms/PasswordInput/PasswordInput.js +1 -1
- package/lib/components/organisms/PasswordInput/PasswordInput.js.map +1 -1
- package/lib/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.d.ts +2 -1
- package/lib/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.js +8 -13
- package/lib/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.js.map +1 -1
- package/lib/components/organisms/UrlInput/UrlInput.js +1 -1
- package/lib/components/organisms/UrlInput/UrlInput.js.map +1 -1
- package/lib/components/organisms/UsernameInput/UsernameInput.js +1 -1
- package/lib/components/organisms/UsernameInput/UsernameInput.js.map +1 -1
- package/lib/components/templates/AttachedFilesView/AttachedFilesView.d.ts +1 -2
- package/lib/components/templates/AttachedFilesView/AttachedFilesView.js +4 -2
- package/lib/components/templates/AttachedFilesView/AttachedFilesView.js.map +1 -1
- package/lib/components/templates/MailMessageView/MailMessageView.d.ts +1 -2
- package/lib/components/templates/MailMessageView/MailMessageView.js +38 -24
- package/lib/components/templates/MailMessageView/MailMessageView.js.map +1 -1
- package/lib/features/attachedFilesSlice.js +3 -3
- package/lib/features/attachedFilesSlice.js.map +1 -1
- package/lib/features/authSlice.d.ts +27 -24
- package/lib/features/authSlice.js +27 -10
- package/lib/features/authSlice.js.map +1 -1
- package/lib/features/mailMessageSlice.js +10 -10
- package/lib/features/mailMessageSlice.js.map +1 -1
- package/lib/features/menuConfigSlice.js +1 -1
- package/lib/features/menuConfigSlice.js.map +1 -1
- package/lib/features/metafileSlice.js +1 -1
- package/lib/features/metafileSlice.js.map +1 -1
- package/lib/features/mobileConfigSlice.js +1 -1
- package/lib/features/mobileConfigSlice.js.map +1 -1
- package/lib/header/HeaderActionsProvider.d.ts +15 -0
- package/lib/header/HeaderActionsProvider.js +60 -0
- package/lib/header/HeaderActionsProvider.js.map +1 -0
- package/lib/header/hooks.d.ts +37 -0
- package/lib/header/hooks.js +105 -0
- package/lib/header/hooks.js.map +1 -0
- package/lib/header/index.d.ts +3 -0
- package/lib/header/index.js +20 -0
- package/lib/header/index.js.map +1 -0
- package/lib/header/types.d.ts +22 -0
- package/lib/header/types.js +19 -0
- package/lib/header/types.js.map +1 -0
- package/lib/header/utils.d.ts +3 -0
- package/lib/header/utils.js +51 -0
- package/lib/header/utils.js.map +1 -0
- package/lib/hooks/use-header-registers.d.ts +1 -0
- package/lib/{components/molecules/IconSettings/IconSettings.js → hooks/use-header-registers.js} +3 -13
- package/lib/hooks/use-header-registers.js.map +1 -0
- package/lib/hooks/use-navigation.d.ts +1 -0
- package/lib/hooks/use-navigation.js +22 -0
- package/lib/hooks/use-navigation.js.map +1 -0
- package/lib/hooks/use-scan-activator.d.ts +9 -0
- package/lib/hooks/use-scan-activator.js +60 -0
- package/lib/hooks/use-scan-activator.js.map +1 -0
- package/lib/i18n/component/Translator.d.ts +3 -1
- package/lib/i18n/translations/en.json +24 -1
- package/lib/i18n/translations/fr.json +24 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/navigator/Navigator.js +12 -35
- package/lib/navigator/Navigator.js.map +1 -1
- package/lib/navigator/drawer/Header.d.ts +7 -0
- package/lib/navigator/drawer/Header.js +71 -0
- package/lib/navigator/drawer/Header.js.map +1 -0
- package/lib/screens/AttachedFilesScreen.d.ts +1 -2
- package/lib/screens/AttachedFilesScreen.js +2 -2
- package/lib/screens/AttachedFilesScreen.js.map +1 -1
- package/lib/screens/LoginScreen.js +21 -10
- package/lib/screens/LoginScreen.js.map +1 -1
- package/lib/screens/MailMessageScreen.d.ts +1 -2
- package/lib/screens/MailMessageScreen.js +2 -2
- package/lib/screens/MailMessageScreen.js.map +1 -1
- package/lib/utils/api.d.ts +2 -0
- package/lib/utils/api.js +47 -0
- package/lib/utils/api.js.map +1 -0
- package/lib/utils/formatters.js +16 -0
- package/lib/utils/formatters.js.map +1 -1
- package/lib/utils/storage-keys.d.ts +1 -0
- package/lib/utils/storage-keys.js +19 -0
- package/lib/utils/storage-keys.js.map +1 -0
- package/lib/utils/string.d.ts +1 -1
- package/lib/utils/string.js +1 -1
- package/lib/utils/string.js.map +1 -1
- package/package.json +3 -3
- package/lib/components/molecules/IconSettings/IconSettings.d.ts +0 -4
- package/lib/components/molecules/IconSettings/IconSettings.js.map +0 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 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 { useCallback, useEffect, useMemo, useState } from 'react';
|
|
19
|
+
import DeviceInfo from 'react-native-device-info';
|
|
20
|
+
import { enableCameraScanner } from '../features/cameraScannerSlice';
|
|
21
|
+
import { enableScan } from '../features/scannerSlice';
|
|
22
|
+
import { useDispatch } from '../redux/hooks';
|
|
23
|
+
export const useScanActivator = scanKeySearch => {
|
|
24
|
+
const { enable: enableScanner } = useScannerDeviceActivator(scanKeySearch);
|
|
25
|
+
const { enable: enableCamera } = useCameraScannerActivator(scanKeySearch);
|
|
26
|
+
const [isZebraDevice, setDeviceType] = useState(false);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
DeviceInfo.getManufacturer().then(manufacturer => setDeviceType(manufacturer === 'Zebra Technologies'));
|
|
29
|
+
}, []);
|
|
30
|
+
const enable = useCallback(() => {
|
|
31
|
+
if (isZebraDevice) {
|
|
32
|
+
enableScanner(scanKeySearch);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
enableCamera(scanKeySearch);
|
|
36
|
+
}
|
|
37
|
+
}, [enableCamera, enableScanner, isZebraDevice, scanKeySearch]);
|
|
38
|
+
return useMemo(() => ({
|
|
39
|
+
enable,
|
|
40
|
+
}), [enable]);
|
|
41
|
+
};
|
|
42
|
+
export const useScannerDeviceActivator = scanKeySearch => {
|
|
43
|
+
const dispatch = useDispatch();
|
|
44
|
+
const enable = useCallback(() => {
|
|
45
|
+
dispatch(enableScan(scanKeySearch));
|
|
46
|
+
}, [dispatch, scanKeySearch]);
|
|
47
|
+
return useMemo(() => ({
|
|
48
|
+
enable,
|
|
49
|
+
}), [enable]);
|
|
50
|
+
};
|
|
51
|
+
export const useCameraScannerActivator = scanKeySearch => {
|
|
52
|
+
const dispatch = useDispatch();
|
|
53
|
+
const enable = useCallback(() => {
|
|
54
|
+
dispatch(enableCameraScanner(scanKeySearch));
|
|
55
|
+
}, [dispatch, scanKeySearch]);
|
|
56
|
+
return useMemo(() => ({
|
|
57
|
+
enable,
|
|
58
|
+
}), [enable]);
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=use-scan-activator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-scan-activator.js","sourceRoot":"","sources":["../../src/hooks/use-scan-activator.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAChE,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC,EAAE;IAC9C,MAAM,EAAC,MAAM,EAAE,aAAa,EAAC,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;IACzE,MAAM,EAAC,MAAM,EAAE,YAAY,EAAC,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;IAExE,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAC/C,aAAa,CAAC,YAAY,KAAK,oBAAoB,CAAC,CACrD,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,aAAa,CAAC,CAAC;SAC9B;aAAM;YACL,YAAY,CAAC,aAAa,CAAC,CAAC;SAC7B;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;IAEhE,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,MAAM;KACP,CAAC,EACF,CAAC,MAAM,CAAC,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAa,CAAC,EAAE;IACvD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;IACtC,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAE9B,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,MAAM;KACP,CAAC,EACF,CAAC,MAAM,CAAC,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAa,CAAC,EAAE;IACvD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,QAAQ,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC;IAC/C,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAE9B,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,MAAM;KACP,CAAC,EACF,CAAC,MAAM,CAAC,CACT,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export function getTranslations(language: any): any;
|
|
2
|
-
export const selectLanguage: ((state: any) => any) & import("reselect").OutputSelectorFields<(args_0: any) => any
|
|
2
|
+
export const selectLanguage: ((state: any) => any) & import("reselect").OutputSelectorFields<(args_0: any) => any, {
|
|
3
|
+
clearCache: () => void;
|
|
4
|
+
}> & {
|
|
3
5
|
clearCache: () => void;
|
|
4
6
|
};
|
|
5
7
|
export default Translator;
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"Base_RealizeContinue": "Realize and continue",
|
|
22
22
|
"Base_Search": "Search",
|
|
23
23
|
"Base_Add": "Add",
|
|
24
|
+
"Base_Create": "Create",
|
|
24
25
|
"Base_Check": "Check",
|
|
25
26
|
"Base_Start": "Start",
|
|
26
27
|
"Base_Pause": "Pause",
|
|
@@ -42,6 +43,9 @@
|
|
|
42
43
|
"Base_MailMessages": "Mail Messages",
|
|
43
44
|
"Base_Comment": "Comment",
|
|
44
45
|
"Base_MailMessages_CommentInput_Placeholder": "Enter a comment",
|
|
46
|
+
"Base_MailMessages_MarkAllAsRead": "Mark all messages as read",
|
|
47
|
+
"Base_MailMessages_Subscribe": "Subscribe",
|
|
48
|
+
"Base_MailMessages_Unsubscribe": "Unsubscribe",
|
|
45
49
|
"Base_AttachedFiles": "Attached Files",
|
|
46
50
|
"Base_Question": "Question",
|
|
47
51
|
"Base_Unfollow_Confirmation": "Are you sure to unfollow this document?",
|
|
@@ -57,5 +61,24 @@
|
|
|
57
61
|
"Base_Information": "Information",
|
|
58
62
|
"Base_Refresh": "Refresh application",
|
|
59
63
|
"Base_Logout": "Log out",
|
|
60
|
-
"Base_TimeFormat": "HH:mm"
|
|
64
|
+
"Base_TimeFormat": "HH:mm",
|
|
65
|
+
"Base_ConnectedOn": "Connected on",
|
|
66
|
+
"Base_Error": "Error",
|
|
67
|
+
"Base_Success": "Success",
|
|
68
|
+
"Base_Failed_To": "Failed to",
|
|
69
|
+
"Auth_WrongPasswordOrUserName": "Wrong username or password",
|
|
70
|
+
"Auth_InvalidUrl": "Invalid url",
|
|
71
|
+
"Base_SliceAction_FetchAttachedFiles": "fetch attached files",
|
|
72
|
+
"Base_SliceAction_FetchFilesDetails": "fetch file details",
|
|
73
|
+
"Base_SliceAction_CountAttachedFiles": "count attachment files",
|
|
74
|
+
"Base_SliceAction_FetchMailMessages": "fetch mail messages",
|
|
75
|
+
"Base_SliceAction_PostMailMessageComment": "post mail message comment",
|
|
76
|
+
"Base_SliceAction_FetchModelSubscribers": "fetch model subscribers",
|
|
77
|
+
"Base_SliceAction_SubscribeToModel": "subscribe to model",
|
|
78
|
+
"Base_SliceAction_UnsubscribeFromModel": "unsubscribe from model",
|
|
79
|
+
"Base_SliceAction_CountUnreadMailMessages": "count unread mail messages",
|
|
80
|
+
"Base_SliceAction_MarkMailMessageAsRead": "mark mail message as read",
|
|
81
|
+
"Base_SliceAction_MarkAllMailMessageAsRead": "mark all mail messages as read",
|
|
82
|
+
"Base_SliceAction_FetchMenuConfig": "fetch menu config",
|
|
83
|
+
"Base_SliceAction_FetchMobileConfig": "fetch mobile config"
|
|
61
84
|
}
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"Base_RealizeContinue": "Réaliser et continuer",
|
|
22
22
|
"Base_Search": "Rechercher",
|
|
23
23
|
"Base_Add": "Ajouter",
|
|
24
|
+
"Base_Create": "Créer",
|
|
24
25
|
"Base_Check": "Vérifier",
|
|
25
26
|
"Base_Start": "Commencer",
|
|
26
27
|
"Base_Pause": "Mettre en pause",
|
|
@@ -42,6 +43,9 @@
|
|
|
42
43
|
"Base_MailMessages": "Suivi des notifications",
|
|
43
44
|
"Base_Comment": "Commentaire",
|
|
44
45
|
"Base_MailMessages_CommentInput_Placeholder": "Entrez votre commentaire",
|
|
46
|
+
"Base_MailMessages_MarkAllAsRead": "Marquer tous les messages comme lus",
|
|
47
|
+
"Base_MailMessages_Subscribe": "S'abonner",
|
|
48
|
+
"Base_MailMessages_Unsubscribe": "Se désabonner",
|
|
45
49
|
"Base_AttachedFiles": "Fichiers attachés",
|
|
46
50
|
"Base_Question": "Question",
|
|
47
51
|
"Base_Unfollow_Confirmation": "Êtes-vous sûr de vouloir vous désabonner de ce document?",
|
|
@@ -57,5 +61,24 @@
|
|
|
57
61
|
"Base_Information": "Information",
|
|
58
62
|
"Base_Refresh": "Actualiser l'application",
|
|
59
63
|
"Base_Logout": "Déconnexion",
|
|
60
|
-
"Base_TimeFormat": "HH:mm"
|
|
64
|
+
"Base_TimeFormat": "HH:mm",
|
|
65
|
+
"Base_ConnectedOn": "Connecté à",
|
|
66
|
+
"Base_Error": "Erreur",
|
|
67
|
+
"Base_Success": "Succès",
|
|
68
|
+
"Base_Failed_To": "N'a pas réussi à effectuer l'action :",
|
|
69
|
+
"Auth_WrongPasswordOrUserName": "Mauvais nom d'utilisateur ou mot de passe",
|
|
70
|
+
"Auth_InvalidUrl": "Url non valide",
|
|
71
|
+
"Base_SliceAction_FetchAttachedFiles": "récupération des fichiers joints",
|
|
72
|
+
"Base_SliceAction_FetchFilesDetails": "récupération des détails du fichier",
|
|
73
|
+
"Base_SliceAction_CountAttachedFiles": "comptage des fichiers joints",
|
|
74
|
+
"Base_SliceAction_FetchMailMessages": "récupération des mail messages",
|
|
75
|
+
"Base_SliceAction_PostMailMessageComment": "ajout d'un mail message",
|
|
76
|
+
"Base_SliceAction_FetchModelSubscribers": "récupération des abonnés du modèle",
|
|
77
|
+
"Base_SliceAction_SubscribeToModel": "abonnement au modèle",
|
|
78
|
+
"Base_SliceAction_UnsubscribeFromModel": "désabonnement au modèle",
|
|
79
|
+
"Base_SliceAction_CountUnreadMailMessages": "comptage des mail messages non lus",
|
|
80
|
+
"Base_SliceAction_MarkMailMessageAsRead": "marquer le message comme lu",
|
|
81
|
+
"Base_SliceAction_MarkAllMailMessageAsRead": "marquer tous les messages comme lus",
|
|
82
|
+
"Base_SliceAction_FetchMenuConfig": "récupération des configs de menus",
|
|
83
|
+
"Base_SliceAction_FetchMobileConfig": "récupération des configs mobile"
|
|
61
84
|
}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,cAAc,OAAO,CAAC;AACtB,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,sBAAsB,CAAC;AACnD,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,WAAW,EACX,OAAO,IAAI,cAAc,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,aAAa,EACb,OAAO,IAAI,aAAa,GACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AACvD,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,cAAc,OAAO,CAAC;AACtB,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,sBAAsB,CAAC;AACnD,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,WAAW,EACX,OAAO,IAAI,cAAc,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,aAAa,EACb,OAAO,IAAI,aAAa,GACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AACvD,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
import React, { createContext, useCallback, useEffect, useMemo, useState, } from 'react';
|
|
19
|
-
import { Dimensions
|
|
19
|
+
import { Dimensions } from 'react-native';
|
|
20
20
|
import { createDrawerNavigator } from '@react-navigation/drawer';
|
|
21
21
|
import { createStackNavigator } from '@react-navigation/stack';
|
|
22
22
|
import { useThemeColor } from '@axelor/aos-mobile-ui';
|
|
@@ -24,13 +24,12 @@ import DrawerContent from './drawer/DrawerContent';
|
|
|
24
24
|
import { filterAuthorizedModules, getDefaultModule, manageOverridingMenus, moduleHasMenus, updateAccessibleMenus, } from './module.helper';
|
|
25
25
|
import { getMenuTitle } from './menu.helper';
|
|
26
26
|
import useTranslator from '../i18n/hooks/use-translator';
|
|
27
|
-
import DrawerToggleButton from './drawer/DrawerToggleButton';
|
|
28
|
-
import BackIcon from './drawer/BackIcon';
|
|
29
27
|
import { useDispatch, useSelector } from 'react-redux';
|
|
30
28
|
import { fetchMenuConfig } from '../features/menuConfigSlice';
|
|
31
29
|
import { fetchMobileConfig } from '../features/mobileConfigSlice';
|
|
32
30
|
import AttachedFilesScreen from '../screens/AttachedFilesScreen';
|
|
33
31
|
import MailMessageScreen from '../screens/MailMessageScreen';
|
|
32
|
+
import Header from './drawer/Header';
|
|
34
33
|
const Drawer = createDrawerNavigator();
|
|
35
34
|
const Stack = createStackNavigator();
|
|
36
35
|
export const ModuleNavigatorContext = createContext({
|
|
@@ -51,7 +50,6 @@ const Navigator = ({ modules, mainMenu, showModulesSubtitle = false, onRefresh,
|
|
|
51
50
|
dispatch(fetchMobileConfig());
|
|
52
51
|
dispatch(fetchMenuConfig());
|
|
53
52
|
}, [dispatch]);
|
|
54
|
-
const styles = useMemo(() => getHeaderStyles(Colors), [Colors]);
|
|
55
53
|
const changeActiveModule = useCallback(moduleName => {
|
|
56
54
|
setActiveModule(enabledModule.find(_module => _module.name === moduleName));
|
|
57
55
|
}, [enabledModule]);
|
|
@@ -72,30 +70,23 @@ const Navigator = ({ modules, mainMenu, showModulesSubtitle = false, onRefresh,
|
|
|
72
70
|
MailMessageScreen: {
|
|
73
71
|
title: 'Base_MailMessages',
|
|
74
72
|
component: MailMessageScreen,
|
|
73
|
+
actionID: 'core_mailMessage_details',
|
|
75
74
|
options: {
|
|
76
75
|
shadedHeader: false,
|
|
77
76
|
},
|
|
78
77
|
},
|
|
79
78
|
}), [modules]);
|
|
80
79
|
const ModulesScreensStackNavigator = useCallback(({ initialRouteName, ...rest }) => (<Stack.Navigator {...rest} initialRouteName={initialRouteName}>
|
|
81
|
-
{Object.entries(modulesScreens).map(([key, { component, title, options = { shadedHeader: true } }]) => {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
:
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
};
|
|
90
|
-
if (initialRouteName === key) {
|
|
91
|
-
screenOptions.headerLeft = () => (<DrawerToggleButton tintColor={Colors.primaryColor.background}/>);
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
screenOptions.headerLeft = () => (<BackIcon tintColor={Colors.primaryColor.background}/>);
|
|
95
|
-
}
|
|
96
|
-
return (<Stack.Screen key={key} name={key} component={component} options={screenOptions}/>);
|
|
80
|
+
{Object.entries(modulesScreens).map(([key, { component, title, actionID, options = { shadedHeader: true } },]) => {
|
|
81
|
+
return (<Stack.Screen key={key} name={key} component={component} options={{
|
|
82
|
+
headerStyle: { elevation: 0 },
|
|
83
|
+
headerLeft: () => null,
|
|
84
|
+
headerRight: () => null,
|
|
85
|
+
headerTitleStyle: { width: '100%' },
|
|
86
|
+
headerTitle: () => (<Header mainScreen={initialRouteName === key} title={title} actionID={actionID} shadedHeader={options?.shadedHeader}/>),
|
|
87
|
+
}}/>);
|
|
97
88
|
})}
|
|
98
|
-
</Stack.Navigator>), [
|
|
89
|
+
</Stack.Navigator>), [modulesScreens]);
|
|
99
90
|
const windowWidth = Dimensions.get('window').width;
|
|
100
91
|
const isLargeScreen = windowWidth >= 768;
|
|
101
92
|
return (<ModuleNavigatorContext.Provider value={{ activeModule, modulesMenus, modulesScreens }}>
|
|
@@ -114,19 +105,5 @@ const Navigator = ({ modules, mainMenu, showModulesSubtitle = false, onRefresh,
|
|
|
114
105
|
</Drawer.Navigator>
|
|
115
106
|
</ModuleNavigatorContext.Provider>);
|
|
116
107
|
};
|
|
117
|
-
const getHeaderStyles = Colors => StyleSheet.create({
|
|
118
|
-
headerTitle: {
|
|
119
|
-
color: Colors.text,
|
|
120
|
-
marginLeft: -14,
|
|
121
|
-
},
|
|
122
|
-
headerColor: {
|
|
123
|
-
backgroundColor: Colors.backgroundColor,
|
|
124
|
-
elevation: 3,
|
|
125
|
-
},
|
|
126
|
-
listScreenHeaderStyle: {
|
|
127
|
-
backgroundColor: Colors.backgroundColor,
|
|
128
|
-
elevation: 0,
|
|
129
|
-
},
|
|
130
|
-
});
|
|
131
108
|
export default Navigator;
|
|
132
109
|
//# sourceMappingURL=Navigator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../src/navigator/Navigator.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EACZ,aAAa,EACb,WAAW,EACX,SAAS,EACT,OAAO,EACP,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../src/navigator/Navigator.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 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 } from 'react';
|
|
19
|
+
import { Dimensions, StyleSheet, View } from 'react-native';
|
|
20
|
+
import { Text, useThemeColor } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import DrawerToggleButton from './DrawerToggleButton';
|
|
22
|
+
import BackIcon from './BackIcon';
|
|
23
|
+
import { useTranslator } from '../../i18n';
|
|
24
|
+
import { HeaderOptionsMenu } from '../../components';
|
|
25
|
+
import { headerActionsProvider, useHeaderOptions } from '../../header';
|
|
26
|
+
const Header = ({ mainScreen, title, actionID = null, shadedHeader = true }) => {
|
|
27
|
+
const Colors = useThemeColor();
|
|
28
|
+
const I18n = useTranslator();
|
|
29
|
+
const { options } = useHeaderOptions(actionID);
|
|
30
|
+
const headerOptions = useMemo(() => options || headerActionsProvider.getHeaderOptions(actionID), [actionID, options]);
|
|
31
|
+
const styles = useMemo(() => getHeaderStyles(Colors), [Colors]);
|
|
32
|
+
return (<View style={[styles.header, shadedHeader ? styles.shadedHeader : null]}>
|
|
33
|
+
<View style={styles.options}>
|
|
34
|
+
{mainScreen ? (<DrawerToggleButton tintColor={Colors.primaryColor.background}/>) : (<BackIcon tintColor={Colors.primaryColor.background}/>)}
|
|
35
|
+
<View>
|
|
36
|
+
<Text fontSize={20} adjustsFontSizeToFit={true} numberOfLines={1}>
|
|
37
|
+
{I18n.t(title)}
|
|
38
|
+
</Text>
|
|
39
|
+
</View>
|
|
40
|
+
</View>
|
|
41
|
+
{headerOptions != null ? (<HeaderOptionsMenu model={headerOptions.model} modelId={headerOptions.modelId} actions={headerOptions.actions} attachedFileScreenTitle={headerOptions.attachedFileScreenTitle} disableMailMessages={headerOptions.disableMailMessages}/>) : null}
|
|
42
|
+
</View>);
|
|
43
|
+
};
|
|
44
|
+
const getHeaderStyles = Colors => StyleSheet.create({
|
|
45
|
+
headerTitle: {
|
|
46
|
+
color: Colors.text,
|
|
47
|
+
marginLeft: -14,
|
|
48
|
+
},
|
|
49
|
+
header: {
|
|
50
|
+
position: 'absolute',
|
|
51
|
+
top: 0,
|
|
52
|
+
left: -15,
|
|
53
|
+
backgroundColor: Colors.backgroundColor,
|
|
54
|
+
height: '100%',
|
|
55
|
+
width: Dimensions.get('screen').width,
|
|
56
|
+
flexDirection: 'row',
|
|
57
|
+
justifyContent: 'space-between',
|
|
58
|
+
alignItems: 'center',
|
|
59
|
+
alignContent: 'center',
|
|
60
|
+
},
|
|
61
|
+
shadedHeader: {
|
|
62
|
+
elevation: 3,
|
|
63
|
+
},
|
|
64
|
+
options: {
|
|
65
|
+
flexDirection: 'row',
|
|
66
|
+
alignItems: 'center',
|
|
67
|
+
alignContent: 'center',
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
export default Header;
|
|
71
|
+
//# sourceMappingURL=Header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/navigator/drawer/Header.js"],"names":[],"mappings":"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"}
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import React from 'react';
|
|
19
19
|
import { AttachedFilesView } from '../components';
|
|
20
|
-
const AttachedFilesScreen = ({ route
|
|
20
|
+
const AttachedFilesScreen = ({ route }) => {
|
|
21
21
|
const { files, model, modelId, screenTitle } = route.params;
|
|
22
22
|
const isStatic = files && files.length > 0;
|
|
23
|
-
return (<AttachedFilesView files={files} model={model} modelId={modelId} screenTitle={screenTitle}
|
|
23
|
+
return (<AttachedFilesView files={files} model={model} modelId={modelId} screenTitle={screenTitle} isStaticList={isStatic} isMetaFile={isStatic}/>);
|
|
24
24
|
};
|
|
25
25
|
export default AttachedFilesScreen;
|
|
26
26
|
//# sourceMappingURL=AttachedFilesScreen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttachedFilesScreen.js","sourceRoot":"","sources":["../../src/screens/AttachedFilesScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAEhD,MAAM,mBAAmB,GAAG,CAAC,EAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"AttachedFilesScreen.js","sourceRoot":"","sources":["../../src/screens/AttachedFilesScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAEhD,MAAM,mBAAmB,GAAG,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;IACtC,MAAM,EAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAC1D,MAAM,QAAQ,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAE3C,OAAO,CACL,CAAC,iBAAiB,CAChB,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,YAAY,CAAC,CAAC,QAAQ,CAAC,CACvB,UAAU,CAAC,CAAC,QAAQ,CAAC,EACrB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -21,17 +21,24 @@ import { useThemeColor, Text, Screen } from '@axelor/aos-mobile-ui';
|
|
|
21
21
|
import { ErrorText, LoginButton, LogoImage, PasswordInput, UrlInput, UsernameInput, } from '../components';
|
|
22
22
|
import { useDispatch, useSelector } from 'react-redux';
|
|
23
23
|
import { login } from '../features/authSlice';
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
24
|
+
import { useScannedValueByKey, useScannerSelector, } from '../features/scannerSlice';
|
|
25
|
+
import { useCameraScannerValueByKey } from '../features/cameraScannerSlice';
|
|
26
|
+
import { useScanActivator, useScannerDeviceActivator, } from '../hooks/use-scan-activator';
|
|
27
|
+
import { checkNullString } from '../utils';
|
|
28
|
+
import { storage } from '../storage/Storage';
|
|
29
|
+
import { URL_STORAGE_KEY } from '../utils/storage-keys';
|
|
26
30
|
const urlScanKey = 'login_url';
|
|
27
31
|
const LoginScreen = ({ route }) => {
|
|
28
32
|
const { loading, error, baseUrl } = useSelector(state => state.auth);
|
|
29
33
|
const { isEnabled, scanKey } = useScannerSelector();
|
|
30
34
|
const scannedValue = useScannedValueByKey(urlScanKey);
|
|
31
35
|
const scanData = useCameraScannerValueByKey(urlScanKey);
|
|
36
|
+
const { enable: onScanPress } = useScanActivator(urlScanKey);
|
|
37
|
+
const { enable: enableScanner } = useScannerDeviceActivator(urlScanKey);
|
|
32
38
|
const appVersion = route?.params?.version;
|
|
33
39
|
const testInstanceConfig = route?.params?.testInstanceConfig;
|
|
34
40
|
const releaseInstanceConfig = route?.params?.releaseInstanceConfig;
|
|
41
|
+
const urlStorage = storage.getItem(URL_STORAGE_KEY);
|
|
35
42
|
const Colors = useThemeColor();
|
|
36
43
|
const dispatch = useDispatch();
|
|
37
44
|
const modeDebug = useMemo(() => __DEV__, []);
|
|
@@ -44,6 +51,9 @@ const LoginScreen = ({ route }) => {
|
|
|
44
51
|
}
|
|
45
52
|
}, [modeDebug, releaseInstanceConfig?.showUrlInput]);
|
|
46
53
|
const defaultUrl = useMemo(() => {
|
|
54
|
+
if (urlStorage != null) {
|
|
55
|
+
return urlStorage;
|
|
56
|
+
}
|
|
47
57
|
if (baseUrl != null) {
|
|
48
58
|
return baseUrl;
|
|
49
59
|
}
|
|
@@ -52,6 +62,7 @@ const LoginScreen = ({ route }) => {
|
|
|
52
62
|
}
|
|
53
63
|
return releaseInstanceConfig?.url;
|
|
54
64
|
}, [
|
|
65
|
+
urlStorage,
|
|
55
66
|
baseUrl,
|
|
56
67
|
modeDebug,
|
|
57
68
|
releaseInstanceConfig?.url,
|
|
@@ -60,6 +71,10 @@ const LoginScreen = ({ route }) => {
|
|
|
60
71
|
const [url, setUrl] = useState(defaultUrl || '');
|
|
61
72
|
const [username, setUsername] = useState(modeDebug ? testInstanceConfig?.defaultUsername : '');
|
|
62
73
|
const [password, setPassword] = useState(modeDebug ? testInstanceConfig?.defaultPassword : '');
|
|
74
|
+
const disabledLogin = useMemo(() => checkNullString(url) ||
|
|
75
|
+
checkNullString(username) ||
|
|
76
|
+
checkNullString(password) ||
|
|
77
|
+
loading, [loading, password, url, username]);
|
|
63
78
|
useEffect(() => {
|
|
64
79
|
if (scannedValue) {
|
|
65
80
|
if (scannedValue.includes('username') === true) {
|
|
@@ -89,21 +104,17 @@ const LoginScreen = ({ route }) => {
|
|
|
89
104
|
<View style={styles.imageContainer}>
|
|
90
105
|
<LogoImage url={url}/>
|
|
91
106
|
</View>
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}} scanIconColor={isEnabled && scanKey === urlScanKey
|
|
107
|
+
<ErrorText error={error}/>
|
|
108
|
+
{showUrlInput && (<UrlInput value={url} onChange={setUrl} readOnly={loading} onScanPress={onScanPress} onSelection={enableScanner} scanIconColor={isEnabled && scanKey === urlScanKey
|
|
95
109
|
? Colors.primaryColor.background
|
|
96
110
|
: Colors.secondaryColor_dark.background}/>)}
|
|
97
|
-
<UsernameInput value={username} onChange={setUsername} readOnly={loading} showScanIcon={!showUrlInput} onScanPress={
|
|
98
|
-
dispatch(enableScan(urlScanKey));
|
|
99
|
-
}} scanIconColor={isEnabled && scanKey === urlScanKey
|
|
111
|
+
<UsernameInput value={username} onChange={setUsername} readOnly={loading} showScanIcon={!showUrlInput} onScanPress={onScanPress} onSelection={enableScanner} scanIconColor={isEnabled && scanKey === urlScanKey
|
|
100
112
|
? Colors.primaryColor.background
|
|
101
113
|
: Colors.secondaryColor_dark.background}/>
|
|
102
114
|
<PasswordInput value={password} onChange={setPassword} readOnly={loading}/>
|
|
103
115
|
<View>
|
|
104
|
-
{loading ? (<ActivityIndicator size="large"/>) : (<LoginButton onPress={() => dispatch(login({ url, username, password }))} disabled={
|
|
116
|
+
{loading ? (<ActivityIndicator size="large"/>) : (<LoginButton onPress={() => dispatch(login({ url, username, password }))} disabled={disabledLogin}/>)}
|
|
105
117
|
</View>
|
|
106
|
-
<View>{error && <ErrorText message={error.message}/>}</View>
|
|
107
118
|
<View style={styles.copyright}>
|
|
108
119
|
<Text>{`© 2005 - ${new Date().getFullYear()} Axelor. All rights reserved.`}</Text>
|
|
109
120
|
<Text>{`Version ${appVersion}`}</Text>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginScreen.js","sourceRoot":"","sources":["../../src/screens/LoginScreen.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC1D,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,IAAI,EACJ,UAAU,EACV,oBAAoB,EACpB,QAAQ,EACR,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,aAAa,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAClE,OAAO,EACL,SAAS,EACT,WAAW,EACX,SAAS,EACT,aAAa,EACb,QAAQ,EACR,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,aAAa,CAAC;AACrD,OAAO,EAAC,KAAK,EAAC,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"LoginScreen.js","sourceRoot":"","sources":["../../src/screens/LoginScreen.js"],"names":[],"mappings":"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"}
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import React from 'react';
|
|
19
19
|
import { MailMessageView } from '../components';
|
|
20
|
-
const MailMessageScreen = ({ route
|
|
20
|
+
const MailMessageScreen = ({ route }) => {
|
|
21
21
|
const { model, modelId } = route.params;
|
|
22
|
-
return
|
|
22
|
+
return <MailMessageView model={model} modelId={modelId}/>;
|
|
23
23
|
};
|
|
24
24
|
export default MailMessageScreen;
|
|
25
25
|
//# sourceMappingURL=MailMessageScreen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MailMessageScreen.js","sourceRoot":"","sources":["../../src/screens/MailMessageScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAE9C,MAAM,iBAAiB,GAAG,CAAC,EAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"MailMessageScreen.js","sourceRoot":"","sources":["../../src/screens/MailMessageScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAE9C,MAAM,iBAAiB,GAAG,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;IACpC,MAAM,EAAC,KAAK,EAAE,OAAO,EAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IACtC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAG,CAAC;AAC7D,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
package/lib/utils/api.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 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 { formatURL as _formatURL } from './formatters';
|
|
19
|
+
const PREFIX_REGEX = /^https?:\/\//;
|
|
20
|
+
const INVALID_URL_CODE = 999;
|
|
21
|
+
export function testUrl(url) {
|
|
22
|
+
return new Promise(async (resolve, reject) => {
|
|
23
|
+
if (!url || typeof url !== 'string') {
|
|
24
|
+
reject(new Error(`Invalid URL: "${url}" ${INVALID_URL_CODE}`));
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const formatUrl = _formatURL(isHttpUrl(url) ? url.replace(PREFIX_REGEX, '') : url);
|
|
28
|
+
const urlsWithProtocol = ['https', 'http'].map(protocol => `${protocol}://${formatUrl}`);
|
|
29
|
+
for (const urlWithProtocol of urlsWithProtocol) {
|
|
30
|
+
try {
|
|
31
|
+
const response = await fetch(urlWithProtocol);
|
|
32
|
+
if (response.ok) {
|
|
33
|
+
resolve(urlWithProtocol);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
console.log(`Error fetching ${urlWithProtocol}: ${error}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
reject(new Error(`Could not fetch URL: "${url}" ${INVALID_URL_CODE}`));
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
export function isHttpUrl(url) {
|
|
45
|
+
return PREFIX_REGEX.test(url);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/utils/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,SAAS,IAAI,UAAU,EAAC,MAAM,cAAc,CAAC;AAErD,MAAM,YAAY,GAAG,cAAc,CAAC;AACpC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACnC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,GAAG,KAAK,gBAAgB,EAAE,CAAC,CAAC,CAAC;YAC/D,OAAO;SACR;QAED,MAAM,SAAS,GAAG,UAAU,CAC1B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CACrD,CAAC;QAEF,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,CAC5C,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,MAAM,SAAS,EAAE,CACzC,CAAC;QAEF,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE;YAC9C,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC9C,IAAI,QAAQ,CAAC,EAAE,EAAE;oBACf,OAAO,CAAC,eAAe,CAAC,CAAC;oBACzB,OAAO;iBACR;aACF;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,GAAG,CAAC,kBAAkB,eAAe,KAAK,KAAK,EAAE,CAAC,CAAC;aAC5D;SACF;QAED,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,GAAG,KAAK,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC"}
|