Verified Commit 7af38d06 authored by Jakob Moser's avatar Jakob Moser
Browse files

Make .selected a property of the PersonsTable

parent 5871f630
Loading
Loading
Loading
Loading
+9 −0
Changes for poolpay/admin/PersonsTable.py: 9 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -45,6 +45,15 @@ class PersonsTable(DataTable):
    sort_key: reactive[ColumnKey | None] = reactive(None)
    sort_reversed: reactive[bool] = reactive(False)

    @property
    def selected(self) -> Person:
        row_key, _ = self.coordinate_to_cell_key(self.cursor_coordinate)
        assert row_key.value is not None, "Rows in PersonsTable have row keys"

        person = Person.get_only(row_key.value)
        assert person is not None, "Row key referenced an existing person"
        return person

    def on_mount(self) -> None:
        self.add_columns(
            ("Name", PersonsTableColumn.name.value),
+3 −3
Changes for poolpay/admin/PoolPayAdminApp.py: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -48,13 +48,13 @@ class PoolPayAdminApp(App):
            self._open_person_dialog(event.person)

    def action_change_person(self) -> None:
        self._open_person_dialog(self._selected_person)
        self._open_person_dialog(self.query_one(PersonsTable).selected)

    def action_change_balance(self) -> None:
        self._open_balance_dialog(self._selected_person)
        self._open_balance_dialog(self.query_one(PersonsTable).selected)

    def action_delete_person(self) -> None:
        self._open_delete_dialog(self._selected_person)
        self._open_delete_dialog(self.query_one(PersonsTable).selected)

    def action_reload(self) -> None:
        table = self.query_one(PersonsTable)