import React,{Component} from 'react'

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

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

export default class T95S extends Component
{

    name='95S'
    desp = "Party"
    pattern = ":4!c/[8c]/4!c/2!a/30x"
    tno = -1


    keys=[1,2,3,4,5]    
    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.s3}/${obj.s4}/${obj.s5}`
        if (obj.s2)
            mval = `:${obj.s1}/${obj.s2}/${obj.s3}/${obj.s4}/${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="ACOW">ACOW</Option>
                                   <Option  value="ALTE">ALTE</Option>
                                   <Option  value="BUYR">BUYR</Option>
                                   <Option  value="DEAG">DEAG</Option>
                                   <Option  value="DECU">DECU</Option>
                                   <Option  value="DEI1">DEI1</Option>
                                   <Option  value="DEI2">DEI2</Option>
                                   <Option  value="PSET">PSET</Option>
                                   <Option  value="REAG">REAG</Option>
                                   <Option  value="RECU">RECU</Option>
                                   <Option  value="REI1">REI1</Option>
                                   <Option  value="REI2">REI2</Option>
                                   <Option  value="SELL">SELL</Option>
                                   <Option  value="ALTE">ALTE</Option>
                                   <Option  value="ACCW">ACCW</Option>
                                   <Option  value="BENM">BENM</Option>
                                   <Option  value="DEBT">DEBT</Option>
                                   <Option  value="INTM">INTM</Option>
                                   <Option  value="PAYE">PAYE</Option>
                                   <Option  value="EXCH">EXCH</Option>
                                   <Option  value="MEOR">MEOR</Option>
                                   <Option  value="MERE">MERE</Option>
                                   <Option  value="TRRE">TRRE</Option>
                                   <Option  value="INVE">INVE</Option>
                                   <Option  value="VEND">VEND</Option>
                                   <Option  value="TRAG">TRAG</Option>
                                   <Option  value="BRKR">BRKR</Option>

                            </Select>
                </FormItem>
            </Col>
            
            <Col span={12}>
                <FormItem
                    label="Data Source Scheme"
                    help={errmsg.s2}
                    validateStatus={errmsg.s2 ? 'error' : null}
                >

                    <Input type="text" value={value.s2}  addonBefore="/" onChange={e =>this.onChange(2, e.target.value)} maxLength={8} style={{ imeMode:'disabled'}} placeholder="Data Source Scheme" />
                </FormItem>
            </Col>
            
            <Col style={{"minWidth":'100px'}} span={3}>
                <FormItem
                    label="Type of ID"
                    required={this.props.status=='M' || mval?'required':null}
                    help={errmsg.s3}
                    validateStatus={errmsg.s3?'error':null}
                >
                           <Select  
                           
                           placeholder="Type of ID"
                           showSearch
                           
                           allowClear={true}
                           optionFilterProp="children"
                           notFoundContent="Wrong Code"
                           style={{ width: "100%" }} value={value.s3} onChange={val=>this.onChange(3,val)} >
                                
                                   <Option  value="ARNU">ARNU</Option>
                                   <Option  value="CCPT">CCPT</Option>
                                   <Option  value="CHTY">CHTY</Option>
                                   <Option  value="CORP">CORP</Option>
                                   <Option  value="DRLC">DRLC</Option>
                                   <Option  value="FIIN">FIIN</Option>
                                   <Option  value="TXID">TXID</Option>

                            </Select>
                </FormItem>
            </Col>
            
            <Col style={{"minWidth":'100px'}} span={5}>
                <FormItem
                    label="Country Code"
                    required
                >
                           <Select  placeholder="Country Code"
                            showSearch
                            allowClear={true}
                            optionFilterProp="children"
                            notFoundContent="Wrong Code"
                            size={InputSize}  style={{ width: "100%",zIndex:99 }}  value={value.s4} onChange={(val)=>this.onChange(4,val)}>
                                
                                {
                                    COUNTRY.map(item=><Option key={item.code}  value={item.code}>{item.code+'-'+item.name}</Option>)
                                }
                            </Select>
                </FormItem>
            </Col>

            <Col span={14}>
                <FormItem
                    help={errmsg.s5}
                    validateStatus={errmsg.s5?'error':null}
                    label="Alternate ID"
                     >
                         
                    <Input  addonBefore="/"  maxLength={34} style={{imeMode:'disabled'}} placeholder="Alternate ID" value={value.s5} onChange={(e)=>this.onChange(5,e.target.value)}/>
                    </FormItem>
            </Col>

        </Row>)
    }
}