Path: blob/master/webroot/rsrc/js/application/search/behavior-reorder-profile-menu-items.js
12241 views
/**1* @provides javelin-behavior-reorder-profile-menu-items2* @requires javelin-behavior3* javelin-stratcom4* javelin-workflow5* javelin-dom6* phabricator-draggable-list7*/89JX.behavior('reorder-profile-menu-items', function(config) {1011var root = JX.$(config.listID);1213var list = new JX.DraggableList('profile-menu-item', root)14.setFindItemsHandler(function() {15return JX.DOM.scry(root, 'li', 'profile-menu-item');16});1718list.listen('didDrop', function(node) {19var nodes = list.findItems();20var order = [];21var key;22for (var ii = 0; ii < nodes.length; ii++) {23key = JX.Stratcom.getData(nodes[ii]).key;24if (key) {25order.push(key);26}27}2829list.lock();30JX.DOM.alterClass(node, 'drag-sending', true);3132new JX.Workflow(config.orderURI, {order: order.join()})33.setHandler(function() {34JX.DOM.alterClass(node, 'drag-sending', false);35list.unlock();36})37.start();38});3940});414243