@axelor/aos-mobile-core 6.5.2 → 7.0.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 (224) hide show
  1. package/lib/api/login-api.d.ts +4 -1
  2. package/lib/api/login-api.js +5 -2
  3. package/lib/api/login-api.js.map +1 -1
  4. package/lib/api/mail-message-api.js +3 -1
  5. package/lib/api/mail-message-api.js.map +1 -1
  6. package/lib/api/mobile-config-api.js +3 -1
  7. package/lib/api/mobile-config-api.js.map +1 -1
  8. package/lib/api/traceback-api.d.ts +1 -1
  9. package/lib/api/traceback-api.js +5 -3
  10. package/lib/api/traceback-api.js.map +1 -1
  11. package/lib/apiProviders/Action/ActionApiProvider.d.ts +1 -0
  12. package/lib/apiProviders/Action/AosActionApi.d.ts +1 -0
  13. package/lib/apiProviders/Action/AosActionApi.js +14 -5
  14. package/lib/apiProviders/Action/AosActionApi.js.map +1 -1
  15. package/lib/apiProviders/Action/GatewayActionApi.d.ts +1 -0
  16. package/lib/apiProviders/Action/GatewayActionApi.js +18 -15
  17. package/lib/apiProviders/Action/GatewayActionApi.js.map +1 -1
  18. package/lib/apiProviders/Action/index.d.ts +1 -1
  19. package/lib/apiProviders/Action/utils.d.ts +10 -1
  20. package/lib/apiProviders/Model/AopModelApi.d.ts +14 -7
  21. package/lib/apiProviders/Model/AopModelApi.js +21 -8
  22. package/lib/apiProviders/Model/AopModelApi.js.map +1 -1
  23. package/lib/apiProviders/Model/GatewayModelApi.d.ts +18 -7
  24. package/lib/apiProviders/Model/GatewayModelApi.js +37 -22
  25. package/lib/apiProviders/Model/GatewayModelApi.js.map +1 -1
  26. package/lib/apiProviders/Model/ModelApiProvider.d.ts +16 -10
  27. package/lib/apiProviders/Model/utils.d.ts +6 -1
  28. package/lib/apiProviders/Standard/ObjectFieldsProvider.js +2 -1
  29. package/lib/apiProviders/Standard/ObjectFieldsProvider.js.map +1 -1
  30. package/lib/apiProviders/config.d.ts +4 -0
  31. package/lib/apiProviders/config.js +22 -0
  32. package/lib/apiProviders/config.js.map +1 -0
  33. package/lib/apiProviders/index.d.ts +1 -1
  34. package/lib/apiProviders/index.js +1 -1
  35. package/lib/apiProviders/index.js.map +1 -1
  36. package/lib/apiProviders/utils.d.ts +15 -1
  37. package/lib/apiProviders/utils.js +70 -7
  38. package/lib/apiProviders/utils.js.map +1 -1
  39. package/lib/app/Application.d.ts +10 -10
  40. package/lib/app/Application.js +10 -2
  41. package/lib/app/Application.js.map +1 -1
  42. package/lib/app/ContextedApplication.d.ts +5 -11
  43. package/lib/app/ContextedApplication.js +14 -8
  44. package/lib/app/ContextedApplication.js.map +1 -1
  45. package/lib/app/ContextsProvider.d.ts +5 -2
  46. package/lib/app/ContextsProvider.js +7 -4
  47. package/lib/app/ContextsProvider.js.map +1 -1
  48. package/lib/app/RootNavigator.d.ts +1 -2
  49. package/lib/app/RootNavigator.js +25 -33
  50. package/lib/app/RootNavigator.js.map +1 -1
  51. package/lib/app/types.d.ts +14 -0
  52. package/lib/app/types.js +19 -0
  53. package/lib/app/types.js.map +1 -0
  54. package/lib/auth/api/config-api.js +10 -11
  55. package/lib/auth/api/config-api.js.map +1 -1
  56. package/lib/auth/hooks/use-auth-headers.js +35 -2
  57. package/lib/auth/hooks/use-auth-headers.js.map +1 -1
  58. package/lib/auth/i18n/en.json +14 -1
  59. package/lib/auth/i18n/fr.json +13 -0
  60. package/lib/auth/screens/SettingsScreen.d.ts +1 -2
  61. package/lib/auth/screens/SettingsScreen.js +14 -9
  62. package/lib/auth/screens/SettingsScreen.js.map +1 -1
  63. package/lib/auth/screens/UserScreen.d.ts +1 -2
  64. package/lib/auth/screens/UserScreen.js +13 -10
  65. package/lib/auth/screens/UserScreen.js.map +1 -1
  66. package/lib/components/external/Camera/Camera.js +6 -3
  67. package/lib/components/external/Camera/Camera.js.map +1 -1
  68. package/lib/components/external/CameraScanner/CameraScanner.js +6 -3
  69. package/lib/components/external/CameraScanner/CameraScanner.js.map +1 -1
  70. package/lib/components/external/PlanningView/PlanningView.d.ts +3 -1
  71. package/lib/components/external/PlanningView/PlanningView.js +35 -4
  72. package/lib/components/external/PlanningView/PlanningView.js.map +1 -1
  73. package/lib/components/external/Scanner/Scanner.js +21 -17
  74. package/lib/components/external/Scanner/Scanner.js.map +1 -1
  75. package/lib/components/external/Stopwatch/Stopwatch.d.ts +2 -1
  76. package/lib/components/external/Stopwatch/Stopwatch.js +20 -12
  77. package/lib/components/external/Stopwatch/Stopwatch.js.map +1 -1
  78. package/lib/components/molecules/ErrorText/ErrorText.d.ts +2 -1
  79. package/lib/components/molecules/ErrorText/ErrorText.js +8 -2
  80. package/lib/components/molecules/ErrorText/ErrorText.js.map +1 -1
  81. package/lib/components/molecules/HeaderBand/HeaderBand.d.ts +8 -0
  82. package/lib/components/molecules/HeaderBand/HeaderBand.js +51 -0
  83. package/lib/components/molecules/HeaderBand/HeaderBand.js.map +1 -0
  84. package/lib/components/molecules/HeaderOptionsMenuItem/HeaderOptionMenuItem.d.ts +2 -1
  85. package/lib/components/molecules/HeaderOptionsMenuItem/HeaderOptionMenuItem.js +13 -4
  86. package/lib/components/molecules/HeaderOptionsMenuItem/HeaderOptionMenuItem.js.map +1 -1
  87. package/lib/components/molecules/LoginButton/LoginButton.d.ts +2 -1
  88. package/lib/components/molecules/LoginButton/LoginButton.js +8 -4
  89. package/lib/components/molecules/LoginButton/LoginButton.js.map +1 -1
  90. package/lib/components/molecules/SessionNumberIndicator/SessionNumberIndicator.d.ts +4 -0
  91. package/lib/components/molecules/SessionNumberIndicator/SessionNumberIndicator.js +44 -0
  92. package/lib/components/molecules/SessionNumberIndicator/SessionNumberIndicator.js.map +1 -0
  93. package/lib/components/molecules/index.d.ts +2 -0
  94. package/lib/components/molecules/index.js +2 -0
  95. package/lib/components/molecules/index.js.map +1 -1
  96. package/lib/components/organisms/DateInput/DateInput.js +16 -6
  97. package/lib/components/organisms/DateInput/DateInput.js.map +1 -1
  98. package/lib/components/organisms/HeaderBandList/HeaderBandList.d.ts +2 -0
  99. package/lib/components/organisms/HeaderBandList/HeaderBandList.js +36 -0
  100. package/lib/components/organisms/HeaderBandList/HeaderBandList.js.map +1 -0
  101. package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js +3 -3
  102. package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js.map +1 -1
  103. package/lib/components/organisms/LogoImage/LogoImage.d.ts +4 -2
  104. package/lib/components/organisms/LogoImage/LogoImage.js +34 -22
  105. package/lib/components/organisms/LogoImage/LogoImage.js.map +1 -1
  106. package/lib/components/organisms/PasswordInput/PasswordInput.d.ts +2 -1
  107. package/lib/components/organisms/PasswordInput/PasswordInput.js +8 -5
  108. package/lib/components/organisms/PasswordInput/PasswordInput.js.map +1 -1
  109. package/lib/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.d.ts +9 -2
  110. package/lib/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.js +5 -3
  111. package/lib/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.js.map +1 -1
  112. package/lib/components/organisms/SessionButtons/SessionButtons.d.ts +17 -0
  113. package/lib/components/organisms/SessionButtons/SessionButtons.js +90 -0
  114. package/lib/components/organisms/SessionButtons/SessionButtons.js.map +1 -0
  115. package/lib/components/organisms/SessionNameInput/SessionNameInput.d.ts +8 -0
  116. package/lib/components/organisms/SessionNameInput/SessionNameInput.js +36 -0
  117. package/lib/components/organisms/SessionNameInput/SessionNameInput.js.map +1 -0
  118. package/lib/components/organisms/UrlInput/UrlInput.d.ts +3 -1
  119. package/lib/components/organisms/UrlInput/UrlInput.js +6 -4
  120. package/lib/components/organisms/UrlInput/UrlInput.js.map +1 -1
  121. package/lib/components/organisms/UsernameInput/UsernameInput.d.ts +3 -1
  122. package/lib/components/organisms/UsernameInput/UsernameInput.js +6 -4
  123. package/lib/components/organisms/UsernameInput/UsernameInput.js.map +1 -1
  124. package/lib/components/organisms/index.d.ts +3 -1
  125. package/lib/components/organisms/index.js +3 -1
  126. package/lib/components/organisms/index.js.map +1 -1
  127. package/lib/components/templates/AttachedFilesView/AttachedFilesView.js +4 -5
  128. package/lib/components/templates/AttachedFilesView/AttachedFilesView.js.map +1 -1
  129. package/lib/components/templates/PopupCreateSession/PopupCreateSession.d.ts +10 -0
  130. package/lib/components/templates/PopupCreateSession/PopupCreateSession.js +171 -0
  131. package/lib/components/templates/PopupCreateSession/PopupCreateSession.js.map +1 -0
  132. package/lib/components/templates/PopupMinimalRequiredVersion/PopupMinimalRequiredVersion.d.ts +5 -0
  133. package/lib/components/templates/PopupMinimalRequiredVersion/PopupMinimalRequiredVersion.js +64 -0
  134. package/lib/components/templates/PopupMinimalRequiredVersion/PopupMinimalRequiredVersion.js.map +1 -0
  135. package/lib/components/templates/PopupSession/PopupSession.d.ts +8 -0
  136. package/lib/components/templates/PopupSession/PopupSession.js +135 -0
  137. package/lib/components/templates/PopupSession/PopupSession.js.map +1 -0
  138. package/lib/components/templates/PopupSessionList/PopupSessionList.d.ts +7 -0
  139. package/lib/components/templates/PopupSessionList/PopupSessionList.js +107 -0
  140. package/lib/components/templates/PopupSessionList/PopupSessionList.js.map +1 -0
  141. package/lib/components/templates/index.d.ts +4 -0
  142. package/lib/components/templates/index.js +4 -0
  143. package/lib/components/templates/index.js.map +1 -1
  144. package/lib/config/RouterProvider.d.ts +8 -0
  145. package/lib/config/RouterProvider.js +49 -0
  146. package/lib/config/RouterProvider.js.map +1 -0
  147. package/lib/config/index.d.ts +1 -0
  148. package/lib/config/index.js +19 -0
  149. package/lib/config/index.js.map +1 -0
  150. package/lib/config/routes.d.ts +31 -0
  151. package/lib/config/routes.js +41 -0
  152. package/lib/config/routes.js.map +1 -0
  153. package/lib/features/authSlice.d.ts +31 -14
  154. package/lib/features/authSlice.js +29 -6
  155. package/lib/features/authSlice.js.map +1 -1
  156. package/lib/header/HeaderActionsProvider.js +1 -1
  157. package/lib/header/HeaderActionsProvider.js.map +1 -1
  158. package/lib/header/HeaderBandContext.d.ts +10 -0
  159. package/lib/header/HeaderBandContext.js +58 -0
  160. package/lib/header/HeaderBandContext.js.map +1 -0
  161. package/lib/header/header-band-context.helper.d.ts +5 -0
  162. package/lib/header/header-band-context.helper.js +44 -0
  163. package/lib/header/header-band-context.helper.js.map +1 -0
  164. package/lib/header/index.d.ts +3 -1
  165. package/lib/header/index.js +2 -0
  166. package/lib/header/index.js.map +1 -1
  167. package/lib/header/types.d.ts +10 -0
  168. package/lib/i18n/translations/en.json +6 -1
  169. package/lib/i18n/translations/fr.json +6 -1
  170. package/lib/index.d.ts +3 -0
  171. package/lib/index.js +3 -0
  172. package/lib/index.js.map +1 -1
  173. package/lib/navigator/Navigator.d.ts +3 -2
  174. package/lib/navigator/Navigator.js +14 -4
  175. package/lib/navigator/Navigator.js.map +1 -1
  176. package/lib/navigator/drawer/DrawerContent.d.ts +3 -2
  177. package/lib/navigator/drawer/DrawerContent.js +29 -6
  178. package/lib/navigator/drawer/DrawerContent.js.map +1 -1
  179. package/lib/navigator/drawer/Header.js +6 -3
  180. package/lib/navigator/drawer/Header.js.map +1 -1
  181. package/lib/navigator/drawer/MenuIconButton.js +6 -2
  182. package/lib/navigator/drawer/MenuIconButton.js.map +1 -1
  183. package/lib/navigator/module.helper.js +1 -1
  184. package/lib/navigator/module.helper.js.map +1 -1
  185. package/lib/screens/LoginScreen.js +76 -52
  186. package/lib/screens/LoginScreen.js.map +1 -1
  187. package/lib/screens/SessionManagementScreen.d.ts +4 -0
  188. package/lib/screens/SessionManagementScreen.js +97 -0
  189. package/lib/screens/SessionManagementScreen.js.map +1 -0
  190. package/lib/sessions/SessionStorage.d.ts +22 -0
  191. package/lib/sessions/SessionStorage.js +93 -0
  192. package/lib/sessions/SessionStorage.js.map +1 -0
  193. package/lib/sessions/hook.d.ts +5 -0
  194. package/lib/sessions/hook.js +37 -0
  195. package/lib/sessions/hook.js.map +1 -0
  196. package/lib/sessions/index.d.ts +4 -0
  197. package/lib/sessions/index.js +22 -0
  198. package/lib/sessions/index.js.map +1 -0
  199. package/lib/sessions/type.d.ts +7 -0
  200. package/lib/{utils/storage-keys.js → sessions/type.js} +1 -1
  201. package/lib/sessions/type.js.map +1 -0
  202. package/lib/sessions/utils.d.ts +4 -0
  203. package/lib/sessions/utils.js +34 -0
  204. package/lib/sessions/utils.js.map +1 -0
  205. package/lib/utils/api.js +1 -3
  206. package/lib/utils/api.js.map +1 -1
  207. package/lib/utils/filter.js +6 -8
  208. package/lib/utils/filter.js.map +1 -1
  209. package/lib/utils/index.d.ts +1 -1
  210. package/lib/utils/index.js +1 -1
  211. package/lib/utils/index.js.map +1 -1
  212. package/lib/utils/list.d.ts +0 -1
  213. package/lib/utils/list.js +0 -13
  214. package/lib/utils/list.js.map +1 -1
  215. package/lib/utils/object.js +1 -1
  216. package/lib/utils/object.js.map +1 -1
  217. package/lib/utils/string.js +2 -2
  218. package/lib/utils/string.js.map +1 -1
  219. package/package.json +5 -5
  220. package/lib/components/organisms/AutoCompleteSearchInput/AutoCompleteSearchInput.d.ts +0 -19
  221. package/lib/components/organisms/AutoCompleteSearchInput/AutoCompleteSearchInput.js +0 -58
  222. package/lib/components/organisms/AutoCompleteSearchInput/AutoCompleteSearchInput.js.map +0 -1
  223. package/lib/utils/storage-keys.d.ts +0 -1
  224. package/lib/utils/storage-keys.js.map +0 -1
@@ -0,0 +1,171 @@
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, { useCallback, useEffect, useMemo, useState } from 'react';
19
+ import { ActivityIndicator, StyleSheet, View } from 'react-native';
20
+ import { useDispatch, useSelector } from 'react-redux';
21
+ import { Icon, PopUp, useThemeColor, WarningCard } from '@axelor/aos-mobile-ui';
22
+ import { useTranslator } from '../../../i18n';
23
+ import { PasswordInput, SessionNameInput, UrlInput, UsernameInput, } from '../../organisms';
24
+ import { ErrorText, LoginButton } from '../../molecules';
25
+ import { useScanActivator, useScannerDeviceActivator, } from '../../../hooks/use-scan-activator';
26
+ import { useScannerSelector, useScannedValueByKey, } from '../../../features/scannerSlice';
27
+ import { useCameraScannerValueByKey } from '../../../features/cameraScannerSlice';
28
+ import { isUrlValid, login } from '../../../features/authSlice';
29
+ import { getStorageUrl, sessionStorage } from '../../../sessions';
30
+ import { checkNullString } from '../../../utils';
31
+ import DeviceInfo from 'react-native-device-info';
32
+ const urlScanKey = 'urlUsername_createSession_login';
33
+ const PopupCreateSession = ({ sessionList, popupIsOpen, setPopupIsOpen, showUrlInput, modeDebug, testInstanceConfig, releaseInstanceConfig, }) => {
34
+ const Colors = useThemeColor();
35
+ const I18n = useTranslator();
36
+ const dispatch = useDispatch();
37
+ const { loading, error, baseUrl } = useSelector(state => state.auth);
38
+ const { enable: onScanPress } = useScanActivator(urlScanKey);
39
+ const { enable: enableScanner } = useScannerDeviceActivator(urlScanKey);
40
+ const { isEnabled, scanKey } = useScannerSelector();
41
+ const scannedValue = useScannedValueByKey(urlScanKey);
42
+ const scanData = useCameraScannerValueByKey(urlScanKey);
43
+ const urlStorage = useMemo(() => getStorageUrl(), []);
44
+ const defaultUrl = useMemo(() => {
45
+ if (urlStorage != null) {
46
+ return urlStorage;
47
+ }
48
+ if (baseUrl != null) {
49
+ return baseUrl;
50
+ }
51
+ if (modeDebug) {
52
+ return testInstanceConfig?.defaultUrl;
53
+ }
54
+ return releaseInstanceConfig?.url;
55
+ }, [
56
+ baseUrl,
57
+ modeDebug,
58
+ releaseInstanceConfig?.url,
59
+ testInstanceConfig?.defaultUrl,
60
+ urlStorage,
61
+ ]);
62
+ const [isOpen, setIsOpen] = useState(false);
63
+ const [showRequiredFields, setShowRequiredFields] = useState(false);
64
+ const [sessionName, setSessionName] = useState(modeDebug ? DeviceInfo.getApplicationName() : '');
65
+ const [url, setUrl] = useState(defaultUrl || '');
66
+ const [username, setUsername] = useState(modeDebug ? testInstanceConfig?.defaultUsername : '');
67
+ const [password, setPassword] = useState(modeDebug ? testInstanceConfig?.defaultPassword : '');
68
+ const parseQrCode = useCallback(scanValue => {
69
+ if (scanValue.includes('username') === true) {
70
+ const parseScannnedData = JSON.parse(scanValue);
71
+ setUrl(parseScannnedData.url);
72
+ setUsername(parseScannnedData.username);
73
+ }
74
+ else {
75
+ setUrl(scanValue);
76
+ }
77
+ setIsOpen(true);
78
+ }, []);
79
+ useEffect(() => {
80
+ if (scannedValue) {
81
+ parseQrCode(scannedValue);
82
+ }
83
+ else if (scanData?.value != null) {
84
+ parseQrCode(scanData?.value);
85
+ }
86
+ }, [parseQrCode, scanData, scannedValue]);
87
+ const nameSessionAlreadyExist = useMemo(() => {
88
+ if (!Array.isArray(sessionList) || sessionList?.length === 0) {
89
+ return false;
90
+ }
91
+ return sessionList.some(_session => _session.id === sessionName);
92
+ }, [sessionList, sessionName]);
93
+ const disabledLogin = useMemo(() => checkNullString(sessionName) ||
94
+ checkNullString(url) ||
95
+ checkNullString(username) ||
96
+ checkNullString(password) ||
97
+ loading ||
98
+ nameSessionAlreadyExist, [loading, nameSessionAlreadyExist, password, sessionName, url, username]);
99
+ const onPressLogin = useCallback(() => {
100
+ dispatch(login({ url, username, password }));
101
+ if (error == null) {
102
+ sessionStorage.addSession({
103
+ session: {
104
+ id: sessionName,
105
+ url: url,
106
+ username: username,
107
+ isActive: true,
108
+ },
109
+ });
110
+ }
111
+ }, [dispatch, password, sessionName, url, username, error]);
112
+ const handleTestUrl = useCallback(() => {
113
+ dispatch(isUrlValid({ url }));
114
+ }, [dispatch, url]);
115
+ useEffect(() => {
116
+ setIsOpen(popupIsOpen);
117
+ }, [popupIsOpen]);
118
+ const handleScanPress = useCallback(() => {
119
+ DeviceInfo.getManufacturer()
120
+ .then(manufacturer => {
121
+ if (manufacturer !== 'Zebra Technologies') {
122
+ setIsOpen(false);
123
+ }
124
+ })
125
+ .then(() => onScanPress());
126
+ }, [onScanPress]);
127
+ return (<PopUp visible={isOpen} title={I18n.t('Auth_Create_Session')} style={styles.popup}>
128
+ <View style={styles.popupContainer}>
129
+ <Icon name="times" size={20} touchable={true} onPress={() => setPopupIsOpen(false)} style={styles.closeIcon}/>
130
+ <ErrorText error={error}/>
131
+ <View>
132
+ {!loading && nameSessionAlreadyExist && (<WarningCard style={styles.warningCard} errorMessage={I18n.t('Auth_Session_Name_Aleary_Exist')}/>)}
133
+ </View>
134
+ <SessionNameInput value={sessionName} onChange={setSessionName} readOnly={loading} style={styles.input} showRequiredFields={showRequiredFields}/>
135
+ {showUrlInput && (<UrlInput value={url} onChange={setUrl} readOnly={loading} onScanPress={handleScanPress} onSelection={enableScanner} onEndFocus={handleTestUrl} scanIconColor={isEnabled && scanKey === urlScanKey
136
+ ? Colors.primaryColor.background
137
+ : Colors.secondaryColor_dark.background} style={styles.input} showRequiredFields={showRequiredFields}/>)}
138
+ <UsernameInput value={username} onChange={setUsername} readOnly={loading} showScanIcon={!showUrlInput} onScanPress={handleScanPress} onSelection={enableScanner} scanIconColor={isEnabled && scanKey === urlScanKey
139
+ ? Colors.primaryColor.background
140
+ : Colors.secondaryColor_dark.background} style={styles.input} showRequiredFields={showRequiredFields}/>
141
+ <PasswordInput value={password} onChange={setPassword} readOnly={loading} style={styles.input} showRequiredFields={showRequiredFields}/>
142
+ {loading ? (<ActivityIndicator size="large"/>) : (<LoginButton onPress={onPressLogin} onDisabledPress={() => setShowRequiredFields(true)} disabled={disabledLogin}/>)}
143
+ </View>
144
+ </PopUp>);
145
+ };
146
+ const styles = StyleSheet.create({
147
+ popup: {
148
+ width: '90%',
149
+ paddingHorizontal: 15,
150
+ paddingRight: 15,
151
+ paddingVertical: 15,
152
+ },
153
+ popupContainer: {
154
+ flexDirection: 'column',
155
+ alignItems: 'center',
156
+ width: '120%',
157
+ },
158
+ closeIcon: {
159
+ position: 'absolute',
160
+ right: 0,
161
+ top: '-10%',
162
+ },
163
+ input: {
164
+ width: '100%',
165
+ },
166
+ warningCard: {
167
+ width: '100%',
168
+ },
169
+ });
170
+ export default PopupCreateSession;
171
+ //# sourceMappingURL=PopupCreateSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopupCreateSession.js","sourceRoot":"","sources":["../../../../src/components/templates/PopupCreateSession/PopupCreateSession.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACvE,OAAO,EAAC,iBAAiB,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AACjE,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,aAAa,CAAC;AACrD,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,SAAS,EAAE,WAAW,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAC,0BAA0B,EAAC,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAC,UAAU,EAAE,KAAK,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAElD,MAAM,UAAU,GAAG,iCAAiC,CAAC;AAErD,MAAM,kBAAkB,GAAG,CAAC,EAC1B,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,qBAAqB,GACtB,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,EAAC,MAAM,EAAE,WAAW,EAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,EAAC,MAAM,EAAE,aAAa,EAAC,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACtE,MAAM,EAAC,SAAS,EAAE,OAAO,EAAC,GAAG,kBAAkB,EAAE,CAAC;IAClD,MAAM,YAAY,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAExD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,OAAO,UAAU,CAAC;SACnB;QAED,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,OAAO,OAAO,CAAC;SAChB;QAED,IAAI,SAAS,EAAE;YACb,OAAO,kBAAkB,EAAE,UAAU,CAAC;SACvC;QAED,OAAO,qBAAqB,EAAE,GAAG,CAAC;IACpC,CAAC,EAAE;QACD,OAAO;QACP,SAAS;QACT,qBAAqB,EAAE,GAAG;QAC1B,kBAAkB,EAAE,UAAU;QAC9B,UAAU;KACX,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAC5C,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CACjD,CAAC;IACF,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IACjD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CACtC,SAAS,CAAC,CAAC,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CACrD,CAAC;IACF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CACtC,SAAS,CAAC,CAAC,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CACrD,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,EAAE;QAC1C,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;YAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC9B,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;SACzC;aAAM;YACL,MAAM,CAAC,SAAS,CAAC,CAAC;SACnB;QACD,SAAS,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,EAAE;YAChB,WAAW,CAAC,YAAY,CAAC,CAAC;SAC3B;aAAM,IAAI,QAAQ,EAAE,KAAK,IAAI,IAAI,EAAE;YAClC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;SAC9B;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAE1C,MAAM,uBAAuB,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,EAAE,MAAM,KAAK,CAAC,EAAE;YAC5D,OAAO,KAAK,CAAC;SACd;QAED,OAAO,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;IACnE,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAE/B,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CACH,eAAe,CAAC,WAAW,CAAC;QAC5B,eAAe,CAAC,GAAG,CAAC;QACpB,eAAe,CAAC,QAAQ,CAAC;QACzB,eAAe,CAAC,QAAQ,CAAC;QACzB,OAAO;QACP,uBAAuB,EACzB,CAAC,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,CAAC,CACzE,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,QAAQ,CAAC,KAAK,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC;QAE3C,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,cAAc,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE;oBACP,EAAE,EAAE,WAAW;oBACf,GAAG,EAAE,GAAG;oBACR,QAAQ,EAAE,QAAQ;oBAClB,QAAQ,EAAE,IAAI;iBACf;aACF,CAAC,CAAC;SACJ;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5D,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,QAAQ,CAAC,UAAU,CAAC,EAAC,GAAG,EAAC,CAAC,CAAC,CAAC;IAC9B,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IAEpB,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,UAAU,CAAC,eAAe,EAAE;aACzB,IAAI,CAAC,YAAY,CAAC,EAAE;YACnB,IAAI,YAAY,KAAK,oBAAoB,EAAE;gBACzC,SAAS,CAAC,KAAK,CAAC,CAAC;aAClB;QACH,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,CACL,CAAC,KAAK,CACJ,OAAO,CAAC,CAAC,MAAM,CAAC,CAChB,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CACrC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACpB;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CACjC;QAAA,CAAC,IAAI,CACH,IAAI,CAAC,OAAO,CACZ,IAAI,CAAC,CAAC,EAAE,CAAC,CACT,SAAS,CAAC,CAAC,IAAI,CAAC,CAChB,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CACrC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAE1B;QAAA,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EACxB;QAAA,CAAC,IAAI,CACH;UAAA,CAAC,CAAC,OAAO,IAAI,uBAAuB,IAAI,CACtC,CAAC,WAAW,CACV,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAC1B,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,EACvD,CACH,CACH;QAAA,EAAE,IAAI,CACN;QAAA,CAAC,gBAAgB,CACf,KAAK,CAAC,CAAC,WAAW,CAAC,CACnB,QAAQ,CAAC,CAAC,cAAc,CAAC,CACzB,QAAQ,CAAC,CAAC,OAAO,CAAC,CAClB,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACpB,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,EAEzC;QAAA,CAAC,YAAY,IAAI,CACf,CAAC,QAAQ,CACP,KAAK,CAAC,CAAC,GAAG,CAAC,CACX,QAAQ,CAAC,CAAC,MAAM,CAAC,CACjB,QAAQ,CAAC,CAAC,OAAO,CAAC,CAClB,WAAW,CAAC,CAAC,eAAe,CAAC,CAC7B,WAAW,CAAC,CAAC,aAAa,CAAC,CAC3B,UAAU,CAAC,CAAC,aAAa,CAAC,CAC1B,aAAa,CAAC,CACZ,SAAS,IAAI,OAAO,KAAK,UAAU;gBACjC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU;gBAChC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAC1C,CACD,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACpB,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,EACvC,CACH,CACD;QAAA,CAAC,aAAa,CACZ,KAAK,CAAC,CAAC,QAAQ,CAAC,CAChB,QAAQ,CAAC,CAAC,WAAW,CAAC,CACtB,QAAQ,CAAC,CAAC,OAAO,CAAC,CAClB,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAC5B,WAAW,CAAC,CAAC,eAAe,CAAC,CAC7B,WAAW,CAAC,CAAC,aAAa,CAAC,CAC3B,aAAa,CAAC,CACZ,SAAS,IAAI,OAAO,KAAK,UAAU;YACjC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU;YAChC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAC1C,CACD,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACpB,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,EAEzC;QAAA,CAAC,aAAa,CACZ,KAAK,CAAC,CAAC,QAAQ,CAAC,CAChB,QAAQ,CAAC,CAAC,WAAW,CAAC,CACtB,QAAQ,CAAC,CAAC,OAAO,CAAC,CAClB,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACpB,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,EAEzC;QAAA,CAAC,OAAO,CAAC,CAAC,CAAC,CACT,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAG,CACnC,CAAC,CAAC,CAAC,CACF,CAAC,WAAW,CACV,OAAO,CAAC,CAAC,YAAY,CAAC,CACtB,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CACnD,QAAQ,CAAC,CAAC,aAAa,CAAC,EACxB,CACH,CACH;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,KAAK,CAAC,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,KAAK,EAAE;QACL,KAAK,EAAE,KAAK;QACZ,iBAAiB,EAAE,EAAE;QACrB,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,EAAE;KACpB;IACD,cAAc,EAAE;QACd,aAAa,EAAE,QAAQ;QACvB,UAAU,EAAE,QAAQ;QACpB,KAAK,EAAE,MAAM;KACd;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,MAAM;KACZ;IACD,KAAK,EAAE;QACL,KAAK,EAAE,MAAM;KACd;IACD,WAAW,EAAE;QACX,KAAK,EAAE,MAAM;KACd;CACF,CAAC,CAAC;AAEH,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export default PopupMinimalRequiredVersion;
2
+ declare function PopupMinimalRequiredVersion({ versionCheckConfig, onRefresh }: {
3
+ versionCheckConfig: any;
4
+ onRefresh: any;
5
+ }): JSX.Element;
@@ -0,0 +1,64 @@
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 { StyleSheet, Platform } from 'react-native';
20
+ import { checkNullString, IconButton, PopUp, Text, useThemeColor, } from '@axelor/aos-mobile-ui';
21
+ import useTranslator from '../../../i18n/hooks/use-translator';
22
+ import { linkingProvider } from '../../../tools/LinkingProvider';
23
+ import { logout } from '../../../features/authSlice';
24
+ import { useDispatch } from '../../../redux/hooks';
25
+ const PopupMinimalRequiredVersion = ({ versionCheckConfig, onRefresh }) => {
26
+ const I18n = useTranslator();
27
+ const Colors = useThemeColor();
28
+ const dispatch = useDispatch();
29
+ const url = useMemo(() => Platform.OS === 'ios'
30
+ ? versionCheckConfig?.ios
31
+ : versionCheckConfig?.android, [versionCheckConfig]);
32
+ const handleUpdate = () => {
33
+ linkingProvider.openBrowser(url);
34
+ };
35
+ return (<PopUp visible={true} title={I18n.t('Base_Information')} data={I18n.t('Base_MinimalRequiredVersion')} style={styles.popup} childrenStyle={styles.btnContainer}>
36
+ {checkNullString(url) ? (<Text style={styles.text}>{I18n.t('Base_Contact_Admin')}</Text>) : (<IconButton title={I18n.t('Base_Update')} iconName="angle-double-up" color={Colors.primaryColor} onPress={handleUpdate} style={styles.btn}/>)}
37
+ <IconButton title={I18n.t('Base_Refresh')} iconName="refresh" FontAwesome5={false} color={Colors.secondaryColor} onPress={onRefresh} style={styles.btn}/>
38
+ <IconButton title={I18n.t('Base_Logout')} iconName="power-off" color={Colors.errorColor} onPress={() => dispatch(logout())} style={styles.btn}/>
39
+ </PopUp>);
40
+ };
41
+ const styles = StyleSheet.create({
42
+ popup: {
43
+ width: '90%',
44
+ paddingHorizontal: 15,
45
+ paddingRight: 15,
46
+ paddingVertical: 15,
47
+ },
48
+ btnContainer: {
49
+ width: '100%',
50
+ flexDirection: 'column',
51
+ justifyContent: 'center',
52
+ alignItems: 'center',
53
+ },
54
+ btn: {
55
+ height: 70,
56
+ marginVertical: '1%',
57
+ },
58
+ text: {
59
+ textAlign: 'center',
60
+ fontSize: 16,
61
+ },
62
+ });
63
+ export default PopupMinimalRequiredVersion;
64
+ //# sourceMappingURL=PopupMinimalRequiredVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopupMinimalRequiredVersion.js","sourceRoot":"","sources":["../../../../src/components/templates/PopupMinimalRequiredVersion/PopupMinimalRequiredVersion.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export default PopupSession;
2
+ declare function PopupSession({ popupIsOpen, setPopupIsOpen, showUrlInput, sessionActive, testInstanceConfig, }: {
3
+ popupIsOpen: any;
4
+ setPopupIsOpen: any;
5
+ showUrlInput: any;
6
+ sessionActive: any;
7
+ testInstanceConfig: any;
8
+ }): JSX.Element;
@@ -0,0 +1,135 @@
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, { useCallback, useEffect, useMemo, useState } from 'react';
19
+ import { ActivityIndicator, StyleSheet, View } from 'react-native';
20
+ import { useDispatch, useSelector } from 'react-redux';
21
+ import DeviceInfo from 'react-native-device-info';
22
+ import { Icon, PopUp, useThemeColor, LabelText } from '@axelor/aos-mobile-ui';
23
+ import { PasswordInput, UsernameInput } from '../../organisms';
24
+ import { ErrorText, LoginButton } from '../../molecules';
25
+ import { useScanActivator, useScannerDeviceActivator, } from '../../../hooks/use-scan-activator';
26
+ import { useScannedValueByKey, useScannerSelector, } from '../../../features/scannerSlice';
27
+ import { useCameraScannerValueByKey } from '../../../features/cameraScannerSlice';
28
+ import { login } from '../../../features/authSlice';
29
+ import { sessionStorage } from '../../../sessions';
30
+ import { checkNullString } from '../../../utils';
31
+ const urlScanKey = 'urlUsername_FastConnection_login';
32
+ const PopupSession = ({ popupIsOpen, setPopupIsOpen, showUrlInput, sessionActive, testInstanceConfig, }) => {
33
+ const Colors = useThemeColor();
34
+ const dispatch = useDispatch();
35
+ const { loading, error } = useSelector(state => state.auth);
36
+ const { enable: onScanPress } = useScanActivator(urlScanKey);
37
+ const { enable: enableScanner } = useScannerDeviceActivator(urlScanKey);
38
+ const { isEnabled, scanKey } = useScannerSelector();
39
+ const scannedValue = useScannedValueByKey(urlScanKey);
40
+ const scanData = useCameraScannerValueByKey(urlScanKey);
41
+ const [isOpen, setIsOpen] = useState(false);
42
+ const [showRequiredFields, setShowRequiredFields] = useState(false);
43
+ const [username, setUsername] = useState(sessionActive?.username);
44
+ const [password, setPassword] = useState('');
45
+ const modeDebug = useMemo(() => __DEV__, []);
46
+ useEffect(() => {
47
+ if (sessionActive != null) {
48
+ setUsername(sessionActive.username);
49
+ setPassword(modeDebug ? testInstanceConfig?.defaultPassword : '');
50
+ }
51
+ }, [modeDebug, sessionActive, testInstanceConfig?.defaultPassword]);
52
+ const onPressLogin = useCallback(() => {
53
+ dispatch(login({ url: sessionActive.url, username, password }));
54
+ }, [dispatch, password, sessionActive, username]);
55
+ const deleteSession = useCallback(() => {
56
+ sessionStorage.removeSession({ sessionId: sessionActive?.id });
57
+ setPopupIsOpen(false);
58
+ }, [sessionActive?.id, setPopupIsOpen]);
59
+ const parseQrCode = useCallback(scanValue => {
60
+ if (scanValue.includes('username') === true) {
61
+ const parseScannnedData = JSON.parse(scanValue);
62
+ setUsername(parseScannnedData.username);
63
+ }
64
+ setIsOpen(true);
65
+ }, []);
66
+ const disabledLogin = useMemo(() => checkNullString(username) || checkNullString(password) || loading, [loading, password, username]);
67
+ useEffect(() => {
68
+ if (scannedValue) {
69
+ parseQrCode(scannedValue);
70
+ }
71
+ else if (scanData?.value != null) {
72
+ parseQrCode(scanData?.value);
73
+ }
74
+ }, [parseQrCode, scanData, scannedValue]);
75
+ useEffect(() => {
76
+ setIsOpen(popupIsOpen);
77
+ }, [popupIsOpen]);
78
+ const handleScanPress = useCallback(() => {
79
+ DeviceInfo.getManufacturer()
80
+ .then(manufacturer => {
81
+ if (manufacturer !== 'Zebra Technologies') {
82
+ setIsOpen(false);
83
+ }
84
+ })
85
+ .then(() => onScanPress());
86
+ }, [onScanPress]);
87
+ if (sessionActive == null) {
88
+ return null;
89
+ }
90
+ return (<PopUp visible={isOpen} title={sessionActive?.id} style={styles.popup}>
91
+ <View style={styles.popupContainer}>
92
+ <Icon name="times" size={20} touchable={true} onPress={() => setPopupIsOpen(false)} style={styles.closeIcon}/>
93
+ <ErrorText error={error}/>
94
+ {showUrlInput && (<LabelText iconName="link" title={sessionActive.url} style={styles.labText} size={20}/>)}
95
+ <UsernameInput value={username} onChange={setUsername} readOnly={loading} showScanIcon={!showUrlInput} onScanPress={handleScanPress} onSelection={enableScanner} scanIconColor={isEnabled && scanKey === urlScanKey
96
+ ? Colors.primaryColor.background
97
+ : Colors.secondaryColor_dark.background} style={styles.input} showRequiredFields={showRequiredFields}/>
98
+ <PasswordInput value={password} onChange={setPassword} readOnly={loading} style={styles.input} showRequiredFields={showRequiredFields}/>
99
+ {loading ? (<ActivityIndicator size="large"/>) : (<LoginButton onPress={onPressLogin} onDisabledPress={() => setShowRequiredFields(true)} disabled={disabledLogin}/>)}
100
+ <Icon name="trash-alt" size={20} color={Colors.errorColor.background} touchable={true} onPress={deleteSession} style={styles.binIcon}/>
101
+ </View>
102
+ </PopUp>);
103
+ };
104
+ const styles = StyleSheet.create({
105
+ popup: {
106
+ width: '90%',
107
+ paddingHorizontal: 15,
108
+ paddingRight: 15,
109
+ paddingVertical: 15,
110
+ },
111
+ popupContainer: {
112
+ flexDirection: 'column',
113
+ alignItems: 'center',
114
+ width: '120%',
115
+ },
116
+ closeIcon: {
117
+ position: 'absolute',
118
+ right: 0,
119
+ top: '-10%',
120
+ },
121
+ binIcon: {
122
+ position: 'absolute',
123
+ right: '1%',
124
+ bottom: '5%',
125
+ },
126
+ input: {
127
+ width: '100%',
128
+ },
129
+ labText: {
130
+ width: '95%',
131
+ marginVertical: 10,
132
+ },
133
+ });
134
+ export default PopupSession;
135
+ //# sourceMappingURL=PopupSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopupSession.js","sourceRoot":"","sources":["../../../../src/components/templates/PopupSession/PopupSession.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export default PopupSessionList;
2
+ declare function PopupSessionList({ popupIsOpen, sessionList, setPopupIsOpen, setPopupSessionIsOpen, }: {
3
+ popupIsOpen: any;
4
+ sessionList: any;
5
+ setPopupIsOpen: any;
6
+ setPopupSessionIsOpen: any;
7
+ }): JSX.Element;
@@ -0,0 +1,107 @@
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, { useCallback, useMemo } from 'react';
19
+ import { StyleSheet, View, TouchableOpacity } from 'react-native';
20
+ import { Text, PopUp, useThemeColor, Icon, HorizontalRule, } from '@axelor/aos-mobile-ui';
21
+ import { useTranslator } from '../../../i18n';
22
+ import { sessionStorage } from '../../../sessions';
23
+ const PopupSessionList = ({ popupIsOpen, sessionList, setPopupIsOpen, setPopupSessionIsOpen, }) => {
24
+ const Colors = useThemeColor();
25
+ const I18n = useTranslator();
26
+ const sessions = useMemo(() => sessionList, [sessionList]);
27
+ const styles = useMemo(() => getStyles(Colors), [Colors]);
28
+ const changeActiveSession = useCallback(sessionId => {
29
+ sessionStorage.changeActiveSession({ sessionId });
30
+ setPopupIsOpen(false);
31
+ setPopupSessionIsOpen(true);
32
+ }, [setPopupIsOpen, setPopupSessionIsOpen]);
33
+ const removeSession = useCallback(sessionId => {
34
+ sessionStorage.removeSession({ sessionId });
35
+ }, []);
36
+ if (!Array.isArray(sessions) || sessions?.length === 0) {
37
+ return null;
38
+ }
39
+ return (<PopUp visible={popupIsOpen} title={I18n.t('Auth_Saved_Sessions')}>
40
+ <View style={styles.popupContainer}>
41
+ {sessions.map((_session, index) => {
42
+ return (<View key={index} style={styles.popupItemContainer}>
43
+ <View style={_session.isActive ? styles.itemActive : styles.item}/>
44
+ <View style={styles.popupItemChildren}>
45
+ <TouchableOpacity onPress={() => changeActiveSession(_session.id)}>
46
+ <Text style={styles.textTitle}>{_session.id}</Text>
47
+ <Text numberOfLines={1}>{_session.url}</Text>
48
+ <HorizontalRule style={styles.line}/>
49
+ </TouchableOpacity>
50
+ </View>
51
+ <Icon name="close" color="red" FontAwesome5={false} touchable={true} onPress={() => removeSession(_session.id)}/>
52
+ </View>);
53
+ })}
54
+ <View style={styles.closeBtn}>
55
+ <TouchableOpacity onPress={() => setPopupIsOpen(false)}>
56
+ <Text>{I18n.t('Auth_Close')}</Text>
57
+ </TouchableOpacity>
58
+ </View>
59
+ </View>
60
+ </PopUp>);
61
+ };
62
+ const getStyles = Colors => StyleSheet.create({
63
+ popupContainer: {
64
+ flexDirection: 'column',
65
+ alignItems: 'center',
66
+ width: '100%',
67
+ },
68
+ popupItemContainer: {
69
+ flexDirection: 'row',
70
+ alignItems: 'center',
71
+ marginLeft: '-5%',
72
+ marginVertical: '2%',
73
+ },
74
+ popupItemChildren: {
75
+ flexDirection: 'column',
76
+ justifyContent: 'space-between',
77
+ width: '120%',
78
+ marginLeft: '5%',
79
+ },
80
+ textTitle: {
81
+ fontSize: 18,
82
+ fontWeight: 'bold',
83
+ marginBottom: 5,
84
+ },
85
+ line: {
86
+ marginTop: 5,
87
+ },
88
+ closeBtn: {
89
+ marginTop: '5%',
90
+ },
91
+ itemActive: {
92
+ width: 7,
93
+ height: 40,
94
+ borderTopRightRadius: 8,
95
+ borderBottomRightRadius: 8,
96
+ backgroundColor: Colors.primaryColor.background_light,
97
+ },
98
+ item: {
99
+ width: 7,
100
+ height: 40,
101
+ borderTopRightRadius: 8,
102
+ borderBottomRightRadius: 8,
103
+ backgroundColor: Colors.backgroundColor,
104
+ },
105
+ });
106
+ export default PopupSessionList;
107
+ //# sourceMappingURL=PopupSessionList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopupSessionList.js","sourceRoot":"","sources":["../../../../src/components/templates/PopupSessionList/PopupSessionList.js"],"names":[],"mappings":"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"}
@@ -1,2 +1,6 @@
1
1
  export { default as AttachedFilesView } from "./AttachedFilesView/AttachedFilesView";
2
2
  export { default as MailMessageView } from "./MailMessageView/MailMessageView";
3
+ export { default as PopupCreateSession } from "./PopupCreateSession/PopupCreateSession";
4
+ export { default as PopupMinimalRequiredVersion } from "./PopupMinimalRequiredVersion/PopupMinimalRequiredVersion";
5
+ export { default as PopupSession } from "./PopupSession/PopupSession";
6
+ export { default as PopupSessionList } from "./PopupSessionList/PopupSessionList";
@@ -17,4 +17,8 @@
17
17
  */
18
18
  export { default as AttachedFilesView } from './AttachedFilesView/AttachedFilesView';
19
19
  export { default as MailMessageView } from './MailMessageView/MailMessageView';
20
+ export { default as PopupCreateSession } from './PopupCreateSession/PopupCreateSession';
21
+ export { default as PopupMinimalRequiredVersion } from './PopupMinimalRequiredVersion/PopupMinimalRequiredVersion';
22
+ export { default as PopupSession } from './PopupSession/PopupSession';
23
+ export { default as PopupSessionList } from './PopupSessionList/PopupSessionList';
20
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/templates/index.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/templates/index.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAC,OAAO,IAAI,2BAA2B,EAAC,MAAM,2DAA2D,CAAC;AACjH,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,qCAAqC,CAAC"}
@@ -0,0 +1,8 @@
1
+ declare class RouterProvider {
2
+ private retrocompatibilityAOS6;
3
+ constructor();
4
+ enableRetrocompatibilityWithAOSv6(value: boolean): void;
5
+ get(resource: string): Promise<string>;
6
+ }
7
+ declare const routerProvider: RouterProvider;
8
+ export default routerProvider;
@@ -0,0 +1,49 @@
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 { axiosApiProvider } from '../apiProviders';
19
+ import routes from './routes';
20
+ class RouterProvider {
21
+ retrocompatibilityAOS6 = true;
22
+ constructor() { }
23
+ enableRetrocompatibilityWithAOSv6(value) {
24
+ this.retrocompatibilityAOS6 = value;
25
+ }
26
+ async get(resource) {
27
+ if (!this.retrocompatibilityAOS6) {
28
+ return routes.AOS7[resource];
29
+ }
30
+ const objectRoute = await axiosApiProvider
31
+ .get({
32
+ url: routes.AOS6[resource],
33
+ })
34
+ .then(res => {
35
+ if (typeof res?.data?.data?.cause === 'string' &&
36
+ res.data.data.cause.includes('java.lang.ClassNotFoundException')) {
37
+ return routes.AOS7[resource];
38
+ }
39
+ return routes.AOS6[resource];
40
+ })
41
+ .catch(() => {
42
+ return routes.AOS7[resource];
43
+ });
44
+ return objectRoute;
45
+ }
46
+ }
47
+ const routerProvider = new RouterProvider();
48
+ export default routerProvider;
49
+ //# sourceMappingURL=RouterProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouterProvider.js","sourceRoot":"","sources":["../../src/config/RouterProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACjD,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,MAAM,cAAc;IACV,sBAAsB,GAAY,IAAI,CAAC;IAE/C,gBAAe,CAAC;IAET,iCAAiC,CAAC,KAAc;QACrD,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAAgB;QAC/B,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAChC,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9B;QAED,MAAM,WAAW,GAAG,MAAM,gBAAgB;aACvC,GAAG,CAAC;YACH,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC3B,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,EAAE;YACV,IACE,OAAO,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,KAAK,QAAQ;gBAC1C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,kCAAkC,CAAC,EAChE;gBACA,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B;YAED,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEL,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AAED,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;AAE5C,eAAe,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ export { default as RouterProvider } from './RouterProvider';