Refactor FilmGridItem::update to use Connector::forward
This commit is contained in:
parent
b8cb3b1673
commit
6dc4c4359a
1 changed files with 10 additions and 14 deletions
|
|
@ -184,21 +184,17 @@ impl FactoryComponent for FilmGridItem {
|
||||||
fn update(&mut self, message: FilmGridItemInput, sender: FactorySender<FilmGridItem>) {
|
fn update(&mut self, message: FilmGridItemInput, sender: FactorySender<FilmGridItem>) {
|
||||||
match message {
|
match message {
|
||||||
FilmGridItemInput::ItemClicked => {
|
FilmGridItemInput::ItemClicked => {
|
||||||
let details_controller = FilmDetails::builder()
|
let details_controller = FilmDetails::builder().launch(self.film.clone()).forward(
|
||||||
.launch(self.film.clone())
|
sender.input_sender(),
|
||||||
// TODO: Replace this with Connector::forward.
|
|film_details_output| match film_details_output {
|
||||||
.connect_receiver(clone!(
|
FilmDetailsOutput::WatchedStatusChanged(watched) => {
|
||||||
#[strong]
|
FilmGridItemInput::WatchedStatusChanged(watched)
|
||||||
sender,
|
|
||||||
move |_, details_output| match details_output {
|
|
||||||
FilmDetailsOutput::WatchedStatusChanged(watched) => {
|
|
||||||
sender.input(FilmGridItemInput::WatchedStatusChanged(watched));
|
|
||||||
}
|
|
||||||
FilmDetailsOutput::DownloadedStatusChanged(downloaded) => {
|
|
||||||
sender.input(FilmGridItemInput::DownloadedStatusChanged(downloaded));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
));
|
FilmDetailsOutput::DownloadedStatusChanged(downloaded) => {
|
||||||
|
FilmGridItemInput::DownloadedStatusChanged(downloaded)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
self.details = Some(details_controller);
|
self.details = Some(details_controller);
|
||||||
}
|
}
|
||||||
FilmGridItemInput::DetailsClosed => {
|
FilmGridItemInput::DetailsClosed => {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue