|
|
|
@ -86,20 +86,15 @@ class DoChosenExamples(Message):
|
|
|
|
|
class EditVariants(Message):
|
|
|
|
|
def update_model(self, model):
|
|
|
|
|
variants = common_accessors.generic_list_getter()
|
|
|
|
|
_remove_deleted_quries(variants, "head variantList variant", model)
|
|
|
|
|
console.log(variants)
|
|
|
|
|
model.entry.variants = variants
|
|
|
|
|
|
|
|
|
|
class EditHomonymy(Message):
|
|
|
|
|
def update_model(self, model):
|
|
|
|
|
homonymy = common_accessors.double_list_getter("value", "name")
|
|
|
|
|
|
|
|
|
|
keptHFeatureIds = [feature.id for feature in homonymy]
|
|
|
|
|
for index, feature in enumerate(model.entry.original_xml.querySelectorAll("head headword homonymy homonymyFeature")):
|
|
|
|
|
if (index not in keptHFeatureIds):
|
|
|
|
|
feature.remove()
|
|
|
|
|
|
|
|
|
|
for index, feature in enumerate(homonymy):
|
|
|
|
|
if (feature.id >= 0):
|
|
|
|
|
feature.id = index
|
|
|
|
|
_remove_deleted_quries(homonymy, "head headword homonymy homonymyFeature", model)
|
|
|
|
|
|
|
|
|
|
model.entry.homonymy = homonymy
|
|
|
|
|
|
|
|
|
@ -128,3 +123,13 @@ class ExampleClusterAdd(DataChgClickMessage):
|
|
|
|
|
example = self.get_arg(0, Example)
|
|
|
|
|
example.set_cluster(ExampleClusters.first_empty_cluster())
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _remove_deleted_quries(updated_list, query, model):
|
|
|
|
|
keptIds = [entry.id for entry in updated_list]
|
|
|
|
|
for index, entry in enumerate(model.entry.original_xml.querySelectorAll(query)):
|
|
|
|
|
if (index not in keptIds):
|
|
|
|
|
entry.remove()
|
|
|
|
|
|
|
|
|
|
for index, entry in enumerate(updated_list):
|
|
|
|
|
if (entry.id >= 0):
|
|
|
|
|
entry.id = index
|
|
|
|
|