definitionList UI support
This commit is contained in:
@@ -26,6 +26,11 @@ def double_list_getter(firstParameter, secondParameter, allowEmptyField = False)
|
||||
|
||||
return result
|
||||
|
||||
def definitions_getter():
|
||||
result = {}
|
||||
result["indicator"] = document.getElementById("indicator-input").value
|
||||
result["explanation"] = document.getElementById("explanation-input").value
|
||||
return result
|
||||
|
||||
def label_list_getter():
|
||||
result = []
|
||||
|
||||
@@ -16,6 +16,7 @@ class ShowSenseLabelEdit(ClickMessage):
|
||||
class ShowSenseDefinitionEdit(ClickMessage):
|
||||
def update_model(self, model):
|
||||
model.sense = self.get_arg(0, Sense)
|
||||
model.sense.make_copy()
|
||||
model.modal_set(lambda: modals.edit_sense_definition(model.sense))
|
||||
|
||||
|
||||
|
||||
@@ -43,15 +43,42 @@ class AddToLabelList(NoReset):
|
||||
class AddSense(Message):
|
||||
def update_model(self, model):
|
||||
sense = Sense()
|
||||
sense.definition = {"indicator": "New Sense"}
|
||||
sense.definitions = [{"type": "indicator", "value": "Nov pomen"}]
|
||||
model.entry.senses.append(sense)
|
||||
|
||||
|
||||
class EditSenseDefinition(QuestionMessage):
|
||||
class EditSenseDefinition(Message):
|
||||
def update_model(self, model):
|
||||
sense = self.get_arg(0, Sense)
|
||||
sense.definition["indicator"] = self.new_text
|
||||
definitions_values = common_accessors.definitions_getter()
|
||||
indicator = None
|
||||
explanation = None
|
||||
|
||||
for x in sense.definitions:
|
||||
if indicator is None and x["type"] == "indicator":
|
||||
indicator = x
|
||||
if explanation is not None:
|
||||
break
|
||||
if explanation is None and x["type"] == "explanation":
|
||||
explanation = x
|
||||
if indicator is not None:
|
||||
break
|
||||
|
||||
if definitions_values["indicator"] != "":
|
||||
if indicator is None:
|
||||
indicator = {"type": "indicator"}
|
||||
sense.definitions.append(indicator)
|
||||
indicator["value"] = definitions_values["indicator"]
|
||||
elif indicator is not None:
|
||||
sense.definitions.remove(indicator)
|
||||
|
||||
if definitions_values["explanation"] != "":
|
||||
if explanation is None:
|
||||
explanation = {"type": "explanation"}
|
||||
sense.definitions.append(explanation)
|
||||
explanation["value"] = definitions_values["explanation"]
|
||||
elif explanation is not None:
|
||||
sense.definitions.remove(explanation)
|
||||
|
||||
class EditComment(QuestionMessage):
|
||||
def update_model(self, model):
|
||||
|
||||
Reference in New Issue
Block a user