[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 /** 2 * @provides javelin-behavior-config-reorder-fields 3 * @requires javelin-behavior 4 * javelin-stratcom 5 * javelin-dom 6 * javelin-json 7 * phabricator-draggable-list 8 */ 9 10 JX.behavior('config-reorder-fields', function(config) { 11 12 var fields = config.fields; 13 var root = JX.$(config.listID); 14 15 var list = new JX.DraggableList('field-spec', root) 16 .setFindItemsHandler(function() { 17 return JX.DOM.scry(root, 'li', 'field-spec'); 18 }); 19 20 list.listen('didDrop', function() { 21 write_state_to_form(); 22 }); 23 24 JX.DOM.listen(root, 'click', 'field-spec-toggle', function(e) { 25 e.kill(); 26 27 var key = e.getNodeData('field-spec').fieldKey; 28 fields[key].disabled = !fields[key].disabled; 29 30 JX.DOM.replace( 31 e.getNode('field-spec'), 32 JX.$H( 33 fields[key].disabled ? 34 fields[key].disabledMarkup : 35 fields[key].enabledMarkup)); 36 37 write_state_to_form(); 38 }); 39 40 var write_state_to_form = function() { 41 var nodes = list.findItems(); 42 var order = []; 43 var key; 44 for (var ii = 0; ii < nodes.length; ii++) { 45 key = JX.Stratcom.getData(nodes[ii]).fieldKey; 46 if (key) { 47 order.push({ 48 key: key, 49 disabled: fields[key].disabled 50 }); 51 } 52 } 53 54 JX.$(config.inputID).value = JX.JSON.stringify(order); 55 }; 56 57 });
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 |