[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/lib/yuilib/gallery/gallery-sm-treeview-sortable/ -> gallery-sm-treeview-sortable-debug.js (source)

   1  YUI.add('gallery-sm-treeview-sortable', function (Y, NAME) {
   2  
   3  /**
   4  Provides `Y.TreeView.Sortable`, a `Y.TreeView` extension that mixes in
   5  `Y.Tree.Sortable` and provides related TreeView-specific functionality.
   6  
   7  @module gallery-sm-treeview
   8  @submodule gallery-sm-treeview-sortable
   9  **/
  10  
  11  /**
  12  Extension for `Y.TreeView` that mixes in `Y.Tree.Sortable` and provides related
  13  TreeView-specific functionality (such as re-rendering a node after it's sorted).
  14  
  15  @class TreeView.Sortable
  16  @constructor
  17  @extensionfor TreeView
  18  @extends Tree.Sortable
  19  **/
  20  
  21  var Sortable = Y.TreeView.Sortable = function () {};
  22  
  23  Y.mix(Sortable.prototype, Y.Tree.Sortable.prototype);
  24  
  25  // -- Protected Methods ----------------------------------------------------
  26  
  27  // Overrides Y.TreeView#_attachTreeViewEvents().
  28  Sortable.prototype._attachTreeViewEvents = function () {
  29      Y.TreeView.prototype._attachTreeViewEvents.call(this);
  30  
  31      this._treeViewEvents.push(
  32          this.after('sort', this._afterSort)
  33      );
  34  };
  35  
  36  // -- Event Handlers -------------------------------------------------------
  37  
  38  /**
  39  Re-renders a node if necessary after a `sort` event.
  40  
  41  @method _afterSort
  42  @param {EventFacade} e
  43  @protected
  44  **/
  45  Sortable.prototype._afterSort = function (e) {
  46      var node = e.node;
  47  
  48      // If this tree hasn't been rendered yet or the sorted node's children
  49      // haven't been rendered yet, there's nothing to do.
  50      if (!this.rendered || !node.state.renderedChildren) {
  51          return;
  52      }
  53  
  54      // Re-render the sorted node and its children.
  55      if (node.isRoot()) {
  56          this.render();
  57      } else {
  58          this.renderNode(node, {renderChildren: true});
  59      }
  60  };
  61  
  62  
  63  }, 'gallery-2013.06.20-02-07', {"requires": ["gallery-sm-treeview", "tree-sortable"]});


Generated: Thu Aug 11 10:00:09 2016 Cross-referenced by PHPXref 0.7.1