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("") 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) 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