Project

General

Profile

Download (2.01 KB) Statistics
| Branch: | Tag: | Revision:
/* eslint-disable camelcase */
import React from 'react';
import { Button } from 'patternfly-react';
import Select from '../../../../../common/forms/Select';
import Checkbox from '../../../../../common/forms/Checkbox';
import NumericInput from '../../../../../common/forms/NumericInput';

import './disk.scss';

const Disk = ({
removeDisk,
updateDisk,
name,
config: {
datastores, storagePods, diskModeTypes, vmExists,
},
storagePod,
datastore,
sizeGb,
thin,
eagerzero,
mode,
}) => (
<div className="disk-container">
<div className="form-group">
<label className="col-md-2 control-label">
{__('Disk name')}
</label>
<div className="col-md-4">
{name}
</div>
<div className="col-md-2">
{!vmExists &&
<Button className="close" onClick={removeDisk}>
<span aria-hidden="true">×</span>
</Button>}
</div>
</div>
{!datastore &&
<Select
label={__('Storage Pod')}
value={storagePod}
disabled={vmExists}
onChange={updateDisk.bind(this, 'storagePod')}
options={storagePods}
/>}
{!storagePod &&
<Select
disabled={vmExists}
label={__('Data store')}
value={datastore}
onChange={updateDisk.bind(this, 'datastore')}
options={datastores}
/>}

<Select
label={__('Disk Mode')}
value={mode}
disabled={vmExists}
onChange={updateDisk.bind(this, 'mode')}
options={diskModeTypes}
/>

<NumericInput
value={sizeGb}
minValue={1}
format={v => `${v} GB`}
className="text-vmware-size"
onChange={updateDisk.bind(this, 'sizeGb')}
label={__('Size (GB)')}
/>

<Checkbox
label={__('Thin provision')}
checked={thin}
disabled={vmExists}
onChange={updateDisk.bind(this, 'thin')}
/>

<Checkbox
label={__('Eager zero')}
checked={eagerzero}
disabled={vmExists}
onChange={updateDisk.bind(this, 'eagerzero')}
/>
</div>
);

export default Disk;
(4-4/4)