Официальная,точка зрения никак. Плагин отвечает только за отображение соединений и хранением данных не занимается.
предлагается создать свою модель, и менять её взависимости от событий. к примеру.
jsPlumb.bind("jsPlumbConnection", function(connectionInfo) {
//обновляем модель при добавлении соединения
});
jsPlumb.bind("jsPlumbConnectionDetached", function(connectionInfo) {
//обновляем модель при удалении
});
и это наверноее самое правильное решение.
А если думать неправильно, то очевидно что плагин должен гдето хранить список связей чтобы их перерисовывать.
извлечь эту инфу никакого труда непредставляет хотя бы при помощи jsPlumb.getConnections /jsPlumb.getAllConnections,
пример использования
думаю по результату должно получится что то вроде
образец json
{
// спиок нод
nodes:[],
// список соединений
connections:[]
}
псевдокод сериализации и сохранения данных
function save(){
var presave={nodes:[],connections:[]}
$(".nodes").each(function(){
presave.nodes.push( {
x:$(this).offset().left,
y:$(this).offset().top
//другая инфа
})
});
var conn=jsPlumb.getAllConnections();
for(var i=0;i<conn;i++){
presave.coonections.push({
target:conn[i].target...
source:conn[i].source...
//ещё какая то инфа
});
}
// здесь можно извлечь чонибудь полезное ещё, что именно решайте сами
// в javascript практически всегда можно достать любые данные, исключения разве что переменные в замыканиях
$.post("url",presave);
}
Но хранить подобные данные в дум без модели, сомнительная идея.