import React,{Component} from 'react'

import { Form, Input, DatePicker,TimePicker,Row, Col,Button,Icon ,Select} from 'antd';
import {InputSize,Currency,FormatAmount} from "./Utils"

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

export default class T98E extends Component
{

    name='98E'
    desp = "Preparation Date/Time"
    
    pattern = ":4!c//8!n6!n[,3n][/[N]2!n[2!n]]"
    tno = -1


    keys=[1,2,3,4,5,6]
    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}${obj.s3}`
        if(obj.s4)
            mval = mval +','+obj.s4
        if(obj.s6)
            mval = mval +'/'+obj.s6+obj.s5    
        else if(obj.s5)
            mval = mval +'/'+obj.s5
        
        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="Qualifier"
                       required={this.props.status=='M' || mval?'required':null}
                  help={errmsg.s1}
                    validateStatus={errmsg.s1?'error':null}
                >
                           <Select  
                           
                           placeholder="Qualifier"
                           showSearch
                           
                           allowClear={true}
                            optionFilterProp="children"
                            notFoundContent="Wrong Code"
                            style={{ width: "100%" }} value={value.s1} onChange={val=>this.onChange(1,val)} >
                                
                                   <Option  value="PREP">PREP</Option>
                                   <Option  value="SETT">SETT</Option>
                                   <Option  value="TRAD">TRAD</Option>
                                   <Option  value="ADEL">ADEL</Option>
                                   <Option  value="COUP">COUP</Option>
                                   <Option  value="FRNR">FRNR</Option>
                                   <Option  value="MATU">MATU</Option>
                                   <Option  value="ISSU">ISSU</Option>
                                   <Option  value="CALD">CALD</Option>
                                   <Option  value="PUTT">PUTT</Option>
                                   <Option  value="DDTE">DDTE</Option>
                                   <Option  value="FCOU">FCOU</Option>
                                   <Option  value="TERM">TERM</Option>
                                   <Option  value="RERA">RERA</Option>
                                   <Option  value="PROC">PROC</Option>
                                   <Option  value="VALU">VALU</Option>
                            </Select>
                </FormItem>
            </Col>
            
            <Col style={{"minWidth":'100px'}} span={3}>
                <FormItem                 
                     label="Date"  
                        required={this.props.status=='M' || mval?'required':null}
                  help={errmsg.s2}
                 
                    validateStatus={errmsg.s2?'error':null}
                >
                            <DatePicker    defaultValue="" format="yyyyMMdd" value={value.s2} onChange={(date, dateString)=>this.onChange(2,dateString)} />
                </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="HHmmss" value={value.s3} onChange={(date, dateString)=>this.onChange(3,dateString)} />
                </FormItem>
            </Col>

            <Col  style={{"minWidth":'100px'}} span={3}>
                <FormItem
                 label="Decimals"  
                  help={errmsg.s4}
                    validateStatus={errmsg.s4?'error':null}
                >                       
                        <Input  value={value.s4} onChange={e=>this.onChange(4,e.target.value)}  maxLength={3} style={{imeMode:'disabled'}} placeholder="Decimals"/>
                </FormItem>
            </Col>
            
            <Col style={{ "minWidth": '100px' }} span={3}>
                <FormItem
                    label="Sign"
                    help={errmsg.s6}
                    validateStatus={errmsg.s6 ? 'error' : null}
                >
                    <Select allowClear={true} value={value.s6} placeholder="Sign" style={{ width: "100%" }} onChange={val => this.onChange(6, val)}>
                        <Option value={'N'}>{"N"}</Option>
                    </Select>
                </FormItem>
            </Col>

            <Col style={{"minWidth":'100px'}} span={3}>
                <FormItem                 
                     label="UTC Indicator"  
                  help={errmsg.s5}
                 
                    validateStatus={errmsg.s5?'error':null}
                >
                            <TimePicker    defaultValue="" format="HHmm" value={value.s5} onChange={(date, dateString)=>this.onChange(5,dateString)} />
                </FormItem>
            </Col>

        </Row>)
    }
}