Skip to content

Add searchBothFieldFunction to labelField, valueField and Empty result message - #308

Open
aravind3566 wants to merge 11 commits into
hoaphantn7604:masterfrom
aravind3566:master
Open

aravind3566 wants to merge 11 commits into
hoaphantn7604:masterfrom
aravind3566:master

Conversation

@aravind3566

@aravind3566 aravind3566 commented Oct 17, 2024

Copy link
Copy Markdown

This pull request introduces a new function, searchBothFieldFunction, to the labelField and valueField components. This function allows for more flexible and efficient searching by enabling users to search for values that match either the label or the value field.

Key changes:

  • Added searchBothFieldFunction property: This property is added to both labelField and valueField components. It takes a function as input, which will be called with the search query and the current item being searched. The function should return true if the item matches the search query, and false otherwise.
  • Updated search logic: The search logic in both components is modified to use the searchBothFieldFunction if it's provided. If the function is not provided, the default search behavior remains unchanged.
  • Empty result message: The empty result message is updated to "No Result Found."

Benefits:

  • Enhanced search functionality: Users can now search for values based on either the label or the value field, providing more flexibility and accuracy in their searches.
  • Improved efficiency: The searchBothFieldFunction can be customized to optimize search performance for specific use cases.
  • Increased usability: The added search functionality makes it easier for users to find the information they need.

@aravind3566 aravind3566 changed the title Add searchBothFieldFunction to labelField and valueField Add searchBothFieldFunction to labelField and valueField and Empty result message Oct 17, 2024
@aravind3566 aravind3566 changed the title Add searchBothFieldFunction to labelField and valueField and Empty result message Add searchBothFieldFunction to labelField, valueField and Empty result message Oct 17, 2024
aravindIapparel
aravindIapparel approved these changes Nov 4, 2024
@aravind3566

aravind3566 commented Dec 6, 2024

Copy link
Copy Markdown
Author

@hoaphantn7604 @myou11 kindly merge the PR.

carlos3g added a commit to carlos3g/element-dropdown that referenced this pull request Apr 19, 2026
Bundles a v2.14 batch of community-requested features ported from
the upstream PR backlog and a few additions that have no upstream
PR but came up repeatedly in issues. All additive — the public
API stays drop-in compatible.

Search input
- searchKeyboardType: KeyboardTypeOptions on the search field
  (closes upstream hoaphantn7604#320, supersedes hoaphantn7604#230, hoaphantn7604#231).
- searchInputProps: TextInputProps passthrough for selectionColor,
  returnKeyType, autoCapitalize, autoFocus, secureTextEntry, etc.
  (covers issue hoaphantn7604#312).
- searchField now accepts keyof T or (keyof T)[] — match across
  several fields without writing a custom matcher (reframes
  upstream hoaphantn7604#308).
- persistSearch: keep the search text across opens / selections
  instead of clearing it (issue hoaphantn7604#283).

List behaviour
- onEndReached + onEndReachedThreshold first-class on both
  components, hooked into the underlying FlatList (closes upstream
  hoaphantn7604#226 / issue hoaphantn7604#329).
- activeItemTextStyle: extra text style applied only to the
  selected row (closes upstream hoaphantn7604#269).
- hideSelectedFromList: drops the currently-selected items from
  the rendered list (issue hoaphantn7604#321).

MultiSelect-only
- closeModalWhenSelectedItem: opt-in close-on-toggle, matching
  Dropdown's existing prop (closes upstream hoaphantn7604#310). Defaults to
  false to preserve current keep-selecting behaviour.
- selectedToTop: pushes selected items to the top of the list
  (closes upstream hoaphantn7604#241).
- eventClose stabilised in useCallback so the new memoised
  callbacks don't invalidate every render.

Custom presentation
- renderSelectedItem on Dropdown: replace the entire trigger body
  with custom JSX, receives \`visible\` (closes upstream hoaphantn7604#318
  slice; supersedes hoaphantn7604#347, hoaphantn7604#273, hoaphantn7604#323).
- renderModalHeader on both: render a sticky header above the
  list inside the modal, receives close() (covers issue hoaphantn7604#218).

Fixes bundled with the feature work
- Auto position now flips upward when the trigger sits in the
  bottom half of the screen, replacing the fixed < 150 pixel
  threshold with max(minSlack, H/2) (closes upstream hoaphantn7604#264).
- The modal-level TouchableWithoutFeedback is now accessible={
  false}, and the redundant inner wrap was removed, so iOS
  Accessibility Inspector and screen readers can drill into
  individual list rows (covers issues hoaphantn7604#297, hoaphantn7604#303).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants