Показать сообщение отдельно
  #3 (permalink)  
Старый 28.10.2012, 14:29
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Официальная,точка зрения никак. Плагин отвечает только за отображение соединений и хранением данных не занимается.

предлагается создать свою модель, и менять её взависимости от событий. к примеру.
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);
}

Но хранить подобные данные в дум без модели, сомнительная идея.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 28.10.2012 в 15:53.
Ответить с цитированием