in packages/@aws-c2a/web-app/src/AggregationsView/ChangeTree/index.tsx [30:80]
export default function ChangeTree(): JSX.Element {
const classes = useStyles();
const [expanded, setExpanded] = useState(0);
const { changeReport } = useContext(AppContext);
const aggsPerRisk = groupArrayBy(changeReport.aggregations, (agg) => agg.characteristics.RISK);
return (
<Paper elevation={3} className={classes.root} id="aggs-tree-container">
<CollapsableRow
icon={<ErrorIcon/>}
expanded={expanded === 0}
stretchOnExpand
onChange={(e, expand) => expand ? setExpanded(0) : setExpanded(-1)}
title="High Risk Changes"
content={
<List disablePadding style={{width: '100%'}}>{
renderAggs((aggsPerRisk.get(RuleRisk.High) ?? [{}])[0].subAggs ?? [])
}</List>
}
color="#EA9B9A"
/>
<CollapsableRow
icon={<WarningIcon/>}
expanded={expanded === 1}
stretchOnExpand
onChange={(e, expand) => expand ? setExpanded(1) : setExpanded(-1)}
title="Unclassified Risk Changes"
content={
<List disablePadding style={{width: '100%'}}>{
renderAggs((aggsPerRisk.get(RuleRisk.Unknown) ?? [{}])[0].subAggs ?? [])
}</List>
}
color="#F5E48E"
/>
<CollapsableRow
icon={<InfoIcon/>}
expanded={expanded === 2}
stretchOnExpand
onChange={(e, expand) => expand ? setExpanded(2) : setExpanded(-1)}
title="Low Risk Changes"
content={
<List disablePadding style={{width: '100%'}}>{
renderAggs((aggsPerRisk.get(RuleRisk.Low) ?? [{}])[0].subAggs ?? [])
}</List>
}
color="#C1DEEC"
/>
</Paper>
);
}