@axelor/aos-mobile-core 6.5.1 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/login-api.d.ts +4 -1
- package/lib/api/login-api.js +5 -2
- package/lib/api/login-api.js.map +1 -1
- package/lib/api/mail-message-api.js +3 -1
- package/lib/api/mail-message-api.js.map +1 -1
- package/lib/api/mobile-config-api.js +3 -1
- package/lib/api/mobile-config-api.js.map +1 -1
- package/lib/api/traceback-api.d.ts +1 -1
- package/lib/api/traceback-api.js +5 -3
- package/lib/api/traceback-api.js.map +1 -1
- package/lib/apiProviders/Action/ActionApiProvider.d.ts +1 -0
- package/lib/apiProviders/Action/AosActionApi.d.ts +1 -0
- package/lib/apiProviders/Action/AosActionApi.js +14 -5
- package/lib/apiProviders/Action/AosActionApi.js.map +1 -1
- package/lib/apiProviders/Action/GatewayActionApi.d.ts +1 -0
- package/lib/apiProviders/Action/GatewayActionApi.js +18 -15
- package/lib/apiProviders/Action/GatewayActionApi.js.map +1 -1
- package/lib/apiProviders/Action/index.d.ts +1 -1
- package/lib/apiProviders/Action/utils.d.ts +10 -1
- package/lib/apiProviders/Model/AopModelApi.d.ts +14 -7
- package/lib/apiProviders/Model/AopModelApi.js +21 -8
- package/lib/apiProviders/Model/AopModelApi.js.map +1 -1
- package/lib/apiProviders/Model/GatewayModelApi.d.ts +18 -7
- package/lib/apiProviders/Model/GatewayModelApi.js +37 -22
- package/lib/apiProviders/Model/GatewayModelApi.js.map +1 -1
- package/lib/apiProviders/Model/ModelApiProvider.d.ts +16 -10
- package/lib/apiProviders/Model/utils.d.ts +6 -1
- package/lib/apiProviders/Standard/ObjectFieldsProvider.js +2 -1
- package/lib/apiProviders/Standard/ObjectFieldsProvider.js.map +1 -1
- package/lib/apiProviders/config.d.ts +4 -0
- package/lib/apiProviders/config.js +22 -0
- package/lib/apiProviders/config.js.map +1 -0
- package/lib/apiProviders/index.d.ts +1 -1
- package/lib/apiProviders/index.js +1 -1
- package/lib/apiProviders/index.js.map +1 -1
- package/lib/apiProviders/utils.d.ts +8 -1
- package/lib/apiProviders/utils.js +55 -7
- package/lib/apiProviders/utils.js.map +1 -1
- package/lib/app/Application.d.ts +8 -1
- package/lib/app/Application.js +9 -2
- package/lib/app/Application.js.map +1 -1
- package/lib/app/ContextedApplication.d.ts +3 -2
- package/lib/app/ContextedApplication.js +14 -8
- package/lib/app/ContextedApplication.js.map +1 -1
- package/lib/app/ContextsProvider.d.ts +5 -2
- package/lib/app/ContextsProvider.js +7 -4
- package/lib/app/ContextsProvider.js.map +1 -1
- package/lib/app/RootNavigator.d.ts +1 -2
- package/lib/app/RootNavigator.js +25 -33
- package/lib/app/RootNavigator.js.map +1 -1
- package/lib/auth/api/config-api.js +10 -11
- package/lib/auth/api/config-api.js.map +1 -1
- package/lib/auth/hooks/use-auth-headers.js +35 -2
- package/lib/auth/hooks/use-auth-headers.js.map +1 -1
- package/lib/auth/i18n/en.json +14 -1
- package/lib/auth/i18n/fr.json +13 -0
- package/lib/auth/screens/SettingsScreen.d.ts +1 -2
- package/lib/auth/screens/SettingsScreen.js +14 -9
- package/lib/auth/screens/SettingsScreen.js.map +1 -1
- package/lib/auth/screens/UserScreen.d.ts +1 -2
- package/lib/auth/screens/UserScreen.js +13 -10
- package/lib/auth/screens/UserScreen.js.map +1 -1
- package/lib/components/external/Camera/Camera.js +6 -3
- package/lib/components/external/Camera/Camera.js.map +1 -1
- package/lib/components/external/CameraScanner/CameraScanner.js +6 -3
- package/lib/components/external/CameraScanner/CameraScanner.js.map +1 -1
- package/lib/components/external/PlanningView/PlanningView.d.ts +3 -1
- package/lib/components/external/PlanningView/PlanningView.js +35 -4
- package/lib/components/external/PlanningView/PlanningView.js.map +1 -1
- package/lib/components/external/Scanner/Scanner.js +21 -17
- package/lib/components/external/Scanner/Scanner.js.map +1 -1
- package/lib/components/external/Stopwatch/Stopwatch.d.ts +2 -1
- package/lib/components/external/Stopwatch/Stopwatch.js +20 -12
- package/lib/components/external/Stopwatch/Stopwatch.js.map +1 -1
- package/lib/components/molecules/ErrorText/ErrorText.d.ts +2 -1
- package/lib/components/molecules/ErrorText/ErrorText.js +8 -2
- package/lib/components/molecules/ErrorText/ErrorText.js.map +1 -1
- package/lib/components/molecules/HeaderBand/HeaderBand.d.ts +8 -0
- package/lib/components/molecules/HeaderBand/HeaderBand.js +51 -0
- package/lib/components/molecules/HeaderBand/HeaderBand.js.map +1 -0
- package/lib/components/molecules/HeaderOptionsMenuItem/HeaderOptionMenuItem.d.ts +2 -1
- package/lib/components/molecules/HeaderOptionsMenuItem/HeaderOptionMenuItem.js +13 -4
- package/lib/components/molecules/HeaderOptionsMenuItem/HeaderOptionMenuItem.js.map +1 -1
- package/lib/components/molecules/LoginButton/LoginButton.d.ts +2 -1
- package/lib/components/molecules/LoginButton/LoginButton.js +8 -4
- package/lib/components/molecules/LoginButton/LoginButton.js.map +1 -1
- package/lib/components/molecules/SessionNumberIndicator/SessionNumberIndicator.d.ts +4 -0
- package/lib/components/molecules/SessionNumberIndicator/SessionNumberIndicator.js +44 -0
- package/lib/components/molecules/SessionNumberIndicator/SessionNumberIndicator.js.map +1 -0
- package/lib/components/molecules/index.d.ts +2 -0
- package/lib/components/molecules/index.js +2 -0
- package/lib/components/molecules/index.js.map +1 -1
- package/lib/components/organisms/DateInput/DateInput.js +8 -4
- package/lib/components/organisms/DateInput/DateInput.js.map +1 -1
- package/lib/components/organisms/HeaderBandList/HeaderBandList.d.ts +2 -0
- package/lib/components/organisms/HeaderBandList/HeaderBandList.js +36 -0
- package/lib/components/organisms/HeaderBandList/HeaderBandList.js.map +1 -0
- package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js +3 -3
- package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js.map +1 -1
- package/lib/components/organisms/LogoImage/LogoImage.d.ts +4 -2
- package/lib/components/organisms/LogoImage/LogoImage.js +34 -22
- package/lib/components/organisms/LogoImage/LogoImage.js.map +1 -1
- package/lib/components/organisms/PasswordInput/PasswordInput.d.ts +2 -1
- package/lib/components/organisms/PasswordInput/PasswordInput.js +8 -5
- package/lib/components/organisms/PasswordInput/PasswordInput.js.map +1 -1
- package/lib/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.d.ts +9 -2
- package/lib/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.js +10 -3
- package/lib/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.js.map +1 -1
- package/lib/components/organisms/SessionButtons/SessionButtons.d.ts +17 -0
- package/lib/components/organisms/SessionButtons/SessionButtons.js +90 -0
- package/lib/components/organisms/SessionButtons/SessionButtons.js.map +1 -0
- package/lib/components/organisms/SessionNameInput/SessionNameInput.d.ts +8 -0
- package/lib/components/organisms/SessionNameInput/SessionNameInput.js +36 -0
- package/lib/components/organisms/SessionNameInput/SessionNameInput.js.map +1 -0
- package/lib/components/organisms/UrlInput/UrlInput.d.ts +3 -1
- package/lib/components/organisms/UrlInput/UrlInput.js +6 -4
- package/lib/components/organisms/UrlInput/UrlInput.js.map +1 -1
- package/lib/components/organisms/UsernameInput/UsernameInput.d.ts +3 -1
- package/lib/components/organisms/UsernameInput/UsernameInput.js +6 -4
- package/lib/components/organisms/UsernameInput/UsernameInput.js.map +1 -1
- package/lib/components/organisms/index.d.ts +3 -1
- package/lib/components/organisms/index.js +3 -1
- package/lib/components/organisms/index.js.map +1 -1
- package/lib/components/templates/AttachedFilesView/AttachedFilesView.js +4 -5
- package/lib/components/templates/AttachedFilesView/AttachedFilesView.js.map +1 -1
- package/lib/components/templates/PopupCreateSession/PopupCreateSession.d.ts +10 -0
- package/lib/components/templates/PopupCreateSession/PopupCreateSession.js +171 -0
- package/lib/components/templates/PopupCreateSession/PopupCreateSession.js.map +1 -0
- package/lib/components/templates/PopupSession/PopupSession.d.ts +8 -0
- package/lib/components/templates/PopupSession/PopupSession.js +135 -0
- package/lib/components/templates/PopupSession/PopupSession.js.map +1 -0
- package/lib/components/templates/PopupSessionList/PopupSessionList.d.ts +7 -0
- package/lib/components/templates/PopupSessionList/PopupSessionList.js +107 -0
- package/lib/components/templates/PopupSessionList/PopupSessionList.js.map +1 -0
- package/lib/components/templates/index.d.ts +3 -0
- package/lib/components/templates/index.js +3 -0
- package/lib/components/templates/index.js.map +1 -1
- package/lib/config/RouterProvider.d.ts +8 -0
- package/lib/config/RouterProvider.js +49 -0
- package/lib/config/RouterProvider.js.map +1 -0
- package/lib/config/index.d.ts +1 -0
- package/lib/config/index.js +19 -0
- package/lib/config/index.js.map +1 -0
- package/lib/config/routes.d.ts +28 -0
- package/lib/config/routes.js +39 -0
- package/lib/config/routes.js.map +1 -0
- package/lib/features/authSlice.d.ts +30 -13
- package/lib/features/authSlice.js +36 -7
- package/lib/features/authSlice.js.map +1 -1
- package/lib/header/HeaderActionsProvider.js +1 -1
- package/lib/header/HeaderActionsProvider.js.map +1 -1
- package/lib/header/HeaderBandContext.d.ts +10 -0
- package/lib/header/HeaderBandContext.js +58 -0
- package/lib/header/HeaderBandContext.js.map +1 -0
- package/lib/header/header-band-context.helper.d.ts +5 -0
- package/lib/header/header-band-context.helper.js +44 -0
- package/lib/header/header-band-context.helper.js.map +1 -0
- package/lib/header/index.d.ts +3 -1
- package/lib/header/index.js +2 -0
- package/lib/header/index.js.map +1 -1
- package/lib/header/types.d.ts +10 -0
- package/lib/i18n/translations/en.json +3 -1
- package/lib/i18n/translations/fr.json +3 -1
- package/lib/index.d.ts +3 -0
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/lib/navigator/Navigator.d.ts +1 -2
- package/lib/navigator/Navigator.js +14 -4
- package/lib/navigator/Navigator.js.map +1 -1
- package/lib/navigator/drawer/DrawerContent.d.ts +1 -2
- package/lib/navigator/drawer/DrawerContent.js +12 -6
- package/lib/navigator/drawer/DrawerContent.js.map +1 -1
- package/lib/navigator/drawer/Header.js +6 -3
- package/lib/navigator/drawer/Header.js.map +1 -1
- package/lib/navigator/drawer/MenuIconButton.js +6 -2
- package/lib/navigator/drawer/MenuIconButton.js.map +1 -1
- package/lib/navigator/module.helper.js +1 -1
- package/lib/navigator/module.helper.js.map +1 -1
- package/lib/screens/LoginScreen.js +76 -52
- package/lib/screens/LoginScreen.js.map +1 -1
- package/lib/screens/SessionManagementScreen.d.ts +4 -0
- package/lib/screens/SessionManagementScreen.js +97 -0
- package/lib/screens/SessionManagementScreen.js.map +1 -0
- package/lib/sessions/SessionStorage.d.ts +22 -0
- package/lib/sessions/SessionStorage.js +93 -0
- package/lib/sessions/SessionStorage.js.map +1 -0
- package/lib/sessions/hook.d.ts +5 -0
- package/lib/sessions/hook.js +37 -0
- package/lib/sessions/hook.js.map +1 -0
- package/lib/sessions/index.d.ts +4 -0
- package/lib/sessions/index.js +22 -0
- package/lib/sessions/index.js.map +1 -0
- package/lib/sessions/type.d.ts +7 -0
- package/lib/{utils/storage-keys.js → sessions/type.js} +1 -1
- package/lib/sessions/type.js.map +1 -0
- package/lib/sessions/utils.d.ts +4 -0
- package/lib/sessions/utils.js +34 -0
- package/lib/sessions/utils.js.map +1 -0
- package/lib/utils/api.js +1 -3
- package/lib/utils/api.js.map +1 -1
- package/lib/utils/filter.js +6 -8
- package/lib/utils/filter.js.map +1 -1
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +1 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/list.d.ts +0 -1
- package/lib/utils/list.js +0 -13
- package/lib/utils/list.js.map +1 -1
- package/lib/utils/object.js +1 -1
- package/lib/utils/object.js.map +1 -1
- package/lib/utils/string.js +2 -2
- package/lib/utils/string.js.map +1 -1
- package/package.json +5 -5
- package/lib/components/organisms/AutoCompleteSearchInput/AutoCompleteSearchInput.d.ts +0 -19
- package/lib/components/organisms/AutoCompleteSearchInput/AutoCompleteSearchInput.js +0 -58
- package/lib/components/organisms/AutoCompleteSearchInput/AutoCompleteSearchInput.js.map +0 -1
- package/lib/utils/storage-keys.d.ts +0 -1
- 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":"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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,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,5 @@
|
|
|
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 PopupSession } from "./PopupSession/PopupSession";
|
|
5
|
+
export { default as PopupSessionList } from "./PopupSessionList/PopupSessionList";
|
|
@@ -17,4 +17,7 @@
|
|
|
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 PopupSession } from './PopupSession/PopupSession';
|
|
22
|
+
export { default as PopupSessionList } from './PopupSessionList/PopupSessionList';
|
|
20
23
|
//# 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,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';
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
export { default as RouterProvider } from './RouterProvider';
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export default routes;
|
|
2
|
+
declare namespace routes {
|
|
3
|
+
namespace AOS6 {
|
|
4
|
+
const App: string;
|
|
5
|
+
const AppBase: string;
|
|
6
|
+
const TraceBack: string;
|
|
7
|
+
const AppSupplychain: string;
|
|
8
|
+
const EmailAddress: string;
|
|
9
|
+
const AppMobileSettings: string;
|
|
10
|
+
const MailMessages: string;
|
|
11
|
+
}
|
|
12
|
+
namespace AOS7 {
|
|
13
|
+
const App_1: string;
|
|
14
|
+
export { App_1 as App };
|
|
15
|
+
const AppBase_1: string;
|
|
16
|
+
export { AppBase_1 as AppBase };
|
|
17
|
+
const TraceBack_1: string;
|
|
18
|
+
export { TraceBack_1 as TraceBack };
|
|
19
|
+
const AppSupplychain_1: string;
|
|
20
|
+
export { AppSupplychain_1 as AppSupplychain };
|
|
21
|
+
const EmailAddress_1: string;
|
|
22
|
+
export { EmailAddress_1 as EmailAddress };
|
|
23
|
+
const AppMobileSettings_1: string;
|
|
24
|
+
export { AppMobileSettings_1 as AppMobileSettings };
|
|
25
|
+
const MailMessages_1: string;
|
|
26
|
+
export { MailMessages_1 as MailMessages };
|
|
27
|
+
}
|
|
28
|
+
}
|