From efa037d34be7b1570efdc767c79fad8d4005f10e Mon Sep 17 00:00:00 2001
From: Michael Lando <ml636r@att.com>
Date: Sun, 19 Feb 2017 12:57:33 +0200
Subject: Add new code new version

Change-Id: Ic02a76313503b526f17c3df29eb387a29fe6a42a
Signed-off-by: Michael Lando <ml636r@att.com>
---
 .../SoftwareProductComponentComputeView.jsx        | 129 +++++++++++++++++++++
 1 file changed, 129 insertions(+)
 create mode 100644 openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/compute/SoftwareProductComponentComputeView.jsx

(limited to 'openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/compute/SoftwareProductComponentComputeView.jsx')

diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/compute/SoftwareProductComponentComputeView.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/compute/SoftwareProductComponentComputeView.jsx
new file mode 100644
index 0000000000..3bad147117
--- /dev/null
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/compute/SoftwareProductComponentComputeView.jsx
@@ -0,0 +1,129 @@
+import React from 'react';
+import i18n from 'nfvo-utils/i18n/i18n.js';
+import ValidationForm from 'nfvo-components/input/validation/ValidationForm.jsx';
+import ValidationInput from'nfvo-components/input/validation/ValidationInput.jsx';
+
+
+class SoftwareProductComponentComputeView extends React.Component {
+
+	static propTypes = {
+		qdata: React.PropTypes.object,
+		qschema: React.PropTypes.object,
+		isReadOnlyMode: React.PropTypes.bool,
+		minNumberOfVMsSelectedByUser: React.PropTypes.number,
+		onQDataChanged: React.PropTypes.func.isRequired,
+		onSubmit: React.PropTypes.func.isRequired
+	};
+
+	render() {
+		let {qdata, qschema, isReadOnlyMode, minNumberOfVMsSelectedByUser, onQDataChanged, onSubmit} = this.props;
+
+		return (
+			<div className='vsp-component-questionnaire-view'>
+				<ValidationForm
+					ref='computeValidationForm'
+					hasButtons={false}
+					onSubmit={() => onSubmit({qdata})}
+					className='component-questionnaire-validation-form'
+					isReadOnlyMode={isReadOnlyMode}
+					onDataChanged={onQDataChanged}
+					data={qdata}
+					schema={qschema}>
+
+					<div className='section-title'>{i18n('VM Sizing')}</div>
+					<div className='rows-section'>
+						<div className='row-flex-components input-row'>
+							<div className='single-col'>
+								<ValidationInput
+									type='text'
+									label={i18n('Number of CPUs')}
+									pointer={'/compute/vmSizing/numOfCPUs'}/>
+							</div>
+							<div className='single-col'>
+								<ValidationInput
+									type='text'
+									label={i18n('File System Size (GB)')}
+									pointer={'/compute/vmSizing/fileSystemSizeGB'}/>
+							</div>
+							<div className='single-col'>
+								<ValidationInput
+									type='text'
+									label={i18n('Persistent Storage/Volume Size (GB)')}
+									pointer={'/compute/vmSizing/persistentStorageVolumeSize'}/>
+							</div>
+							<ValidationInput
+								type='text'
+								label={i18n('I/O Operations (per second)')}
+								pointer={'/compute/vmSizing/IOOperationsPerSec'}/>
+						</div>
+					</div>
+					<div className='section-title'>{i18n('Number of VMs')}</div>
+					<div className='rows-section'>
+						<div className='row-flex-components input-row'>
+							<div className='single-col'>
+								<ValidationInput
+									type='text'
+									label={i18n('Minimum')}
+									pointer={'/compute/numOfVMs/minimum'}/>
+							</div>
+							<div className='single-col'>
+								<ValidationInput
+									type='text'
+									label={i18n('Maximum')}
+									pointer={'/compute/numOfVMs/maximum'}
+									validations={{minValue: minNumberOfVMsSelectedByUser}}/>
+							</div>
+							<div className='single-col'>
+								<ValidationInput
+									type='select'
+									label={i18n('CPU Oversubscription Ratio')}
+									pointer={'/compute/numOfVMs/CpuOverSubscriptionRatio'}/>
+							</div>
+							<ValidationInput
+								type='select'
+								label={i18n('Memory - RAM')}
+								pointer={'/compute/numOfVMs/MemoryRAM'}/>
+						</div>
+					</div>
+
+					<div className='section-title'>{i18n('Guest OS')}</div>
+					<div className='rows-section'>
+						<div className='section-field row-flex-components input-row'>
+							<div className='two-col'>
+								<ValidationInput
+									label={i18n('Guest OS')}
+									type='text'
+									pointer={'/compute/guestOS/name'}/>
+							</div>
+							<div className='empty-two-col'/>
+						</div>
+						<div className='vertical-flex input-row'>
+							<label key='label' className='control-label'>{i18n('OS Bit Size')}</label>
+							<div className='radio-options-content-row input-row'>
+								<ValidationInput
+									type='radiogroup'
+									pointer={'/compute/guestOS/bitSize'}
+									className='radio-field'/>
+							</div>
+						</div>
+						<div className='section-field row-flex-components input-row'>
+							<div className='two-col'>
+								<ValidationInput
+									type='textarea'
+									label={i18n('Guest OS Tools:')}
+									pointer={'/compute/guestOS/tools'}/>
+							</div>
+							<div className='empty-two-col'/>
+						</div>
+					</div>
+				</ValidationForm>
+			</div>
+		);
+	}
+
+	save(){
+		return this.refs.computeValidationForm.handleFormSubmit(new Event('dummy'));
+	}
+}
+
+export default SoftwareProductComponentComputeView;
-- 
cgit 1.2.3-korg

