Show Action pattern in The Pocket Guide
This commit is contained in:
parent
1cf284a850
commit
9e5afc54ce
1 changed files with 16 additions and 2 deletions
18
src/lib.rs
18
src/lib.rs
|
|
@ -380,16 +380,18 @@
|
||||||
//! # use iced::{Element, Task};
|
//! # use iced::{Element, Task};
|
||||||
//! # pub struct Contacts;
|
//! # pub struct Contacts;
|
||||||
//! # impl Contacts {
|
//! # impl Contacts {
|
||||||
//! # pub fn update(&mut self, message: Message) -> Task<Message> { unimplemented!() }
|
//! # pub fn update(&mut self, message: Message) -> Action { unimplemented!() }
|
||||||
//! # pub fn view(&self) -> Element<Message> { unimplemented!() }
|
//! # pub fn view(&self) -> Element<Message> { unimplemented!() }
|
||||||
//! # }
|
//! # }
|
||||||
//! # #[derive(Debug)]
|
//! # #[derive(Debug)]
|
||||||
//! # pub enum Message {}
|
//! # pub enum Message {}
|
||||||
|
//! # pub enum Action { None, Run(Task<Message>), Chat(()) }
|
||||||
//! # }
|
//! # }
|
||||||
//! # mod conversation {
|
//! # mod conversation {
|
||||||
//! # use iced::{Element, Task};
|
//! # use iced::{Element, Task};
|
||||||
//! # pub struct Conversation;
|
//! # pub struct Conversation;
|
||||||
//! # impl Conversation {
|
//! # impl Conversation {
|
||||||
|
//! # pub fn new(contact: ()) -> (Self, Task<Message>) { unimplemented!() }
|
||||||
//! # pub fn update(&mut self, message: Message) -> Task<Message> { unimplemented!() }
|
//! # pub fn update(&mut self, message: Message) -> Task<Message> { unimplemented!() }
|
||||||
//! # pub fn view(&self) -> Element<Message> { unimplemented!() }
|
//! # pub fn view(&self) -> Element<Message> { unimplemented!() }
|
||||||
//! # }
|
//! # }
|
||||||
|
|
@ -419,7 +421,19 @@
|
||||||
//! match message {
|
//! match message {
|
||||||
//! Message::Contacts(message) => {
|
//! Message::Contacts(message) => {
|
||||||
//! if let Screen::Contacts(contacts) = &mut state.screen {
|
//! if let Screen::Contacts(contacts) = &mut state.screen {
|
||||||
//! contacts.update(message).map(Message::Contacts)
|
//! let action = contacts.update(message);
|
||||||
|
//!
|
||||||
|
//! match action {
|
||||||
|
//! contacts::Action::None => Task::none(),
|
||||||
|
//! contacts::Action::Run(task) => task.map(Message::Contacts),
|
||||||
|
//! contacts::Action::Chat(contact) => {
|
||||||
|
//! let (conversation, task) = Conversation::new(contact);
|
||||||
|
//!
|
||||||
|
//! state.screen = Screen::Conversation(conversation);
|
||||||
|
//!
|
||||||
|
//! task.map(Message::Conversation)
|
||||||
|
//! }
|
||||||
|
//! }
|
||||||
//! } else {
|
//! } else {
|
||||||
//! Task::none()
|
//! Task::none()
|
||||||
//! }
|
//! }
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue