diff --git a/src/expandableCalendar/agendaList.tsx b/src/expandableCalendar/agendaList.tsx index a69658d9da..2d0c59c895 100644 --- a/src/expandableCalendar/agendaList.tsx +++ b/src/expandableCalendar/agendaList.tsx @@ -67,6 +67,8 @@ export interface AgendaListProps extends SectionListProps infiniteListProps?: { itemHeight?: number; titleHeight?: number; + visibleIndicesChangedDebounce?: number; + renderFooter?: () => React.ReactElement | null; }; } diff --git a/src/expandableCalendar/infiniteAgendaList.tsx b/src/expandableCalendar/infiniteAgendaList.tsx index f304a85300..895f6feb71 100644 --- a/src/expandableCalendar/infiniteAgendaList.tsx +++ b/src/expandableCalendar/infiniteAgendaList.tsx @@ -181,7 +181,7 @@ const InfiniteAgendaList = (props: AgendaListProps) => { } } } - }, 1000, {leading: false, trailing: true},), [avoidDateUpdates, setDate, data]); + }, infiniteListProps?.visibleIndicesChangedDebounce ?? 1000, {leading: false, trailing: true},), [avoidDateUpdates, setDate, data]); const findItemTitleIndex = useCallback((itemIndex: number) => { let titleIndex = itemIndex; @@ -236,10 +236,11 @@ const InfiniteAgendaList = (props: AgendaListProps) => { layoutProvider={layoutProvider} onScroll={_onScroll} onVisibleIndicesChanged={_onVisibleIndicesChanged} - scrollViewProps={{onMomentumScrollEnd: _onMomentumScrollEnd}} + scrollViewProps={{onMomentumScrollEnd: _onMomentumScrollEnd, nestedScrollEnabled: true}} onEndReached={_onEndReached} onEndReachedThreshold={onEndReachedThreshold as number | undefined} disableScrollOnDataChange + renderFooter={infiniteListProps?.renderFooter} /> ); }; diff --git a/src/infinite-list/index.tsx b/src/infinite-list/index.tsx index 0917cb5c8b..1d87e72a16 100644 --- a/src/infinite-list/index.tsx +++ b/src/infinite-list/index.tsx @@ -27,6 +27,7 @@ export interface InfiniteListProps positionIndex?: number; layoutProvider?: LayoutProvider; disableScrollOnDataChange?: boolean; + renderFooter?: () => React.ReactElement | null; } const InfiniteList = (props: InfiniteListProps, ref: any) => { @@ -51,6 +52,7 @@ const InfiniteList = (props: InfiniteListProps, ref: any) => { layoutProvider, onScroll, onEndReached, + renderFooter, } = props; const dataProvider = useMemo(() => { @@ -179,6 +181,7 @@ const InfiniteList = (props: InfiniteListProps, ref: any) => { onEndReached={onEndReached} onEndReachedThreshold={onEndReachedThreshold} onVisibleIndicesChanged={onVisibleIndicesChanged} + renderFooter={renderFooter} /> ); };