from message.message import Message from message.simple_messages import NoReset from browser import document from model import Sense class SimpleEditMessage(Message): def __init__(self, event, prop): input_element = document.getElementById("modal-input") self.new_text = input_element.value self.prop = prop class EditSenseLabel(Message): def __init__(self, _, prop): assert(type(prop) is Sense) self.sense = prop def update_model(self, model): 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): def update_model(self, model): sense = self.prop assert(type(sense) is Sense) sense.definition = self.new_text class EditComment(SimpleEditMessage): def update_model(self, model): model.entry.comment = self.new_text