@fto-consult/expo-ui 2.33.1 → 2.34.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/index.js +4 -3
- package/package.json +1 -1
- package/src/components/Datagrid/Accordion/index.js +2 -2
- package/src/components/Datagrid/Footer/Footer.js +1 -1
- package/src/components/Datagrid/SWRDatagrid.js +5 -0
- package/src/components/Form/Fields/SelectTableData/Component.js +3 -3
- package/src/components/Form/FormData/componentsTypes.js +4 -2
- package/src/layouts/DatabaseStatistics/index.js +1 -1
package/index.js
CHANGED
|
@@ -16,11 +16,12 @@ const isWeb = Platform.OS === "web";
|
|
|
16
16
|
*/
|
|
17
17
|
export default function ExpoUIApp (options){
|
|
18
18
|
options = options && typeof options =='object' && !Array.isArray(options)? options : {};
|
|
19
|
+
const {initConfig,...opts} = options;
|
|
19
20
|
appConfig.current = options.config;
|
|
20
|
-
if(typeof
|
|
21
|
-
|
|
21
|
+
if(typeof initConfig ==='function'){
|
|
22
|
+
initConfig({appConfig});
|
|
22
23
|
}
|
|
23
|
-
const App = require('./src/App').default(
|
|
24
|
+
const App = require('./src/App').default(opts);
|
|
24
25
|
if (false) {
|
|
25
26
|
const root = createRoot(document.getElementById("root") || document.getElementById("main"));
|
|
26
27
|
} else {
|
package/package.json
CHANGED
|
@@ -125,6 +125,7 @@ const DatagridFactory = (Factory)=>{
|
|
|
125
125
|
} else if(isObj(renderedContent.contentProps)){
|
|
126
126
|
descriptionProps = {...descriptionProps,...renderedContent.contentProps,style:[descriptionProps.style,renderedContent.contentProps.style]}
|
|
127
127
|
}
|
|
128
|
+
//
|
|
128
129
|
rowProps = defaultObj(renderedContent.rowProps);
|
|
129
130
|
avatarProps.color = color;
|
|
130
131
|
if(typeof avatarContent =='function'){
|
|
@@ -568,7 +569,7 @@ const DatagridFactory = (Factory)=>{
|
|
|
568
569
|
<View testID={testID+"_FooterContainer"} pointerEvents={pointerEvents} style={[theme.styles.justifyContentCenter,theme.styles.pv1]}>
|
|
569
570
|
<View testID={testID+"_FooterContentContainer"} style={[styles.footersContainer]}>
|
|
570
571
|
<ScrollView testID={testID+"_FooterScrollView"} horizontal contentContainerStyle={[styles.contentContainerStyle]}>
|
|
571
|
-
<View testID={testID+"_FooterContent"} style={[styles.table]}>
|
|
572
|
+
<View testID={testID+"_FooterContent"} style={[styles.table,theme.styles.p1]}>
|
|
572
573
|
{Object.mapToArray(this.getFooterValues(),(footer,field)=>{
|
|
573
574
|
return <Footer
|
|
574
575
|
key = {field}
|
|
@@ -675,7 +676,6 @@ const styles = StyleSheet.create({
|
|
|
675
676
|
alignItems : 'center',
|
|
676
677
|
flex:1,
|
|
677
678
|
paddingHorizontal : 10,
|
|
678
|
-
paddingVertical : 0,
|
|
679
679
|
},
|
|
680
680
|
pullRight : {
|
|
681
681
|
flexDirection : 'row',
|
|
@@ -127,7 +127,7 @@ export default function DGGridFooterValue (props){
|
|
|
127
127
|
return <Pressable {...anchorProps} {...p} testID={testID} style={[styles.anchor,anchorProps.style,label?styles.row:null]} title={title}>
|
|
128
128
|
{label ?
|
|
129
129
|
<>
|
|
130
|
-
<View testID={testID+"_Label"}><Label style={[styles.label]}>{label}</Label></View>
|
|
130
|
+
<View testID={testID+"_Label"}><Label fontSize={15} textBold style={[styles.label]}>{label}</Label></View>
|
|
131
131
|
<View testID={testID+"_LabelPoint"}><Label style = {styles.label}> : </Label></View>
|
|
132
132
|
</>
|
|
133
133
|
: null}
|
|
@@ -91,6 +91,7 @@ const SWRDatagridComponent = React.forwardRef((props,ref)=>{
|
|
|
91
91
|
beforeFetchData,
|
|
92
92
|
sort,
|
|
93
93
|
defaultSortColumn,
|
|
94
|
+
defaultSortOrder,
|
|
94
95
|
...rest
|
|
95
96
|
} = props;
|
|
96
97
|
rest = defaultObj(rest);
|
|
@@ -98,10 +99,14 @@ const SWRDatagridComponent = React.forwardRef((props,ref)=>{
|
|
|
98
99
|
const firstPage = 1;
|
|
99
100
|
const tableName = defaultStr(table.tableName,table.table).trim().toUpperCase();
|
|
100
101
|
defaultSortColumn = defaultStr(defaultSortColumn,table.defaultSortColumn);
|
|
102
|
+
defaultSortOrder = defaultStr(defaultSortOrder,table.defaultSortOrder).toLowerCase().trim();
|
|
101
103
|
sort = isNonNullString(sort)? {column:sort} : isObj(sort)?sort : {};
|
|
102
104
|
const sColumn = defaultStr(sort.column,defaultSortColumn);
|
|
103
105
|
if(sColumn){
|
|
104
106
|
sort.column = sColumn;
|
|
107
|
+
if(defaultSortOrder =='asc' || defaultSortOrder =='desc'){
|
|
108
|
+
sort.dir = defaultSortOrder;
|
|
109
|
+
}
|
|
105
110
|
} else {
|
|
106
111
|
delete sort.column;
|
|
107
112
|
}
|
|
@@ -20,12 +20,12 @@ import appConfig from "$appConfig";
|
|
|
20
20
|
* foreignKeyLabel : Le libélé dans la table étrangère
|
|
21
21
|
*/
|
|
22
22
|
const TableDataSelectField = React.forwardRef((_props,ref)=>{
|
|
23
|
-
let {foreignKeyColumn,foreignKeyTable,foreignKeyLabel,dropdownActions,fields,fetchItems,convertFiltersToSQL,mutateFetchedItems,getForeignKeyTable,onFetchItems,isFilter,isUpdate,isDocEditing,items,onAddProps,fetchDataOpts,...props} = _props;
|
|
23
|
+
let {foreignKeyColumn,foreignKeyTable,foreignKeyLabel,dropdownActions,fields,fetchItems:customFetchItem,convertFiltersToSQL,mutateFetchedItems,getForeignKeyTable,onFetchItems,isFilter,isUpdate,isDocEditing,items,onAddProps,fetchDataOpts,...props} = _props;
|
|
24
24
|
props = defaultObj(props);
|
|
25
25
|
props.data = defaultObj(props.data);
|
|
26
26
|
foreignKeyColumn = foreignKeyColumn.trim();
|
|
27
27
|
convertFiltersToSQL = defaultVal(convertFiltersToSQL,willConvertFiltersToSQL());
|
|
28
|
-
getForeignKeyTable = getForeignKeyTable || appConfig.
|
|
28
|
+
getForeignKeyTable = getForeignKeyTable || appConfig.getDatabaseTableData;
|
|
29
29
|
const fKeyTable = typeof getForeignKeyTable =='function' ? getForeignKeyTable(foreignKeyTable,props) : undefined
|
|
30
30
|
if(!isObj(fKeyTable) || !(defaultStr(fKeyTable.tableName,fKeyTable.table))){
|
|
31
31
|
console.error("type de données invalide pour la fKeyTable ",fKeyTable," composant SelectTableData",_props);
|
|
@@ -38,7 +38,7 @@ const TableDataSelectField = React.forwardRef((_props,ref)=>{
|
|
|
38
38
|
items : [],isLoading : true,
|
|
39
39
|
});
|
|
40
40
|
fetchDataOpts = Object.clone(defaultObj(fetchDataOpts));
|
|
41
|
-
fetchItems = typeof
|
|
41
|
+
const fetchItems = typeof customFetchItem =='function' ? customFetchItem : typeof fKeyTable.queryPath =='string' ? (opts)=>{
|
|
42
42
|
return fetch(fKeyTable.queryPath,opts);
|
|
43
43
|
} : undefined;
|
|
44
44
|
isUpdate = defaultBool(isUpdate,typeof isDocEditing ==='function' && isDocEditing({data:props.data,fKeyTable,foreignKeyTable}));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {defaultStr,defaultObj,defaultVal,isObj} from "$utils";
|
|
1
|
+
import {defaultStr,isNonNullString,defaultObj,defaultVal,isObj} from "$utils";
|
|
2
2
|
import Fields from "../Fields";
|
|
3
3
|
//import dataFileManager from "$dataFileManager";
|
|
4
4
|
import i18n from "$i18n";
|
|
@@ -106,7 +106,9 @@ export const getFilterComponentProps = (_props)=>{
|
|
|
106
106
|
component = componentTypes[type];
|
|
107
107
|
} else if(React.isComponent(componentTypes[type.replaceAll("_","")])){
|
|
108
108
|
component = componentTypes[type.replaceAll("_","")];
|
|
109
|
-
} else {
|
|
109
|
+
} else if(isNonNullString(props.foreignKeyColumn) && isNonNullString(props.foreignKeyTable)) {
|
|
110
|
+
component = Fields.SelectTableData;
|
|
111
|
+
}else {
|
|
110
112
|
const tt = type.replaceAll("_","").toLowerCase();
|
|
111
113
|
if(React.isComponent(componentTypes[tt])){
|
|
112
114
|
component = componentTypes[tt];
|
|
@@ -7,7 +7,7 @@ import theme from "$theme";
|
|
|
7
7
|
import PropTypes from "prop-types";
|
|
8
8
|
|
|
9
9
|
export const title = 'Statistiques en BD';
|
|
10
|
-
export default function DatabaseStatisticScreen ({withScreen,fetchDataProps,tableFilter,
|
|
10
|
+
export default function DatabaseStatisticScreen ({withScreen,fetchDataProps,tableFilter,fetchCount,fetchData,title:customTitle,contentProps,containerProps,tables,Component,...props}){
|
|
11
11
|
Component = React.isComponent(Component)? Component : Grid;
|
|
12
12
|
containerProps = defaultObj(containerProps);
|
|
13
13
|
const title = containerProps.title = defaultStr(containerProps.title,DatabaseStatisticScreen.title);
|