@fto-consult/expo-ui 8.50.9 → 8.51.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.
@@ -1,7 +1,8 @@
|
|
1
1
|
export default {
|
2
2
|
table : require("./table").default,
|
3
3
|
icon : 'material-people',
|
4
|
-
|
4
|
+
fields : require("./fields").default,
|
5
|
+
label : "Exemple table : Utilisateurs",
|
5
6
|
datagrid : require("./datagrid").default,
|
6
7
|
perms : require("./perms").default,
|
7
8
|
newElementLabel : require("./newElementLabel").default,
|
@@ -16,7 +16,6 @@ const TableDataListLayoutComponent = forwardRef(
|
|
16
16
|
filterable={true} //si la table de données est filterable, spécifiez la valeur false, pour que les données ne soit pas filtrable
|
17
17
|
canFetchOnlyVisibleColumns={false} //si uniquement les colonnes visisible seront récupérérs depuis la base de données, via le champ fields des options envoyés à la fonction fetcher
|
18
18
|
parseMangoQueries = {true} //Spécifiez la valeur false, si vous utilisez une base de données qui accepte les requêtes mangoes (Voir https://www.mongodb.com/docs/manual/tutorial/query-documents) et true pour un backend lié à une BD relationnelle
|
19
|
-
{...rProps}
|
20
19
|
{...defaultObj(tableObj.datagrid)} //les props du datagrid lié à la table data
|
21
20
|
exportToExcelIsAllowed={"{0}:exporttoexcel".sprintf(tableName)} //la permission pour l'export des données de la table data au format Excel, vous pouvez définir également une fonction de la forme : ()=><boolean>
|
22
21
|
exportToPDFIsAllowed={"{0}:exporttopdf".sprintf(tableName)} //la permission pour l'export des données au format pdf, vous pouvez également définir une fonction de la forme : ()=><boolean>
|
@@ -26,6 +25,9 @@ const TableDataListLayoutComponent = forwardRef(
|
|
26
25
|
if(typeof fetcher ==="function"){
|
27
26
|
return fetcher(url,opts);
|
28
27
|
}
|
28
|
+
if(typeof tableObj?.datagrid?.fetcher ==="function"){
|
29
|
+
return tableObj?.datagrid.fetcher(url,opts);
|
30
|
+
}
|
29
31
|
delete opts.fields;
|
30
32
|
delete opts?.fetchOptions?.fields;
|
31
33
|
console.log(opts.fetchOptions," les options à utiliser pour effectuer le fetch distant des données");
|
package/bin/update.js
CHANGED
@@ -1,17 +1,22 @@
|
|
1
1
|
const fs = require("fs");
|
2
2
|
const path = require("path");
|
3
3
|
const projectRoot = process.cwd();
|
4
|
-
const {exec,writeFile} = require("@fto-consult/node-utils");
|
4
|
+
const {exec,writeFile,isPlainObj} = require("@fto-consult/node-utils");
|
5
5
|
const dependencies = require("./create-app/dependencies");
|
6
6
|
const dependenciesArr = Object.keys(dependencies);
|
7
7
|
const dependenciesPath = path.resolve(__dirname,"create-app","dependencies.js")
|
8
8
|
const mainJSONPath = path.resolve(projectRoot,"package.json");
|
9
|
+
const euiPackageJSON = require("../package.json");
|
10
|
+
const euDevDependencies = isPlainObj(euiPackageJSON?.devDependencies) ? euiPackageJSON?.devDependencies : {};
|
9
11
|
if(fs.existsSync(mainJSONPath)){
|
10
12
|
const packageObj = JSON.parse(fs.readFileSync(mainJSONPath));
|
11
13
|
const packageDev = typeof packageObj?.dependencies =="object" && packageObj?.dependencies || {};
|
14
|
+
const devDependencies = [];
|
12
15
|
const filterdDObj = {};
|
13
16
|
dependenciesArr.filter((v,index)=>{
|
14
|
-
if(
|
17
|
+
if(euDevDependencies[packageDev[v]]){
|
18
|
+
devDependencies.push(packageDev[v]);
|
19
|
+
} else if((!!packageDev[v] && v !=="expo") || ["expo-intent-launcher"].includes(v)){
|
15
20
|
filterdDObj[v] = true;
|
16
21
|
return true;
|
17
22
|
}
|
@@ -19,17 +24,13 @@ if(fs.existsSync(mainJSONPath)){
|
|
19
24
|
});
|
20
25
|
const filteredDeps = Object.keys(filterdDObj);
|
21
26
|
if(filteredDeps.length){
|
22
|
-
exec(`npm install expo@latest`,{projectRoot}).finally(()=>{
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
return exec(`npx expo install ${script}`,{projectRoot}).finally(next);
|
30
|
-
}
|
31
|
-
next().finally((i)=>{
|
32
|
-
//exec(`npm install`,{projectRoot}).finally(()=>{
|
27
|
+
exec(`npm install @fto-consult/expo-ui@latest expo@latest`,{projectRoot}).finally(()=>{
|
28
|
+
exec(`npx expo install ${filteredDeps.join(" ")}`,{projectRoot}).finally((i)=>{
|
29
|
+
(new Promise((resolve)=>{
|
30
|
+
devDependencies.length ? exec(`npm uninstall ${devDependencies.join(" ")}`,{projectRoot}).finally(()=>{
|
31
|
+
exec(`npm install -D ${devDependencies.join(" ")}`,{projectRoot}).finally(resolve);
|
32
|
+
}) : resolve({});
|
33
|
+
})).finally(()=>{
|
33
34
|
const newPackageJS = JSON.parse(fs.readFileSync(mainJSONPath));
|
34
35
|
let hasChanged = false;
|
35
36
|
if(newPackageJS?.dependencies && typeof newPackageJS?.dependencies =="object"){
|
@@ -51,6 +52,7 @@ if(fs.existsSync(mainJSONPath)){
|
|
51
52
|
}
|
52
53
|
}
|
53
54
|
//})
|
55
|
+
})
|
54
56
|
});
|
55
57
|
})
|
56
58
|
} else {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@fto-consult/expo-ui",
|
3
|
-
"version": "8.
|
3
|
+
"version": "8.51.0",
|
4
4
|
"description": "Bibliothèque de composants UI Expo,react-native",
|
5
5
|
"react-native-paper-doc": "https://github.com/callstack/react-native-paper/tree/main/docs/docs/guides",
|
6
6
|
"scripts": {
|
@@ -47,7 +47,7 @@
|
|
47
47
|
"delete-node-modules": "rimraf ./**/node_modules",
|
48
48
|
"dev": "npx expo start --no-dev --minify -c",
|
49
49
|
"modifier-url-remote-git": "git remote set-url origin 'https://borispipo@github.com/borispipo/smart-eneo.git'",
|
50
|
-
"update": "npm i @fto-consult/common@latest
|
50
|
+
"update": "npm i @fto-consult/common@latest react-native-web react-native-big-list@latest apexcharts@latest file-saver@latest google-libphonenumber@latest react-native-iphone-x-helper@latest react-native-mime-types@latest react-native-paper@latest react-native-paper-dates@latest react-virtuoso@latest tippy.js@latest xlsx@latest && npm run update-apexchart && npm run find-licenses && npm i -D @fto-consult/node-utils@latest"
|
51
51
|
},
|
52
52
|
"bin": {
|
53
53
|
"expo-ui": "bin/index.js"
|
@@ -70,9 +70,7 @@
|
|
70
70
|
"@emotion/react": "^11.11.1",
|
71
71
|
"@faker-js/faker": "^8.0.2",
|
72
72
|
"@fto-consult/common": "^4.36.0",
|
73
|
-
"@fto-consult/node-utils": "^1.7.1",
|
74
73
|
"apexcharts": "^3.47.0",
|
75
|
-
"crypto-browserify": "^3.12.0",
|
76
74
|
"file-saver": "^2.0.5",
|
77
75
|
"google-libphonenumber": "^3.2.34",
|
78
76
|
"html2canvas": "^1.4.1",
|
@@ -91,17 +89,19 @@
|
|
91
89
|
"react-virtuoso": "^4.7.2",
|
92
90
|
"readable-stream": "^4.5.2",
|
93
91
|
"sanitize-filename": "^1.6.3",
|
94
|
-
"sharp-cli": "^2.1.0",
|
95
|
-
"stream-browserify": "^3.0.0",
|
96
92
|
"tippy.js": "^6.3.7",
|
97
|
-
"vm": "^0.1.0",
|
98
93
|
"xlsx": "^0.18.5"
|
99
94
|
},
|
100
95
|
"devDependencies": {
|
101
96
|
"@babel/plugin-proposal-export-namespace-from": "^7.18.9",
|
102
97
|
"@expo/metro-config": "~0.17.1",
|
103
98
|
"@expo/webpack-config": "^19.0.1",
|
99
|
+
"@fto-consult/node-utils": "^1.7.1",
|
104
100
|
"babel-plugin-inline-dotenv": "^1.7.0",
|
105
|
-
"babel-plugin-module-resolver": "^5.0.0"
|
101
|
+
"babel-plugin-module-resolver": "^5.0.0",
|
102
|
+
"crypto-browserify": "^3.12.0",
|
103
|
+
"sharp-cli": "^2.1.1",
|
104
|
+
"stream-browserify": "^3.0.0",
|
105
|
+
"vm": "^0.1.0"
|
106
106
|
}
|
107
107
|
}
|