Make toggle method accept impl Into<Option<bool>> (#3446)

This PR makes the `toggle` method on the various list components accept
an `impl Into<Option<bool>>` instead of just an `Option<bool>`.

This allows a caller with just a `bool` avoid having to wrap the
`Option` themselves.

Release Notes:

- N/A
This commit is contained in:
Marshall Bowers 2023-11-29 16:13:41 -05:00 committed by GitHub
parent fb377aed73
commit df5de47a78
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 10 additions and 11 deletions

View file

@ -2505,7 +2505,7 @@ impl CollabPanel {
.when_some(button, |el, button| el.right_button(button))
.selected(is_selected)
.when(can_collapse, |el| {
el.toggle(Some(is_collapsed)).on_toggle(
el.toggle(is_collapsed).on_toggle(
cx.listener(move |this, _, cx| this.toggle_section_expanded(section, cx)),
)
});

View file

@ -34,10 +34,9 @@ impl RenderOnce for Disclosure {
fn render(self, _cx: &mut WindowContext) -> Self::Rendered {
IconButton::new(
"toggle",
if self.is_open {
Icon::ChevronDown
} else {
Icon::ChevronRight
match self.is_open {
true => Icon::ChevronDown,
false => Icon::ChevronRight,
},
)
.color(Color::Muted)

View file

@ -44,8 +44,8 @@ impl List {
self
}
pub fn toggle(mut self, toggle: Option<bool>) -> Self {
self.toggle = toggle;
pub fn toggle(mut self, toggle: impl Into<Option<bool>>) -> Self {
self.toggle = toggle.into();
self
}
}

View file

@ -36,8 +36,8 @@ impl ListHeader {
}
}
pub fn toggle(mut self, toggle: Option<bool>) -> Self {
self.toggle = toggle;
pub fn toggle(mut self, toggle: impl Into<Option<bool>>) -> Self {
self.toggle = toggle.into();
self
}

View file

@ -70,8 +70,8 @@ impl ListItem {
self
}
pub fn toggle(mut self, toggle: Option<bool>) -> Self {
self.toggle = toggle;
pub fn toggle(mut self, toggle: impl Into<Option<bool>>) -> Self {
self.toggle = toggle.into();
self
}