[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 /** 2 * @provides javelin-behavior-maniphest-subpriority-editor 3 * @requires javelin-behavior 4 * javelin-dom 5 * javelin-stratcom 6 * javelin-workflow 7 * phabricator-draggable-list 8 */ 9 10 JX.behavior('maniphest-subpriority-editor', function(config) { 11 12 var draggable = new JX.DraggableList('maniphest-task') 13 .setFindItemsHandler(function() { 14 var tasks = JX.DOM.scry(document.body, 'li', 'maniphest-task'); 15 var heads = JX.DOM.scry(document.body, 'h1', 'task-group'); 16 return tasks.concat(heads); 17 }) 18 .setGhostHandler(function(ghost, target) { 19 if (!target) { 20 // The user is trying to drag a task above the first group header; 21 // don't permit that since it doesn't make sense. 22 return false; 23 } 24 25 if (target.nextSibling) { 26 if (JX.DOM.isType(target, 'h1')) { 27 target.nextSibling.insertBefore(ghost, target.nextSibling.firstChild); 28 } else { 29 target.parentNode.insertBefore(ghost, target.nextSibling); 30 } 31 } else { 32 target.parentNode.appendChild(ghost); 33 } 34 }); 35 36 draggable.listen('shouldBeginDrag', function(e) { 37 if (e.getNode('slippery') || e.getNode('maniphest-edit-task')) { 38 JX.Stratcom.context().kill(); 39 } 40 }); 41 42 draggable.listen('didDrop', function(node, after) { 43 var data = { 44 task: JX.Stratcom.getData(node).taskID 45 }; 46 47 if (JX.DOM.isType(after, 'h1')) { 48 data.priority = JX.Stratcom.getData(after).priority; 49 } else { 50 data.after = JX.Stratcom.getData(after).taskID; 51 } 52 53 draggable.lock(); 54 JX.DOM.alterClass(node, 'drag-sending', true); 55 56 var onresponse = function(r) { 57 var nodes = JX.$H(r.tasks).getFragment().firstChild; 58 var task = JX.DOM.find(nodes, 'li', 'maniphest-task'); 59 JX.DOM.replace(node, task); 60 draggable.unlock(); 61 JX.Stratcom.invoke( 62 'subpriority-changed', 63 null, 64 { 'task' : task }); 65 }; 66 67 new JX.Workflow(config.uri, data) 68 .setHandler(onresponse) 69 .start(); 70 }); 71 72 });
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |