in frontend/src/old-pages/Configure/Components.tsx [85:129]
function SubnetSelect({value, onChange, disabled}: any) {
const subnets = useSelector(selectAwsSubnets)
const vpc = useSelector(selectVpc)
var filteredSubnets =
subnets &&
subnets.filter((s: any) => {
return vpc ? s.VpcId === vpc : true
})
if (!subnets) {
return <div>No Subnets Found.</div>
}
const itemToOption = (item: any) => {
return {
value: item.SubnetId,
label: item.SubnetId,
description:
item.AvailabilityZone +
` - ${item.AvailabilityZoneId}` +
(subnetName(item) ? ` (${subnetName(item)})` : ''),
}
}
return (
<Select
disabled={disabled}
selectedOption={
findFirst(filteredSubnets, (x: any) => {
return x.SubnetId === value
})
? itemToOption(
findFirst(filteredSubnets, (x: any) => {
return x.SubnetId === value
}),
)
: {label: 'Please Select A Subnet'}
}
onChange={({detail}) => {
onChange && onChange(detail.selectedOption.value)
}}
selectedAriaLabel="Selected"
options={filteredSubnets.map(itemToOption)}
/>
)
}