model.modal now a function and multiple sense labels
This commit is contained in:
@@ -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
|
||||
from message.simple_edits import EditSenseLabel, EditSenseDefinition, EditComment
|
||||
from message.simple_edits import EditSenseLabel, EditSenseDefinition, EditComment, AddSenseLabel
|
||||
from message.message import msg
|
||||
|
||||
|
||||
|
||||
@@ -29,20 +29,22 @@ class ShowSenseLabelEdit(GenericShowModal):
|
||||
def update_model(self, model):
|
||||
super().update_model(model)
|
||||
model.sense = self.arg
|
||||
model.modal = modals.edit_sense_label(self.arg)
|
||||
|
||||
model.sense.temporary_labels = model.sense.labels[:]
|
||||
model.modal = lambda: modals.edit_sense_label(model.sense)
|
||||
|
||||
|
||||
class ShowSenseDefinitionEdit(GenericShowModal):
|
||||
def update_model(self, model):
|
||||
super().update_model(model)
|
||||
model.sense = self.arg
|
||||
model.modal = modals.edit_sense_definition(self.arg)
|
||||
model.modal = lambda: modals.edit_sense_definition(self.arg)
|
||||
|
||||
|
||||
class ShowCommentEdit(ClickMessage):
|
||||
def update_model(self, model):
|
||||
model.modal_shown = True
|
||||
model.modal = modals.edit_comment(model.entry.comment)
|
||||
model.modal = lambda: modals.edit_comment(model.entry.comment)
|
||||
|
||||
|
||||
class ShowEditTranslation(GenericShowModal):
|
||||
@@ -57,7 +59,8 @@ class ShowEditTranslation(GenericShowModal):
|
||||
for t in cluster:
|
||||
if t == translation:
|
||||
# fount the one!
|
||||
model.modal = modals.edit_translation(translation, cidx, num_clusters, EditTranslation, (translation, cidx))
|
||||
model.modal = lambda: modals.edit_translation(
|
||||
translation, cidx, num_clusters, EditTranslation, (translation, cidx))
|
||||
return
|
||||
|
||||
console.log("Should not be here!")
|
||||
@@ -70,7 +73,8 @@ class ShowAddTranslation(GenericShowModal):
|
||||
|
||||
for sense in model.entry.senses:
|
||||
if sense == chosen_sense:
|
||||
model.modal = modals.edit_translation(sense, -1, len(sense.translations), AddTranslation, sense)
|
||||
model.modal = lambda: modals.edit_translation(
|
||||
sense, -1, len(sense.translations), AddTranslation, sense)
|
||||
return
|
||||
|
||||
console.log("Should not be here!")
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
from message.message import Message
|
||||
from message.simple_messages import NoReset
|
||||
from browser import document
|
||||
from model import Sense
|
||||
|
||||
@@ -10,11 +11,26 @@ class SimpleEditMessage(Message):
|
||||
self.prop = prop
|
||||
|
||||
|
||||
class EditSenseLabel(SimpleEditMessage):
|
||||
class EditSenseLabel(Message):
|
||||
def __init__(self, _, prop):
|
||||
assert(type(prop) is Sense)
|
||||
self.sense = prop
|
||||
|
||||
def update_model(self, model):
|
||||
sense = self.prop
|
||||
assert(type(sense) is Sense)
|
||||
sense.label = self.new_text
|
||||
self.sense.labels = []
|
||||
for input_el in document.getElementsByClassName("sense-edit-input"):
|
||||
new_sense_label = input_el.value
|
||||
if new_sense_label != "":
|
||||
self.sense.labels.append(new_sense_label)
|
||||
|
||||
|
||||
class AddSenseLabel(NoReset):
|
||||
def __init__(self, _, prop):
|
||||
assert(type(prop) is Sense)
|
||||
self.sense = prop
|
||||
|
||||
def update_model(self, model):
|
||||
self.sense.temporary_labels.append("")
|
||||
|
||||
|
||||
class EditSenseDefinition(SimpleEditMessage):
|
||||
|
||||
@@ -19,7 +19,7 @@ class NoReset(Reset):
|
||||
# after setting model.modal, do view update to actually update the DOM
|
||||
class _ModalResetDelayed(Message):
|
||||
def update_model(self, model):
|
||||
model.modal = []
|
||||
model.modal_reset()
|
||||
|
||||
class ModalNotOkClose(Reset):
|
||||
def update_model(self, model):
|
||||
|
||||
Reference in New Issue
Block a user