schema.Table: Support property edit_columns

Support property edit_columns, intended to populate forms where rows
are created or edited, defaulting to log_columns.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2025-02-19 17:29:09 +01:00
commit 5b71c081f4

View file

@ -32,6 +32,7 @@ class Table(abc.ABC): # export
self.__null_insertible_columns: Optional[Iterable[str]] = None self.__null_insertible_columns: Optional[Iterable[str]] = None
self.__not_null_insertible_columns: Optional[Iterable[str]] = None self.__not_null_insertible_columns: Optional[Iterable[str]] = None
self.__log_columns: Optional[Iterable[str]] = None self.__log_columns: Optional[Iterable[str]] = None
self.__edit_columns: Optional[Iterable[str]] = None
self.__translate_columns: Optional[Iterable[str]] = None self.__translate_columns: Optional[Iterable[str]] = None
self.__display_columns: Optional[Iterable[str]] = None self.__display_columns: Optional[Iterable[str]] = None
self.__default_sort_columns: Optional[Iterable[str]] = None self.__default_sort_columns: Optional[Iterable[str]] = None
@ -128,6 +129,9 @@ class Table(abc.ABC): # export
def _log_columns(self) -> Iterable[str]: def _log_columns(self) -> Iterable[str]:
pass pass
def _edit_columns(self) -> Iterable[str]:
return self._log_columns()
@abc.abstractmethod @abc.abstractmethod
def _display_columns(self) -> Iterable[str]: def _display_columns(self) -> Iterable[str]:
return None return None
@ -338,6 +342,12 @@ class Table(abc.ABC): # export
self.__log_columns = self._log_columns() self.__log_columns = self._log_columns()
return self.__log_columns return self.__log_columns
@property
def edit_columns(self):
if self.__edit_columns is None:
self.__edit_columns = self._edit_columns()
return self.__edit_columns
@property @property
def display_columns(self): def display_columns(self):
if self.__display_columns is None: if self.__display_columns is None: