import React, { Component } from 'react'

import { Form, Input, DatePicker, TimePicker, Row, Col, Button, Icon, Select } from 'antd';

import { InputSize, Currency } from "./Utils"

import YBIC from './YBIC'

const FormItem = Form.Item;
const Option = Select.Option


export default class T14S extends Component {

    name = '14S'
    desp = "Settlement Rate Source"

    pattern = "3!a2n[/4!n/4!c]"
    tno = -1

    keys = [1, 2, 3, 4]

    onChange = (index, value) => {
        let obj = {};
        if (!value)
            value = ""
        let objtemp = this.props.value

        objtemp = objtemp && objtemp.length ? objtemp[0] : {}

        objtemp["s" + index] = value;

        this.keys.forEach(i => {
            obj['s' + i] = objtemp['s' + i]
        });

        let mval = `${obj.s1}${obj.s2}`

        if (obj.s3)
            mval = mval + '/' + obj.s3
        if (obj.s4)
            mval = mval + '/' + obj.s4
        this.props.onValue([obj, mval])
    }

    render() {
        let value = this.props.value

        let mval = value && value.length ? value[1] : ''
        let errmsg = value && value.length == 3 ? value[2] : {}

        value = value && value.length ? value[0] : {}



        return (

            <Row>
                <Col style={{ "minWidth": '100px' }} span={3}>
                    <FormItem
                        label="Rate Source"
                        required={this.props.status == 'M' || mval ? 'required' : null}
                        help={errmsg.s1}
                        validateStatus={errmsg.s1 ? 'error' : null}
                    >
                        <Input value={value.s1} onChange={e => this.onChange(1, e.target.value)} maxLength={3} style={{ imeMode: 'disabled' }} placeholder="" />
                    </FormItem>
                </Col>

                <Col style={{ "minWidth": '100px' }} span={3}>
                    <FormItem
                        label=".."
                        required={this.props.status == 'M' || mval ? 'required' : null}
                        help={errmsg.s2}
                        validateStatus={errmsg.s2 ? 'error' : null}
                    >
                        <Input value={value.s2} onChange={e => this.onChange(2, e.target.value)} maxLength={2} style={{ imeMode: 'disabled' }} placeholder="" />
                    </FormItem>
                </Col>

                <Col style={{ "minWidth": '100px' }} span={3}>
                    <FormItem
                        label="Time"
                        required={this.props.status == 'M' || mval ? 'required' : null}
                        help={errmsg.s3}

                        validateStatus={errmsg.s3 ? 'error' : null}
                    >
                        <TimePicker defaultValue="" format="HHmm" value={value.s3} onChange={(date, dateString) => this.onChange(3, dateString)} />
                    </FormItem>
                </Col>
                <Col span={3}>
                    <FormItem
                        help={errmsg.s4}
                        validateStatus={errmsg.s4 ? 'error' : null}
                        label="Location"
                    >
                        <Input addonBefore="/" maxLength={4} style={{ imeMode: 'disabled' }} placeholder="Location" value={value.s4} onChange={(e) => this.onChange(4, e.target.value)} />
                    </FormItem>
                </Col>

            </Row>

        )
    }
}