remove steps table wip editor modify ok
This commit is contained in:
parent
fd632bee8e
commit
9bf55ee87f
|
|
@ -75,7 +75,7 @@ class Cell:
|
|||
self.render(data, *args, **kwargs)
|
||||
if not self.connected_modified:
|
||||
# only connect after first render
|
||||
# to avoid false modified signals trigghered by autocomplete
|
||||
# to avoid false modified signals triggered by autocomplete
|
||||
self.connect_modified()
|
||||
self.connected_modified = True
|
||||
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ from ui.instruction_step_editor import Instruction_Step_Editor
|
|||
class Recipe_Spec_And_Step_Editor(Editor):
|
||||
def __init__(self, action=None, cell_widget=None, unsupported_steps=None):
|
||||
super().__init__(action=action, cell_widget=cell_widget)
|
||||
self.crud = None
|
||||
self.steps_map = {
|
||||
"count": {
|
||||
"type": "count",
|
||||
|
|
@ -125,15 +126,17 @@ class Recipe_Spec_And_Step_Editor(Editor):
|
|||
|
||||
def render(self, data, field_name=None, row_number=None, crud=None):
|
||||
super().render(data, field_name=field_name, row_number=row_number, crud=crud)
|
||||
self.crud=crud
|
||||
for step_name,step_def in self.steps_map.items():
|
||||
if not step_def.get("hidden", False):
|
||||
step_def["enable"].setChecked(data.get(step_name,{}) in (True,1,"x") )
|
||||
self.steps_map[step_name]["spec"]=data["steps"].get(step_name,{})
|
||||
self.render_steps()
|
||||
|
||||
def parse(self, action=None, row_number=None, crud=None):
|
||||
ret = super().parse(row_number=row_number, crud=crud)
|
||||
ret["steps"] = {}
|
||||
self.save_steps()
|
||||
#self.save_steps()
|
||||
for step_name, step_map in self.steps_map.items():
|
||||
if not step_map.get("hidden", False):
|
||||
ret["steps"][step_name]=self.steps_map[step_name]["spec"]
|
||||
|
|
@ -141,23 +144,25 @@ class Recipe_Spec_And_Step_Editor(Editor):
|
|||
|
||||
def render_steps(self):
|
||||
for step_name, step_map in self.steps_map.items():
|
||||
step = step_map.get("step", None)
|
||||
if step is not None:
|
||||
spec = step_map.get("spec", None)
|
||||
if spec is not None:
|
||||
editor = step_map.get("editor", None)
|
||||
if editor is not None:
|
||||
editor.render(step.spec)
|
||||
editor.render(spec)
|
||||
|
||||
def reset_steps(self):
|
||||
self.render_steps()
|
||||
|
||||
def save_steps(self):
|
||||
for step_name,step_map in self.steps_map.items():
|
||||
step = step_map.get("step", None)
|
||||
if step is None:
|
||||
if not step_map.get("hidden", False):
|
||||
editor = step_map.get("editor", None)
|
||||
if editor is not None:
|
||||
step_dict = editor.parse()
|
||||
self.steps_map[step_name]["spec"]=step_dict
|
||||
else:
|
||||
self.steps_map[step_name]["spec"] = {}
|
||||
self.crud().set_modified()
|
||||
parsed_value=self.parse()
|
||||
self.cell_widget().value = parsed_value
|
||||
self.reset_steps()
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user