SaleStatistics.js 2.83 KB
'use strict';

import React from 'react-native';
import TrendTextSection from './TrendTextSection';
import Placeholder from './Placeholder';
import DateSelector from './calendar/DateSelector';
import CalendarPicker from './calendar/CalendarPicker';

let {
    Component,
    View,
    Text,
    ScrollView,
    Platform
} = React;

export default class SaleStatistics extends Component {

    static propTypes = {
        section1: React.PropTypes.arrayOf(
            React.PropTypes.shape({
                top: React.PropTypes.string,
                bottom: React.PropTypes.string,
                style: View.propTypes.style,
                arrowUp: React.PropTypes.bool,
            })
        ),
        section2: React.PropTypes.arrayOf(
            React.PropTypes.shape({
                top: React.PropTypes.string,
                bottom: React.PropTypes.string,
                style: View.propTypes.style,
                arrowUp: React.PropTypes.bool,
            })
        ),
    };

    constructor(props) {
        super(props);

        this.state = {
            showPicker: false,
            selectdDate: '2016-01-26',
        };

        this.toogleSelector = this.toogleSelector.bind(this);
        this.onCancel = this.onCancel.bind(this);
        this.onOK = this.onOK.bind(this);
    }

    toogleSelector() {
        this.setState({
            showPicker: !this.state.showPicker
        });
    }

    onCancel() {
        this.toogleSelector();
    }

    onOK(selected) {
        let selectdDate;

        if (selected.selectMode === 'day') {
            let day = selected.day;
            selectdDate = day.getFullYear() + '年' + (day.getMonth() + 1) + '月' + day.getDate() + '日';
        } else if (selected.selectMode === 'week') {
            let from = selected.from;
            let to = selected.to;
            selectdDate = from.getFullYear() + '年' + (from.getMonth() + 1) + '月' + from.getDate() + '日'
                + '-' + to.getFullYear() + '年' + (to.getMonth() + 1) + '月' + to.getDate() + '日';
        } else if (selected.selectMode === 'month') {
            let year = selected.year;
            selectdDate = selected.year + '年' + selected.month + '月';
        }

        this.setState({
            showPicker: !this.state.showPicker,
            selectdDate
        });
    }

	render() {

        return (
            <ScrollView>
                <DateSelector date={this.state.selectdDate} toogleSelector={this.toogleSelector} />
                <Placeholder />
                <TrendTextSection content={this.props.section1} />
                <Placeholder />
                <TrendTextSection content={this.props.section2} />
                <Placeholder />
                {this.state.showPicker ? <CalendarPicker onCancel={this.onCancel} onOK={this.onOK}/> : <View/>}

            </ScrollView>
        );

    }
}