in below/view/src/core_tabs.rs [158:199]
fn get_rows(&self, state: &CoreState, offset: Option<usize>) -> Vec<(StyledString, String)> {
state
.get_model()
.disks
.iter()
.filter_map(|(dn, sdm)| {
// We use the partition parent id to check if it exists in collapsed_disk set.
let idx_major = format!("{}.0", sdm.major.unwrap_or(0));
let idx = format!("{}.{}", sdm.major.unwrap_or(0), sdm.minor.unwrap_or(0));
let collapse = state.collapsed_disk.contains(&idx_major) && sdm.minor != Some(0);
if state
.filter
.as_ref()
.map_or(!collapse, |f| dn.starts_with(f))
{
Some((
std::iter::once(SingleDiskModelFieldId::Name)
.chain(
SingleDiskModelFieldId::unit_variant_iter()
.skip(offset.unwrap_or(0) + 1),
)
.fold(StyledString::new(), |mut line, field_id| {
let view_item = ViewItem::from_default(field_id.clone());
let rendered = if field_id == SingleDiskModelFieldId::Name {
view_item
.update(Rc::new().indented_prefix(get_prefix(collapse)))
.render_indented(sdm)
} else {
view_item.render(sdm)
};
line.append(rendered);
line.append_plain(" ");
line
}),
idx,
))
} else {
None
}
})
.collect()
}