ProductList.js 2.51 KB
'use strict';

import React from 'react';
import ReactNative, {
	AppRegistry,
	Platform,
	StyleSheet,
	Dimensions,
	TouchableOpacity,
} from 'react-native';

import {
	Provider,
	connect
} from 'react-redux';

import configureStore from './store/configureStore';
import {Record, List, Map} from 'immutable';

import appInitialState from './reducers/app/appInitialState';
import productListInitialState from './reducers/productList/productListInitialState';
import ProductListContainer from './containers/ProductListContainer';

import screenInitialState from './reducers/screen/screenInitialState';
import screenCategoryInitialState from './reducers/screenCategory/screenCategoryInitialState';
import screenSubInitialState from './reducers/screenSub/screenSubInitialState';

import ScreenContainer from './containers/ScreenContainer';
import ScreenCategoryContainer from './containers/ScreenCategoryContainer';
import ScreenSubContainer from './containers/ScreenSubContainer';


import {
	setPlatform,
	setChannel,
	setHost,
	setType
} from './reducers/app/appActions';

import {
	setBrandId,
} from './reducers/productList/productListActions';

function getInitialState() {
	const _initState = {
		app: (new appInitialState()),
    	productS: (new productListInitialState()),
		screen: (new screenInitialState()),
		screenCategory: (new screenCategoryInitialState()),
		screenSub: (new screenSubInitialState()),
	};
	return _initState;
}

export default function native(platform) {

	let YH_ProductListRNView = React.createClass({

		render() {
		  	const store = configureStore(getInitialState());
			store.dispatch(setPlatform(platform));
			let {host, channel,type,brand_id} = this.props;
			store.dispatch(setHost(host));
			store.dispatch(setChannel(channel));
			store.dispatch(setType(type));
			store.dispatch(setBrandId(brand_id));

			if (type == 'YH_ScreenCategoryView' ) {
				return (
					<Provider store={store}>
						<ScreenContainer />
					</Provider>
				);
			} else if(type == 'YH_ProductFilterCategoryView' ){
				return (
					<Provider store={store}>
						<ScreenCategoryContainer />
					</Provider>
				);
			}else if (type == 'YH_ProductFilterSubView' ){
				return (
					<Provider store={store}>
						<ScreenSubContainer />
					</Provider>
				);
			}else if (type == 'YH_ProductListRNView' ){
				return (
					<Provider store={store}>
						<ProductListContainer />
					</Provider>
				);
			}
		}
	});

	AppRegistry.registerComponent('YH_ProductListRNView', () => YH_ProductListRNView);
}

let styles = StyleSheet.create({

});