import React from 'react'
import {
    inject,
    observer
} from 'mobx-react'
import {
    WeaAlertPage,
    WeaLocaleProvider
} from 'ecCom'
import {
    Spin
} from 'antd'

import Top from './Top';
import MainDialog from './MainDialog';
const getLabel = WeaLocaleProvider.getLabel;

@inject('hrmApplicant') //todo
@observer
export default class Applicant extends React.Component { //todo
    constructor(props) {
        super(props);
    }

    componentWillMount() {
        if (window.location.href.indexOf('/spa/hrm/engine.html') > -1) {
            document.title = getLabel('391168', "应聘人员");
        }
    }

    componentWillReceiveProps(nextProps) {
        if (this.props.location && (this.props.location.key !== nextProps.location.key)) {
            this.props.hrmApplicant.refresh();
        }
    }

    componentDidMount() {
        this.init();
    }

    init() {
        const {
            hrmApplicant
        } = this.props, {
            getAuth,
            onresize
        } = hrmApplicant;

        getAuth();
        window.addEventListener('resize', onresize);
    }

    componentWillUnmount() {
        const {
            hrmApplicant
        } = this.props, {
            onresize
        } = hrmApplicant;
        window.removeEventListener('resize', onresize);
    }

    render() {
        const {
            hrmApplicant
        } = this.props, {
            main,
        } = hrmApplicant, {
            loading,
            authorized
        } = main;

        if (!authorized) {
            return (
                <div style={{height: '100%'}}>
                    {loading ?  <div className='hrm-loading-center'>
                                    <Spin ecId={`${this && this.props && this.props.ecId || ''}_Spin@l9aq80`} spinning={loading} size='large'></Spin>
                                </div>
                             :  <div className="hrm-wea-alert-page">
                                    <WeaAlertPage ecId={`${this && this.props && this.props.ecId || ''}_WeaAlertPage@oxhb7s`}>
                                        <div style={{ color: '#000' }}>
                                            {getLabel(2012, '对不起，您暂时没有权限！')}
                                        </div>
                                      </WeaAlertPage>
                                </div>
                    }    
                </div>
            )
        } else {
            return (
                <div>
                    <Top ecId={`${this && this.props && this.props.ecId || ''}_Top@d0fwmp`} />
                    <MainDialog ecId={`${this && this.props && this.props.ecId || ''}_MainDialog@36l3af`} />
                </div>
            )
        }
    }
}