/*! * jquery.fancytree.debug.js * * Miscellaneous debug extensions. * (Extension module for jquery.fancytree.js: https://github.com/mar10/fancytree/) * * Copyright (c) 2014, Martin Wendt (http://wwWendt.de) * * Released under the MIT license * https://github.com/mar10/fancytree/wiki/LicenseInfo * * @version 2.1.0 * @date 2014-05-29T16:44 */ ;(function($, window, document, undefined) { "use strict"; // prevent duplicate loading // if ( $.ui.fancytree && $.ui.fancytree.version ) { // $.ui.fancytree.warn("Fancytree: duplicate include"); // return; // } /* ***************************************************************************** * Private functions and variables */ var i, HOOK_NAMES = "nodeClick nodeCollapseSiblings".split(" "), EVENT_NAMES = "activate beforeActivate".split(" "), HOOK_NAME_MAP = {}, EVENT_NAME_MAP = {}; for(i=0; i tag traceEvents: false, // `true`or list of hook names traceHooks: false // `true`or list of event names }, // Overide virtual methods for this extension. // `this` : is this Fancytree object // `this._super`: the virtual function that was overridden (member of prev. extension or Fancytree) treeInit: function(ctx){ var tree = ctx.tree; // Bind init-handler to apply cookie state tree.$div.bind("fancytreeinit", function(event){ tree.debug("COOKIE " + document.cookie); }); // Init the tree this._super(ctx); }, nodeClick: function(ctx) { if(this.options.tracecalls.traceHooks){ this.debug(); } }, nodeCollapseSiblings: function(ctx) { }, nodeDblclick: function(ctx) { }, nodeKeydown: function(ctx) { }, nodeLoadChildren: function(ctx, source) { }, nodeOnFocusInOut: function(ctx) { }, nodeRemoveChildMarkup: function(ctx) { }, nodeRemoveMarkup: function(ctx) { }, nodeRender: function(ctx, force, deep, collapsed, _recursive) { }, nodeRenderStatus: function(ctx) { }, nodeRenderTitle: function(ctx, title) { }, nodeSetActive: function(ctx, flag, opts) { }, nodeSetExpanded: function(ctx, flag, opts) { }, nodeSetFocus: function(ctx) { }, nodeSetSelected: function(ctx, flag) { }, nodeSetStatus: function(ctx, status, message, details) { }, nodeToggleExpanded: function(ctx) { }, nodeToggleSelected: function(ctx) { }, treeClear: function(ctx) { }, treeCreate: function(ctx) { }, treeDestroy: function(ctx) { }, // treeInit: function(ctx) { // }, treeLoad: function(ctx, source) { }, treeSetFocus: function(ctx, flag) { } }); }(jQuery, window, document)); /* ***************************************************************************** * Fancytree extension: profiler */ ;(function($, window, document, undefined) { $.ui.fancytree.registerExtension({ name: "profiler", version: "0.0.1", // Default options for this extension options: { prefix: "" }, // Overide virtual methods for this extension nodeRender: function(ctx, force, deep, collapsed){ // ctx.tree.debug("**** PROFILER nodeRender"); var s = this.options.prefix + "render '" + ctx.node + "'"; /*jshint expr:true */ window.console && window.console.time && window.console.time(s); this._super(ctx, force, deep, collapsed); window.console && window.console.timeEnd && window.console.timeEnd(s); } }); }(jQuery, window, document));