У меня есть некоторые вершины, значение которых мне нужно программно обновить в соответствии с данными, которые регулярно обновляются с сервера. Сначала вершина создается следующим образом:
const doc = (<any>window).mxUtils.createXmlDocument();
var node = doc.createElement('kw');
node.setAttribute(AppSettings.SINGLE_LINE_DIAGRAM_ATTRIBUTES.KEY, treeItem.tag.key.value);
node.setAttribute(AppSettings.SINGLE_LINE_DIAGRAM_ATTRIBUTES.TYPE, treeItem.tag.key.type);
node.setAttribute(AppSettings.SINGLE_LINE_DIAGRAM_ATTRIBUTES.MEASUREMENT_TYPE, measurementType);
node.setAttribute(AppSettings.SINGLE_LINE_DIAGRAM_ATTRIBUTES.FIELD_NAME, fieldType);
node.setAttribute(AppSettings.SINGLE_LINE_DIAGRAM_ATTRIBUTES.CELL_TYPE, 'label');
try {
const parent = this.graph.getDefaultParent();
this.graph.getModel().beginUpdate();
const vertex = this.graph.insertVertex(parent, uuid.v4(), node, 50, 50, 80, 40,"text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;editable=0;",'');
} finally {
this.graph.getModel().endUpdate();
}
Затем мне нужно обновить значение данными с сервера, я делаю это так: я беру ячейку из словаря и обновляю ее:
const value = this.getCellValue(item);
this.graph.model.setValue(cell, value);
Увы! ячейка теряет все свои атрибуты. Которые нужны, чтобы сделать новый запрос к серверу (например, ключ).
Буду признателен за любую помощь.