/*!
 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
import React from 'react';
import i18n from 'nfvo-utils/i18n/i18n.js';
import Input from 'nfvo-components/input/validation/Input.jsx';
import GridSection from 'nfvo-components/grid/GridSection.jsx';
import GridItem from 'nfvo-components/grid/GridItem.jsx';


const GuestOs = ({qgenericFieldInfo, dataMap, onQDataChanged}) => {
	return(
		<div>
			<GridSection title={i18n('Guest OS')} >
				<GridItem colSpan={2}>
					<Input
						data-test-id='guestOS-name'
						label={i18n('Guest OS')}
						type='text'
						onChange={(tools) => onQDataChanged({'compute/guestOS/name' : tools})}
						isValid={qgenericFieldInfo['compute/guestOS/name'].isValid}
						errorText={qgenericFieldInfo['compute/guestOS/name'].errorText}
						value={dataMap['compute/guestOS/name']} />
				</GridItem>
				<GridItem colSpan={2}/>
				<GridItem>
					<div className='vertical-flex'>
						<label key='label' className='control-label'>{i18n('OS Bit Size')}</label>
						<div className='radio-options-content-row'>
							{qgenericFieldInfo['compute/guestOS/bitSize'].enum.map(bitSize => (
							<Input
								data-test-id='guestOS-bitSize'
								type='radio'
								key={bitSize.enum}
								name={'compute/guestOS/bitSize'}
								className='radio-field'
								value={bitSize.enum}
								label={bitSize.title}
								onChange={(bit) => onQDataChanged({'compute/guestOS/bitSize' :  Number(bit)})}
								isValid={qgenericFieldInfo['compute/guestOS/bitSize'].isValid}
								errorText={qgenericFieldInfo['compute/guestOS/bitSize'].errorText}
								checked={dataMap['compute/guestOS/bitSize'] === bitSize.enum} /> )) }
						</div>
					</div>
				</GridItem>
				<GridItem colSpan={2}/>
				<GridItem colSpan={2}>
					<Input
						data-test-id='guestOS-tools'
						type='textarea'
						label={i18n('Guest OS Tools:')}
						onChange={(tools) => onQDataChanged({'compute/guestOS/tools' : tools})}
						isValid={qgenericFieldInfo['compute/guestOS/tools'].isValid}
						errorText={qgenericFieldInfo['compute/guestOS/tools'].errorText}
						value={dataMap['compute/guestOS/tools']} />
				</GridItem>
			</GridSection>


		</div>
	);
};

export default GuestOs;
