Я работаю с mxgraph и использую пример портов mxgraph в качестве отправной точки для своего приложения. https://jgraph.github.io/mxgraph/javascript/examples/ports.html
В примере содержимое каждой ячейки передается через свойство value
объекта mxcell
. Отображаемое содержимое представляет собой метку html, которая затем отображается внутри ячейки. Пример кода ниже показывает создание перетаскиваемого значка на боковой панели с параметрами graph, sidebar, label, image
.
addSidebarIcon(graph, sidebar,
'<h1 style="margin:0px;">Website</h1><br>'+
'<img src="images/icons48/earth.png" width="48" height="48">'+
'<br>'+
'<a href="http://www.jgraph.com" target="_blank">Browse</a>',
'images/icons48/earth.png');
Затем функция addSideBarIcon
создает вершину, передавая ее аргумент label
в качестве свойства value
MxCell.
v1 = graph.insertVertex(parent, null, label, x, y, 120, 120);
Я хотел бы иметь возможность добавить объект JSON для хранения не отображаемых данных вместе с меткой html для целей отображения в свойстве value
каждой ячейки. Я хотел бы сделать это без изменения базовых прототипов.
addSidebarIcon(graph,
sidebar, {
display: '<h1 style="margin:0px;">Process</h1><br>' +
'<img src="images/icons48/gear.png" width="48" height="48">' +
'<br><select><option>Value1</option><option>Value2</option></select><br>',
data: {
key1: val1
},
}
Когда я это делаю, код интерпретирует value
как метку html. где, как я хотел бы, он интерпретировал только value.display
как метку. Я не уверен, как объединить метку html и данные json, и хотел бы получить некоторые предложения.