@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.
Files changed (146) hide show
  1. package/lib/api/login-api.d.ts +1 -0
  2. package/lib/api/login-api.js +2 -2
  3. package/lib/api/login-api.js.map +1 -1
  4. package/lib/apiProviders/utils.js +8 -9
  5. package/lib/apiProviders/utils.js.map +1 -1
  6. package/lib/app/Module.d.ts +2 -0
  7. package/lib/app/RootNavigator.js +8 -1
  8. package/lib/app/RootNavigator.js.map +1 -1
  9. package/lib/auth/api/config-api.d.ts +1 -5
  10. package/lib/auth/api/config-api.js +1 -10
  11. package/lib/auth/api/config-api.js.map +1 -1
  12. package/lib/auth/features/companySlice.js +1 -1
  13. package/lib/auth/features/companySlice.js.map +1 -1
  14. package/lib/auth/features/configSlice.js +2 -2
  15. package/lib/auth/features/configSlice.js.map +1 -1
  16. package/lib/auth/features/languageSlice.js +1 -1
  17. package/lib/auth/features/languageSlice.js.map +1 -1
  18. package/lib/auth/features/userSlice.js +2 -2
  19. package/lib/auth/features/userSlice.js.map +1 -1
  20. package/lib/auth/hooks/use-auth-headers.d.ts +1 -0
  21. package/lib/auth/hooks/use-auth-headers.js +48 -0
  22. package/lib/auth/hooks/use-auth-headers.js.map +1 -0
  23. package/lib/auth/i18n/en.json +7 -1
  24. package/lib/auth/i18n/fr.json +7 -1
  25. package/lib/auth/index.js +3 -0
  26. package/lib/auth/index.js.map +1 -1
  27. package/lib/auth/screens/SettingsScreen.js +13 -2
  28. package/lib/auth/screens/SettingsScreen.js.map +1 -1
  29. package/lib/auth/screens/UserScreen.js +0 -6
  30. package/lib/auth/screens/UserScreen.js.map +1 -1
  31. package/lib/components/external/Scanner/Scanner.js +10 -6
  32. package/lib/components/external/Scanner/Scanner.js.map +1 -1
  33. package/lib/components/molecules/ErrorText/ErrorText.d.ts +2 -2
  34. package/lib/components/molecules/ErrorText/ErrorText.js +28 -11
  35. package/lib/components/molecules/ErrorText/ErrorText.js.map +1 -1
  36. package/lib/components/molecules/HeaderOptionsMenuItem/HeaderOptionMenuItem.d.ts +2 -1
  37. package/lib/components/molecules/HeaderOptionsMenuItem/HeaderOptionMenuItem.js +9 -9
  38. package/lib/components/molecules/HeaderOptionsMenuItem/HeaderOptionMenuItem.js.map +1 -1
  39. package/lib/components/molecules/InputBarCodeCard/InputBarCodeCard.d.ts +3 -1
  40. package/lib/components/molecules/InputBarCodeCard/InputBarCodeCard.js +18 -33
  41. package/lib/components/molecules/InputBarCodeCard/InputBarCodeCard.js.map +1 -1
  42. package/lib/components/molecules/LoginButton/LoginButton.d.ts +2 -1
  43. package/lib/components/molecules/LoginButton/LoginButton.js +4 -3
  44. package/lib/components/molecules/LoginButton/LoginButton.js.map +1 -1
  45. package/lib/components/molecules/MailMessageReadIcon/MailMessageReadIcon.d.ts +4 -0
  46. package/lib/components/molecules/MailMessageReadIcon/MailMessageReadIcon.js +10 -6
  47. package/lib/components/molecules/MailMessageReadIcon/MailMessageReadIcon.js.map +1 -1
  48. package/lib/components/molecules/index.d.ts +0 -1
  49. package/lib/components/molecules/index.js +0 -1
  50. package/lib/components/molecules/index.js.map +1 -1
  51. package/lib/components/organisms/DateInput/DateInput.js +4 -0
  52. package/lib/components/organisms/DateInput/DateInput.js.map +1 -1
  53. package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.d.ts +2 -3
  54. package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js +31 -36
  55. package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js.map +1 -1
  56. package/lib/components/organisms/MailMessageCard/MailMessageCard.d.ts +1 -2
  57. package/lib/components/organisms/MailMessageCard/MailMessageCard.js +2 -2
  58. package/lib/components/organisms/MailMessageCard/MailMessageCard.js.map +1 -1
  59. package/lib/components/organisms/MailMessageCommentCard/MailMessageCommentCard.d.ts +1 -1
  60. package/lib/components/organisms/MailMessageCommentCard/MailMessageCommentCard.js +3 -1
  61. package/lib/components/organisms/MailMessageCommentCard/MailMessageCommentCard.js.map +1 -1
  62. package/lib/components/organisms/PasswordInput/PasswordInput.js +1 -1
  63. package/lib/components/organisms/PasswordInput/PasswordInput.js.map +1 -1
  64. package/lib/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.d.ts +2 -1
  65. package/lib/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.js +8 -13
  66. package/lib/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.js.map +1 -1
  67. package/lib/components/organisms/UrlInput/UrlInput.js +1 -1
  68. package/lib/components/organisms/UrlInput/UrlInput.js.map +1 -1
  69. package/lib/components/organisms/UsernameInput/UsernameInput.js +1 -1
  70. package/lib/components/organisms/UsernameInput/UsernameInput.js.map +1 -1
  71. package/lib/components/templates/AttachedFilesView/AttachedFilesView.d.ts +1 -2
  72. package/lib/components/templates/AttachedFilesView/AttachedFilesView.js +4 -2
  73. package/lib/components/templates/AttachedFilesView/AttachedFilesView.js.map +1 -1
  74. package/lib/components/templates/MailMessageView/MailMessageView.d.ts +1 -2
  75. package/lib/components/templates/MailMessageView/MailMessageView.js +38 -24
  76. package/lib/components/templates/MailMessageView/MailMessageView.js.map +1 -1
  77. package/lib/features/attachedFilesSlice.js +3 -3
  78. package/lib/features/attachedFilesSlice.js.map +1 -1
  79. package/lib/features/authSlice.d.ts +27 -24
  80. package/lib/features/authSlice.js +27 -10
  81. package/lib/features/authSlice.js.map +1 -1
  82. package/lib/features/mailMessageSlice.js +10 -10
  83. package/lib/features/mailMessageSlice.js.map +1 -1
  84. package/lib/features/menuConfigSlice.js +1 -1
  85. package/lib/features/menuConfigSlice.js.map +1 -1
  86. package/lib/features/metafileSlice.js +1 -1
  87. package/lib/features/metafileSlice.js.map +1 -1
  88. package/lib/features/mobileConfigSlice.js +1 -1
  89. package/lib/features/mobileConfigSlice.js.map +1 -1
  90. package/lib/header/HeaderActionsProvider.d.ts +15 -0
  91. package/lib/header/HeaderActionsProvider.js +60 -0
  92. package/lib/header/HeaderActionsProvider.js.map +1 -0
  93. package/lib/header/hooks.d.ts +37 -0
  94. package/lib/header/hooks.js +105 -0
  95. package/lib/header/hooks.js.map +1 -0
  96. package/lib/header/index.d.ts +3 -0
  97. package/lib/header/index.js +20 -0
  98. package/lib/header/index.js.map +1 -0
  99. package/lib/header/types.d.ts +22 -0
  100. package/lib/header/types.js +19 -0
  101. package/lib/header/types.js.map +1 -0
  102. package/lib/header/utils.d.ts +3 -0
  103. package/lib/header/utils.js +51 -0
  104. package/lib/header/utils.js.map +1 -0
  105. package/lib/hooks/use-header-registers.d.ts +1 -0
  106. package/lib/{components/molecules/IconSettings/IconSettings.js → hooks/use-header-registers.js} +3 -13
  107. package/lib/hooks/use-header-registers.js.map +1 -0
  108. package/lib/hooks/use-navigation.d.ts +1 -0
  109. package/lib/hooks/use-navigation.js +22 -0
  110. package/lib/hooks/use-navigation.js.map +1 -0
  111. package/lib/hooks/use-scan-activator.d.ts +9 -0
  112. package/lib/hooks/use-scan-activator.js +60 -0
  113. package/lib/hooks/use-scan-activator.js.map +1 -0
  114. package/lib/i18n/component/Translator.d.ts +3 -1
  115. package/lib/i18n/translations/en.json +24 -1
  116. package/lib/i18n/translations/fr.json +24 -1
  117. package/lib/index.d.ts +2 -0
  118. package/lib/index.js +2 -0
  119. package/lib/index.js.map +1 -1
  120. package/lib/navigator/Navigator.js +12 -35
  121. package/lib/navigator/Navigator.js.map +1 -1
  122. package/lib/navigator/drawer/Header.d.ts +7 -0
  123. package/lib/navigator/drawer/Header.js +71 -0
  124. package/lib/navigator/drawer/Header.js.map +1 -0
  125. package/lib/screens/AttachedFilesScreen.d.ts +1 -2
  126. package/lib/screens/AttachedFilesScreen.js +2 -2
  127. package/lib/screens/AttachedFilesScreen.js.map +1 -1
  128. package/lib/screens/LoginScreen.js +21 -10
  129. package/lib/screens/LoginScreen.js.map +1 -1
  130. package/lib/screens/MailMessageScreen.d.ts +1 -2
  131. package/lib/screens/MailMessageScreen.js +2 -2
  132. package/lib/screens/MailMessageScreen.js.map +1 -1
  133. package/lib/utils/api.d.ts +2 -0
  134. package/lib/utils/api.js +47 -0
  135. package/lib/utils/api.js.map +1 -0
  136. package/lib/utils/formatters.js +16 -0
  137. package/lib/utils/formatters.js.map +1 -1
  138. package/lib/utils/storage-keys.d.ts +1 -0
  139. package/lib/utils/storage-keys.js +19 -0
  140. package/lib/utils/storage-keys.js.map +1 -0
  141. package/lib/utils/string.d.ts +1 -1
  142. package/lib/utils/string.js +1 -1
  143. package/lib/utils/string.js.map +1 -1
  144. package/package.json +3 -3
  145. package/lib/components/molecules/IconSettings/IconSettings.d.ts +0 -4
  146. 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
@@ -15,3 +15,5 @@ export * from './utils';
15
15
  export * from './types';
16
16
  export * from './auth';
17
17
  export * from './i18n';
18
+ export * from './header';
19
+ export { useNavigation } from './hooks/use-navigation';
package/lib/index.js CHANGED
@@ -32,4 +32,6 @@ export * from './utils';
32
32
  export * from './types';
33
33
  export * from './auth';
34
34
  export * from './i18n';
35
+ export * from './header';
36
+ export { useNavigation } from './hooks/use-navigation';
35
37
  //# sourceMappingURL=index.js.map
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, StyleSheet } from 'react-native';
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
- const screenOptions = {
83
- headerTintColor: Colors.primaryColor.background,
84
- headerStyle: options?.shadedHeader
85
- ? styles.headerColor
86
- : styles.listScreenHeaderStyle,
87
- headerTitle: I18n.t(title),
88
- headerTitleStyle: styles.headerTitle,
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>), [Colors, I18n, modulesScreens, styles]);
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":"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"}
1
+ {"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../src/navigator/Navigator.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export default Header;
2
+ declare function Header({ mainScreen, title, actionID, shadedHeader }: {
3
+ mainScreen: any;
4
+ title: any;
5
+ actionID?: any;
6
+ shadedHeader?: boolean;
7
+ }): JSX.Element;
@@ -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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"}
@@ -1,5 +1,4 @@
1
- declare const AttachedFilesScreen: ({ route, navigation }: {
1
+ declare const AttachedFilesScreen: ({ route }: {
2
2
  route: any;
3
- navigation: any;
4
3
  }) => JSX.Element;
5
4
  export default AttachedFilesScreen;
@@ -17,10 +17,10 @@
17
17
  */
18
18
  import React from 'react';
19
19
  import { AttachedFilesView } from '../components';
20
- const AttachedFilesScreen = ({ route, navigation }) => {
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} navigation={navigation} isStaticList={isStatic} isMetaFile={isStatic}/>);
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,EAAE,UAAU,EAAC,EAAE,EAAE;IAClD,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,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,YAAY,CAAC,CAAC,QAAQ,CAAC,CACvB,UAAU,CAAC,CAAC,QAAQ,CAAC,EACrB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
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 { enableScan, useScannedValueByKey, useScannerSelector, } from '../features/scannerSlice';
25
- import { enableCameraScanner, useCameraScannerValueByKey, } from '../features/cameraScannerSlice';
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
- {showUrlInput && (<UrlInput value={url} onChange={setUrl} readOnly={loading} onScanPress={() => dispatch(enableCameraScanner(urlScanKey))} onSelection={() => {
93
- dispatch(enableScan(urlScanKey));
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={() => dispatch(enableCameraScanner(urlScanKey))} onSelection={() => {
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={loading}/>)}
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":"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"}
1
+ {"version":3,"file":"LoginScreen.js","sourceRoot":"","sources":["../../src/screens/LoginScreen.js"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- declare const MailMessageScreen: ({ route, navigation }: {
1
+ declare const MailMessageScreen: ({ route }: {
2
2
  route: any;
3
- navigation: any;
4
3
  }) => JSX.Element;
5
4
  export default MailMessageScreen;
@@ -17,9 +17,9 @@
17
17
  */
18
18
  import React from 'react';
19
19
  import { MailMessageView } from '../components';
20
- const MailMessageScreen = ({ route, navigation }) => {
20
+ const MailMessageScreen = ({ route }) => {
21
21
  const { model, modelId } = route.params;
22
- return (<MailMessageView model={model} modelId={modelId} navigation={navigation}/>);
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,EAAE,UAAU,EAAC,EAAE,EAAE;IAChD,MAAM,EAAC,KAAK,EAAE,OAAO,EAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IACtC,OAAO,CACL,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAG,CAC5E,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
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"}
@@ -0,0 +1,2 @@
1
+ export declare function testUrl(url: string): Promise<string | null>;
2
+ export declare function isHttpUrl(url: string): boolean;
@@ -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"}