Radish alpha
r
Radicle terminal user interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
lib: Fix table selection handling on update
Erik Kundt committed 1 year ago
commit 645b961dfb778d96f65792c0eac507e742f2c7eb
parent a16c82f2d782dcb2721351eacc407d0fba635f2b
1 file changed +2 -7
modified src/ui/widget/list.rs
@@ -197,8 +197,6 @@ where
            _ => {}
        }

-
        self.props.selected = self.state.selected();
-

        if let Some(on_event) = self.base.on_event {
            (on_event)(self);
        }
@@ -208,11 +206,8 @@ where
        self.props =
            TableProps::from_callback(self.base.on_update, state).unwrap_or(self.props.clone());

-
        // TODO: Move to state reducer
-
        if let Some(selected) = self.state.selected() {
-
            if selected > self.props.items.len() {
-
                self.begin();
-
            }
+
        if self.props.selected != self.state.selected() {
+
            self.state.select(self.props.selected);
        }
    }