[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/webroot/rsrc/js/core/ -> behavior-toggle-class.js (source)

   1  /**
   2   * @provides javelin-behavior-toggle-class
   3   * @requires javelin-behavior
   4   *           javelin-stratcom
   5   *           javelin-dom
   6   */
   7  
   8  /**
   9   * Toggle CSS classes when an element is clicked. This behavior is activated
  10   * by adding the sigil `jx-toggle-class` to an element, and a key `map` to its
  11   * data. The `map` should be a map from element IDs to the classes that should
  12   * be toggled on them.
  13   *
  14   * Optionally, you may provide a `state` key to set the default state of the
  15   * element.
  16   */
  17  JX.behavior('toggle-class', function() {
  18    JX.Stratcom.listen(
  19      ['touchstart', 'mousedown'],
  20      'jx-toggle-class',
  21      function(e) {
  22        e.kill();
  23  
  24        var t = e.getNodeData('jx-toggle-class');
  25        t.state = !t.state;
  26        for (var k in t.map) {
  27          JX.DOM.alterClass(JX.$(k), t.map[k], t.state);
  28        }
  29      });
  30  });


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