[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 /** 2 * @provides javelin-behavior-icon-composer 3 * @requires javelin-behavior 4 * javelin-dom 5 * javelin-stratcom 6 */ 7 8 JX.behavior('icon-composer', function(config) { 9 10 var nodes = { 11 root: JX.$(config.dialogID), 12 colorInput: JX.$(config.colorInputID), 13 iconInput: JX.$(config.iconInputID), 14 preview: JX.$(config.previewID) 15 }; 16 17 var selected = { 18 color: config.defaultColor, 19 icon: config.defaultIcon 20 }; 21 22 var redraw = function() { 23 var ii; 24 25 var colors = JX.DOM.scry(nodes.root, 'button', 'compose-select-color'); 26 for (ii = 0; ii < colors.length; ii++) { 27 JX.DOM.alterClass( 28 colors[ii], 29 'profile-image-button-selected', 30 (JX.Stratcom.getData(colors[ii]).color == selected.color)); 31 } 32 33 var icons = JX.DOM.scry(nodes.root, 'button', 'compose-select-icon'); 34 for (ii = 0; ii < icons.length; ii++) { 35 JX.DOM.alterClass( 36 icons[ii], 37 'profile-image-button-selected', 38 (JX.Stratcom.getData(icons[ii]).icon == selected.icon)); 39 } 40 41 nodes.colorInput.value = selected.color; 42 nodes.iconInput.value = selected.icon; 43 44 var classes = ['phui-icon-view', 'sprite-projects']; 45 classes.push('compose-background-' + selected.color); 46 classes.push('projects-' + selected.icon); 47 48 nodes.preview.className = classes.join(' '); 49 }; 50 51 JX.DOM.listen( 52 nodes.root, 53 'click', 54 'compose-select-color', 55 function (e) { 56 e.kill(); 57 58 selected.color = e.getNodeData('compose-select-color').color; 59 redraw(); 60 }); 61 62 JX.DOM.listen( 63 nodes.root, 64 'click', 65 'compose-select-icon', 66 function (e) { 67 e.kill(); 68 69 selected.icon = e.getNodeData('compose-select-icon').icon; 70 redraw(); 71 }); 72 73 redraw(); 74 75 });
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 |