85 lines
2.2 KiB
Python
85 lines
2.2 KiB
Python
from message.message import Message
|
|
from message.simple_messages import NoReset
|
|
import message.common_accessors as common_accessors
|
|
from browser import document
|
|
from model import Sense, Example
|
|
|
|
|
|
class QuestionMessage(Message):
|
|
def on_event(self, event):
|
|
input_element = document.getElementById("modal-question")
|
|
self.new_text = input_element.value
|
|
|
|
|
|
class EditSenseLabel(Message):
|
|
def update_model(self, model):
|
|
sense = self.get_arg(0, Sense)
|
|
sense.labels = common_accessors.label_list_getter()
|
|
|
|
|
|
class AddToGenericList(NoReset):
|
|
def update_model(self, model):
|
|
list_getter = self.get_arg(0)
|
|
list_getter().append("")
|
|
|
|
def data_change(self):
|
|
return False
|
|
|
|
|
|
class AddToLabelList(NoReset):
|
|
def update_model(self, model):
|
|
list_to_add_to = self.get_arg(0, list)
|
|
thing_to_add_getter = self.get_arg(1)
|
|
thing_to_add = thing_to_add_getter()
|
|
|
|
# just adding to the copy to show in the modal
|
|
list_to_add_to.append(thing_to_add)
|
|
|
|
def data_change(self):
|
|
return False
|
|
|
|
|
|
class EditExampleTranslation(Message):
|
|
def update_model(self, model):
|
|
example = self.get_arg(0, Example)
|
|
example.translations = common_accessors.generic_list_getter()
|
|
|
|
|
|
class AddSense(Message):
|
|
def update_model(self, model):
|
|
sense = Sense.new_empty()
|
|
sense.definition = "New Sense"
|
|
model.entry.senses.append(sense)
|
|
|
|
|
|
class EditSenseDefinition(QuestionMessage):
|
|
def update_model(self, model):
|
|
sense = self.get_arg(0, Sense)
|
|
sense.definition = self.new_text
|
|
|
|
|
|
class EditComment(QuestionMessage):
|
|
def update_model(self, model):
|
|
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 EditVariants(Message):
|
|
def update_model(self, model):
|
|
variants = common_accessors.generic_list_getter()
|
|
model.entry.variants = variants
|
|
|
|
|
|
class EditEntryLabels(Message):
|
|
def update_model(self, model):
|
|
labels = common_accessors.label_list_getter()
|
|
model.entry.labels = labels
|
|
|
|
|
|
|