UNPKG

nas_engine

Version:

engine for nas

78 lines (68 loc) 2.08 kB
'use strict'; var React = require('react-native'); var { Text, View, Image, Platform, Dimensions } = React; var { width, height } = Dimensions.get('window'), phone = {"width":width,"height":height}, needInterruptGesture, retio = global.retio; var AnchorR1 = React.createClass({ _creatGrid(){ var result = [], self = this, conf = this.props.conf; var imgArr = conf.anchors; imgArr.map(function(v, index){ var nativeSchema = v.link, record = v.code; result.push( <View style={[styles.cell]} onStartShouldSetResponder={self._onStartShouldSetResponder} onResponderMove={self._onResponderMove} onResponderRelease={self._onResponderRelease(nativeSchema, record)} > <Image style={{width:Number(v.width)/retio , height: Number(v.height)/retio}} source={{uri : v.img}} resizeMode={'stretch'} /> </View> ); }); return result; }, _onStartShouldSetResponder(evt){ needInterruptGesture = false; return true; }, _onResponderMove(evt) { needInterruptGesture = true; }, _onResponderRelease(schema, record) { var method = global.HBApp.Methods; return ((evt)=>{ if(needInterruptGesture == false){ method.navigator.openAdsPageWithUrl(schema); method.analysis.husorEvent(record, {}); method.analysis.umengEvent(record,null); } }); }, render(){ var conf = this.props.conf; return( <View style={[styles.rowContainer, {backgroundColor:conf.bgColor,paddingTop:Number(conf.paddingTop)/retio,paddingBottom: Number(conf.paddingBottom)/retio}]}> {this._creatGrid()} </View> ); } }); var styles = React.StyleSheet.create({ rowContainer: { flexWrap: 'nowrap', flexDirection: 'row', justifyContent: 'space-between', alignItems: 'flex-start', width: phone.width }, cell: { } }); module.exports = AnchorR1;