浏览代码

Merge pull request #2247 from Avaiga/refactor/expand-set-entityownner-of-Properties

Refactor - Split the `_set_entity_owner()` on the `_Properties` to make it overridable
Đỗ Trường Giang 6 月之前
父节点
当前提交
eaa65b66b2
共有 1 个文件被更改,包括 7 次插入6 次删除
  1. 7 6
      taipy/core/_entity/_properties.py

+ 7 - 6
taipy/core/_entity/_properties.py

@@ -29,8 +29,6 @@ class _Properties(UserDict):
         super(_Properties, self).__setitem__(key, value)
 
         if hasattr(self, "_entity_owner"):
-            from ... import core as tp
-
             event = _make_event(
                 self._entity_owner,
                 EventOperation.UPDATE,
@@ -38,7 +36,7 @@ class _Properties(UserDict):
                 attribute_value=value,
             )
             if not self._entity_owner._is_in_context:
-                tp.set(self._entity_owner)
+                self._set_entity_owner(self._entity_owner)
                 Notifier.publish(event)
             else:
                 if key in self._pending_deletions:
@@ -53,8 +51,6 @@ class _Properties(UserDict):
         super(_Properties, self).__delitem__(key)
 
         if hasattr(self, "_entity_owner"):
-            from ... import core as tp
-
             event = _make_event(
                 self._entity_owner,
                 EventOperation.UPDATE,
@@ -62,9 +58,14 @@ class _Properties(UserDict):
                 attribute_value=None,
             )
             if not self._entity_owner._is_in_context:
-                tp.set(self._entity_owner)
+                self._set_entity_owner(self._entity_owner)
                 Notifier.publish(event)
             else:
                 self._pending_changes.pop(key, None)
                 self._pending_deletions.add(key)
                 self._entity_owner._in_context_attributes_changed_collector.append(event)
+
+    def _set_entity_owner(self, entity_owner):
+        from ... import core as tp
+
+        tp.set(entity_owner)