in frontend/src/pages/Configure/Components.js [39:71]
function SubnetSelect({value, onChange, disabled}) {
const subnets = useSelector(selectAwsSubnets);
const vpc = useSelector(selectVpc);
var filteredSubnets = subnets && subnets.filter((s) => { return (vpc ? s.VpcId === vpc : true)})
if(!subnets) {return <div>No Subnets Found.</div>}
const SubnetName = (subnet) => {
if(!subnet)
return null;
var tags = subnet.Tags;
if(!tags) {
return null;
}
tags = subnet.Tags.filter((t) => {return t.Key === "Name"})
return (tags.length > 0) ? tags[0].Value : null
}
const itemToOption = item => {
console.log(item);
return {value: item.SubnetId, label: item.SubnetId,
description: item.AvailabilityZone + ` - ${item.AvailabilityZoneId}` + (SubnetName(item) ? ` (${SubnetName(item)})` : "")
}}
return (
<Select
disabled={disabled}
selectedOption={findFirst(filteredSubnets, x => {return x.SubnetId === value}) ? itemToOption(findFirst(filteredSubnets, x => {return x.SubnetId === value})) : {label: "Please Select A Subnet"}}
onChange={({detail}) => {onChange && onChange(detail.selectedOption.value)}}
selectedAriaLabel="Selected"
options={filteredSubnets.map(itemToOption)}
/>
);
}