lexonomy_custom_editor/src/message/simple_edits.py

85 lines
2.2 KiB
Python
Raw Normal View History

2019-11-11 22:04:45 +00:00
from message.message import Message
from message.simple_messages import NoReset
import message.common_accessors as common_accessors
2019-11-11 22:04:45 +00:00
from browser import document
from model import Sense, Example
2019-11-11 22:04:45 +00:00
class QuestionMessage(Message):
def on_event(self, event):
input_element = document.getElementById("modal-question")
2019-11-11 22:04:45 +00:00
self.new_text = input_element.value
class EditSenseLabel(Message):
2019-11-11 22:04:45 +00:00
def update_model(self, model):
sense = self.get_arg(0, Sense)
2019-11-17 21:09:09 +00:00
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
2019-11-16 13:18:37 +00:00
class AddToLabelList(NoReset):
2019-11-16 13:18:37 +00:00
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()
2019-11-16 13:18:37 +00:00
# just adding to the copy to show in the modal
list_to_add_to.append(thing_to_add)
def data_change(self):
return False
2019-11-16 13:18:37 +00:00
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)
2019-11-11 22:04:45 +00:00
class EditSenseDefinition(QuestionMessage):
2019-11-11 22:04:45 +00:00
def update_model(self, model):
sense = self.get_arg(0, Sense)
2019-11-11 22:04:45 +00:00
sense.definition = self.new_text
class EditComment(QuestionMessage):
2019-11-11 22:04:45 +00:00
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
2019-11-18 19:57:33 +00:00
class EditEntryLabels(Message):
def update_model(self, model):
labels = common_accessors.label_list_getter()
model.entry.labels = labels