Как загрузить данные из БД в jsPlumb
Подскажите, как загрузить элементы схемы в jsPlumb из БД, а потом сохранить обратно в БД? Как динамически добавлять объекты в jsPlumb?
|
очень актуальная тема. Жду ответ от PRO :)
|
Официальная,точка зрения никак. Плагин отвечает только за отображение соединений и хранением данных не занимается.
предлагается создать свою модель, и менять её взависимости от событий. к примеру. 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); } Но хранить подобные данные в дум без модели, сомнительная идея. |
Часовой пояс GMT +3, время: 11:54. |