From 9e0d74fc2705ea22aaf27701634d4aa923a504ee Mon Sep 17 00:00:00 2001 From: stu Date: Tue, 3 Oct 2023 15:09:36 +0800 Subject: [PATCH] improve support --- client_code/Tabulator/__init__.py | 13 ------------- client_code/Tabulator/_helpers.py | 13 +++++++++++-- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/client_code/Tabulator/__init__.py b/client_code/Tabulator/__init__.py index b0fbb78..9597c83 100644 --- a/client_code/Tabulator/__init__.py +++ b/client_code/Tabulator/__init__.py @@ -296,19 +296,6 @@ def get_page(self): def set_page(self, page): """set the current page""" - def _anvil_set_property_values_(self, updates): - re_init = False - for attr, value in updates.items(): - if attr in self._options: - self._options[attr] = value - re_init = True - else: - setattr(self, attr, value) - - if re_init and self._t: - self._t.destroy() - self._initialize() - for method in _methods: delattr(Tabulator, method) diff --git a/client_code/Tabulator/_helpers.py b/client_code/Tabulator/_helpers.py index ec46b9a..8404e39 100644 --- a/client_code/Tabulator/_helpers.py +++ b/client_code/Tabulator/_helpers.py @@ -6,6 +6,11 @@ import anvil.js from anvil.js.window import Function, Promise, RegExp, String, document, window +try: + from anvil.designer import in_designer +except ImportError: + in_designer = False + from ._js_tabulator import TabulatorModule _RE_SNAKE = RegExp("_[a-z]", "g") @@ -61,9 +66,13 @@ def option_setter(self, value): self._options[key] = value if self._t is None: return - elif setMethod is not None: + if setMethod is not None: return self._t[setMethod](value) - elif _warnings.get("post_init") is not None: + if in_designer: + self._t.destroy() + self._initialize() + return + if _warnings.get("post_init") is not None: return _warnings["post_init"] = True msg = f"Warning: changing the option {key!r} after the table has been built has no effect"