Refactoring DataGrid to use DataService.py

This commit is contained in:
2026-03-02 22:34:14 +01:00
parent 0a766581ed
commit 30a77d1171
12 changed files with 1349 additions and 656 deletions

View File

@@ -82,6 +82,7 @@ class DataService(MultipleInstance):
super().__init__(parent, _id=_id)
self._state = DataServiceState(self, save_state=save_state)
self._store = DataStore(self, save_state=save_state)
self._init_store()
@property
def columns(self) -> list[ColumnDefinition]:
@@ -128,12 +129,7 @@ class DataService(MultipleInstance):
self._state.columns = self._build_column_definitions(df)
self._state.save()
self._store.ns_fast_access = self._build_fast_access(df)
self._store.ns_row_data = df.to_dict(orient="records")
self._store.ns_total_rows = len(df)
self._store.save()
self._register_existing_formulas()
self._init_store()
# ------------------------------------------------------------------
# Mutations
@@ -302,6 +298,16 @@ class DataService(MultipleInstance):
# Private helpers
# ------------------------------------------------------------------
def _init_store(self):
df = self._store.ne_df
if df is None:
return
self._store.ns_fast_access = self._build_fast_access(df)
self._store.ns_row_data = df.to_dict(orient="records")
self._store.ns_total_rows = len(df)
self._store.save()
self._register_existing_formulas()
def _build_column_definitions(self, df: pd.DataFrame) -> list[ColumnDefinition]:
"""Build ColumnDefinition objects from DataFrame columns.