unified example editing
This commit is contained in:
@@ -34,6 +34,7 @@ class ShowVariantsEdit(ClickMessage):
|
||||
class ShowExampleEdit(KeyPlusClickMessage):
|
||||
def update_model_default(self, model):
|
||||
example = self.get_arg(0, Example)
|
||||
example.make_copy()
|
||||
|
||||
# if some are chosen, then show modal for choosing senses
|
||||
if len(model.chosen_examples) > 0 and example in model.chosen_examples:
|
||||
@@ -73,12 +74,6 @@ class ShowExampleEdit(KeyPlusClickMessage):
|
||||
def reset(self):
|
||||
# special case, when choosing messages dont reset
|
||||
return not (self.ctrl or self.shift)
|
||||
|
||||
class ShowExampleTranslationEdit(ClickMessage):
|
||||
def update_model(self, model):
|
||||
example = self.get_arg(0, Example)
|
||||
example.make_copy()
|
||||
model.modal_set(lambda: modals.edit_example_translation(example))
|
||||
|
||||
|
||||
class ShowEditTranslation(ClickMessage):
|
||||
@@ -118,3 +113,4 @@ class ShowEntryLabelsEdit(ClickMessage):
|
||||
def update_model(self, model):
|
||||
model.entry.make_copy()
|
||||
model.modal_set(lambda: modals.edit_entry_labels(model.entry))
|
||||
|
||||
|
||||
@@ -39,10 +39,11 @@ class AddToLabelList(NoReset):
|
||||
return False
|
||||
|
||||
|
||||
class EditExampleTranslation(Message):
|
||||
class EditExampleTranslation(QuestionMessage):
|
||||
def update_model(self, model):
|
||||
example = self.get_arg(0, Example)
|
||||
example.translations = common_accessors.generic_list_getter()
|
||||
example.text = self.new_text
|
||||
|
||||
|
||||
class AddSense(Message):
|
||||
@@ -63,12 +64,6 @@ class EditComment(QuestionMessage):
|
||||
model.entry.comment = self.new_text
|
||||
|
||||
|
||||
class EditExample(QuestionMessage):
|
||||
def update_model(self, model):
|
||||
example = self.get_arg(0, Example)
|
||||
example.example = self.new_text
|
||||
|
||||
|
||||
class DoChosenExamples(Message):
|
||||
def update_model(self, model):
|
||||
chosen_examples = self.get_arg(0, list)
|
||||
|
||||
@@ -29,10 +29,12 @@ def edit_sense_label(sense):
|
||||
return modal_template(content, "Translation", message.EditSenseLabel(sense))
|
||||
|
||||
|
||||
def edit_example_translation(example):
|
||||
def edit_example(example):
|
||||
content = question("Edit example", example.text)
|
||||
etl_getter = lambda: example.copy().translations
|
||||
content = generic_list_editor("Edit example translations", etl_getter)
|
||||
return modal_template(content, "Example Translations", message.EditExampleTranslation(example))
|
||||
content.extend(generic_list_editor("Edit example translations", etl_getter))
|
||||
|
||||
return modal_template(content, "Edit Example", message.EditExampleTranslation(example))
|
||||
|
||||
|
||||
def edit_variants(entry):
|
||||
@@ -54,10 +56,6 @@ def edit_comment(comment):
|
||||
return modal_template(question("Edit comment", comment), "Comment", message.EditComment())
|
||||
|
||||
|
||||
def edit_example(example):
|
||||
return modal_template(question("Edit exmample", example.example), "Example", message.EditExample(example))
|
||||
|
||||
|
||||
def do_chosen_examples(example_list, entry):
|
||||
options = [h("p", {}, "Choose sense for examples")]
|
||||
for idx, sense in enumerate(entry.senses):
|
||||
|
||||
@@ -99,9 +99,9 @@ class View:
|
||||
|
||||
return h("div.example", {}, [
|
||||
h("div.example-dot", {}, "▣"),
|
||||
h(example_tag, {}, [
|
||||
h("span.example-text", {"on": {"click": msg(ShowExampleEdit(example))} }, example.text),
|
||||
h("div.example-translation-list", { "on": {"click": msg(ShowExampleTranslationEdit(example))} }, [
|
||||
h(example_tag, {"on": {"click": msg(ShowExampleEdit(example))} }, [
|
||||
h("span.example-text", {}, example.text),
|
||||
h("div.example-translation-list", {}, [
|
||||
h("div.example-translation", {}, [
|
||||
h("span.example-arrow", {}, "↪"),
|
||||
h("span", {}, t)])
|
||||
|
||||
Reference in New Issue
Block a user