Editing entry labels

This commit is contained in:
Ozbolt Menegatti 2019-11-18 20:57:33 +01:00
parent 4bdb3bfc7f
commit 06ab8f2230
5 changed files with 24 additions and 7 deletions

View File

@ -1,7 +1,7 @@
from message.simple_messages import NoReset, Reset, ModalNotOkClose
from message.translation_edit import EditTranslation, MoveRight, MoveLeft, BinTranslation
from message.show_messages import ShowMenu, ShowEditTranslation, ShowSenseLabelEdit, ShowSenseDefinitionEdit, ShowCommentEdit, ShowAddTranslation, ShowSenseAdd, ShowExampleEdit, ShowExampleTranslationEdit, ShowVariantsEdit
from message.simple_edits import EditSenseLabel, EditSenseDefinition, EditComment, AddSenseLabel, AddSense, EditExample, AddExampleTranslation, EditExampleTranslation, AddToLabelList, AddToGenericList, EditVariants
from message.show_messages import ShowMenu, ShowEntryLabelsEdit, ShowEditTranslation, ShowSenseLabelEdit, ShowSenseDefinitionEdit, ShowCommentEdit, ShowAddTranslation, ShowSenseAdd, ShowExampleEdit, ShowExampleTranslationEdit, ShowVariantsEdit
from message.simple_edits import EditSenseLabel, EditSenseDefinition, EditComment, AddSenseLabel, AddSense, EditExample, AddExampleTranslation, EditExampleTranslation, AddToLabelList, AddToGenericList, EditVariants, EditEntryLabels
from message.message import msg

View File

@ -102,3 +102,10 @@ class ShowAddTranslation(ClickMessage):
return
console.log("Should not be here!")
class ShowEntryLabelsEdit(ClickMessage):
def update_model(self, model):
model.modal_shown = True
model.entry.make_copy()
model.modal = lambda: modals.edit_entry_labels(model.entry)

View File

@ -76,3 +76,10 @@ class EditVariants(Message):
model.entry.variants = variants
class EditEntryLabels(Message):
def update_model(self, model):
labels = common_accessors.label_list_getter()
model.entry.labels = labels

View File

@ -42,6 +42,11 @@ def edit_variants(entry):
return modal_template(content, "Add or remove variants", message.EditVariants())
def edit_entry_labels(entry):
content = label_list_editor(entry.copy().labels, message.AddToLabelList(entry.copy().labels))
return modal_template(content, "Translation", message.EditEntryLabels())
def add_sense():
return modal_template(question("Add sense with a label", ""), "Add sense", message.AddSense())

View File

@ -44,18 +44,16 @@ class View:
buttons = [
h("button.warning", clk(ShowCommentEdit()), "Comment"),
h("button.normal", clk(ShowVariantsEdit()), "Variants"),
h("button.success", clk(ShowCommentEdit()), "Labels")]
h("button.success", clk(ShowEntryLabelsEdit()), "Labels")]
if entry.comment == "" and len(entry.labels) == 0 and len(entry.variants) == 0:
return h("div", {}, buttons)
# if entry.comment != "":
# buttons[0] = h("button.warning", clk(ShowCommentEdit()), "Comment: {}".format(entry.comment))
labels = ", ".join([val for _, val in entry.labels])
return h("table", {}, [
h("tr", {}, [ h("td", {}, buttons[0]), h("td", {}, entry.comment)]),
h("tr", {}, [ h("td", {}, buttons[1]), h("td", {}, ", ".join(entry.variants))]),
h("tr", {}, [ h("td", {}, buttons[2]), h("td", {}, "TODO")])])
h("tr", {}, [ h("td", {}, buttons[2]), h("td", {}, labels)])])
@staticmethod