Path: blob/master/webroot/rsrc/js/application/files/behavior-icon-composer.js
12241 views
/**1* @provides javelin-behavior-icon-composer2* @requires javelin-behavior3* javelin-dom4* javelin-stratcom5*/67JX.behavior('icon-composer', function(config) {89var nodes = {10root: JX.$(config.dialogID),11colorInput: JX.$(config.colorInputID),12iconInput: JX.$(config.iconInputID),13preview: JX.$(config.previewID)14};1516var selected = {17color: config.defaultColor,18icon: config.defaultIcon19};2021var redraw = function() {22var ii;2324var colors = JX.DOM.scry(nodes.root, 'button', 'compose-select-color');25for (ii = 0; ii < colors.length; ii++) {26JX.DOM.alterClass(27colors[ii],28'profile-image-button-selected',29(JX.Stratcom.getData(colors[ii]).color == selected.color));30}3132var icons = JX.DOM.scry(nodes.root, 'button', 'compose-select-icon');33for (ii = 0; ii < icons.length; ii++) {34JX.DOM.alterClass(35icons[ii],36'profile-image-button-selected',37(JX.Stratcom.getData(icons[ii]).icon == selected.icon));38}3940nodes.colorInput.value = selected.color;41nodes.iconInput.value = selected.icon;4243var classes = ['phui-icon-view', 'phui-font-fa', 'compose-icon-bg'];44classes.push('compose-background-' + selected.color);45classes.push(selected.icon);4647nodes.preview.className = classes.join(' ');48};4950JX.DOM.listen(51nodes.root,52'click',53'compose-select-color',54function (e) {55e.kill();5657selected.color = e.getNodeData('compose-select-color').color;58redraw();59});6061JX.DOM.listen(62nodes.root,63'click',64'compose-select-icon',65function (e) {66e.kill();6768selected.icon = e.getNodeData('compose-select-icon').icon;69redraw();70});7172redraw();7374});757677