Я сохраняю свою mxModel в базе данных. После сохранения модели XML-файл mxModel сохраняется в базе данных. Поэтому, когда пользователь хочет отредактировать эту модель, я извлекаю модель и декодирую ее, используя следующий код.
var xmlDocument = mxUtils.parseXml(mxModel);
var decoder = new mxCodec(xmlDocument);
var node = xmlDocument.documentElement;
decoder.decode(node, graph.getModel());
let elt = xmlDocument.documentElement.firstChild;
Помимо этого, у меня есть опции на графике для дальнейшего редактирования графика. Как Добавить, Копировать, Удалить и т.д. Все операции добавления работают нормально, но операции, которые пытаются удалить ячейки, не отображаются на графике в реальном времени.
Так, например, для операции Удалить у меня есть следующий код, ограниченный элементами beginUpdate() и endupdate().
graph.getModel().beginUpdate();
graph.removeCellsFromParent([selectedCell]);
graph.getModel().remove(e[0]);
graph.getModel().remove(selectedCell);
graph.getModel().endUpdate();
При этой операции удаление происходит, но не отображается на экране. Я пришел к такому выводу, потому что, когда я сохраняю модель и перезагружаю ее, удаленной ячейки больше нет.
Мне нужно показать удаление в реальном времени. Не могли бы вы показать какое-то направление для того же.