Rename SortOrder to Order in cached example
This commit is contained in:
parent
1cdc1fcd06
commit
6efda2457e
1 changed files with 15 additions and 20 deletions
|
|
@ -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,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue