Changeset View
Changeset View
Standalone View
Standalone View
webroot/rsrc/js/application/projects/behavior-project-boards.js
Show All 22 Lines | function onresponse(response, item, list) { | ||||
JX.DOM.alterClass(item, 'drag-sending', false); | JX.DOM.alterClass(item, 'drag-sending', false); | ||||
JX.DOM.replace(item, JX.$H(response.task)); | JX.DOM.replace(item, JX.$H(response.task)); | ||||
} | } | ||||
function ondrop(list, item, after, from) { | function ondrop(list, item, after, from) { | ||||
list.lock(); | list.lock(); | ||||
JX.DOM.alterClass(item, 'drag-sending', true); | JX.DOM.alterClass(item, 'drag-sending', true); | ||||
var item_phid = JX.Stratcom.getData(item).objectPHID; | |||||
var data = { | var data = { | ||||
objectPHID: JX.Stratcom.getData(item).objectPHID, | objectPHID: item_phid, | ||||
columnPHID: JX.Stratcom.getData(list.getRootNode()).columnPHID | columnPHID: JX.Stratcom.getData(list.getRootNode()).columnPHID | ||||
}; | }; | ||||
var after_phid = null; | |||||
var items = finditems(list.getRootNode()); | |||||
if (after) { | if (after) { | ||||
data.afterPHID = JX.Stratcom.getData(after).objectPHID; | after_phid = JX.Stratcom.getData(after).objectPHID; | ||||
data.afterPHID = after_phid; | |||||
} | |||||
var ii; | |||||
var ii_item; | |||||
var ii_item_phid; | |||||
var ii_prev_item_phid = null; | |||||
var before_phid = null; | |||||
for (ii = 0; ii < items.length; ii++) { | |||||
ii_item = items[ii]; | |||||
ii_item_phid = JX.Stratcom.getData(ii_item).objectPHID; | |||||
if (ii_item_phid == item_phid) { | |||||
// skip the item we just dropped | |||||
continue; | |||||
} | |||||
// note this handles when there is no after phid - we are at the top of | |||||
// the list - quite nicely | |||||
if (ii_prev_item_phid == after_phid) { | |||||
before_phid = ii_item_phid; | |||||
break; | |||||
} | |||||
ii_prev_item_phid = ii_item_phid; | |||||
} | |||||
if (before_phid) { | |||||
data.beforePHID = before_phid; | |||||
} | } | ||||
var workflow = new JX.Workflow(config.moveURI, data) | var workflow = new JX.Workflow(config.moveURI, data) | ||||
.setHandler(function(response) { | .setHandler(function(response) { | ||||
onresponse(response, item, list); | onresponse(response, item, list); | ||||
}); | }); | ||||
workflow.start(); | workflow.start(); | ||||
▲ Show 20 Lines • Show All 88 Lines • Show Last 20 Lines |