diff options
Diffstat (limited to 'examples/system_information/src/main.rs')
-rw-r--r-- | examples/system_information/src/main.rs | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/examples/system_information/src/main.rs b/examples/system_information/src/main.rs index 46176d93..afa657d8 100644 --- a/examples/system_information/src/main.rs +++ b/examples/system_information/src/main.rs @@ -29,23 +29,27 @@ enum Message { impl Example { fn new() -> (Self, Task<Message>) { - (Self::Loading, Task::done(Message::Refresh)) + ( + Self::Loading, + system::fetch_information().map(Message::InformationReceived), + ) } - + fn update(&mut self, message: Message) -> Task<Message> { match message { Message::Refresh => { - *self = Self::Loading; + let (state, refresh) = Self::new(); + + *self = state; - return system::fetch_information() - .map(Message::InformationReceived); + refresh } Message::InformationReceived(information) => { *self = Self::Loaded { information }; + + Task::none() } } - - Task::none() } fn view(&self) -> Element<Message> { |