check if make sence to do any changes before execution of the action

This commit is contained in:
iLLiCiTiT 2021-05-01 15:16:54 +02:00
parent db1cb01580
commit bfc07c8ba6
3 changed files with 17 additions and 14 deletions

View file

@ -519,6 +519,9 @@ class DictMutableKeysEntity(EndpointEntity):
self.had_project_override = value is not NOT_SET
def _discard_changes(self, on_change_trigger):
if not self.can_discard_changes:
return
self.set_override_state(self._override_state)
on_change_trigger.append(self.on_change)
@ -527,6 +530,9 @@ class DictMutableKeysEntity(EndpointEntity):
self.on_change()
def _remove_from_studio_default(self, on_change_trigger):
if not self.can_remove_from_studio_default:
return
value = self._default_value
if value is NOT_SET:
value = self.value_on_not_set
@ -555,10 +561,7 @@ class DictMutableKeysEntity(EndpointEntity):
self.on_change()
def _remove_from_project_override(self, on_change_trigger):
if self._override_state is not OverrideState.PROJECT:
return
if not self.has_project_override:
if not self.can_remove_from_project_override:
return
if self._has_studio_override:

View file

@ -251,6 +251,9 @@ class InputEntity(EndpointEntity):
self._current_value = copy.deepcopy(value)
def _discard_changes(self, on_change_trigger=None):
if not self.can_discard_changes:
return
self._value_is_modified = False
if self._override_state >= OverrideState.PROJECT:
self._has_project_override = self.had_project_override
@ -286,6 +289,9 @@ class InputEntity(EndpointEntity):
self.on_change()
def _remove_from_studio_default(self, on_change_trigger):
if not self.can_remove_from_studio_default:
return
value = self._default_value
if value is NOT_SET:
value = self.value_on_not_set
@ -301,10 +307,7 @@ class InputEntity(EndpointEntity):
self.on_change()
def _remove_from_project_override(self, on_change_trigger):
if self._override_state is not OverrideState.PROJECT:
return
if not self._has_project_override:
if not self.can_remove_from_project_override:
return
self._has_project_override = False

View file

@ -343,7 +343,7 @@ class ListEntity(EndpointEntity):
return output
def _discard_changes(self, on_change_trigger):
if self._override_state is OverrideState.NOT_DEFINED:
if not self.can_discard_changes:
return
not_set = object()
@ -405,7 +405,7 @@ class ListEntity(EndpointEntity):
self.on_change()
def _remove_from_studio_default(self, on_change_trigger):
if self._override_state is not OverrideState.STUDIO:
if not self.can_remove_from_studio_default:
return
value = self._default_value
@ -433,10 +433,7 @@ class ListEntity(EndpointEntity):
self.on_change()
def _remove_from_project_override(self, on_change_trigger):
if self._override_state is not OverrideState.PROJECT:
return
if not self.has_project_override:
if not self.can_remove_from_project_override:
return
if self._has_studio_override: