Rename SortOrder to Order in cached example

This commit is contained in:
Héctor Ramón Jiménez 2022-11-03 02:47:43 +01:00
parent 1cdc1fcd06
commit 6efda2457e
No known key found for this signature in database
GPG key ID: 140CC052C94F138E

View file

@ -14,7 +14,7 @@ pub fn main() -> iced::Result {
struct App { struct App {
options: HashSet<String>, options: HashSet<String>,
input: String, input: String,
sort_order: SortOrder, order: Order,
} }
impl Default for App { impl Default for App {
@ -25,7 +25,7 @@ impl Default for App {
.map(ToString::to_string) .map(ToString::to_string)
.collect(), .collect(),
input: Default::default(), input: Default::default(),
sort_order: SortOrder::Ascending, order: Order::Ascending,
} }
} }
} }
@ -33,7 +33,7 @@ impl Default for App {
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
enum Message { enum Message {
InputChanged(String), InputChanged(String),
ToggleSortOrder, ToggleOrder,
DeleteOption(String), DeleteOption(String),
AddOption(String), AddOption(String),
} }
@ -54,10 +54,10 @@ impl Sandbox for App {
Message::InputChanged(input) => { Message::InputChanged(input) => {
self.input = input; self.input = input;
} }
Message::ToggleSortOrder => { Message::ToggleOrder => {
self.sort_order = match self.sort_order { self.order = match self.order {
SortOrder::Ascending => SortOrder::Descending, Order::Ascending => Order::Descending,
SortOrder::Descending => SortOrder::Ascending, Order::Descending => Order::Ascending,
} }
} }
Message::AddOption(option) => { Message::AddOption(option) => {
@ -71,14 +71,12 @@ impl Sandbox for App {
} }
fn view(&self) -> Element<Message> { fn view(&self) -> Element<Message> {
let options = lazy((&self.sort_order, self.options.len()), || { let options = lazy((&self.order, self.options.len()), || {
let mut options: Vec<_> = self.options.iter().collect(); let mut options: Vec<_> = self.options.iter().collect();
options.sort_by(|a, b| match self.sort_order { options.sort_by(|a, b| match self.order {
SortOrder::Ascending => a.to_lowercase().cmp(&b.to_lowercase()), Order::Ascending => a.to_lowercase().cmp(&b.to_lowercase()),
SortOrder::Descending => { Order::Descending => b.to_lowercase().cmp(&a.to_lowercase()),
b.to_lowercase().cmp(&a.to_lowercase())
}
}); });
column( column(
@ -110,11 +108,8 @@ impl Sandbox for App {
Message::InputChanged, Message::InputChanged,
) )
.on_submit(Message::AddOption(self.input.clone())), .on_submit(Message::AddOption(self.input.clone())),
button(text(format!( button(text(format!("Toggle Order ({})", self.order)))
"Toggle Sort Order ({})", .on_press(Message::ToggleOrder)
self.sort_order
)))
.on_press(Message::ToggleSortOrder)
] ]
.spacing(10) .spacing(10)
] ]
@ -125,12 +120,12 @@ impl Sandbox for App {
} }
#[derive(Debug, Hash)] #[derive(Debug, Hash)]
enum SortOrder { enum Order {
Ascending, Ascending,
Descending, Descending,
} }
impl std::fmt::Display for SortOrder { impl std::fmt::Display for Order {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!( write!(
f, f,