UNPKG

crn-cli

Version:

The Ctrip React Native CLI Tools

1 lines 4.13 kB
__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=r(d[1]),o=r(d[2]),l=r(d[3]),s=r(d[4]),h=r(d[5]),c=r(d[6]),u=r(d[7]),f=r(d[8]),p=r(d[9]),v=p.Animated,_=p.StyleSheet,C=p.View,x=r(d[10]),y=r(d[11]),I=r(d[12]),S=I.FooterComponent,w=I.HeaderComponent,E=I.ItemComponent,b=I.ListEmptyComponent,R=I.ItemSeparatorComponent,T=I.PlainInput,z=I.SeparatorComponent,P=I.Spindicator,k=I.genItemData,H=I.getItemLayout,L=I.pressItem,V=I.renderSmallSwitchOption,F={minimumViewTime:3e3,viewAreaCoveragePercentThreshold:100,waitForInteraction:!0},D=(function(p){function _(){var o,c;n(this,_);for(var p=arguments.length,C=new Array(p),x=0;x<p;x++)C[x]=arguments[x];return(c=l(this,(o=s(_)).call.apply(o,[this].concat(C)))).state={data:k(100),debug:!1,horizontal:!1,inverted:!1,filterText:'',fixedHeight:!0,logViewable:!1,virtualized:!0,empty:!1},c._onChangeFilterText=function(t){c.setState({filterText:t})},c._onChangeScrollToIndex=function(t){c._listRef.getNode().scrollToIndex({viewPosition:.5,index:Number(t)})},c._scrollPos=new v.Value(0),c._scrollSinkX=v.event([{nativeEvent:{contentOffset:{x:c._scrollPos}}}],{useNativeDriver:!0}),c._scrollSinkY=v.event([{nativeEvent:{contentOffset:{y:c._scrollPos}}}],{useNativeDriver:!0}),c._captureRef=function(t){c._listRef=t},c._getItemLayout=function(t,n){return H(t,n,c.state.horizontal)},c._onEndReached=function(){c.state.data.length>=1e3||c.setState(function(t){return{data:t.data.concat(k(100,t.data.length))}})},c._onRefresh=function(){return u.alert('onRefresh: nothing to refresh :P')},c._renderItemComponent=function(t){var n=t.item,o=t.separators;return f.createElement(E,{item:n,horizontal:c.state.horizontal,fixedHeight:c.state.fixedHeight,onPress:c._pressItem,onShowUnderlay:o.highlight,onHideUnderlay:o.unhighlight})},c._onViewableItemsChanged=function(n){c.state.logViewable&&y('onViewableItemsChanged: ',n.changed.map(function(n){return t({},n,{item:'...'})}))},c._pressItem=function(t){c._listRef.getNode().recordInteraction(),L(h(c),t)},c}return c(_,p),o(_,[{key:"componentDidUpdate",value:function(){this._listRef.getNode().recordInteraction()}},{key:"render",value:function(){var t=new RegExp(String(this.state.filterText),'i'),n=this.state.data.filter(function(n){return t.test(n.text)||t.test(n.title)});return f.createElement(x,{noSpacer:!0,noScroll:!0},f.createElement(C,{style:N.container},f.createElement(C,{style:N.searchRow},f.createElement(C,{style:N.options},f.createElement(T,{onChangeText:this._onChangeFilterText,placeholder:"Search...",value:this.state.filterText}),f.createElement(T,{onChangeText:this._onChangeScrollToIndex,placeholder:"scrollToIndex..."})),f.createElement(C,{style:N.options},V(this,'virtualized'),V(this,'horizontal'),V(this,'fixedHeight'),V(this,'log'),V(this,'inverted'),V(this,'empty'),V(this,'debug'),f.createElement(P,{value:this._scrollPos}))),f.createElement(z,null),f.createElement(v.FlatList,{ItemSeparatorComponent:R,ListHeaderComponent:f.createElement(w,null),ListFooterComponent:S,ListEmptyComponent:b,data:this.state.empty?[]:n,debug:this.state.debug,disableVirtualization:!this.state.virtualized,getItemLayout:this.state.fixedHeight?this._getItemLayout:void 0,horizontal:this.state.horizontal,inverted:this.state.inverted,key:(this.state.horizontal?'h':'v')+(this.state.fixedHeight?'f':'d'),keyboardShouldPersistTaps:"always",keyboardDismissMode:"on-drag",numColumns:1,onEndReached:this._onEndReached,onRefresh:this._onRefresh,onScroll:this.state.horizontal?this._scrollSinkX:this._scrollSinkY,onViewableItemsChanged:this._onViewableItemsChanged,ref:this._captureRef,refreshing:!1,renderItem:this._renderItemComponent,contentContainerStyle:N.list,viewabilityConfig:F})))}}]),_})(f.PureComponent),N=_.create({container:{backgroundColor:'rgb(239, 239, 244)',flex:1},list:{backgroundColor:'white',flexGrow:1},options:{flexDirection:'row',flexWrap:'wrap',alignItems:'center'},searchRow:{paddingHorizontal:10}});e.title='<FlatList>',e.description='Performant, scrollable list of data.',e.examples=[{title:'Simple list of items',render:function(){return f.createElement(D,null)}}]},666689,[51,3,4,5,8,7,9,136,11,15,666681,149,666690]);