Loading poolpay/admin/PersonsTable.py +15 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,9 @@ from decimal import Decimal from babel.numbers import NumberFormatError, format_currency, parse_decimal from rich.text import Text from textual.reactive import reactive from textual.widgets import DataTable from textual.widgets.data_table import ColumnKey from poolpay.model.Person import Person Loading @@ -27,6 +29,9 @@ def to_row(p: Person) -> tuple[str, str, Text, str]: class PersonsTable(DataTable): sort_key: reactive[ColumnKey | None] = reactive(None) sort_reversed: reactive[bool] = reactive(False) def on_mount(self) -> None: self.add_columns("Name", "CL-Account", "Kontostand", "Karten-ID") self.add_all_persons() Loading @@ -44,4 +49,13 @@ class PersonsTable(DataTable): except NumberFormatError: return str_value self.sort(event.column_key, key=convert_to_decimal_if_numeric) if self.sort_key == event.column_key: self.sort_reversed = not self.sort_reversed else: self.sort_reversed = False self.sort_key = event.column_key self.sort( self.sort_key, key=convert_to_decimal_if_numeric, reverse=self.sort_reversed ) Loading
poolpay/admin/PersonsTable.py +15 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,9 @@ from decimal import Decimal from babel.numbers import NumberFormatError, format_currency, parse_decimal from rich.text import Text from textual.reactive import reactive from textual.widgets import DataTable from textual.widgets.data_table import ColumnKey from poolpay.model.Person import Person Loading @@ -27,6 +29,9 @@ def to_row(p: Person) -> tuple[str, str, Text, str]: class PersonsTable(DataTable): sort_key: reactive[ColumnKey | None] = reactive(None) sort_reversed: reactive[bool] = reactive(False) def on_mount(self) -> None: self.add_columns("Name", "CL-Account", "Kontostand", "Karten-ID") self.add_all_persons() Loading @@ -44,4 +49,13 @@ class PersonsTable(DataTable): except NumberFormatError: return str_value self.sort(event.column_key, key=convert_to_decimal_if_numeric) if self.sort_key == event.column_key: self.sort_reversed = not self.sort_reversed else: self.sort_reversed = False self.sort_key = event.column_key self.sort( self.sort_key, key=convert_to_decimal_if_numeric, reverse=self.sort_reversed )