Screen.js 1.5 KB

'use strict';

import React, {Component} from 'react';
import ReactNative, {
    View,
    Text,
    Image,
    ListView,
    StyleSheet,
    Dimensions,
    TouchableOpacity,
    Platform,
} from 'react-native';

import Header from './Header';
import ScreenCell from './ScreenCell';

export default class Screen extends Component {

    constructor(props) {
        super(props);
        this.renderRow = this.renderRow.bind(this);
        this.dataSource = new ListView.DataSource({
            rowHasChanged: (r1, r2) => !Immutable.is(r1, r2),
        });
    }

    renderRow(rowData,sectionID,rowID,highlightRow) {
        return(
            <ScreenCell resource={rowData} onSelect={this.props.onSelectItem}></ScreenCell>
        );
    }

    render() {
        let {resource} = this.props;
        let list = resource&&resource.get('categoryFilterList')?resource.get('categoryFilterList'):null;
        return (
            <View style={styles.container}>
                <Header okAction={this.props.okAction} cancelAction={this.props.cancelAction}/>
                {list?<ListView
                    ref='ScreenList'
                    enableEmptySections={true}
                    dataSource={this.dataSource.cloneWithRows(list.toArray())}
                    renderRow={this.renderRow}
                />:null}
            </View>
        );
    }
}

let {width, height} = Dimensions.get('window');

let styles = StyleSheet.create({
    container: {
        flex: 1,
        backgroundColor: '#f4f4f4',
    },
});