@fto-consult/expo-ui 6.66.0 → 6.66.2
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/bin/create-app/App.js
CHANGED
@@ -32,7 +32,7 @@ export default function AppMainEntry(){
|
|
32
32
|
auth = {{
|
33
33
|
enabled : false,//la gestion de l'authentification est désactivée par défaut
|
34
34
|
loginPropsMutator : {},//({object})=><{object}>, la fonction permettant de muter les props du composant Login,
|
35
|
-
|
35
|
+
profilePropsMutator : ({fields,...props})=>({fields,...props}),//la fonction permettant de muter les champs liés à l'écran de mise à jour d'un profil utilisateur
|
36
36
|
}}
|
37
37
|
components = {{
|
38
38
|
/*** logo : ReactNode|ReactElement | ReactComponent | object {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@fto-consult/expo-ui",
|
3
|
-
"version": "6.66.
|
3
|
+
"version": "6.66.2",
|
4
4
|
"description": "Bibliothèque de composants UI Expo,react-native",
|
5
5
|
"main": "main",
|
6
6
|
"scripts": {
|
@@ -71,7 +71,7 @@
|
|
71
71
|
"@expo/html-elements": "^0.5.1",
|
72
72
|
"@expo/vector-icons": "^13.0.0",
|
73
73
|
"@faker-js/faker": "^8.0.2",
|
74
|
-
"@fto-consult/common": "^3.
|
74
|
+
"@fto-consult/common": "^3.56.3",
|
75
75
|
"@pchmn/expo-material3-theme": "^1.3.1",
|
76
76
|
"@react-native-async-storage/async-storage": "1.18.2",
|
77
77
|
"@react-native-community/datetimepicker": "7.2.0",
|
package/src/context/Provider.js
CHANGED
@@ -56,7 +56,7 @@ import {extendFormFields} from "$ecomponents/Form/Fields";
|
|
56
56
|
containerProps : {object}, les props à passer au composant NavigationContainer de react-navigation
|
57
57
|
},
|
58
58
|
auth : {
|
59
|
-
|
59
|
+
profilePropsMutator : {({object})=><{object}> | {object})}, la fonction permettant de muter les champs à passer à l'écran de mise à jour du profil utilisateur
|
60
60
|
loginPropsMutator : ({object})=><{object}>, la fonction permettant de muter les props du composant Login,
|
61
61
|
}
|
62
62
|
swrConfig : {object},//les paramètres de configuration de l'objet swr utilisée dans le composant SWRDatagrid
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import FormDataScreen from "$elayouts/Screen/FormData";
|
2
|
-
import {defaultStr,defaultObj,isObjOrArray,isObj} from "$cutils";
|
2
|
+
import {defaultStr,defaultObj,isObjOrArray,extendObj,isObj} from "$cutils";
|
3
3
|
import Auth from "$cauth";
|
4
4
|
import {navigate} from "$cnavigation";
|
5
5
|
import SelectTheme from "$ethemeSelectorComponent";
|
@@ -11,18 +11,11 @@ import useContext from "$econtext/hooks";
|
|
11
11
|
|
12
12
|
import {screenName} from "./utils";
|
13
13
|
|
14
|
-
export default function UserProfileScreen(
|
15
|
-
const
|
16
|
-
|
17
|
-
const themeRef = React.useRef(defaultObj(user.theme));
|
18
|
-
const hasChangeRef = React.useRef(false);
|
19
|
-
const {auth:{profileFieldsMutator}} = useContext();
|
20
|
-
const authProfileFields = typeof profileFieldsMutator =='function'?profileFieldsMutator(props) : profileFieldsMutator;
|
21
|
-
const fields = isObj(authProfileFields)? Object.clone(authProfileFields) : {};
|
22
|
-
const formFields = {
|
14
|
+
export default function UserProfileScreen({fields,...p}){
|
15
|
+
const {auth:{profilePropsMutator}} = useContext();
|
16
|
+
fields = extendObj({},fields,{
|
23
17
|
avatar : {
|
24
18
|
...avatarProps,
|
25
|
-
...(isObj(fields.avatar)?fields.avatar:{}),
|
26
19
|
text : undefined,
|
27
20
|
label : undefined,
|
28
21
|
responsive : false,
|
@@ -33,13 +26,21 @@ export default function UserProfileScreen(props){
|
|
33
26
|
justifyContent : 'center',
|
34
27
|
}
|
35
28
|
},
|
29
|
+
...defaultObj(fields?.avatar),
|
36
30
|
},
|
37
|
-
}
|
31
|
+
})
|
32
|
+
const p2 = {...p,fields};
|
33
|
+
const props = typeof profilePropsMutator =='function'? extendObj({},p,profilePropsMutator(p2)) : p2;
|
34
|
+
const user = defaultObj(props.user,Auth.getLoggedUser());
|
35
|
+
const testID = defaultStr(props.testID,"RN_UserProfile_FormData");
|
36
|
+
const themeRef = React.useRef(defaultObj(user.theme));
|
37
|
+
const hasChangeRef = React.useRef(false);
|
38
|
+
const formFields = isObj(props.fields)? props.fields : fields;
|
38
39
|
Object.map(fields,(field,i)=>{
|
39
40
|
if(i !='avatar' && isObj(field)){
|
40
41
|
formFields[i] = field;
|
41
42
|
}
|
42
|
-
})
|
43
|
+
});
|
43
44
|
formFields.theme = {
|
44
45
|
type : 'html',
|
45
46
|
text : 'Theme',
|
@@ -1 +1 @@
|
|
1
|
-
module.exports = {"@fto-consult/expo-ui":{"name":"@fto-consult/expo-ui","version":"6.
|
1
|
+
module.exports = {"@fto-consult/expo-ui":{"name":"@fto-consult/expo-ui","version":"6.66.1","repository":{"type":"git","url":"git+https://github.com/borispipo/expo-ui.git"},"homepage":"https://github.com/borispipo/expo-ui#readme"},"@babel/plugin-proposal-export-namespace-from":{"version":"7.18.9","url":"https://babel.dev/docs/en/next/babel-plugin-proposal-export-namespace-from","license":"MIT"},"@emotion/native":{"version":"11.11.0","url":"https://emotion.sh","license":"MIT"},"@emotion/react":{"version":"11.11.1","url":"https://github.com/emotion-js/emotion/tree/main/packages/react","license":"MIT"},"@expo/html-elements":{"version":"0.5.1","url":"https://github.com/expo/expo/tree/main/packages/html-elements","license":"MIT"},"@expo/metro-config":{"version":"0.10.7","url":"https://github.com/expo/expo.git","license":"MIT"},"@expo/vector-icons":{"version":"13.0.0","url":"https://expo.github.io/vector-icons","license":"MIT"},"@expo/webpack-config":{"version":"19.0.0","url":"https://github.com/expo/expo-cli.git","license":"MIT"},"@faker-js/faker":{"version":"8.0.2","url":"https://github.com/faker-js/faker.git","license":"MIT"},"@fto-consult/common":{"version":"3.56.2","url":"https://github.com/borispipo/common#readme","license":"ISC"},"@pchmn/expo-material3-theme":{"version":"1.3.1","url":"https://github.com/pchmn/expo-material3-theme#readme","license":"MIT"},"@react-native-async-storage/async-storage":{"version":"1.18.2","url":"https://github.com/react-native-async-storage/async-storage#readme","license":"MIT"},"@react-native-community/datetimepicker":{"version":"7.2.0","url":"https://github.com/react-native-community/datetimepicker#readme","license":"MIT"},"@react-native-community/netinfo":{"version":"9.3.10","url":"https://github.com/react-native-netinfo/react-native-netinfo#readme","license":"MIT"},"@react-native/assets-registry":{"version":"0.72.0","url":"git@github.com:facebook/react-native.git","license":"MIT"},"@react-navigation/native":{"version":"6.1.9","url":"https://reactnavigation.org","license":"MIT"},"@react-navigation/native-stack":{"version":"6.9.16","url":"https://github.com/software-mansion/react-native-screens#readme","license":"MIT"},"@react-navigation/stack":{"version":"6.3.20","url":"https://reactnavigation.org/docs/stack-navigator/","license":"MIT"},"@shopify/flash-list":{"version":"1.4.3","url":"https://shopify.github.io/flash-list/","license":"MIT"},"apexcharts":{"version":"3.44.0","url":"https://apexcharts.com","license":"MIT"},"babel-plugin-inline-dotenv":{"version":"1.7.0","url":"https://github.com/brysgo/babel-plugin-inline-dotenv#readme","license":"ISC"},"babel-plugin-module-resolver":{"version":"5.0.0","url":"https://github.com/tleunen/babel-plugin-module-resolver.git","license":"MIT"},"expo":{"version":"49.0.16","url":"https://github.com/expo/expo/tree/main/packages/expo","license":"MIT"},"expo-camera":{"version":"13.4.4","url":"https://docs.expo.dev/versions/latest/sdk/camera/","license":"MIT"},"expo-clipboard":{"version":"4.3.1","url":"https://docs.expo.dev/versions/latest/sdk/clipboard","license":"MIT"},"expo-font":{"version":"11.4.0","url":"https://docs.expo.dev/versions/latest/sdk/font/","license":"MIT"},"expo-image-picker":{"version":"14.3.2","url":"https://docs.expo.dev/versions/latest/sdk/imagepicker/","license":"MIT"},"expo-linking":{"version":"5.0.2","url":"https://docs.expo.dev/versions/latest/sdk/linking","license":"MIT"},"expo-sharing":{"version":"11.5.0","url":"https://docs.expo.dev/versions/latest/sdk/sharing/","license":"MIT"},"expo-sqlite":{"version":"11.3.3","url":"https://docs.expo.dev/versions/latest/sdk/sqlite/","license":"MIT"},"expo-status-bar":{"version":"1.6.0","url":"https://docs.expo.dev/versions/latest/sdk/status-bar/","license":"MIT"},"expo-system-ui":{"version":"2.4.0","url":"https://docs.expo.dev/versions/latest/sdk/system-ui","license":"MIT"},"expo-web-browser":{"version":"12.3.2","url":"https://docs.expo.dev/versions/latest/sdk/webbrowser/","license":"MIT"},"file-saver":{"version":"2.0.5","url":"https://github.com/eligrey/FileSaver.js#readme","license":"MIT"},"fs-extra":{"version":"11.1.1","url":"https://github.com/jprichardson/node-fs-extra","license":"MIT"},"google-libphonenumber":{"version":"3.2.33","url":"https://ruimarinho.github.io/google-libphonenumber/","license":"(MIT AND Apache-2.0)"},"htmlparser2-without-node-native":{"version":"3.9.2","url":"git://github.com/fb55/htmlparser2.git","license":"MIT"},"is-plain-obj":{"version":"4.1.0","license":"MIT"},"js-base64":{"version":"3.7.5","license":"BSD-3-Clause"},"pdfmake":{"version":"0.2.7","url":"http://pdfmake.org","license":"MIT"},"process":{"version":"0.11.10","url":"git://github.com/shtylman/node-process.git","license":"MIT"},"prop-types":{"version":"15.8.1","url":"https://facebook.github.io/react/","license":"MIT"},"react":{"version":"18.2.0","url":"https://reactjs.org/","license":"MIT"},"react-content-loader":{"version":"6.2.1","url":"https://github.com/danilowoz/react-content-loader","license":"MIT"},"react-dom":{"version":"18.2.0","url":"https://reactjs.org/","license":"MIT"},"react-native":{"version":"0.72.6","license":"MIT"},"react-native-big-list":{"version":"1.6.1","url":"https://marcocesarato.github.io/react-native-big-list-docs/","license":"GPL-3.0-or-later"},"react-native-blob-util":{"version":"0.18.6","url":"https://github.com/RonRadtke/react-native-blob-util","license":"MIT"},"react-native-gesture-handler":{"version":"2.12.1","url":"https://github.com/software-mansion/react-native-gesture-handler#readme","license":"MIT"},"react-native-get-random-values":{"version":"1.9.0","license":"MIT"},"react-native-iphone-x-helper":{"version":"1.3.1","url":"https://github.com/ptelad/react-native-iphone-x-helper#readme","license":"MIT"},"react-native-mime-types":{"version":"2.4.0","license":"MIT"},"react-native-paper":{"version":"5.11.1","url":"https://callstack.github.io/react-native-paper","license":"MIT"},"react-native-paper-dates":{"version":"0.20.3","url":"https://github.com/web-ridge/react-native-paper-dates#readme","license":"MIT"},"react-native-reanimated":{"version":"3.3.0","url":"https://github.com/software-mansion/react-native-reanimated#readme","license":"MIT"},"react-native-safe-area-context":{"version":"4.6.3","url":"https://github.com/th3rdwave/react-native-safe-area-context#readme","license":"MIT"},"react-native-screens":{"version":"3.22.1","url":"https://github.com/software-mansion/react-native-screens#readme","license":"MIT"},"react-native-svg":{"version":"13.9.0","url":"https://github.com/react-native-community/react-native-svg","license":"MIT"},"react-native-web":{"version":"0.19.9","url":"git://github.com/necolas/react-native-web.git","license":"MIT"},"react-native-webview":{"version":"13.2.2","url":"https://github.com/react-native-webview/react-native-webview#readme","license":"MIT"},"react-virtuoso":{"version":"4.6.2","url":"https://virtuoso.dev/","license":"MIT"},"sharp-cli":{"version":"2.1.0","url":"https://github.com/vseventer/sharp-cli","license":"MIT"},"tippy.js":{"version":"6.3.7","url":"https://atomiks.github.io/tippyjs/","license":"MIT"},"websql":{"version":"2.0.3","url":"git://github.com/nolanlawson/node-websql.git","license":"Apache-2.0"},"xlsx":{"version":"0.18.5","url":"https://sheetjs.com/","license":"Apache-2.0"}};
|