Project

General

Profile

Download (2.34 KB) Statistics
| Branch: | Tag: | Revision:
import React from 'react';
import PropTypes from 'prop-types';

import {
FormGroup,
FormSelectOption,
FormSelect,
} from '@patternfly/react-core';

import LabelIcon from '../../../../../components/common/LabelIcon';
import { translate as __ } from '../../../../../common/I18n';

const Taxonomies = ({
organizationId,
organizations,
handleOrganization,
locationId,
locations,
handleLocation,
isLoading,
}) => (
<>
<FormGroup
label="Organization"
fieldId="reg_organization"
labelIcon={
<LabelIcon
text={__(
'If no organization is set, the default organization of the user is assumed.'
)}
/>
}
>
<FormSelect
ouiaId="reg_organization"
value={organizationId}
onChange={v => handleOrganization(v)}
className="without_select2"
id="reg_organization"
isDisabled={isLoading}
isRequired
>
<FormSelectOption value="" label={__('Not specified')} />
{organizations.map((o, i) => (
<FormSelectOption key={i} value={o.id} label={o.name} />
))}
</FormSelect>
</FormGroup>

<FormGroup
label="Location"
fieldId="reg_location"
labelIcon={
<LabelIcon
text={__(
'If no location is set, the default location of the user is assumed.'
)}
/>
}
>
<FormSelect
ouiaId="reg_location"
value={locationId}
onChange={v => handleLocation(v)}
className="without_select2"
id="reg_location"
isDisabled={isLoading}
isRequired
>
<FormSelectOption value="" label={__('Not specified')} />
{locations.map((l, i) => (
<FormSelectOption key={i} value={l.id} label={l.name} />
))}
</FormSelect>
</FormGroup>
</>
);

Taxonomies.propTypes = {
organizationId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
locations: PropTypes.array,
organizations: PropTypes.array,
handleOrganization: PropTypes.func.isRequired,
locationId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
handleLocation: PropTypes.func.isRequired,
isLoading: PropTypes.bool.isRequired,
};

Taxonomies.defaultProps = {
organizationId: '',
locationId: '',
organizations: [],
locations: [],
};

export default Taxonomies;
(8-8/10)