@fto-consult/expo-ui 2.48.3 → 2.48.4
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/package.json +2 -2
- package/src/components/Chart/index.js +1 -1
- package/src/components/Datagrid/Accordion/index.js +1 -1
- package/src/components/List/Common.js +2 -2
- package/src/components/Table/List.js +2 -1
- package/src/components/Table/index.js +4 -3
- package/src/components/View/index.js +2 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fto-consult/expo-ui",
|
|
3
|
-
"version": "2.48.
|
|
3
|
+
"version": "2.48.4",
|
|
4
4
|
"description": "Bibliothèque de composants UI Expo,react-native",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"@emotion/native": "^11.10.0",
|
|
62
62
|
"@expo/html-elements": "^0.2.0",
|
|
63
63
|
"@expo/vector-icons": "^13.0.0",
|
|
64
|
-
"@fto-consult/common": "^2.13.
|
|
64
|
+
"@fto-consult/common": "^2.13.2",
|
|
65
65
|
"@gorhom/portal": "^1.0.14",
|
|
66
66
|
"@react-native-async-storage/async-storage": "~1.17.3",
|
|
67
67
|
"@react-native-community/datetimepicker": "6.5.2",
|
|
@@ -35,7 +35,7 @@ const ChartComponent = React.forwardRef(({options,onRender,style,height,width,ch
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
},[(options)]);
|
|
38
|
-
React.useOnRender(onRender);
|
|
38
|
+
React.useOnRender(onRender,Math.max(options.series.length/20,500));
|
|
39
39
|
React.useEffect(()=>{
|
|
40
40
|
return ()=>{
|
|
41
41
|
destroyChart(chartContext.current);
|
|
@@ -583,7 +583,7 @@ const DatagridFactory = (Factory)=>{
|
|
|
583
583
|
keyExtractor = {this.getRowKey.bind(this)}
|
|
584
584
|
/> : canRenderChart ?<View testID={testID+"_ChartContainer"} {...chartContainerProps} style={[theme.styles.w100,chartContainerProps.style]}>
|
|
585
585
|
{this.renderChart()}
|
|
586
|
-
</View> : <View style={styles.hasNotData}>
|
|
586
|
+
</View> : <View onRender = {this.onRender.bind(this)} style={styles.hasNotData}>
|
|
587
587
|
{this.renderEmpty()}
|
|
588
588
|
</View>}
|
|
589
589
|
</View>}
|
|
@@ -11,7 +11,7 @@ import Label from "$ecomponents/Label";
|
|
|
11
11
|
import { useWindowDimensions,Dimensions } from "react-native";
|
|
12
12
|
|
|
13
13
|
const CommonListComponent = React.forwardRef((props,ref)=>{
|
|
14
|
-
let {responsive,defaultItemHeight,itemHeight,windowWidth,componentProps,columnWrapperStyle,onViewableItemsChanged,withFlatListItem,Component,withBackToTop,backToTopRef:customBackToTopRef,withBackToTopButton,onScroll,onScrollEnd,onMount,onUnmount,renderScrollViewWrapper,prepareItems,getItemKey,getKey,keyExtractor,items,filter,renderItem,numColumns,containerProps,bindResizeEvents,...rest} = props;
|
|
14
|
+
let {responsive,defaultItemHeight,itemHeight,windowWidth,onRender,componentProps,columnWrapperStyle,onViewableItemsChanged,withFlatListItem,Component,withBackToTop,backToTopRef:customBackToTopRef,withBackToTopButton,onScroll,onScrollEnd,onMount,onUnmount,renderScrollViewWrapper,prepareItems,getItemKey,getKey,keyExtractor,items,filter,renderItem,numColumns,containerProps,bindResizeEvents,...rest} = props;
|
|
15
15
|
withBackToTopButton = withBackToTop === true || withBackToTopButton == true || isMobileMedia()? true : false;
|
|
16
16
|
rest = defaultObj(rest);
|
|
17
17
|
containerProps = defaultObj(containerProps);
|
|
@@ -145,7 +145,7 @@ const CommonListComponent = React.forwardRef((props,ref)=>{
|
|
|
145
145
|
console.error(context.items," is not valid list data array",props);
|
|
146
146
|
context.items = [];
|
|
147
147
|
}
|
|
148
|
-
|
|
148
|
+
React.useOnRender(onRender,Math.max(items.length/10 || 0,500));
|
|
149
149
|
React.setRef(ref,context);
|
|
150
150
|
React.useEffect(()=>{
|
|
151
151
|
React.setRef(ref,context);
|
|
@@ -26,7 +26,7 @@ const propTypes = {
|
|
|
26
26
|
isScrolling : PropTypes.func,
|
|
27
27
|
};
|
|
28
28
|
/***@see : https://virtuoso.dev/virtuoso-api-reference/ */
|
|
29
|
-
const VirtuosoListComponent = React.forwardRef(({items,testID,renderItem,onEndReached,onLayout,onContentSizeChange,onScroll,isScrolling,estimatedItemSize,onEndReachedThreshold,containerProps,style,...props},ref)=>{
|
|
29
|
+
const VirtuosoListComponent = React.forwardRef(({items,onRender,testID,renderItem,onEndReached,onLayout,onContentSizeChange,onScroll,isScrolling,estimatedItemSize,onEndReachedThreshold,containerProps,style,...props},ref)=>{
|
|
30
30
|
const r2 = {};
|
|
31
31
|
for(let i in propTypes){
|
|
32
32
|
if(i in props){
|
|
@@ -95,6 +95,7 @@ const VirtuosoListComponent = React.forwardRef(({items,testID,renderItem,onEndRe
|
|
|
95
95
|
React.setRef(ref,null);
|
|
96
96
|
}
|
|
97
97
|
},[]);
|
|
98
|
+
React.useOnRender(onRender,Math.max(Array.isArray(items) && items.length/10 || 0,500))
|
|
98
99
|
return <View {...containerProps} {...props} style={[{flex:1},containerProps.style,style,{minWidth:'100%',maxWidth:'100%'}]} onLayout={onLayout} testID={testID}>
|
|
99
100
|
<Virtuoso
|
|
100
101
|
{...r2}
|
|
@@ -251,7 +251,7 @@ const TableComponent = React.forwardRef(({containerProps,sortedColumn,listContai
|
|
|
251
251
|
}
|
|
252
252
|
}
|
|
253
253
|
}
|
|
254
|
-
|
|
254
|
+
const onComponentRender = (a,b,c)=>{
|
|
255
255
|
if(onRender){
|
|
256
256
|
onRender(a,b,c);
|
|
257
257
|
}
|
|
@@ -264,7 +264,7 @@ const TableComponent = React.forwardRef(({containerProps,sortedColumn,listContai
|
|
|
264
264
|
})
|
|
265
265
|
}
|
|
266
266
|
}
|
|
267
|
-
}
|
|
267
|
+
};
|
|
268
268
|
return <View testID= {testID+"_Container"} {...containerProps} onLayout={(e)=>{
|
|
269
269
|
layoutRef.current = e.nativeEvent.layout;
|
|
270
270
|
if(containerProps.onLayout){
|
|
@@ -299,7 +299,7 @@ const TableComponent = React.forwardRef(({containerProps,sortedColumn,listContai
|
|
|
299
299
|
</View>
|
|
300
300
|
</ScrollView>
|
|
301
301
|
</RNView>
|
|
302
|
-
{hasEmptyData ? <View testID={testID+"_Empty"} style={styles.hasNotData}>
|
|
302
|
+
{hasEmptyData ? <View onRender={onComponentRender} testID={testID+"_Empty"} style={styles.hasNotData}>
|
|
303
303
|
{emptyData}
|
|
304
304
|
</View> : <ScrollView {...scrollViewProps} scrollEventThrottle = {scrollEventThrottle} horizontal contentContainerStyle={[scrollContentContainerStyle,scrollViewProps.contentContainerStyle,{height:'100%'}]} showsVerticalScrollIndicator={false}
|
|
305
305
|
onScroll = {getOnScrollCb([headerScrollViewRef,footerScrollViewRef],null,(args)=>{
|
|
@@ -337,6 +337,7 @@ const TableComponent = React.forwardRef(({containerProps,sortedColumn,listContai
|
|
|
337
337
|
content : {height,width}
|
|
338
338
|
});
|
|
339
339
|
}}
|
|
340
|
+
onRender = {onComponentRender}
|
|
340
341
|
onLayout = {(args)=>{
|
|
341
342
|
if(props.onLayout){
|
|
342
343
|
//props.onLayout(args);
|
|
@@ -5,7 +5,7 @@ import {isMobileNative} from "$cplatform";
|
|
|
5
5
|
import {debounce,isNumber} from "$utils";
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
const ViewComponent = React.forwardRef(({mediaQueryUpdateNativeProps,onLayoutTimeout,onLayout,autoHeight,autoWidth,elevation,...props},ref)=>{
|
|
8
|
+
const ViewComponent = React.forwardRef(({mediaQueryUpdateNativeProps,onRender,onLayoutTimeout,onLayout,autoHeight,autoWidth,elevation,...props},ref)=>{
|
|
9
9
|
const style = React.useMediaQueryUpdateStyle(props);
|
|
10
10
|
const autoSize = autoHeight||autoWidth ? true : false;
|
|
11
11
|
const [state,setState] = autoSize ? React.useState({}) : [{}];
|
|
@@ -22,6 +22,7 @@ const ViewComponent = React.forwardRef(({mediaQueryUpdateNativeProps,onLayoutTim
|
|
|
22
22
|
setState({height:h,width:w});
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
|
+
React.useOnRender(onRender);
|
|
25
26
|
return <View
|
|
26
27
|
{...props}
|
|
27
28
|
style = {[style,
|