Sha256: 9098d47f4a1d5c2335f2635785eaa7bb413aff71706f522c4eba0fc7ec686522

Contents?: true

Size: 1.25 KB

Versions: 4

Compression:

Stored size: 1.25 KB

Contents

Ext.ns('Rwiki.TreePanel');

Rwiki.TreePanel.Node = Ext.extend(Ext.tree.AsyncTreeNode, {
  getPath: function() {
    var path = Rwiki.TreePanel.Node.superclass.getPath.call(this, 'baseName');

    // Remove fist '/' from path.
    return path.replace(/^\//, '');
  },

  setBaseName: function(baseName) {
    this.attributes.baseName = baseName;
  },

  getBaseName: function() {
    return this.attributes.baseName;
  },

  expandAll: function() {
    var nodes = [];

    this.bubble(function(n) {
      nodes.push(n);
    });

    nodes = nodes.reverse();

    for (var i = 0, len = nodes.length; i < len; i++) {
      var node = nodes[i];
      if (node.isExpandable()) {
        node.expand(false);
      }
    }
  },

  /**
   * Better version of cascade function.
   * It can iterate through collapsed nodes.
   * @see cascade
   */
  cascadeAll: function(fn, scope, args) {
    var wasCollapsed = this.isExpandable() && !this.isExpanded();

    if (wasCollapsed) {
      this.expand(false, false);
    }

    if (fn.apply(scope || this, args || [this]) !== false){
      var cs = this.childNodes;
      for (var i = 0, len = cs.length; i < len; i++) {
        cs[i].cascadeAll(fn, args);
      }
    }

    if (wasCollapsed) {
      this.collapse(false, false);
    }
  }

});

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rwiki-0.2.4 public/javascripts/Rwiki/TreePanel/Node.js
rwiki-0.2.3 public/javascripts/Rwiki/TreePanel/Node.js
rwiki-0.2.2 public/javascripts/Rwiki/TreePanel/Node.js
rwiki-0.2.1 public/javascripts/Rwiki/TreePanel/Node.js