33 lines
789 B
JavaScript
33 lines
789 B
JavaScript
|
|
/**
|
||
|
|
* @provides javelin-behavior-editengine-reorder-fields
|
||
|
|
* @requires javelin-behavior
|
||
|
|
* javelin-stratcom
|
||
|
|
* javelin-workflow
|
||
|
|
* javelin-dom
|
||
|
|
* phabricator-draggable-list
|
||
|
|
*/
|
||
|
|
|
||
|
|
JX.behavior('editengine-reorder-fields', function(config) {
|
||
|
|
|
||
|
|
var root = JX.$(config.listID);
|
||
|
|
|
||
|
|
var list = new JX.DraggableList('editengine-form-field', root)
|
||
|
|
.setFindItemsHandler(function() {
|
||
|
|
return JX.DOM.scry(root, 'li', 'editengine-form-field');
|
||
|
|
});
|
||
|
|
|
||
|
|
list.listen('didDrop', function() {
|
||
|
|
var nodes = list.findItems();
|
||
|
|
|
||
|
|
var data;
|
||
|
|
var keys = [];
|
||
|
|
for (var ii = 0; ii < nodes.length; ii++) {
|
||
|
|
data = JX.Stratcom.getData(nodes[ii]);
|
||
|
|
keys.push(data.fieldKey);
|
||
|
|
}
|
||
|
|
|
||
|
|
JX.$(config.inputID).value = keys.join(',');
|
||
|
|
});
|
||
|
|
|
||
|
|
});
|