You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lexonomy_custom_editor/src/message/simple_edits.py

46 lines
1.3 KiB

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