Module SectionList-BsReactNative
type renderBag('item)
=
{
item : 'item,
index : int,
section : section('item),
separators : Js.t({. highlight : unit => unit, unhighlight : unit => unit, }),
}
;type section('item)
=
{
data : array('item),
key : option(string),
renderItem : option((renderBag('item) => ReasonReact.reactElement)),
}
;
let section : data:array('item) => ?key:string => ?renderItem:(renderBag('item) => ReasonReact.reactElement) => unit => section('item);
type separatorProps('item)
=
{
highlighted : bool,
leadingItem : option('item),
leadingSection : option(section('item)),
section : section('item),
trailingItem : option('item),
trailingSection : option(section('item)),
}
;type sections('item)
;
let renderItem : (renderBag('item) => ReasonReact.reactElement) => renderItem('item);
let separatorComponent : (separatorProps('item) => ReasonReact.reactElement) => separatorComponent('item);
type renderAccessory('item)
=
{
section : section('item),
}
;type renderAccessoryView('item)
;
let renderAccessoryView : (renderAccessory('item) => ReasonReact.reactElement) => renderAccessoryView('item);
type viewToken('item)
= Js.t({. index : Js.undefined(int), isViewable : bool, item : 'item, key : string, section : section('item), })
;
let make : sections:sections('item) => renderItem:renderItem('item) => keyExtractor:('item => int => string) => ?itemSeparatorComponent:separatorComponent('item) => ?listEmptyComponent:(unit => ReasonReact.reactElement) => ?listFooterComponent:ReasonReact.reactElement => ?listHeaderComponent:ReasonReact.reactElement => ?sectionSeparatorComponent:separatorComponent('item) => ?inverted:bool => ?extraData:'extraData => ?initialNumToRender:int => ?onEndReached:(Js.t({. distanceFromEnd : float, }) => unit) => ?onEndReachedThreshold:float => ?onViewableItemsChanged:Js.t({. changed : array(viewToken('item)), viewableItems : array(viewToken('item)), }) => ?onRefresh:(unit => unit) => ?refreshing:bool => ?renderSectionHeader:renderAccessoryView('item) => ?renderSectionFooter:renderAccessoryView('item) => ?stickySectionHeadersEnabled:bool => ?keyboardDismissMode:[ `none | `interactive | `onDrag ] => ?keyboardShouldPersistTaps:[ `always | `never | `handled ] => ?showsHorizontalScrollIndicator:bool => ?showsVerticalScrollIndicator:bool => ?getItemLayout:(option(array('item)) => int => Js.t({. length : int, offset : int, index : int, })) => array(ReasonReact.reactElement) => ReasonReact.component(ReasonReact.stateless, ReasonReact.noRetainedProps, unit);