Improvements

Remove margin at the bottom
Update package dependencies
Update Pluggable widget package version
This commit is contained in:
iamrob
2023-06-05 13:53:13 +02:00
parent 3b85aac01d
commit 7c5eed1170
12 changed files with 19925 additions and 18628 deletions

View File

@@ -13,9 +13,7 @@ export interface CustomStyle extends Style {
}
const defaultStyle: CustomStyle = {
footer: {
marginBottom: 300,
}
footer: { marginBottom: 0 }
};
interface State {
@@ -51,14 +49,14 @@ export class CustomListView extends PureComponent<CustomListViewProps<CustomStyl
const size = Number(itemSize)
return (
<View>
{useItemLayout ?
{useItemLayout ? (
<FlatList
getItemLayout={(data, index) => ({
getItemLayout={(data: any, index: number) => ({
length: size,
offset: size * index,
index,
data
})}
})}
ref={this.flatListRef}
data={ds?.items}
renderItem={this.renderItem}
@@ -69,7 +67,7 @@ export class CustomListView extends PureComponent<CustomListViewProps<CustomStyl
maxToRenderPerBatch={maxNumberToRenderPerBatch}
ListFooterComponent={this.renderFooterHandler()}
/>
:
) : (
<FlatList
data={ds?.items}
renderItem={this.renderItem}
@@ -81,7 +79,7 @@ export class CustomListView extends PureComponent<CustomListViewProps<CustomStyl
ListFooterComponent={this.renderFooterHandler()}
updateCellsBatchingPeriod={cellBatchingSize}
/>
}
)}
</View>
);
}
@@ -91,18 +89,18 @@ export class CustomListView extends PureComponent<CustomListViewProps<CustomStyl
return (
<View>
<ScrollView>
{ds.items?.map((item) => <View key={item.id}>{container(item)}</View>)}
{ds.items?.map((item: { id: any; }) => <View key={item.id}>{container.get(item)}</View>)}
</ScrollView>
</View>
);
}
renderItem = ({ item, index }: { item: ObjectItem, index: number }) => {
const { container, useItemLayout, itemSize } = this.props;
return (
<View>
<TouchableOpacity onPress={() => this.onClickHandler(item, index)} disabled={this.state.clickDisabled}>
<View key={item.id} style={useItemLayout ? { height: Number(itemSize) } : null}>{container(item)}</View>
<View key={item.id} style={useItemLayout ? { height: Number(itemSize) } : null}>{container.get(item)}</View>
</TouchableOpacity>
</View>
)
@@ -125,14 +123,11 @@ export class CustomListView extends PureComponent<CustomListViewProps<CustomStyl
onClick(item: ObjectItem, index: number) {
const { onClick, scrollItem } = this.props;
const actionValue = onClick!(item);
if (!this.state.clickDisabled) {
this.setState({ clickDisabled: true });
actionValue.execute();
onClick?.get(item)?.execute();
scrollItem?.setValue(new Big(index));
clickTimer = setTimeout(() => {
this.setState({ clickDisabled: false });
}, 3000);
clickTimer = window.setTimeout(() => this.setState({ clickDisabled: false }), 3000);
}
}

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<package xmlns="http://www.mendix.com/package/1.0/">
<clientModule name="CustomListView" version="1.0.0" xmlns="http://www.mendix.com/clientModule/1.0/">
<clientModule name="CustomListView" version="1.0.1" xmlns="http://www.mendix.com/clientModule/1.0/">
<widgetFiles>
<widgetFile path="CustomListView.xml"/>
</widgetFiles>