Repository navigation
feat: add search, column filters and server-driven data mode - #1
Merged
Merged
Conversation
- searchText prop matches shown cell text, ignoring case and accents, with a lazily built search index reused until data or columns change - columnFilters prop with text, values, range and custom filters - Range filters reject NaN, invalid dates and non-numeric cells, and ignore invalid bounds - Recompute row keys when keyExtractor changes while keeping identical key arrays stable - Label perf monitor counts as long frame intervals and qualify README performance claims - Example app: search box and status/amount filter chips
- manualSorting keeps the supplied row order while the header still shows sort and taps still call onSortChange - manualFiltering shows supplied rows without local search or filters - loading shows a spinner only while there are no rows, so existing rows stay visible during a new query - loadingMore footer, pull-to-refresh (refreshing/onRefresh), onEndReached, and error with optional Retry in the empty state or footer - getVisibleRows helper with tests for manual modes - Example app: Local and Server tabs; the Server tab pages a fake API with latency, server-side sort/search/status filter, refresh, load more and a fail-next-request switch
feat: add server-driven data mode
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reopened after the repository was recreated. Combines the previous PR #1 (search and column filters) and PR #2 (server-driven data mode, already merged into this branch).
Search and column filters
searchText: matches shown cell text, ignoring case and accents. The search index is built on the first search and reused untildataorcolumnschange.columnFilters:text,values,rangeandcustomfilters, by column key.keyExtractorchanges; identical key arrays keep their identity.Server-driven data mode
manualSorting: keeps the order ofdata; the header still showssortand taps still callonSortChange.manualFiltering: showsdatawithout applyingsearchTextorcolumnFilterslocally.loading: spinner only while there are no rows; existing rows stay visible during a new query.loadingMore,refreshing/onRefresh,onEndReached/onEndReachedThreshold,error/onRetry.Testing
Known follow-up
onEndReachedright away. AscrollToTopref method or reset option would fix this.