import PropTypes from 'prop-types' import React from 'react' import { Button, DataList, DataListAction, DataListCell, DataListItem, DataListItemCells, DataListItemRow, DescriptionList, DescriptionListDescription, DescriptionListGroup, DescriptionListTerm, EmptyState, EmptyStateBody, EmptyStateIcon, Popover, Title, } from '@patternfly/react-core' import { CubesIcon, InfoIcon, TrashIcon } from '@patternfly/react-icons' import { ProcessingUnit, StorageUnit } from '../../../../shapes' function UnitInfo({ unit, unitType }) { if (unitType === 'cpu' || unitType === 'gpu') { return ( Clock Frequency {unit.clockRateMhz} MHz Number of Cores {unit.numberOfCores} Energy Consumption {unit.energyConsumptionW} W ) } return ( Speed {unit.speedMbPerS} Mb/s Capacity {unit.sizeMb} MB Energy Consumption {unit.energyConsumptionW} W ) } UnitInfo.propTypes = { unitType: PropTypes.string.isRequired, unit: PropTypes.oneOfType([ProcessingUnit, StorageUnit]).isRequired, } function UnitListComponent({ unitType, units, onDelete }) { if (units.length === 0) { return ( No units found You have not configured any units yet. Add some with the menu above! ) } return ( {units.map((unit, index) => ( {unit.name}]} /> } > ))} ) } UnitListComponent.propTypes = { unitType: PropTypes.string.isRequired, units: PropTypes.arrayOf(PropTypes.oneOfType([ProcessingUnit, StorageUnit])).isRequired, onDelete: PropTypes.func, } export default UnitListComponent