Commit 78269553 authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Selecting current class node in tree.

When initially loading and when navigating in history.
parent bbfe14ff
Loading
Loading
Loading
Loading
+17 −20
Original line number Diff line number Diff line

/**
 * Class tree.
 */
Ext.define('Docs.ClassTree', {
    extend: 'Ext.tree.Panel',

@@ -26,12 +28,6 @@ Ext.define('Docs.ClassTree', {
                    node.expand(false);
                }
            }
        },
        render: function() {
            var self = this;
            setTimeout(function() {
                self.selectCurrentClass();
            }, 500);
        }
    },

@@ -54,20 +50,21 @@ Ext.define('Docs.ClassTree', {
        }
    },

    selectCurrentClass: function() {
        var treePanel = Ext.getCmp('treePanelCmp');

        if (req.docClass != 'undefined') {
            var classNode = Ext.getCmp('treePanelCmp').getRootNode().findChildBy(function(n) {
                return req.docClass == n.raw.clsName;
    /**
     * Selects class node in tree by name.
     *
     * @param {String} className
     */
    selectClass: function(className) {
        var classNode = this.getRootNode().findChildBy(function(n) {
            return className === n.raw.clsName;
        }, null, true);

        if (classNode) {
                treePanel.getSelectionModel().select(classNode);
            this.getSelectionModel().select(classNode);
            classNode.bubble(function(n) {
                n.expand();
            });
        }
    }
    }
});
+2 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ Ext.define("Docs.History", {
            e.preventDefault();
            if (e.state && e.state.docClass) {
                Docs.ClassLoader.load(e.state.docClass, true);
                Ext.getCmp('treePanelCmp').selectClass(e.state.docClass);
            }
            return false;
        }, false);
@@ -23,6 +24,7 @@ Ext.define("Docs.History", {
        if (matches) {
            var className = matches[1];
            Docs.ClassLoader.load(className, true);
            Ext.getCmp('treePanelCmp').selectClass(className);
        }
    },