Евгений ответил здесь:
Dojo Перетаскивание: как получить порядок элементов?
Это был бы правильный путь. Если вы посмотрите на приведенную выше ссылку, вы можете сохранить получившийся объект orderDataItems как JSON ...
Посмотрите на следующую функцию. Это сохраняет наш DND "Lightbox" (dojo.dnd.source) в JSON.
- _ это текущий необработанный элемент
- _it.data.item содержит все ваши вещи, которые вам нужно сохранить
- в нашем случае _it.data.item.label сохраняет настроенные узлы (изображения, видео, документы) в виде строки, которую мы можем использовать позже для dojo.place it
- это элемент dnd, который вы хотите сохранить без узлов dom
например. если вы перетаскиваете элементы из дерева dijit в произвольный источник / цель dojo dnd:
_RAM или _S в нашем data.item, который мы сделали до того, как должны быть перезаписаны.
LBtoJson: function(){
var that = this;
var orderedLBitems = this.dndSource.getAllNodes().map(function(node){
var _it = that.dndSource.getItem(node.id);
var it = { data:{ item:{} }, label:'', type:'' };
if((_it.data.item._RAM)){_it.data.item._RAM={}}
if((_it.data.item._S)){_it.data.item._S={}}
it.data.item = dojo.clone(_it.data.item);
it.label = it.data.item.label[0]||it.data.item.label;
it.type = _it.type;
console.log( it );
return it;
});
var LBjson = dojo.toJson(orderedLBitems);
return LBjson;
}