@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
- title : "Exemple table : Utilisateurs",
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((!!packageDev[v] && v !=="expo") || ["expo-intent-launcher"].includes(v)){
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
- let i = -1;
24
- const next = ()=>{
25
- return exec(`npx expo install ${filteredDeps.join(" ")}`,{projectRoot});
26
- i++;
27
- if(i>= filteredDeps.length) return Promise.resolve();
28
- const script = filteredDeps[i];
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.50.9",
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 @fto-consult/node-utils@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"
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
  }