[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/webroot/rsrc/js/application/files/ -> behavior-icon-composer.js (source)

   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  });


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1