- properly escape regex special chars for test in filter function #64
- Add
hideConfirmprop - hides the confirm button from the modal #62 - Add
stickyFooterComponentshows below the confirm button (but, unlikefooterComponent, outside of the scroll view so it's always visible) - Add
chipsPositionto position the chips above or below the select. Sstring, either 'top' or 'bottom' #56 - Add
customChipsRendererfunction. receives all props. #56
- prevent crash when pressing select toggle rapidly
- fix formatting of this document
- Add
onToggleSelectorcallback function #48 - Add
noItemsComponentto be shown when there are no items - Add
loadingboolean prop for loading state
- Change
loadingComponentto be shown whenloadingprop is true (previously was shown when items were empty)
- Added
keyboardShouldPersistTapsprops where needed
- Add
selectedItemTextandselectedSubItemTextstyles (previously only the parent view style was editable when selected).
- Add
chipRemoveIconComponent, this icon wasn't user replaceable before. - Add
filterItemsfunction prop. It will replace the filter used for searching. parameters aresearchTerm,items,props. You need to return an array of item objects. (example inexampleapp/App.js).
- Add
expandDropDownsprop. Set to true to expand all parent dropdowns (when usingshowDropDowns). - Add
animateDropDownsprop. Set to false to not use LayoutAnimation when toggling the dropdowns. - Add
customLayoutAnimationprop. Use your own LayoutAnimation preset or custom layout animation object for the toggling of dropdowns. - Add
selectLabelNumberOfLinesprop. - Add
renderSelectTextfunction that receives props. This allows you to fully customize what the select label says and when, overridingselectText,selectedTextetc.
numberOfLinesis nowitemNumberOfLines, to avoid confusion.- There were serious perf issues for things like toggling dropdowns with larger lists. To mitigate this, the sub items have been moved inside of the parent items and some functions have been rafactored or moved. The only noticeable difference should be that the parent item's
itemSeparatorshows at the bottom of the group of items, rather than always being directly below the parent item.
- Cast keyExtractor ids to string #31
- Should be generally faster...
- Removed lodash dependency: replaced get and reject functions with internal functions.
alwaysShowSelectTextprop - if true the select label won't show the amount selected +selectedTextor the name of the selected item if only one items is selected. Not applied whensingleis true as single shows thedispayKeyon the select label only. #23searchAdornmentprop - function that receives the text of the search input, and is output on the right hand side of the search input. Useful if you need to do something with the search text like add a new item.
- disabled items
- sub item Touchable wasn't being disabled when a truthy disabled key is present
- make item text colors.disabled when item has truthy disabled key
- cancel / confirm buttons not displaying properly on iOS. Cancel takes a fixed width instead of a flex ratio now. #19
- Cancel button #15
- shows on the modal to the left of the confirm button. Pressing it dismisses the modal AND removes all selected items.
- show with
showCancelButtonprop. cancelButtonstyle andcancelIconComponentare available. (It is a 'close' icon by default, but you could make it a text component if you want).
- Hide select #16
- hide the select entirely with
hideSelectprop.
- hide the select entirely with
- Display key #14
- customize the title key with
displayKeyprop, instaed of being forced to use 'name'.
- customize the title key with
- Added
headerComponentprop - goes above search bar #17 - Added
onCancelandonConfirmfunction props
SelectedTextnow allowed to be a function, for more complex translations/
- customizable
selectedTextstring (defaults to 'selected'). #13
- fixed
onSelectedItemObjectsChangefor single select mode #9
- Added
numberOfLinesprop, so long labels can be truncated (defaults to null - no truncation).
- add flex to label text so checkmark is visible for long items
- Make remove all chip use chipColor
- Add changelog to Readme
- disabled color. When highlightChildren is true, the child checkmarks become the disabled color
- highlighted children TouchableOpacity disabled. You can't / it doesn't make sense to cherry pick sub items in this mode
- Custom component for no results text
noResultsComponent- More customizable than a string.
- custom component for loading
loadingComponent- display an ActivityIndicator (default) component when items are empty / undefined
- Custom components for icons
selectToggleIconComponent- The icon to the right of the dropdown in its initial state (Default arrow down)searchIconComponent- The search input icon (default Magnifying glass)selectedIconComponent- The icon to the left of the selected item (default Checkmark)dropDownToggleIconUpComponent- The parent dropdown icon in closed statedropDownToggleIconDownComponent- The parent dropdown icon in opened state
- Select all child ids when a parent is selected
selectChildren- boolean
- Highlight (but don't broadcast to state) all child ids when a parent is selected
highlightChildren- boolean
- Removed No results text string in favour of a component (object) to allow for more customization.
- removed / streamlined fonts
- Moved row item and sub item to separate classes, in order to enhance performance for long lists. Use
shouldComponentUpdateto not re-render every item on toggle. - moved RowItem and SubRowItem into separate files
- fixed
reduceSelectedfunction - rejecting children works properly now - Erroneously used
item.idinstead ofitem[uniqueKey]
hideSearchProp to hide search bar entirely
- Style for sub item separator
- Props for Modal animation and orientation
- Init