Bugzilla – Attachment 130411 Details for
Bug 11873
Upgrade jstree jQuery plugin to the latest version
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 11873: Upgrade jstree jQuery plugin to the latest version
Bug-11873-Upgrade-jstree-jQuery-plugin-to-the-late.patch (text/plain), 1.06 MB, created by
Owen Leonard
on 2022-02-09 22:37:51 UTC
(
hide
)
Description:
Bug 11873: Upgrade jstree jQuery plugin to the latest version
Filename:
MIME Type:
Creator:
Owen Leonard
Created:
2022-02-09 22:37:51 UTC
Size:
1.06 MB
patch
obsolete
>From 90459334a0108987a5f2c95f6a5ec129ff1f1aee Mon Sep 17 00:00:00 2001 >From: Owen Leonard <oleonard@myacpl.org> >Date: Wed, 10 Nov 2021 15:42:08 +0000 >Subject: [PATCH] Bug 11873: Upgrade jstree jQuery plugin to the latest version > >This patch upgrades the jstree plugin in the OPAC and the staff >interface. The old version had compatibility issues with the latest >jQuery. > >Also changed: When viewing an authority record in the OPAC's MARC view, >clicking one of the hierarchy links should now open the MARC view again >rather than reverting to the normal view. > >To test, apply the patch and rebuild the staff interface and OPAC CSS >(https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_client). > >To test you must have the AuthDisplayHierarchy system preference >enabled, and you must have some authorities data which can be displayed >as a hierarchy. From the test plan for Bug 8523: > >"Create authority records with a hierarchy of see also fields (in > MARC21/NORMARC, you'll be using 5xx fields for this, with a subfield > $w = 'g' for broader terms and subfield $w = 'h' for narrower terms)" > >- Perform an authority search in the OPAC which will return one of your > modified authority records. >- View the record. >- There should be an expanded tree menu at the top of the authority > information. > - Clicking the arrows in the tree should correctly expand > and collapse the nodes. > - Clicking the authority record link in the node should load that > record. >- Test also from the OPAC's MARC view of the authority record. > - Confirm that clicking an authority record link in the MARC view > opens the corresponding record in MARC view again. > >- Perform the same tests in the staff interface. > >Signed-off-by: Eugene Espinoza <eugenegf@yahoo.com> >--- > .../lib/jquery/plugins/jquery.jstree.js | 4551 ----------------- > .../plugins/jstree/jstree-3.3.12.min.js | 6 + > .../plugins/jstree/themes/default/32px.png | Bin 0 -> 5660 bytes > .../plugins/jstree/themes/default/40px.png | Bin 0 -> 2215 bytes > .../plugins/jstree/themes/default/style.css | 1106 ++++ > .../jstree/themes/default/style.min.css | 1 + > .../jstree/themes/default/throbber.gif | Bin 0 -> 1464 bytes > .../lib/jquery/plugins/themes/classic/d.gif | Bin 3003 -> 0 bytes > .../lib/jquery/plugins/themes/classic/d.png | Bin 7535 -> 0 bytes > .../plugins/themes/classic/dot_for_ie.gif | Bin 43 -> 0 bytes > .../jquery/plugins/themes/classic/style.css | 77 - > .../plugins/themes/classic/throbber.gif | Bin 1849 -> 0 bytes > .../prog/css/src/staff-global.scss | 16 +- > .../prog/en/modules/authorities/detail.tt | 25 +- > .../opac-tmpl/bootstrap/css/src/opac.scss | 16 +- > .../en/includes/opac-authorities.inc | 6 +- > .../en/modules/opac-auth-MARCdetail.tt | 30 +- > .../bootstrap/en/modules/opac-auth-detail.tt | 28 +- > .../lib/jquery/plugins/jquery.jstree.js | 4551 ----------------- > .../plugins/jstree/jstree-3.3.12.min.js | 6 + > .../plugins/jstree/themes/default/32px.png | Bin 0 -> 5660 bytes > .../plugins/jstree/themes/default/40px.png | Bin 0 -> 2215 bytes > .../plugins/jstree/themes/default/style.css | 1106 ++++ > .../jstree/themes/default/style.min.css | 1 + > .../jstree/themes/default/throbber.gif | Bin 0 -> 1464 bytes > .../lib/jquery/plugins/themes/classic/d.gif | Bin 3003 -> 0 bytes > .../lib/jquery/plugins/themes/classic/d.png | Bin 7535 -> 0 bytes > .../plugins/themes/classic/dot_for_ie.gif | Bin 43 -> 0 bytes > .../jquery/plugins/themes/classic/style.css | 77 - > .../plugins/themes/classic/throbber.gif | Bin 1849 -> 0 bytes > 30 files changed, 2306 insertions(+), 9297 deletions(-) > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/plugins/jquery.jstree.js > create mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/jstree-3.3.12.min.js > create mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/themes/default/32px.png > create mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/themes/default/40px.png > create mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/themes/default/style.css > create mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/themes/default/style.min.css > create mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/themes/default/throbber.gif > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/d.gif > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/d.png > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/dot_for_ie.gif > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/style.css > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/throbber.gif > delete mode 100644 koha-tmpl/opac-tmpl/lib/jquery/plugins/jquery.jstree.js > create mode 100644 koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/jstree-3.3.12.min.js > create mode 100644 koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/themes/default/32px.png > create mode 100644 koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/themes/default/40px.png > create mode 100644 koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/themes/default/style.css > create mode 100644 koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/themes/default/style.min.css > create mode 100644 koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/themes/default/throbber.gif > delete mode 100644 koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/d.gif > delete mode 100644 koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/d.png > delete mode 100644 koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/dot_for_ie.gif > delete mode 100644 koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/style.css > delete mode 100644 koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/throbber.gif > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jquery.jstree.js b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jquery.jstree.js >deleted file mode 100644 >index c94e61f7ec..0000000000 >--- a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jquery.jstree.js >+++ /dev/null >@@ -1,4551 +0,0 @@ >-/* >- * jsTree 1.0-rc3 >- * http://jstree.com/ >- * >- * Copyright (c) 2010 Ivan Bozhanov (vakata.com) >- * >- * Licensed same as jquery - under the terms of either the MIT License or the GPL Version 2 License >- * http://www.opensource.org/licenses/mit-license.php >- * http://www.gnu.org/licenses/gpl.html >- * >- * $Date: 2011-02-09 01:17:14 +0200 (ÑÑ, 09 ÑÐµÐ²Ñ 2011) $ >- * $Revision: 236 $ >- */ >- >-/*jslint browser: true, onevar: true, undef: true, bitwise: true, strict: true */ >-/*global window : false, clearInterval: false, clearTimeout: false, document: false, setInterval: false, setTimeout: false, jQuery: false, navigator: false, XSLTProcessor: false, DOMParser: false, XMLSerializer: false*/ >- >-"use strict"; >- >-// top wrapper to prevent multiple inclusion (is this OK?) >-(function () { if(jQuery && jQuery.jstree) { return; } >- var is_ie6 = false, is_ie7 = false, is_ff2 = false; >- >-/* >- * jsTree core >- */ >-(function ($) { >- // Common functions not related to jsTree >- // decided to move them to a `vakata` "namespace" >- $.vakata = {}; >- // CSS related functions >- $.vakata.css = { >- get_css : function(rule_name, delete_flag, sheet) { >- rule_name = rule_name.toLowerCase(); >- var css_rules = sheet.cssRules || sheet.rules, >- j = 0; >- do { >- if(css_rules.length && j > css_rules.length + 5) { return false; } >- if(css_rules[j].selectorText && css_rules[j].selectorText.toLowerCase() == rule_name) { >- if(delete_flag === true) { >- if(sheet.removeRule) { sheet.removeRule(j); } >- if(sheet.deleteRule) { sheet.deleteRule(j); } >- return true; >- } >- else { return css_rules[j]; } >- } >- } >- while (css_rules[++j]); >- return false; >- }, >- add_css : function(rule_name, sheet) { >- if($.jstree.css.get_css(rule_name, false, sheet)) { return false; } >- if(sheet.insertRule) { sheet.insertRule(rule_name + ' { }', 0); } else { sheet.addRule(rule_name, null, 0); } >- return $.vakata.css.get_css(rule_name); >- }, >- remove_css : function(rule_name, sheet) { >- return $.vakata.css.get_css(rule_name, true, sheet); >- }, >- add_sheet : function(opts) { >- var tmp = false, is_new = true; >- if(opts.str) { >- if(opts.title) { tmp = $("style[id='" + opts.title + "-stylesheet']")[0]; } >- if(tmp) { is_new = false; } >- else { >- tmp = document.createElement("style"); >- tmp.setAttribute('type',"text/css"); >- if(opts.title) { tmp.setAttribute("id", opts.title + "-stylesheet"); } >- } >- if(tmp.styleSheet) { >- if(is_new) { >- document.getElementsByTagName("head")[0].appendChild(tmp); >- tmp.styleSheet.cssText = opts.str; >- } >- else { >- tmp.styleSheet.cssText = tmp.styleSheet.cssText + " " + opts.str; >- } >- } >- else { >- tmp.appendChild(document.createTextNode(opts.str)); >- document.getElementsByTagName("head")[0].appendChild(tmp); >- } >- return tmp.sheet || tmp.styleSheet; >- } >- if(opts.url) { >- if(document.createStyleSheet) { >- try { tmp = document.createStyleSheet(opts.url); } catch (e) { } >- } >- else { >- tmp = document.createElement('link'); >- tmp.rel = 'stylesheet'; >- tmp.type = 'text/css'; >- tmp.media = "all"; >- tmp.href = opts.url; >- document.getElementsByTagName("head")[0].appendChild(tmp); >- return tmp.styleSheet; >- } >- } >- } >- }; >- >- // private variables >- var instances = [], // instance array (used by $.jstree.reference/create/focused) >- focused_instance = -1, // the index in the instance array of the currently focused instance >- plugins = {}, // list of included plugins >- prepared_move = {}; // for the move_node function >- >- // jQuery plugin wrapper (thanks to jquery UI widget function) >- $.fn.jstree = function (settings) { >- var isMethodCall = (typeof settings == 'string'), // is this a method call like $().jstree("open_node") >- args = Array.prototype.slice.call(arguments, 1), >- returnValue = this; >- >- // if a method call execute the method on all selected instances >- if(isMethodCall) { >- if(settings.substring(0, 1) == '_') { return returnValue; } >- this.each(function() { >- var instance = instances[$.data(this, "jstree_instance_id")], >- methodValue = (instance && $.isFunction(instance[settings])) ? instance[settings].apply(instance, args) : instance; >- if(typeof methodValue !== "undefined" && (settings.indexOf("is_") === 0 || (methodValue !== true && methodValue !== false))) { returnValue = methodValue; return false; } >- }); >- } >- else { >- this.each(function() { >- // extend settings and allow for multiple hashes and $.data >- var instance_id = $.data(this, "jstree_instance_id"), >- a = [], >- b = settings ? $.extend({}, true, settings) : {}, >- c = $(this), >- s = false, >- t = []; >- a = a.concat(args); >- if(c.data("jstree")) { a.push(c.data("jstree")); } >- b = a.length ? $.extend.apply(null, [true, b].concat(a)) : b; >- >- // if an instance already exists, destroy it first >- if(typeof instance_id !== "undefined" && instances[instance_id]) { instances[instance_id].destroy(); } >- // push a new empty object to the instances array >- instance_id = parseInt(instances.push({}),10) - 1; >- // store the jstree instance id to the container element >- $.data(this, "jstree_instance_id", instance_id); >- // clean up all plugins >- b.plugins = $.isArray(b.plugins) ? b.plugins : $.jstree.defaults.plugins.slice(); >- b.plugins.unshift("core"); >- // only unique plugins >- b.plugins = b.plugins.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(","); >- >- // extend defaults with passed data >- s = $.extend(true, {}, $.jstree.defaults, b); >- s.plugins = b.plugins; >- $.each(plugins, function (i, val) { >- if($.inArray(i, s.plugins) === -1) { s[i] = null; delete s[i]; } >- else { t.push(i); } >- }); >- s.plugins = t; >- >- // push the new object to the instances array (at the same time set the default classes to the container) and init >- instances[instance_id] = new $.jstree._instance(instance_id, $(this).addClass("jstree jstree-" + instance_id), s); >- // init all activated plugins for this instance >- $.each(instances[instance_id]._get_settings().plugins, function (i, val) { instances[instance_id].data[val] = {}; }); >- $.each(instances[instance_id]._get_settings().plugins, function (i, val) { if(plugins[val]) { plugins[val].__init.apply(instances[instance_id]); } }); >- // initialize the instance >- setTimeout(function() { if(instances[instance_id]) { instances[instance_id].init(); } }, 0); >- }); >- } >- // return the jquery selection (or if it was a method call that returned a value - the returned value) >- return returnValue; >- }; >- // object to store exposed functions and objects >- $.jstree = { >- defaults : { >- plugins : [] >- }, >- _focused : function () { return instances[focused_instance] || null; }, >- _reference : function (needle) { >- // get by instance id >- if(instances[needle]) { return instances[needle]; } >- // get by DOM (if still no luck - return null >- var o = $(needle); >- if(!o.length && typeof needle === "string") { o = $("#" + needle); } >- if(!o.length) { return null; } >- return instances[o.closest(".jstree").data("jstree_instance_id")] || null; >- }, >- _instance : function (index, container, settings) { >- // for plugins to store data in >- this.data = { core : {} }; >- this.get_settings = function () { return $.extend(true, {}, settings); }; >- this._get_settings = function () { return settings; }; >- this.get_index = function () { return index; }; >- this.get_container = function () { return container; }; >- this.get_container_ul = function () { return container.children("ul:eq(0)"); }; >- this._set_settings = function (s) { >- settings = $.extend(true, {}, settings, s); >- }; >- }, >- _fn : { }, >- plugin : function (pname, pdata) { >- pdata = $.extend({}, { >- __init : $.noop, >- __destroy : $.noop, >- _fn : {}, >- defaults : false >- }, pdata); >- plugins[pname] = pdata; >- >- $.jstree.defaults[pname] = pdata.defaults; >- $.each(pdata._fn, function (i, val) { >- val.plugin = pname; >- val.old = $.jstree._fn[i]; >- $.jstree._fn[i] = function () { >- var rslt, >- func = val, >- args = Array.prototype.slice.call(arguments), >- evnt = new $.Event("before.jstree"), >- rlbk = false; >- >- if(this.data.core.locked === true && i !== "unlock" && i !== "is_locked") { return; } >- >- // Check if function belongs to the included plugins of this instance >- do { >- if(func && func.plugin && $.inArray(func.plugin, this._get_settings().plugins) !== -1) { break; } >- func = func.old; >- } while(func); >- if(!func) { return; } >- >- // context and function to trigger events, then finally call the function >- if(i.indexOf("_") === 0) { >- rslt = func.apply(this, args); >- } >- else { >- rslt = this.get_container().triggerHandler(evnt, { "func" : i, "inst" : this, "args" : args, "plugin" : func.plugin }); >- if(rslt === false) { return; } >- if(typeof rslt !== "undefined") { args = rslt; } >- >- rslt = func.apply( >- $.extend({}, this, { >- __callback : function (data) { >- this.get_container().triggerHandler( i + '.jstree', { "inst" : this, "args" : args, "rslt" : data, "rlbk" : rlbk }); >- }, >- __rollback : function () { >- rlbk = this.get_rollback(); >- return rlbk; >- }, >- __call_old : function (replace_arguments) { >- return func.old.apply(this, (replace_arguments ? Array.prototype.slice.call(arguments, 1) : args ) ); >- } >- }), args); >- } >- >- // return the result >- return rslt; >- }; >- $.jstree._fn[i].old = val.old; >- $.jstree._fn[i].plugin = pname; >- }); >- }, >- rollback : function (rb) { >- if(rb) { >- if(!$.isArray(rb)) { rb = [ rb ]; } >- $.each(rb, function (i, val) { >- instances[val.i].set_rollback(val.h, val.d); >- }); >- } >- } >- }; >- // set the prototype for all instances >- $.jstree._fn = $.jstree._instance.prototype = {}; >- >- // load the css when DOM is ready >- $(function() { >- // code is copied from jQuery ($.browser is deprecated + there is a bug in IE) >- var u = navigator.userAgent.toLowerCase(), >- v = (u.match( /.+?(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1], >- css_string = '' + >- '.jstree ul, .jstree li { display:block; margin:0 0 0 0; padding:0 0 0 0; list-style-type:none; } ' + >- '.jstree li { display:block; min-height:18px; line-height:18px; white-space:nowrap; margin-left:18px; min-width:18px; } ' + >- '.jstree-rtl li { margin-left:0; margin-right:18px; } ' + >- '.jstree > ul > li { margin-left:0px; } ' + >- '.jstree-rtl > ul > li { margin-right:0px; } ' + >- '.jstree ins { display:inline-block; text-decoration:none; width:18px; height:18px; margin:0 0 0 0; padding:0; } ' + >- '.jstree a { display:inline-block; line-height:16px; height:16px; color:black; white-space:nowrap; text-decoration:none; padding:1px 2px; margin:0; } ' + >- '.jstree a:focus { outline: none; } ' + >- '.jstree a > ins { height:16px; width:16px; } ' + >- '.jstree a > .jstree-icon { margin-right:3px; } ' + >- '.jstree-rtl a > .jstree-icon { margin-left:3px; margin-right:0; } ' + >- 'li.jstree-open > ul { display:block; } ' + >- 'li.jstree-closed > ul { display:none; } '; >- // Correct IE 6 (does not support the > CSS selector) >- if(/msie/.test(u) && parseInt(v, 10) == 6) { >- is_ie6 = true; >- >- // fix image flicker and lack of caching >- try { >- document.execCommand("BackgroundImageCache", false, true); >- } catch (err) { } >- >- css_string += '' + >- '.jstree li { height:18px; margin-left:0; margin-right:0; } ' + >- '.jstree li li { margin-left:18px; } ' + >- '.jstree-rtl li li { margin-left:0px; margin-right:18px; } ' + >- 'li.jstree-open ul { display:block; } ' + >- 'li.jstree-closed ul { display:none !important; } ' + >- '.jstree li a { display:inline; border-width:0 !important; padding:0px 2px !important; } ' + >- '.jstree li a ins { height:16px; width:16px; margin-right:3px; } ' + >- '.jstree-rtl li a ins { margin-right:0px; margin-left:3px; } '; >- } >- // Correct IE 7 (shifts anchor nodes onhover) >- if(/msie/.test(u) && parseInt(v, 10) == 7) { >- is_ie7 = true; >- css_string += '.jstree li a { border-width:0 !important; padding:0px 2px !important; } '; >- } >- // correct ff2 lack of display:inline-block >- if(!/compatible/.test(u) && /mozilla/.test(u) && parseFloat(v, 10) < 1.9) { >- is_ff2 = true; >- css_string += '' + >- '.jstree ins { display:-moz-inline-box; } ' + >- '.jstree li { line-height:12px; } ' + // WHY?? >- '.jstree a { display:-moz-inline-box; } ' + >- '.jstree .jstree-no-icons .jstree-checkbox { display:-moz-inline-stack !important; } '; >- /* this shouldn't be here as it is theme specific */ >- } >- // the default stylesheet >- $.vakata.css.add_sheet({ str : css_string, title : "jstree" }); >- }); >- >- // core functions (open, close, create, update, delete) >- $.jstree.plugin("core", { >- __init : function () { >- this.data.core.locked = false; >- this.data.core.to_open = this.get_settings().core.initially_open; >- this.data.core.to_load = this.get_settings().core.initially_load; >- }, >- defaults : { >- html_titles : false, >- animation : 500, >- initially_open : [], >- initially_load : [], >- open_parents : true, >- notify_plugins : true, >- rtl : false, >- load_open : false, >- strings : { >- loading : "Loading ...", >- new_node : "New node", >- multiple_selection : "Multiple selection" >- } >- }, >- _fn : { >- init : function () { >- this.set_focus(); >- if(this._get_settings().core.rtl) { >- this.get_container().addClass("jstree-rtl").css("direction", "rtl"); >- } >- this.get_container().html("<ul><li class='jstree-last jstree-leaf'><ins> </ins><a class='jstree-loading' href='#'><ins class='jstree-icon'> </ins>" + this._get_string("loading") + "</a></li></ul>"); >- this.data.core.li_height = this.get_container_ul().find("li.jstree-closed, li.jstree-leaf").eq(0).height() || 18; >- >- this.get_container() >- .delegate("li > ins", "click.jstree", $.proxy(function (event) { >- var trgt = $(event.target); >- // if(trgt.is("ins") && event.pageY - trgt.offset().top < this.data.core.li_height) { this.toggle_node(trgt); } >- this.toggle_node(trgt); >- }, this)) >- .bind("mousedown.jstree", $.proxy(function () { >- this.set_focus(); // This used to be setTimeout(set_focus,0) - why? >- }, this)) >- .bind("dblclick.jstree", function (event) { >- var sel; >- if(document.selection && document.selection.empty) { document.selection.empty(); } >- else { >- if(window.getSelection) { >- sel = window.getSelection(); >- try { >- sel.removeAllRanges(); >- sel.collapse(); >- } catch (err) { } >- } >- } >- }); >- if(this._get_settings().core.notify_plugins) { >- this.get_container() >- .bind("load_node.jstree", $.proxy(function (e, data) { >- var o = this._get_node(data.rslt.obj), >- t = this; >- if(o === -1) { o = this.get_container_ul(); } >- if(!o.length) { return; } >- o.find("li").each(function () { >- var th = $(this); >- if(th.data("jstree")) { >- $.each(th.data("jstree"), function (plugin, values) { >- if(t.data[plugin] && $.isFunction(t["_" + plugin + "_notify"])) { >- t["_" + plugin + "_notify"].call(t, th, values); >- } >- }); >- } >- }); >- }, this)); >- } >- if(this._get_settings().core.load_open) { >- this.get_container() >- .bind("load_node.jstree", $.proxy(function (e, data) { >- var o = this._get_node(data.rslt.obj), >- t = this; >- if(o === -1) { o = this.get_container_ul(); } >- if(!o.length) { return; } >- o.find("li.jstree-open:not(:has(ul))").each(function () { >- t.load_node(this, $.noop, $.noop); >- }); >- }, this)); >- } >- this.__callback(); >- this.load_node(-1, function () { this.loaded(); this.reload_nodes(); }); >- }, >- destroy : function () { >- var i, >- n = this.get_index(), >- s = this._get_settings(), >- _this = this; >- >- $.each(s.plugins, function (i, val) { >- try { plugins[val].__destroy.apply(_this); } catch(err) { } >- }); >- this.__callback(); >- // set focus to another instance if this one is focused >- if(this.is_focused()) { >- for(i in instances) { >- if(instances.hasOwnProperty(i) && i != n) { >- instances[i].set_focus(); >- break; >- } >- } >- } >- // if no other instance found >- if(n === focused_instance) { focused_instance = -1; } >- // remove all traces of jstree in the DOM (only the ones set using jstree*) and cleans all events >- this.get_container() >- .unbind(".jstree") >- .undelegate(".jstree") >- .removeData("jstree_instance_id") >- .find("[class^='jstree']") >- .andSelf() >- .attr("class", function () { return this.className.replace(/jstree[^ ]*|$/ig,''); }); >- $(document) >- .unbind(".jstree-" + n) >- .undelegate(".jstree-" + n); >- // remove the actual data >- instances[n] = null; >- delete instances[n]; >- }, >- >- _core_notify : function (n, data) { >- if(data.opened) { >- this.open_node(n, false, true); >- } >- }, >- >- lock : function () { >- this.data.core.locked = true; >- this.get_container().children("ul").addClass("jstree-locked").css("opacity","0.7"); >- this.__callback({}); >- }, >- unlock : function () { >- this.data.core.locked = false; >- this.get_container().children("ul").removeClass("jstree-locked").css("opacity","1"); >- this.__callback({}); >- }, >- is_locked : function () { return this.data.core.locked; }, >- save_opened : function () { >- var _this = this; >- this.data.core.to_open = []; >- this.get_container_ul().find("li.jstree-open").each(function () { >- if(this.id) { _this.data.core.to_open.push("#" + this.id.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:")); } >- }); >- this.__callback(_this.data.core.to_open); >- }, >- save_loaded : function () { }, >- reload_nodes : function (is_callback) { >- var _this = this, >- done = true, >- current = [], >- remaining = []; >- if(!is_callback) { >- this.data.core.reopen = false; >- this.data.core.refreshing = true; >- this.data.core.to_open = $.map($.makeArray(this.data.core.to_open), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); }); >- this.data.core.to_load = $.map($.makeArray(this.data.core.to_load), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); }); >- if(this.data.core.to_open.length) { >- this.data.core.to_load = this.data.core.to_load.concat(this.data.core.to_open); >- } >- } >- if(this.data.core.to_load.length) { >- $.each(this.data.core.to_load, function (i, val) { >- if(val == "#") { return true; } >- if($(val).length) { current.push(val); } >- else { remaining.push(val); } >- }); >- if(current.length) { >- this.data.core.to_load = remaining; >- $.each(current, function (i, val) { >- if(!_this._is_loaded(val)) { >- _this.load_node(val, function () { _this.reload_nodes(true); }, function () { _this.reload_nodes(true); }); >- done = false; >- } >- }); >- } >- } >- if(this.data.core.to_open.length) { >- $.each(this.data.core.to_open, function (i, val) { >- _this.open_node(val, false, true); >- }); >- } >- if(done) { >- // TODO: find a more elegant approach to syncronizing returning requests >- if(this.data.core.reopen) { clearTimeout(this.data.core.reopen); } >- this.data.core.reopen = setTimeout(function () { _this.__callback({}, _this); }, 50); >- this.data.core.refreshing = false; >- this.reopen(); >- } >- }, >- reopen : function () { >- var _this = this; >- if(this.data.core.to_open.length) { >- $.each(this.data.core.to_open, function (i, val) { >- _this.open_node(val, false, true); >- }); >- } >- this.__callback({}); >- }, >- refresh : function (obj) { >- var _this = this; >- this.save_opened(); >- if(!obj) { obj = -1; } >- obj = this._get_node(obj); >- if(!obj) { obj = -1; } >- if(obj !== -1) { obj.children("UL").remove(); } >- else { this.get_container_ul().empty(); } >- this.load_node(obj, function () { _this.__callback({ "obj" : obj}); _this.reload_nodes(); }); >- }, >- // Dummy function to fire after the first load (so that there is a jstree.loaded event) >- loaded : function () { >- this.__callback(); >- }, >- // deal with focus >- set_focus : function () { >- if(this.is_focused()) { return; } >- var f = $.jstree._focused(); >- if(f) { f.unset_focus(); } >- >- this.get_container().addClass("jstree-focused"); >- focused_instance = this.get_index(); >- this.__callback(); >- }, >- is_focused : function () { >- return focused_instance == this.get_index(); >- }, >- unset_focus : function () { >- if(this.is_focused()) { >- this.get_container().removeClass("jstree-focused"); >- focused_instance = -1; >- } >- this.__callback(); >- }, >- >- // traverse >- _get_node : function (obj) { >- var $obj = $(obj, this.get_container()); >- if($obj.is(".jstree") || obj == -1) { return -1; } >- $obj = $obj.closest("li", this.get_container()); >- return $obj.length ? $obj : false; >- }, >- _get_next : function (obj, strict) { >- obj = this._get_node(obj); >- if(obj === -1) { return this.get_container().find("> ul > li:first-child"); } >- if(!obj.length) { return false; } >- if(strict) { return (obj.nextAll("li").size() > 0) ? obj.nextAll("li:eq(0)") : false; } >- >- if(obj.hasClass("jstree-open")) { return obj.find("li:eq(0)"); } >- else if(obj.nextAll("li").size() > 0) { return obj.nextAll("li:eq(0)"); } >- else { return obj.parentsUntil(".jstree","li").next("li").eq(0); } >- }, >- _get_prev : function (obj, strict) { >- obj = this._get_node(obj); >- if(obj === -1) { return this.get_container().find("> ul > li:last-child"); } >- if(!obj.length) { return false; } >- if(strict) { return (obj.prevAll("li").length > 0) ? obj.prevAll("li:eq(0)") : false; } >- >- if(obj.prev("li").length) { >- obj = obj.prev("li").eq(0); >- while(obj.hasClass("jstree-open")) { obj = obj.children("ul:eq(0)").children("li:last"); } >- return obj; >- } >- else { var o = obj.parentsUntil(".jstree","li:eq(0)"); return o.length ? o : false; } >- }, >- _get_parent : function (obj) { >- obj = this._get_node(obj); >- if(obj == -1 || !obj.length) { return false; } >- var o = obj.parentsUntil(".jstree", "li:eq(0)"); >- return o.length ? o : -1; >- }, >- _get_children : function (obj) { >- obj = this._get_node(obj); >- if(obj === -1) { return this.get_container().children("ul:eq(0)").children("li"); } >- if(!obj.length) { return false; } >- return obj.children("ul:eq(0)").children("li"); >- }, >- get_path : function (obj, id_mode) { >- var p = [], >- _this = this; >- obj = this._get_node(obj); >- if(obj === -1 || !obj || !obj.length) { return false; } >- obj.parentsUntil(".jstree", "li").each(function () { >- p.push( id_mode ? this.id : _this.get_text(this) ); >- }); >- p.reverse(); >- p.push( id_mode ? obj.attr("id") : this.get_text(obj) ); >- return p; >- }, >- >- // string functions >- _get_string : function (key) { >- return this._get_settings().core.strings[key] || key; >- }, >- >- is_open : function (obj) { obj = this._get_node(obj); return obj && obj !== -1 && obj.hasClass("jstree-open"); }, >- is_closed : function (obj) { obj = this._get_node(obj); return obj && obj !== -1 && obj.hasClass("jstree-closed"); }, >- is_leaf : function (obj) { obj = this._get_node(obj); return obj && obj !== -1 && obj.hasClass("jstree-leaf"); }, >- correct_state : function (obj) { >- obj = this._get_node(obj); >- if(!obj || obj === -1) { return false; } >- obj.removeClass("jstree-closed jstree-open").addClass("jstree-leaf").children("ul").remove(); >- this.__callback({ "obj" : obj }); >- }, >- // open/close >- open_node : function (obj, callback, skip_animation) { >- obj = this._get_node(obj); >- if(!obj.length) { return false; } >- if(!obj.hasClass("jstree-closed")) { if(callback) { callback.call(); } return false; } >- var s = skip_animation || is_ie6 ? 0 : this._get_settings().core.animation, >- t = this; >- if(!this._is_loaded(obj)) { >- obj.children("a").addClass("jstree-loading"); >- this.load_node(obj, function () { t.open_node(obj, callback, skip_animation); }, callback); >- } >- else { >- if(this._get_settings().core.open_parents) { >- obj.parentsUntil(".jstree",".jstree-closed").each(function () { >- t.open_node(this, false, true); >- }); >- } >- if(s) { obj.children("ul").css("display","none"); } >- obj.removeClass("jstree-closed").addClass("jstree-open").children("a").removeClass("jstree-loading"); >- if(s) { obj.children("ul").stop(true, true).slideDown(s, function () { this.style.display = ""; t.after_open(obj); }); } >- else { t.after_open(obj); } >- this.__callback({ "obj" : obj }); >- if(callback) { callback.call(); } >- } >- }, >- after_open : function (obj) { this.__callback({ "obj" : obj }); }, >- close_node : function (obj, skip_animation) { >- obj = this._get_node(obj); >- var s = skip_animation || is_ie6 ? 0 : this._get_settings().core.animation, >- t = this; >- if(!obj.length || !obj.hasClass("jstree-open")) { return false; } >- if(s) { obj.children("ul").attr("style","display:block !important"); } >- obj.removeClass("jstree-open").addClass("jstree-closed"); >- if(s) { obj.children("ul").stop(true, true).slideUp(s, function () { this.style.display = ""; t.after_close(obj); }); } >- else { t.after_close(obj); } >- this.__callback({ "obj" : obj }); >- }, >- after_close : function (obj) { this.__callback({ "obj" : obj }); }, >- toggle_node : function (obj) { >- obj = this._get_node(obj); >- if(obj.hasClass("jstree-closed")) { return this.open_node(obj); } >- if(obj.hasClass("jstree-open")) { return this.close_node(obj); } >- }, >- open_all : function (obj, do_animation, original_obj) { >- obj = obj ? this._get_node(obj) : -1; >- if(!obj || obj === -1) { obj = this.get_container_ul(); } >- if(original_obj) { >- obj = obj.find("li.jstree-closed"); >- } >- else { >- original_obj = obj; >- if(obj.is(".jstree-closed")) { obj = obj.find("li.jstree-closed").andSelf(); } >- else { obj = obj.find("li.jstree-closed"); } >- } >- var _this = this; >- obj.each(function () { >- var __this = this; >- if(!_this._is_loaded(this)) { _this.open_node(this, function() { _this.open_all(__this, do_animation, original_obj); }, !do_animation); } >- else { _this.open_node(this, false, !do_animation); } >- }); >- // so that callback is fired AFTER all nodes are open >- if(original_obj.find('li.jstree-closed').length === 0) { this.__callback({ "obj" : original_obj }); } >- }, >- close_all : function (obj, do_animation) { >- var _this = this; >- obj = obj ? this._get_node(obj) : this.get_container(); >- if(!obj || obj === -1) { obj = this.get_container_ul(); } >- obj.find("li.jstree-open").andSelf().each(function () { _this.close_node(this, !do_animation); }); >- this.__callback({ "obj" : obj }); >- }, >- clean_node : function (obj) { >- obj = obj && obj != -1 ? $(obj) : this.get_container_ul(); >- obj = obj.is("li") ? obj.find("li").andSelf() : obj.find("li"); >- obj.removeClass("jstree-last") >- .filter("li:last-child").addClass("jstree-last").end() >- .filter(":has(li)") >- .not(".jstree-open").removeClass("jstree-leaf").addClass("jstree-closed"); >- obj.not(".jstree-open, .jstree-closed").addClass("jstree-leaf").children("ul").remove(); >- this.__callback({ "obj" : obj }); >- }, >- // rollback >- get_rollback : function () { >- this.__callback(); >- return { i : this.get_index(), h : this.get_container().children("ul").clone(true), d : this.data }; >- }, >- set_rollback : function (html, data) { >- this.get_container().empty().append(html); >- this.data = data; >- this.__callback(); >- }, >- // Dummy functions to be overwritten by any datastore plugin included >- load_node : function (obj, s_call, e_call) { this.__callback({ "obj" : obj }); }, >- _is_loaded : function (obj) { return true; }, >- >- // Basic operations: create >- create_node : function (obj, position, js, callback, is_loaded) { >- obj = this._get_node(obj); >- position = typeof position === "undefined" ? "last" : position; >- var d = $("<li />"), >- s = this._get_settings().core, >- tmp; >- >- if(obj !== -1 && !obj.length) { return false; } >- if(!is_loaded && !this._is_loaded(obj)) { this.load_node(obj, function () { this.create_node(obj, position, js, callback, true); }); return false; } >- >- this.__rollback(); >- >- if(typeof js === "string") { js = { "data" : js }; } >- if(!js) { js = {}; } >- if(js.attr) { d.attr(js.attr); } >- if(js.metadata) { d.data(js.metadata); } >- if(js.state) { d.addClass("jstree-" + js.state); } >- if(!js.data) { js.data = this._get_string("new_node"); } >- if(!$.isArray(js.data)) { tmp = js.data; js.data = []; js.data.push(tmp); } >- $.each(js.data, function (i, m) { >- tmp = $("<a />"); >- if($.isFunction(m)) { m = m.call(this, js); } >- if(typeof m == "string") { tmp.attr('href','#')[ s.html_titles ? "html" : "text" ](m); } >- else { >- if(!m.attr) { m.attr = {}; } >- if(!m.attr.href) { m.attr.href = '#'; } >- tmp.attr(m.attr)[ s.html_titles ? "html" : "text" ](m.title); >- if(m.language) { tmp.addClass(m.language); } >- } >- tmp.prepend("<ins class='jstree-icon'> </ins>"); >- if(!m.icon && js.icon) { m.icon = js.icon; } >- if(m.icon) { >- if(m.icon.indexOf("/") === -1) { tmp.children("ins").addClass(m.icon); } >- else { tmp.children("ins").css("background","url('" + m.icon + "') center center no-repeat"); } >- } >- d.append(tmp); >- }); >- d.prepend("<ins class='jstree-icon'> </ins>"); >- if(obj === -1) { >- obj = this.get_container(); >- if(position === "before") { position = "first"; } >- if(position === "after") { position = "last"; } >- } >- switch(position) { >- case "before": obj.before(d); tmp = this._get_parent(obj); break; >- case "after" : obj.after(d); tmp = this._get_parent(obj); break; >- case "inside": >- case "first" : >- if(!obj.children("ul").length) { obj.append("<ul />"); } >- obj.children("ul").prepend(d); >- tmp = obj; >- break; >- case "last": >- if(!obj.children("ul").length) { obj.append("<ul />"); } >- obj.children("ul").append(d); >- tmp = obj; >- break; >- default: >- if(!obj.children("ul").length) { obj.append("<ul />"); } >- if(!position) { position = 0; } >- tmp = obj.children("ul").children("li").eq(position); >- if(tmp.length) { tmp.before(d); } >- else { obj.children("ul").append(d); } >- tmp = obj; >- break; >- } >- if(tmp === -1 || tmp.get(0) === this.get_container().get(0)) { tmp = -1; } >- this.clean_node(tmp); >- this.__callback({ "obj" : d, "parent" : tmp }); >- if(callback) { callback.call(this, d); } >- return d; >- }, >- // Basic operations: rename (deal with text) >- get_text : function (obj) { >- obj = this._get_node(obj); >- if(!obj.length) { return false; } >- var s = this._get_settings().core.html_titles; >- obj = obj.children("a:eq(0)"); >- if(s) { >- obj = obj.clone(); >- obj.children("INS").remove(); >- return obj.html(); >- } >- else { >- obj = obj.contents().filter(function() { return this.nodeType == 3; })[0]; >- return obj.nodeValue; >- } >- }, >- set_text : function (obj, val) { >- obj = this._get_node(obj); >- if(!obj.length) { return false; } >- obj = obj.children("a:eq(0)"); >- if(this._get_settings().core.html_titles) { >- var tmp = obj.children("INS").clone(); >- obj.html(val).prepend(tmp); >- this.__callback({ "obj" : obj, "name" : val }); >- return true; >- } >- else { >- obj = obj.contents().filter(function() { return this.nodeType == 3; })[0]; >- this.__callback({ "obj" : obj, "name" : val }); >- return (obj.nodeValue = val); >- } >- }, >- rename_node : function (obj, val) { >- obj = this._get_node(obj); >- this.__rollback(); >- if(obj && obj.length && this.set_text.apply(this, Array.prototype.slice.call(arguments))) { this.__callback({ "obj" : obj, "name" : val }); } >- }, >- // Basic operations: deleting nodes >- delete_node : function (obj) { >- obj = this._get_node(obj); >- if(!obj.length) { return false; } >- this.__rollback(); >- var p = this._get_parent(obj), prev = $([]), t = this; >- obj.each(function () { >- prev = prev.add(t._get_prev(this)); >- }); >- obj = obj.detach(); >- if(p !== -1 && p.find("> ul > li").length === 0) { >- p.removeClass("jstree-open jstree-closed").addClass("jstree-leaf"); >- } >- this.clean_node(p); >- this.__callback({ "obj" : obj, "prev" : prev, "parent" : p }); >- return obj; >- }, >- prepare_move : function (o, r, pos, cb, is_cb) { >- var p = {}; >- >- p.ot = $.jstree._reference(o) || this; >- p.o = p.ot._get_node(o); >- p.r = r === - 1 ? -1 : this._get_node(r); >- p.p = (typeof pos === "undefined" || pos === false) ? "last" : pos; // TODO: move to a setting >- if(!is_cb && prepared_move.o && prepared_move.o[0] === p.o[0] && prepared_move.r[0] === p.r[0] && prepared_move.p === p.p) { >- this.__callback(prepared_move); >- if(cb) { cb.call(this, prepared_move); } >- return; >- } >- p.ot = $.jstree._reference(p.o) || this; >- p.rt = $.jstree._reference(p.r) || this; // r === -1 ? p.ot : $.jstree._reference(p.r) || this >- if(p.r === -1 || !p.r) { >- p.cr = -1; >- switch(p.p) { >- case "first": >- case "before": >- case "inside": >- p.cp = 0; >- break; >- case "after": >- case "last": >- p.cp = p.rt.get_container().find(" > ul > li").length; >- break; >- default: >- p.cp = p.p; >- break; >- } >- } >- else { >- if(!/^(before|after)$/.test(p.p) && !this._is_loaded(p.r)) { >- return this.load_node(p.r, function () { this.prepare_move(o, r, pos, cb, true); }); >- } >- switch(p.p) { >- case "before": >- p.cp = p.r.index(); >- p.cr = p.rt._get_parent(p.r); >- break; >- case "after": >- p.cp = p.r.index() + 1; >- p.cr = p.rt._get_parent(p.r); >- break; >- case "inside": >- case "first": >- p.cp = 0; >- p.cr = p.r; >- break; >- case "last": >- p.cp = p.r.find(" > ul > li").length; >- p.cr = p.r; >- break; >- default: >- p.cp = p.p; >- p.cr = p.r; >- break; >- } >- } >- p.np = p.cr == -1 ? p.rt.get_container() : p.cr; >- p.op = p.ot._get_parent(p.o); >- p.cop = p.o.index(); >- if(p.op === -1) { p.op = p.ot ? p.ot.get_container() : this.get_container(); } >- if(!/^(before|after)$/.test(p.p) && p.op && p.np && p.op[0] === p.np[0] && p.o.index() < p.cp) { p.cp++; } >- //if(p.p === "before" && p.op && p.np && p.op[0] === p.np[0] && p.o.index() < p.cp) { p.cp--; } >- p.or = p.np.find(" > ul > li:nth-child(" + (p.cp + 1) + ")"); >- prepared_move = p; >- this.__callback(prepared_move); >- if(cb) { cb.call(this, prepared_move); } >- }, >- check_move : function () { >- var obj = prepared_move, ret = true, r = obj.r === -1 ? this.get_container() : obj.r; >- if(!obj || !obj.o || obj.or[0] === obj.o[0]) { return false; } >- if(obj.op && obj.np && obj.op[0] === obj.np[0] && obj.cp - 1 === obj.o.index()) { return false; } >- obj.o.each(function () { >- if(r.parentsUntil(".jstree", "li").andSelf().index(this) !== -1) { ret = false; return false; } >- }); >- return ret; >- }, >- move_node : function (obj, ref, position, is_copy, is_prepared, skip_check) { >- if(!is_prepared) { >- return this.prepare_move(obj, ref, position, function (p) { >- this.move_node(p, false, false, is_copy, true, skip_check); >- }); >- } >- if(is_copy) { >- prepared_move.cy = true; >- } >- if(!skip_check && !this.check_move()) { return false; } >- >- this.__rollback(); >- var o = false; >- if(is_copy) { >- o = obj.o.clone(true); >- o.find("*[id]").andSelf().each(function () { >- if(this.id) { this.id = "copy_" + this.id; } >- }); >- } >- else { o = obj.o; } >- >- if(obj.or.length) { obj.or.before(o); } >- else { >- if(!obj.np.children("ul").length) { $("<ul />").appendTo(obj.np); } >- obj.np.children("ul:eq(0)").append(o); >- } >- >- try { >- obj.ot.clean_node(obj.op); >- obj.rt.clean_node(obj.np); >- if(!obj.op.find("> ul > li").length) { >- obj.op.removeClass("jstree-open jstree-closed").addClass("jstree-leaf").children("ul").remove(); >- } >- } catch (e) { } >- >- if(is_copy) { >- prepared_move.cy = true; >- prepared_move.oc = o; >- } >- this.__callback(prepared_move); >- return prepared_move; >- }, >- _get_move : function () { return prepared_move; } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree ui plugin >- * This plugins handles selecting/deselecting/hovering/dehovering nodes >- */ >-(function ($) { >- var scrollbar_width, e1, e2; >- $(function() { >- if (/msie/.test(navigator.userAgent.toLowerCase())) { >- e1 = $('<textarea cols="10" rows="2"></textarea>').css({ position: 'absolute', top: -1000, left: 0 }).appendTo('body'); >- e2 = $('<textarea cols="10" rows="2" style="overflow: hidden;"></textarea>').css({ position: 'absolute', top: -1000, left: 0 }).appendTo('body'); >- scrollbar_width = e1.width() - e2.width(); >- e1.add(e2).remove(); >- } >- else { >- e1 = $('<div />').css({ width: 100, height: 100, overflow: 'auto', position: 'absolute', top: -1000, left: 0 }) >- .prependTo('body').append('<div />').find('div').css({ width: '100%', height: 200 }); >- scrollbar_width = 100 - e1.width(); >- e1.parent().remove(); >- } >- }); >- $.jstree.plugin("ui", { >- __init : function () { >- this.data.ui.selected = $(); >- this.data.ui.last_selected = false; >- this.data.ui.hovered = null; >- this.data.ui.to_select = this.get_settings().ui.initially_select; >- >- this.get_container() >- .delegate("a", "click.jstree", $.proxy(function (event) { >- event.preventDefault(); >- event.currentTarget.blur(); >- if(!$(event.currentTarget).hasClass("jstree-loading")) { >- this.select_node(event.currentTarget, true, event); >- } >- }, this)) >- .delegate("a", "mouseenter.jstree", $.proxy(function (event) { >- if(!$(event.currentTarget).hasClass("jstree-loading")) { >- this.hover_node(event.target); >- } >- }, this)) >- .delegate("a", "mouseleave.jstree", $.proxy(function (event) { >- if(!$(event.currentTarget).hasClass("jstree-loading")) { >- this.dehover_node(event.target); >- } >- }, this)) >- .bind("reopen.jstree", $.proxy(function () { >- this.reselect(); >- }, this)) >- .bind("get_rollback.jstree", $.proxy(function () { >- this.dehover_node(); >- this.save_selected(); >- }, this)) >- .bind("set_rollback.jstree", $.proxy(function () { >- this.reselect(); >- }, this)) >- .bind("close_node.jstree", $.proxy(function (event, data) { >- var s = this._get_settings().ui, >- obj = this._get_node(data.rslt.obj), >- clk = (obj && obj.length) ? obj.children("ul").find("a.jstree-clicked") : $(), >- _this = this; >- if(s.selected_parent_close === false || !clk.length) { return; } >- clk.each(function () { >- _this.deselect_node(this); >- if(s.selected_parent_close === "select_parent") { _this.select_node(obj); } >- }); >- }, this)) >- .bind("delete_node.jstree", $.proxy(function (event, data) { >- var s = this._get_settings().ui.select_prev_on_delete, >- obj = this._get_node(data.rslt.obj), >- clk = (obj && obj.length) ? obj.find("a.jstree-clicked") : [], >- _this = this; >- clk.each(function () { _this.deselect_node(this); }); >- if(s && clk.length) { >- data.rslt.prev.each(function () { >- if(this.parentNode) { _this.select_node(this); return false; /* if return false is removed all prev nodes will be selected */} >- }); >- } >- }, this)) >- .bind("move_node.jstree", $.proxy(function (event, data) { >- if(data.rslt.cy) { >- data.rslt.oc.find("a.jstree-clicked").removeClass("jstree-clicked"); >- } >- }, this)); >- }, >- defaults : { >- select_limit : -1, // 0, 1, 2 ... or -1 for unlimited >- select_multiple_modifier : "ctrl", // on, or ctrl, shift, alt >- select_range_modifier : "shift", >- selected_parent_close : "select_parent", // false, "deselect", "select_parent" >- selected_parent_open : true, >- select_prev_on_delete : true, >- disable_selecting_children : false, >- initially_select : [] >- }, >- _fn : { >- _get_node : function (obj, allow_multiple) { >- if(typeof obj === "undefined" || obj === null) { return allow_multiple ? this.data.ui.selected : this.data.ui.last_selected; } >- var $obj = $(obj, this.get_container()); >- if($obj.is(".jstree") || obj == -1) { return -1; } >- $obj = $obj.closest("li", this.get_container()); >- return $obj.length ? $obj : false; >- }, >- _ui_notify : function (n, data) { >- if(data.selected) { >- this.select_node(n, false); >- } >- }, >- save_selected : function () { >- var _this = this; >- this.data.ui.to_select = []; >- this.data.ui.selected.each(function () { if(this.id) { _this.data.ui.to_select.push("#" + this.id.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:")); } }); >- this.__callback(this.data.ui.to_select); >- }, >- reselect : function () { >- var _this = this, >- s = this.data.ui.to_select; >- s = $.map($.makeArray(s), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); }); >- // this.deselect_all(); WHY deselect, breaks plugin state notifier? >- $.each(s, function (i, val) { if(val && val !== "#") { _this.select_node(val); } }); >- this.data.ui.selected = this.data.ui.selected.filter(function () { return this.parentNode; }); >- this.__callback(); >- }, >- refresh : function (obj) { >- this.save_selected(); >- return this.__call_old(); >- }, >- hover_node : function (obj) { >- obj = this._get_node(obj); >- if(!obj.length) { return false; } >- //if(this.data.ui.hovered && obj.get(0) === this.data.ui.hovered.get(0)) { return; } >- if(!obj.hasClass("jstree-hovered")) { this.dehover_node(); } >- this.data.ui.hovered = obj.children("a").addClass("jstree-hovered").parent(); >- this._fix_scroll(obj); >- this.__callback({ "obj" : obj }); >- }, >- dehover_node : function () { >- var obj = this.data.ui.hovered, p; >- if(!obj || !obj.length) { return false; } >- p = obj.children("a").removeClass("jstree-hovered").parent(); >- if(this.data.ui.hovered[0] === p[0]) { this.data.ui.hovered = null; } >- this.__callback({ "obj" : obj }); >- }, >- select_node : function (obj, check, e) { >- obj = this._get_node(obj); >- if(obj == -1 || !obj || !obj.length) { return false; } >- var s = this._get_settings().ui, >- is_multiple = (s.select_multiple_modifier == "on" || (s.select_multiple_modifier !== false && e && e[s.select_multiple_modifier + "Key"])), >- is_range = (s.select_range_modifier !== false && e && e[s.select_range_modifier + "Key"] && this.data.ui.last_selected && this.data.ui.last_selected[0] !== obj[0] && this.data.ui.last_selected.parent()[0] === obj.parent()[0]), >- is_selected = this.is_selected(obj), >- proceed = true, >- t = this; >- if(check) { >- if(s.disable_selecting_children && is_multiple && >- ( >- (obj.parentsUntil(".jstree","li").children("a.jstree-clicked").length) || >- (obj.children("ul").find("a.jstree-clicked:eq(0)").length) >- ) >- ) { >- return false; >- } >- proceed = false; >- switch(!0) { >- case (is_range): >- this.data.ui.last_selected.addClass("jstree-last-selected"); >- obj = obj[ obj.index() < this.data.ui.last_selected.index() ? "nextUntil" : "prevUntil" ](".jstree-last-selected").andSelf(); >- if(s.select_limit == -1 || obj.length < s.select_limit) { >- this.data.ui.last_selected.removeClass("jstree-last-selected"); >- this.data.ui.selected.each(function () { >- if(this !== t.data.ui.last_selected[0]) { t.deselect_node(this); } >- }); >- is_selected = false; >- proceed = true; >- } >- else { >- proceed = false; >- } >- break; >- case (is_selected && !is_multiple): >- this.deselect_all(); >- is_selected = false; >- proceed = true; >- break; >- case (!is_selected && !is_multiple): >- if(s.select_limit == -1 || s.select_limit > 0) { >- this.deselect_all(); >- proceed = true; >- } >- break; >- case (is_selected && is_multiple): >- this.deselect_node(obj); >- break; >- case (!is_selected && is_multiple): >- if(s.select_limit == -1 || this.data.ui.selected.length + 1 <= s.select_limit) { >- proceed = true; >- } >- break; >- } >- } >- if(proceed && !is_selected) { >- if(!is_range) { this.data.ui.last_selected = obj; } >- obj.children("a").addClass("jstree-clicked"); >- if(s.selected_parent_open) { >- obj.parents(".jstree-closed").each(function () { t.open_node(this, false, true); }); >- } >- this.data.ui.selected = this.data.ui.selected.add(obj); >- this._fix_scroll(obj.eq(0)); >- this.__callback({ "obj" : obj, "e" : e }); >- } >- }, >- _fix_scroll : function (obj) { >- var c = this.get_container()[0], t; >- if(c.scrollHeight > c.offsetHeight) { >- obj = this._get_node(obj); >- if(!obj || obj === -1 || !obj.length || !obj.is(":visible")) { return; } >- t = obj.offset().top - this.get_container().offset().top; >- if(t < 0) { >- c.scrollTop = c.scrollTop + t - 1; >- } >- if(t + this.data.core.li_height + (c.scrollWidth > c.offsetWidth ? scrollbar_width : 0) > c.offsetHeight) { >- c.scrollTop = c.scrollTop + (t - c.offsetHeight + this.data.core.li_height + 1 + (c.scrollWidth > c.offsetWidth ? scrollbar_width : 0)); >- } >- } >- }, >- deselect_node : function (obj) { >- obj = this._get_node(obj); >- if(!obj.length) { return false; } >- if(this.is_selected(obj)) { >- obj.children("a").removeClass("jstree-clicked"); >- this.data.ui.selected = this.data.ui.selected.not(obj); >- if(this.data.ui.last_selected.get(0) === obj.get(0)) { this.data.ui.last_selected = this.data.ui.selected.eq(0); } >- this.__callback({ "obj" : obj }); >- } >- }, >- toggle_select : function (obj) { >- obj = this._get_node(obj); >- if(!obj.length) { return false; } >- if(this.is_selected(obj)) { this.deselect_node(obj); } >- else { this.select_node(obj); } >- }, >- is_selected : function (obj) { return this.data.ui.selected.index(this._get_node(obj)) >= 0; }, >- get_selected : function (context) { >- return context ? $(context).find("a.jstree-clicked").parent() : this.data.ui.selected; >- }, >- deselect_all : function (context) { >- var ret = context ? $(context).find("a.jstree-clicked").parent() : this.get_container().find("a.jstree-clicked").parent(); >- ret.children("a.jstree-clicked").removeClass("jstree-clicked"); >- this.data.ui.selected = $([]); >- this.data.ui.last_selected = false; >- this.__callback({ "obj" : ret }); >- } >- } >- }); >- // include the selection plugin by default >- $.jstree.defaults.plugins.push("ui"); >-})(jQuery); >-//*/ >- >-/* >- * jsTree CRRM plugin >- * Handles creating/renaming/removing/moving nodes by user interaction. >- */ >-(function ($) { >- $.jstree.plugin("crrm", { >- __init : function () { >- this.get_container() >- .bind("move_node.jstree", $.proxy(function (e, data) { >- if(this._get_settings().crrm.move.open_onmove) { >- var t = this; >- data.rslt.np.parentsUntil(".jstree").andSelf().filter(".jstree-closed").each(function () { >- t.open_node(this, false, true); >- }); >- } >- }, this)); >- }, >- defaults : { >- input_width_limit : 200, >- move : { >- always_copy : false, // false, true or "multitree" >- open_onmove : true, >- default_position : "last", >- check_move : function (m) { return true; } >- } >- }, >- _fn : { >- _show_input : function (obj, callback) { >- obj = this._get_node(obj); >- var rtl = this._get_settings().core.rtl, >- w = this._get_settings().crrm.input_width_limit, >- w1 = obj.children("ins").width(), >- w2 = obj.find("> a:visible > ins").width() * obj.find("> a:visible > ins").length, >- t = this.get_text(obj), >- h1 = $("<div />", { css : { "position" : "absolute", "top" : "-200px", "left" : (rtl ? "0px" : "-1000px"), "visibility" : "hidden" } }).appendTo("body"), >- h2 = obj.css("position","relative").append( >- $("<input />", { >- "value" : t, >- "class" : "jstree-rename-input", >- // "size" : t.length, >- "css" : { >- "padding" : "0", >- "border" : "1px solid silver", >- "position" : "absolute", >- "left" : (rtl ? "auto" : (w1 + w2 + 4) + "px"), >- "right" : (rtl ? (w1 + w2 + 4) + "px" : "auto"), >- "top" : "0px", >- "height" : (this.data.core.li_height - 2) + "px", >- "lineHeight" : (this.data.core.li_height - 2) + "px", >- "width" : "150px" // will be set a bit further down >- }, >- "blur" : $.proxy(function () { >- var i = obj.children(".jstree-rename-input"), >- v = i.val(); >- if(v === "") { v = t; } >- h1.remove(); >- i.remove(); // rollback purposes >- this.set_text(obj,t); // rollback purposes >- this.rename_node(obj, v); >- callback.call(this, obj, v, t); >- obj.css("position",""); >- }, this), >- "keyup" : function (event) { >- var key = event.keyCode || event.which; >- if(key == 27) { this.value = t; this.blur(); return; } >- else if(key == 13) { this.blur(); return; } >- else { >- h2.width(Math.min(h1.text("pW" + this.value).width(),w)); >- } >- }, >- "keypress" : function(event) { >- var key = event.keyCode || event.which; >- if(key == 13) { return false; } >- } >- }) >- ).children(".jstree-rename-input"); >- this.set_text(obj, ""); >- h1.css({ >- fontFamily : h2.css('fontFamily') || '', >- fontSize : h2.css('fontSize') || '', >- fontWeight : h2.css('fontWeight') || '', >- fontStyle : h2.css('fontStyle') || '', >- fontStretch : h2.css('fontStretch') || '', >- fontVariant : h2.css('fontVariant') || '', >- letterSpacing : h2.css('letterSpacing') || '', >- wordSpacing : h2.css('wordSpacing') || '' >- }); >- h2.width(Math.min(h1.text("pW" + h2[0].value).width(),w))[0].select(); >- }, >- rename : function (obj) { >- obj = this._get_node(obj); >- this.__rollback(); >- var f = this.__callback; >- this._show_input(obj, function (obj, new_name, old_name) { >- f.call(this, { "obj" : obj, "new_name" : new_name, "old_name" : old_name }); >- }); >- }, >- create : function (obj, position, js, callback, skip_rename) { >- var t, _this = this; >- obj = this._get_node(obj); >- if(!obj) { obj = -1; } >- this.__rollback(); >- t = this.create_node(obj, position, js, function (t) { >- var p = this._get_parent(t), >- pos = $(t).index(); >- if(callback) { callback.call(this, t); } >- if(p.length && p.hasClass("jstree-closed")) { this.open_node(p, false, true); } >- if(!skip_rename) { >- this._show_input(t, function (obj, new_name, old_name) { >- _this.__callback({ "obj" : obj, "name" : new_name, "parent" : p, "position" : pos }); >- }); >- } >- else { _this.__callback({ "obj" : t, "name" : this.get_text(t), "parent" : p, "position" : pos }); } >- }); >- return t; >- }, >- remove : function (obj) { >- obj = this._get_node(obj, true); >- var p = this._get_parent(obj), prev = this._get_prev(obj); >- this.__rollback(); >- obj = this.delete_node(obj); >- if(obj !== false) { this.__callback({ "obj" : obj, "prev" : prev, "parent" : p }); } >- }, >- check_move : function () { >- if(!this.__call_old()) { return false; } >- var s = this._get_settings().crrm.move; >- if(!s.check_move.call(this, this._get_move())) { return false; } >- return true; >- }, >- move_node : function (obj, ref, position, is_copy, is_prepared, skip_check) { >- var s = this._get_settings().crrm.move; >- if(!is_prepared) { >- if(typeof position === "undefined") { position = s.default_position; } >- if(position === "inside" && !s.default_position.match(/^(before|after)$/)) { position = s.default_position; } >- return this.__call_old(true, obj, ref, position, is_copy, false, skip_check); >- } >- // if the move is already prepared >- if(s.always_copy === true || (s.always_copy === "multitree" && obj.rt.get_index() !== obj.ot.get_index() )) { >- is_copy = true; >- } >- this.__call_old(true, obj, ref, position, is_copy, true, skip_check); >- }, >- >- cut : function (obj) { >- obj = this._get_node(obj, true); >- if(!obj || !obj.length) { return false; } >- this.data.crrm.cp_nodes = false; >- this.data.crrm.ct_nodes = obj; >- this.__callback({ "obj" : obj }); >- }, >- copy : function (obj) { >- obj = this._get_node(obj, true); >- if(!obj || !obj.length) { return false; } >- this.data.crrm.ct_nodes = false; >- this.data.crrm.cp_nodes = obj; >- this.__callback({ "obj" : obj }); >- }, >- paste : function (obj) { >- obj = this._get_node(obj); >- if(!obj || !obj.length) { return false; } >- var nodes = this.data.crrm.ct_nodes ? this.data.crrm.ct_nodes : this.data.crrm.cp_nodes; >- if(!this.data.crrm.ct_nodes && !this.data.crrm.cp_nodes) { return false; } >- if(this.data.crrm.ct_nodes) { this.move_node(this.data.crrm.ct_nodes, obj); this.data.crrm.ct_nodes = false; } >- if(this.data.crrm.cp_nodes) { this.move_node(this.data.crrm.cp_nodes, obj, false, true); } >- this.__callback({ "obj" : obj, "nodes" : nodes }); >- } >- } >- }); >- // include the crr plugin by default >- // $.jstree.defaults.plugins.push("crrm"); >-})(jQuery); >-//*/ >- >-/* >- * jsTree themes plugin >- * Handles loading and setting themes, as well as detecting path to themes, etc. >- */ >-(function ($) { >- var themes_loaded = []; >- // this variable stores the path to the themes folder - if left as false - it will be autodetected >- $.jstree._themes = false; >- $.jstree.plugin("themes", { >- __init : function () { >- this.get_container() >- .bind("init.jstree", $.proxy(function () { >- var s = this._get_settings().themes; >- this.data.themes.dots = s.dots; >- this.data.themes.icons = s.icons; >- this.set_theme(s.theme, s.url); >- }, this)) >- .bind("loaded.jstree", $.proxy(function () { >- // bound here too, as simple HTML tree's won't honor dots & icons otherwise >- if(!this.data.themes.dots) { this.hide_dots(); } >- else { this.show_dots(); } >- if(!this.data.themes.icons) { this.hide_icons(); } >- else { this.show_icons(); } >- }, this)); >- }, >- defaults : { >- theme : "default", >- url : false, >- dots : true, >- icons : true >- }, >- _fn : { >- set_theme : function (theme_name, theme_url) { >- if(!theme_name) { return false; } >- if(!theme_url) { theme_url = $.jstree._themes + theme_name + '/style.css'; } >- if($.inArray(theme_url, themes_loaded) == -1) { >- $.vakata.css.add_sheet({ "url" : theme_url }); >- themes_loaded.push(theme_url); >- } >- if(this.data.themes.theme != theme_name) { >- this.get_container().removeClass('jstree-' + this.data.themes.theme); >- this.data.themes.theme = theme_name; >- } >- this.get_container().addClass('jstree-' + theme_name); >- if(!this.data.themes.dots) { this.hide_dots(); } >- else { this.show_dots(); } >- if(!this.data.themes.icons) { this.hide_icons(); } >- else { this.show_icons(); } >- this.__callback(); >- }, >- get_theme : function () { return this.data.themes.theme; }, >- >- show_dots : function () { this.data.themes.dots = true; this.get_container().children("ul").removeClass("jstree-no-dots"); }, >- hide_dots : function () { this.data.themes.dots = false; this.get_container().children("ul").addClass("jstree-no-dots"); }, >- toggle_dots : function () { if(this.data.themes.dots) { this.hide_dots(); } else { this.show_dots(); } }, >- >- show_icons : function () { this.data.themes.icons = true; this.get_container().children("ul").removeClass("jstree-no-icons"); }, >- hide_icons : function () { this.data.themes.icons = false; this.get_container().children("ul").addClass("jstree-no-icons"); }, >- toggle_icons: function () { if(this.data.themes.icons) { this.hide_icons(); } else { this.show_icons(); } } >- } >- }); >- // autodetect themes path >- $(function () { >- if($.jstree._themes === false) { >- $("script").each(function () { >- if(this.src.toString().match(/jquery\.jstree[^\/]*?\.js(\?.*)?$/)) { >- $.jstree._themes = this.src.toString().replace(/jquery\.jstree[^\/]*?\.js(\?.*)?$/, "") + 'themes/'; >- return false; >- } >- }); >- } >- if($.jstree._themes === false) { $.jstree._themes = "themes/"; } >- }); >- // include the themes plugin by default >- $.jstree.defaults.plugins.push("themes"); >-})(jQuery); >-//*/ >- >-/* >- * jsTree hotkeys plugin >- * Enables keyboard navigation for all tree instances >- * Depends on the jstree ui & jquery hotkeys plugins >- */ >-(function ($) { >- var bound = []; >- function exec(i, event) { >- var f = $.jstree._focused(), tmp; >- if(f && f.data && f.data.hotkeys && f.data.hotkeys.enabled) { >- tmp = f._get_settings().hotkeys[i]; >- if(tmp) { return tmp.call(f, event); } >- } >- } >- $.jstree.plugin("hotkeys", { >- __init : function () { >- if(typeof $.hotkeys === "undefined") { throw "jsTree hotkeys: jQuery hotkeys plugin not included."; } >- if(!this.data.ui) { throw "jsTree hotkeys: jsTree UI plugin not included."; } >- $.each(this._get_settings().hotkeys, function (i, v) { >- if(v !== false && $.inArray(i, bound) == -1) { >- $(document).bind("keydown", i, function (event) { return exec(i, event); }); >- bound.push(i); >- } >- }); >- this.get_container() >- .bind("lock.jstree", $.proxy(function () { >- if(this.data.hotkeys.enabled) { this.data.hotkeys.enabled = false; this.data.hotkeys.revert = true; } >- }, this)) >- .bind("unlock.jstree", $.proxy(function () { >- if(this.data.hotkeys.revert) { this.data.hotkeys.enabled = true; } >- }, this)); >- this.enable_hotkeys(); >- }, >- defaults : { >- "up" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected || -1; >- this.hover_node(this._get_prev(o)); >- return false; >- }, >- "ctrl+up" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected || -1; >- this.hover_node(this._get_prev(o)); >- return false; >- }, >- "shift+up" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected || -1; >- this.hover_node(this._get_prev(o)); >- return false; >- }, >- "down" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected || -1; >- this.hover_node(this._get_next(o)); >- return false; >- }, >- "ctrl+down" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected || -1; >- this.hover_node(this._get_next(o)); >- return false; >- }, >- "shift+down" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected || -1; >- this.hover_node(this._get_next(o)); >- return false; >- }, >- "left" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected; >- if(o) { >- if(o.hasClass("jstree-open")) { this.close_node(o); } >- else { this.hover_node(this._get_prev(o)); } >- } >- return false; >- }, >- "ctrl+left" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected; >- if(o) { >- if(o.hasClass("jstree-open")) { this.close_node(o); } >- else { this.hover_node(this._get_prev(o)); } >- } >- return false; >- }, >- "shift+left" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected; >- if(o) { >- if(o.hasClass("jstree-open")) { this.close_node(o); } >- else { this.hover_node(this._get_prev(o)); } >- } >- return false; >- }, >- "right" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected; >- if(o && o.length) { >- if(o.hasClass("jstree-closed")) { this.open_node(o); } >- else { this.hover_node(this._get_next(o)); } >- } >- return false; >- }, >- "ctrl+right" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected; >- if(o && o.length) { >- if(o.hasClass("jstree-closed")) { this.open_node(o); } >- else { this.hover_node(this._get_next(o)); } >- } >- return false; >- }, >- "shift+right" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected; >- if(o && o.length) { >- if(o.hasClass("jstree-closed")) { this.open_node(o); } >- else { this.hover_node(this._get_next(o)); } >- } >- return false; >- }, >- "space" : function () { >- if(this.data.ui.hovered) { this.data.ui.hovered.children("a:eq(0)").click(); } >- return false; >- }, >- "ctrl+space" : function (event) { >- event.type = "click"; >- if(this.data.ui.hovered) { this.data.ui.hovered.children("a:eq(0)").trigger(event); } >- return false; >- }, >- "shift+space" : function (event) { >- event.type = "click"; >- if(this.data.ui.hovered) { this.data.ui.hovered.children("a:eq(0)").trigger(event); } >- return false; >- }, >- "f2" : function () { this.rename(this.data.ui.hovered || this.data.ui.last_selected); }, >- "del" : function () { this.remove(this.data.ui.hovered || this._get_node(null)); } >- }, >- _fn : { >- enable_hotkeys : function () { >- this.data.hotkeys.enabled = true; >- }, >- disable_hotkeys : function () { >- this.data.hotkeys.enabled = false; >- } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree JSON plugin >- * The JSON data store. Datastores are build by overriding the `load_node` and `_is_loaded` functions. >- */ >-(function ($) { >- $.jstree.plugin("json_data", { >- __init : function() { >- var s = this._get_settings().json_data; >- if(s.progressive_unload) { >- this.get_container().bind("after_close.jstree", function (e, data) { >- data.rslt.obj.children("ul").remove(); >- }); >- } >- }, >- defaults : { >- // `data` can be a function: >- // * accepts two arguments - node being loaded and a callback to pass the result to >- // * will be executed in the current tree's scope & ajax won't be supported >- data : false, >- ajax : false, >- correct_state : true, >- progressive_render : false, >- progressive_unload : false >- }, >- _fn : { >- load_node : function (obj, s_call, e_call) { var _this = this; this.load_node_json(obj, function () { _this.__callback({ "obj" : _this._get_node(obj) }); s_call.call(this); }, e_call); }, >- _is_loaded : function (obj) { >- var s = this._get_settings().json_data; >- obj = this._get_node(obj); >- return obj == -1 || !obj || (!s.ajax && !s.progressive_render && !$.isFunction(s.data)) || obj.is(".jstree-open, .jstree-leaf") || obj.children("ul").children("li").length > 0; >- }, >- refresh : function (obj) { >- obj = this._get_node(obj); >- var s = this._get_settings().json_data; >- if(obj && obj !== -1 && s.progressive_unload && ($.isFunction(s.data) || !!s.ajax)) { >- obj.removeData("jstree_children"); >- } >- return this.__call_old(); >- }, >- load_node_json : function (obj, s_call, e_call) { >- var s = this.get_settings().json_data, d, >- error_func = function () {}, >- success_func = function () {}; >- obj = this._get_node(obj); >- >- if(obj && obj !== -1 && (s.progressive_render || s.progressive_unload) && !obj.is(".jstree-open, .jstree-leaf") && obj.children("ul").children("li").length === 0 && obj.data("jstree_children")) { >- d = this._parse_json(obj.data("jstree_children"), obj); >- if(d) { >- obj.append(d); >- if(!s.progressive_unload) { obj.removeData("jstree_children"); } >- } >- this.clean_node(obj); >- if(s_call) { s_call.call(this); } >- return; >- } >- >- if(obj && obj !== -1) { >- if(obj.data("jstree_is_loading")) { return; } >- else { obj.data("jstree_is_loading",true); } >- } >- switch(!0) { >- case (!s.data && !s.ajax): throw "Neither data nor ajax settings supplied."; >- // function option added here for easier model integration (also supporting async - see callback) >- case ($.isFunction(s.data)): >- s.data.call(this, obj, $.proxy(function (d) { >- d = this._parse_json(d, obj); >- if(!d) { >- if(obj === -1 || !obj) { >- if(s.correct_state) { this.get_container().children("ul").empty(); } >- } >- else { >- obj.children("a.jstree-loading").removeClass("jstree-loading"); >- obj.removeData("jstree_is_loading"); >- if(s.correct_state) { this.correct_state(obj); } >- } >- if(e_call) { e_call.call(this); } >- } >- else { >- if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); } >- else { obj.append(d).children("a.jstree-loading").removeClass("jstree-loading"); obj.removeData("jstree_is_loading"); } >- this.clean_node(obj); >- if(s_call) { s_call.call(this); } >- } >- }, this)); >- break; >- case (!!s.data && !s.ajax) || (!!s.data && !!s.ajax && (!obj || obj === -1)): >- if(!obj || obj == -1) { >- d = this._parse_json(s.data, obj); >- if(d) { >- this.get_container().children("ul").empty().append(d.children()); >- this.clean_node(); >- } >- else { >- if(s.correct_state) { this.get_container().children("ul").empty(); } >- } >- } >- if(s_call) { s_call.call(this); } >- break; >- case (!s.data && !!s.ajax) || (!!s.data && !!s.ajax && obj && obj !== -1): >- error_func = function (x, t, e) { >- var ef = this.get_settings().json_data.ajax.error; >- if(ef) { ef.call(this, x, t, e); } >- if(obj != -1 && obj.length) { >- obj.children("a.jstree-loading").removeClass("jstree-loading"); >- obj.removeData("jstree_is_loading"); >- if(t === "success" && s.correct_state) { this.correct_state(obj); } >- } >- else { >- if(t === "success" && s.correct_state) { this.get_container().children("ul").empty(); } >- } >- if(e_call) { e_call.call(this); } >- }; >- success_func = function (d, t, x) { >- var sf = this.get_settings().json_data.ajax.success; >- if(sf) { d = sf.call(this,d,t,x) || d; } >- if(d === "" || (d && d.toString && d.toString().replace(/^[\s\n]+$/,"") === "") || (!$.isArray(d) && !$.isPlainObject(d))) { >- return error_func.call(this, x, t, ""); >- } >- d = this._parse_json(d, obj); >- if(d) { >- if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); } >- else { obj.append(d).children("a.jstree-loading").removeClass("jstree-loading"); obj.removeData("jstree_is_loading"); } >- this.clean_node(obj); >- if(s_call) { s_call.call(this); } >- } >- else { >- if(obj === -1 || !obj) { >- if(s.correct_state) { >- this.get_container().children("ul").empty(); >- if(s_call) { s_call.call(this); } >- } >- } >- else { >- obj.children("a.jstree-loading").removeClass("jstree-loading"); >- obj.removeData("jstree_is_loading"); >- if(s.correct_state) { >- this.correct_state(obj); >- if(s_call) { s_call.call(this); } >- } >- } >- } >- }; >- s.ajax.context = this; >- s.ajax.error = error_func; >- s.ajax.success = success_func; >- if(!s.ajax.dataType) { s.ajax.dataType = "json"; } >- if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, obj); } >- if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, obj); } >- $.ajax(s.ajax); >- break; >- } >- }, >- _parse_json : function (js, obj, is_callback) { >- var d = false, >- p = this._get_settings(), >- s = p.json_data, >- t = p.core.html_titles, >- tmp, i, j, ul1, ul2; >- >- if(!js) { return d; } >- if(s.progressive_unload && obj && obj !== -1) { >- obj.data("jstree_children", d); >- } >- if($.isArray(js)) { >- d = $(); >- if(!js.length) { return false; } >- for(i = 0, j = js.length; i < j; i++) { >- tmp = this._parse_json(js[i], obj, true); >- if(tmp.length) { d = d.add(tmp); } >- } >- } >- else { >- if(typeof js == "string") { js = { data : js }; } >- if(!js.data && js.data !== "") { return d; } >- d = $("<li />"); >- if(js.attr) { d.attr(js.attr); } >- if(js.metadata) { d.data(js.metadata); } >- if(js.state) { d.addClass("jstree-" + js.state); } >- if(!$.isArray(js.data)) { tmp = js.data; js.data = []; js.data.push(tmp); } >- $.each(js.data, function (i, m) { >- tmp = $("<a />"); >- if($.isFunction(m)) { m = m.call(this, js); } >- if(typeof m == "string") { tmp.attr('href','#')[ t ? "html" : "text" ](m); } >- else { >- if(!m.attr) { m.attr = {}; } >- if(!m.attr.href) { m.attr.href = '#'; } >- tmp.attr(m.attr)[ t ? "html" : "text" ](m.title); >- if(m.language) { tmp.addClass(m.language); } >- } >- tmp.prepend("<ins class='jstree-icon'> </ins>"); >- if(!m.icon && js.icon) { m.icon = js.icon; } >- if(m.icon) { >- if(m.icon.indexOf("/") === -1) { tmp.children("ins").addClass(m.icon); } >- else { tmp.children("ins").css("background","url('" + m.icon + "') center center no-repeat"); } >- } >- d.append(tmp); >- }); >- d.prepend("<ins class='jstree-icon'> </ins>"); >- if(js.children) { >- if(s.progressive_render && js.state !== "open") { >- d.addClass("jstree-closed").data("jstree_children", js.children); >- } >- else { >- if(s.progressive_unload) { d.data("jstree_children", js.children); } >- if($.isArray(js.children) && js.children.length) { >- tmp = this._parse_json(js.children, obj, true); >- if(tmp.length) { >- ul2 = $("<ul />"); >- ul2.append(tmp); >- d.append(ul2); >- } >- } >- } >- } >- } >- if(!is_callback) { >- ul1 = $("<ul />"); >- ul1.append(d); >- d = ul1; >- } >- return d; >- }, >- get_json : function (obj, li_attr, a_attr, is_callback) { >- var result = [], >- s = this._get_settings(), >- _this = this, >- tmp1, tmp2, li, a, t, lang; >- obj = this._get_node(obj); >- if(!obj || obj === -1) { obj = this.get_container().find("> ul > li"); } >- li_attr = $.isArray(li_attr) ? li_attr : [ "id", "class" ]; >- if(!is_callback && this.data.types) { li_attr.push(s.types.type_attr); } >- a_attr = $.isArray(a_attr) ? a_attr : [ ]; >- >- obj.each(function () { >- li = $(this); >- tmp1 = { data : [] }; >- if(li_attr.length) { tmp1.attr = { }; } >- $.each(li_attr, function (i, v) { >- tmp2 = li.attr(v); >- if(tmp2 && tmp2.length && tmp2.replace(/jstree[^ ]*/ig,'').length) { >- tmp1.attr[v] = (" " + tmp2).replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,""); >- } >- }); >- if(li.hasClass("jstree-open")) { tmp1.state = "open"; } >- if(li.hasClass("jstree-closed")) { tmp1.state = "closed"; } >- if(li.data()) { tmp1.metadata = li.data(); } >- a = li.children("a"); >- a.each(function () { >- t = $(this); >- if( >- a_attr.length || >- $.inArray("languages", s.plugins) !== -1 || >- t.children("ins").get(0).style.backgroundImage.length || >- (t.children("ins").get(0).className && t.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').length) >- ) { >- lang = false; >- if($.inArray("languages", s.plugins) !== -1 && $.isArray(s.languages) && s.languages.length) { >- $.each(s.languages, function (l, lv) { >- if(t.hasClass(lv)) { >- lang = lv; >- return false; >- } >- }); >- } >- tmp2 = { attr : { }, title : _this.get_text(t, lang) }; >- $.each(a_attr, function (k, z) { >- tmp2.attr[z] = (" " + (t.attr(z) || "")).replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,""); >- }); >- if($.inArray("languages", s.plugins) !== -1 && $.isArray(s.languages) && s.languages.length) { >- $.each(s.languages, function (k, z) { >- if(t.hasClass(z)) { tmp2.language = z; return true; } >- }); >- } >- if(t.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/^\s+$/ig,"").length) { >- tmp2.icon = t.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,""); >- } >- if(t.children("ins").get(0).style.backgroundImage.length) { >- tmp2.icon = t.children("ins").get(0).style.backgroundImage.replace("url(","").replace(")",""); >- } >- } >- else { >- tmp2 = _this.get_text(t); >- } >- if(a.length > 1) { tmp1.data.push(tmp2); } >- else { tmp1.data = tmp2; } >- }); >- li = li.find("> ul > li"); >- if(li.length) { tmp1.children = _this.get_json(li, li_attr, a_attr, true); } >- result.push(tmp1); >- }); >- return result; >- } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree languages plugin >- * Adds support for multiple language versions in one tree >- * This basically allows for many titles coexisting in one node, but only one of them being visible at any given time >- * This is useful for maintaining the same structure in many languages (hence the name of the plugin) >- */ >-(function ($) { >- $.jstree.plugin("languages", { >- __init : function () { this._load_css(); }, >- defaults : [], >- _fn : { >- set_lang : function (i) { >- var langs = this._get_settings().languages, >- st = false, >- selector = ".jstree-" + this.get_index() + ' a'; >- if(!$.isArray(langs) || langs.length === 0) { return false; } >- if($.inArray(i,langs) == -1) { >- if(!!langs[i]) { i = langs[i]; } >- else { return false; } >- } >- if(i == this.data.languages.current_language) { return true; } >- st = $.vakata.css.get_css(selector + "." + this.data.languages.current_language, false, this.data.languages.language_css); >- if(st !== false) { st.style.display = "none"; } >- st = $.vakata.css.get_css(selector + "." + i, false, this.data.languages.language_css); >- if(st !== false) { st.style.display = ""; } >- this.data.languages.current_language = i; >- this.__callback(i); >- return true; >- }, >- get_lang : function () { >- return this.data.languages.current_language; >- }, >- _get_string : function (key, lang) { >- var langs = this._get_settings().languages, >- s = this._get_settings().core.strings; >- if($.isArray(langs) && langs.length) { >- lang = (lang && $.inArray(lang,langs) != -1) ? lang : this.data.languages.current_language; >- } >- if(s[lang] && s[lang][key]) { return s[lang][key]; } >- if(s[key]) { return s[key]; } >- return key; >- }, >- get_text : function (obj, lang) { >- obj = this._get_node(obj) || this.data.ui.last_selected; >- if(!obj.size()) { return false; } >- var langs = this._get_settings().languages, >- s = this._get_settings().core.html_titles; >- if($.isArray(langs) && langs.length) { >- lang = (lang && $.inArray(lang,langs) != -1) ? lang : this.data.languages.current_language; >- obj = obj.children("a." + lang); >- } >- else { obj = obj.children("a:eq(0)"); } >- if(s) { >- obj = obj.clone(); >- obj.children("INS").remove(); >- return obj.html(); >- } >- else { >- obj = obj.contents().filter(function() { return this.nodeType == 3; })[0]; >- return obj.nodeValue; >- } >- }, >- set_text : function (obj, val, lang) { >- obj = this._get_node(obj) || this.data.ui.last_selected; >- if(!obj.size()) { return false; } >- var langs = this._get_settings().languages, >- s = this._get_settings().core.html_titles, >- tmp; >- if($.isArray(langs) && langs.length) { >- lang = (lang && $.inArray(lang,langs) != -1) ? lang : this.data.languages.current_language; >- obj = obj.children("a." + lang); >- } >- else { obj = obj.children("a:eq(0)"); } >- if(s) { >- tmp = obj.children("INS").clone(); >- obj.html(val).prepend(tmp); >- this.__callback({ "obj" : obj, "name" : val, "lang" : lang }); >- return true; >- } >- else { >- obj = obj.contents().filter(function() { return this.nodeType == 3; })[0]; >- this.__callback({ "obj" : obj, "name" : val, "lang" : lang }); >- return (obj.nodeValue = val); >- } >- }, >- _load_css : function () { >- var langs = this._get_settings().languages, >- str = "/* languages css */", >- selector = ".jstree-" + this.get_index() + ' a', >- ln; >- if($.isArray(langs) && langs.length) { >- this.data.languages.current_language = langs[0]; >- for(ln = 0; ln < langs.length; ln++) { >- str += selector + "." + langs[ln] + " {"; >- if(langs[ln] != this.data.languages.current_language) { str += " display:none; "; } >- str += " } "; >- } >- this.data.languages.language_css = $.vakata.css.add_sheet({ 'str' : str, 'title' : "jstree-languages" }); >- } >- }, >- create_node : function (obj, position, js, callback) { >- var t = this.__call_old(true, obj, position, js, function (t) { >- var langs = this._get_settings().languages, >- a = t.children("a"), >- ln; >- if($.isArray(langs) && langs.length) { >- for(ln = 0; ln < langs.length; ln++) { >- if(!a.is("." + langs[ln])) { >- t.append(a.eq(0).clone().removeClass(langs.join(" ")).addClass(langs[ln])); >- } >- } >- a.not("." + langs.join(", .")).remove(); >- } >- if(callback) { callback.call(this, t); } >- }); >- return t; >- } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree cookies plugin >- * Stores the currently opened/selected nodes in a cookie and then restores them >- * Depends on the jquery.cookie plugin >- */ >-(function ($) { >- $.jstree.plugin("cookies", { >- __init : function () { >- if(typeof $.cookie === "undefined") { throw "jsTree cookie: jQuery cookie plugin not included."; } >- >- var s = this._get_settings().cookies, >- tmp; >- if(!!s.save_loaded) { >- tmp = $.cookie(s.save_loaded); >- if(tmp && tmp.length) { this.data.core.to_load = tmp.split(","); } >- } >- if(!!s.save_opened) { >- tmp = $.cookie(s.save_opened); >- if(tmp && tmp.length) { this.data.core.to_open = tmp.split(","); } >- } >- if(!!s.save_selected) { >- tmp = $.cookie(s.save_selected); >- if(tmp && tmp.length && this.data.ui) { this.data.ui.to_select = tmp.split(","); } >- } >- this.get_container() >- .one( ( this.data.ui ? "reselect" : "reopen" ) + ".jstree", $.proxy(function () { >- this.get_container() >- .bind("open_node.jstree close_node.jstree select_node.jstree deselect_node.jstree", $.proxy(function (e) { >- if(this._get_settings().cookies.auto_save) { this.save_cookie((e.handleObj.namespace + e.handleObj.type).replace("jstree","")); } >- }, this)); >- }, this)); >- }, >- defaults : { >- save_loaded : "jstree_load", >- save_opened : "jstree_open", >- save_selected : "jstree_select", >- auto_save : true, >- cookie_options : {} >- }, >- _fn : { >- save_cookie : function (c) { >- if(this.data.core.refreshing) { return; } >- var s = this._get_settings().cookies; >- if(!c) { // if called manually and not by event >- if(s.save_loaded) { >- this.save_loaded(); >- $.cookie(s.save_loaded, this.data.core.to_load.join(","), s.cookie_options); >- } >- if(s.save_opened) { >- this.save_opened(); >- $.cookie(s.save_opened, this.data.core.to_open.join(","), s.cookie_options); >- } >- if(s.save_selected && this.data.ui) { >- this.save_selected(); >- $.cookie(s.save_selected, this.data.ui.to_select.join(","), s.cookie_options); >- } >- return; >- } >- switch(c) { >- case "open_node": >- case "close_node": >- if(!!s.save_opened) { >- this.save_opened(); >- $.cookie(s.save_opened, this.data.core.to_open.join(","), s.cookie_options); >- } >- if(!!s.save_loaded) { >- this.save_loaded(); >- $.cookie(s.save_loaded, this.data.core.to_load.join(","), s.cookie_options); >- } >- break; >- case "select_node": >- case "deselect_node": >- if(!!s.save_selected && this.data.ui) { >- this.save_selected(); >- $.cookie(s.save_selected, this.data.ui.to_select.join(","), s.cookie_options); >- } >- break; >- } >- } >- } >- }); >- // include cookies by default >- // $.jstree.defaults.plugins.push("cookies"); >-})(jQuery); >-//*/ >- >-/* >- * jsTree sort plugin >- * Sorts items alphabetically (or using any other function) >- */ >-(function ($) { >- $.jstree.plugin("sort", { >- __init : function () { >- this.get_container() >- .bind("load_node.jstree", $.proxy(function (e, data) { >- var obj = this._get_node(data.rslt.obj); >- obj = obj === -1 ? this.get_container().children("ul") : obj.children("ul"); >- this.sort(obj); >- }, this)) >- .bind("rename_node.jstree create_node.jstree create.jstree", $.proxy(function (e, data) { >- this.sort(data.rslt.obj.parent()); >- }, this)) >- .bind("move_node.jstree", $.proxy(function (e, data) { >- var m = data.rslt.np == -1 ? this.get_container() : data.rslt.np; >- this.sort(m.children("ul")); >- }, this)); >- }, >- defaults : function (a, b) { return this.get_text(a) > this.get_text(b) ? 1 : -1; }, >- _fn : { >- sort : function (obj) { >- var s = this._get_settings().sort, >- t = this; >- obj.append($.makeArray(obj.children("li")).sort($.proxy(s, t))); >- obj.find("> li > ul").each(function() { t.sort($(this)); }); >- this.clean_node(obj); >- } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree DND plugin >- * Drag and drop plugin for moving/copying nodes >- */ >-(function ($) { >- var o = false, >- r = false, >- m = false, >- ml = false, >- sli = false, >- sti = false, >- dir1 = false, >- dir2 = false, >- last_pos = false; >- $.vakata.dnd = { >- is_down : false, >- is_drag : false, >- helper : false, >- scroll_spd : 10, >- init_x : 0, >- init_y : 0, >- threshold : 5, >- helper_left : 5, >- helper_top : 10, >- user_data : {}, >- >- drag_start : function (e, data, html) { >- if($.vakata.dnd.is_drag) { $.vakata.drag_stop({}); } >- try { >- e.currentTarget.unselectable = "on"; >- e.currentTarget.onselectstart = function() { return false; }; >- if(e.currentTarget.style) { e.currentTarget.style.MozUserSelect = "none"; } >- } catch(err) { } >- $.vakata.dnd.init_x = e.pageX; >- $.vakata.dnd.init_y = e.pageY; >- $.vakata.dnd.user_data = data; >- $.vakata.dnd.is_down = true; >- $.vakata.dnd.helper = $("<div id='vakata-dragged' />").html(html); //.fadeTo(10,0.25); >- $(document).bind("mousemove", $.vakata.dnd.drag); >- $(document).bind("mouseup", $.vakata.dnd.drag_stop); >- return false; >- }, >- drag : function (e) { >- if(!$.vakata.dnd.is_down) { return; } >- if(!$.vakata.dnd.is_drag) { >- if(Math.abs(e.pageX - $.vakata.dnd.init_x) > 5 || Math.abs(e.pageY - $.vakata.dnd.init_y) > 5) { >- $.vakata.dnd.helper.appendTo("body"); >- $.vakata.dnd.is_drag = true; >- $(document).triggerHandler("drag_start.vakata", { "event" : e, "data" : $.vakata.dnd.user_data }); >- } >- else { return; } >- } >- >- // maybe use a scrolling parent element instead of document? >- if(e.type === "mousemove") { // thought of adding scroll in order to move the helper, but mouse poisition is n/a >- var d = $(document), t = d.scrollTop(), l = d.scrollLeft(); >- if(e.pageY - t < 20) { >- if(sti && dir1 === "down") { clearInterval(sti); sti = false; } >- if(!sti) { dir1 = "up"; sti = setInterval(function () { $(document).scrollTop($(document).scrollTop() - $.vakata.dnd.scroll_spd); }, 150); } >- } >- else { >- if(sti && dir1 === "up") { clearInterval(sti); sti = false; } >- } >- if($(window).height() - (e.pageY - t) < 20) { >- if(sti && dir1 === "up") { clearInterval(sti); sti = false; } >- if(!sti) { dir1 = "down"; sti = setInterval(function () { $(document).scrollTop($(document).scrollTop() + $.vakata.dnd.scroll_spd); }, 150); } >- } >- else { >- if(sti && dir1 === "down") { clearInterval(sti); sti = false; } >- } >- >- if(e.pageX - l < 20) { >- if(sli && dir2 === "right") { clearInterval(sli); sli = false; } >- if(!sli) { dir2 = "left"; sli = setInterval(function () { $(document).scrollLeft($(document).scrollLeft() - $.vakata.dnd.scroll_spd); }, 150); } >- } >- else { >- if(sli && dir2 === "left") { clearInterval(sli); sli = false; } >- } >- if($(window).width() - (e.pageX - l) < 20) { >- if(sli && dir2 === "left") { clearInterval(sli); sli = false; } >- if(!sli) { dir2 = "right"; sli = setInterval(function () { $(document).scrollLeft($(document).scrollLeft() + $.vakata.dnd.scroll_spd); }, 150); } >- } >- else { >- if(sli && dir2 === "right") { clearInterval(sli); sli = false; } >- } >- } >- >- $.vakata.dnd.helper.css({ left : (e.pageX + $.vakata.dnd.helper_left) + "px", top : (e.pageY + $.vakata.dnd.helper_top) + "px" }); >- $(document).triggerHandler("drag.vakata", { "event" : e, "data" : $.vakata.dnd.user_data }); >- }, >- drag_stop : function (e) { >- if(sli) { clearInterval(sli); } >- if(sti) { clearInterval(sti); } >- $(document).unbind("mousemove", $.vakata.dnd.drag); >- $(document).unbind("mouseup", $.vakata.dnd.drag_stop); >- $(document).triggerHandler("drag_stop.vakata", { "event" : e, "data" : $.vakata.dnd.user_data }); >- $.vakata.dnd.helper.remove(); >- $.vakata.dnd.init_x = 0; >- $.vakata.dnd.init_y = 0; >- $.vakata.dnd.user_data = {}; >- $.vakata.dnd.is_down = false; >- $.vakata.dnd.is_drag = false; >- } >- }; >- $(function() { >- var css_string = '#vakata-dragged { display:block; margin:0 0 0 0; padding:4px 4px 4px 24px; position:absolute; top:-2000px; line-height:16px; z-index:10000; } '; >- $.vakata.css.add_sheet({ str : css_string, title : "vakata" }); >- }); >- >- $.jstree.plugin("dnd", { >- __init : function () { >- this.data.dnd = { >- active : false, >- after : false, >- inside : false, >- before : false, >- off : false, >- prepared : false, >- w : 0, >- to1 : false, >- to2 : false, >- cof : false, >- cw : false, >- ch : false, >- i1 : false, >- i2 : false, >- mto : false >- }; >- this.get_container() >- .bind("mouseenter.jstree", $.proxy(function (e) { >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { >- if(this.data.themes) { >- m.attr("class", "jstree-" + this.data.themes.theme); >- if(ml) { ml.attr("class", "jstree-" + this.data.themes.theme); } >- $.vakata.dnd.helper.attr("class", "jstree-dnd-helper jstree-" + this.data.themes.theme); >- } >- //if($(e.currentTarget).find("> ul > li").length === 0) { >- if(e.currentTarget === e.target && $.vakata.dnd.user_data.obj && $($.vakata.dnd.user_data.obj).length && $($.vakata.dnd.user_data.obj).parents(".jstree:eq(0)")[0] !== e.target) { // node should not be from the same tree >- var tr = $.jstree._reference(e.target), dc; >- if(tr.data.dnd.foreign) { >- dc = tr._get_settings().dnd.drag_check.call(this, { "o" : o, "r" : tr.get_container(), is_root : true }); >- if(dc === true || dc.inside === true || dc.before === true || dc.after === true) { >- $.vakata.dnd.helper.children("ins").attr("class","jstree-ok"); >- } >- } >- else { >- tr.prepare_move(o, tr.get_container(), "last"); >- if(tr.check_move()) { >- $.vakata.dnd.helper.children("ins").attr("class","jstree-ok"); >- } >- } >- } >- } >- }, this)) >- .bind("mouseup.jstree", $.proxy(function (e) { >- //if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && $(e.currentTarget).find("> ul > li").length === 0) { >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && e.currentTarget === e.target && $.vakata.dnd.user_data.obj && $($.vakata.dnd.user_data.obj).length && $($.vakata.dnd.user_data.obj).parents(".jstree:eq(0)")[0] !== e.target) { // node should not be from the same tree >- var tr = $.jstree._reference(e.currentTarget), dc; >- if(tr.data.dnd.foreign) { >- dc = tr._get_settings().dnd.drag_check.call(this, { "o" : o, "r" : tr.get_container(), is_root : true }); >- if(dc === true || dc.inside === true || dc.before === true || dc.after === true) { >- tr._get_settings().dnd.drag_finish.call(this, { "o" : o, "r" : tr.get_container(), is_root : true }); >- } >- } >- else { >- tr.move_node(o, tr.get_container(), "last", e[tr._get_settings().dnd.copy_modifier + "Key"]); >- } >- } >- }, this)) >- .bind("mouseleave.jstree", $.proxy(function (e) { >- if(e.relatedTarget && e.relatedTarget.id && e.relatedTarget.id === "jstree-marker-line") { >- return false; >- } >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { >- if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); } >- if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); } >- if(this.data.dnd.to1) { clearTimeout(this.data.dnd.to1); } >- if(this.data.dnd.to2) { clearTimeout(this.data.dnd.to2); } >- if($.vakata.dnd.helper.children("ins").hasClass("jstree-ok")) { >- $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid"); >- } >- } >- }, this)) >- .bind("mousemove.jstree", $.proxy(function (e) { >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { >- var cnt = this.get_container()[0]; >- >- // Horizontal scroll >- if(e.pageX + 24 > this.data.dnd.cof.left + this.data.dnd.cw) { >- if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); } >- this.data.dnd.i1 = setInterval($.proxy(function () { this.scrollLeft += $.vakata.dnd.scroll_spd; }, cnt), 100); >- } >- else if(e.pageX - 24 < this.data.dnd.cof.left) { >- if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); } >- this.data.dnd.i1 = setInterval($.proxy(function () { this.scrollLeft -= $.vakata.dnd.scroll_spd; }, cnt), 100); >- } >- else { >- if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); } >- } >- >- // Vertical scroll >- if(e.pageY + 24 > this.data.dnd.cof.top + this.data.dnd.ch) { >- if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); } >- this.data.dnd.i2 = setInterval($.proxy(function () { this.scrollTop += $.vakata.dnd.scroll_spd; }, cnt), 100); >- } >- else if(e.pageY - 24 < this.data.dnd.cof.top) { >- if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); } >- this.data.dnd.i2 = setInterval($.proxy(function () { this.scrollTop -= $.vakata.dnd.scroll_spd; }, cnt), 100); >- } >- else { >- if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); } >- } >- >- } >- }, this)) >- .bind("scroll.jstree", $.proxy(function (e) { >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && m && ml) { >- m.hide(); >- ml.hide(); >- } >- }, this)) >- .delegate("a", "mousedown.jstree", $.proxy(function (e) { >- if(e.which === 1) { >- this.start_drag(e.currentTarget, e); >- return false; >- } >- }, this)) >- .delegate("a", "mouseenter.jstree", $.proxy(function (e) { >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { >- this.dnd_enter(e.currentTarget); >- } >- }, this)) >- .delegate("a", "mousemove.jstree", $.proxy(function (e) { >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { >- if(!r || !r.length || r.children("a")[0] !== e.currentTarget) { >- this.dnd_enter(e.currentTarget); >- } >- if(typeof this.data.dnd.off.top === "undefined") { this.data.dnd.off = $(e.target).offset(); } >- this.data.dnd.w = (e.pageY - (this.data.dnd.off.top || 0)) % this.data.core.li_height; >- if(this.data.dnd.w < 0) { this.data.dnd.w += this.data.core.li_height; } >- this.dnd_show(); >- } >- }, this)) >- .delegate("a", "mouseleave.jstree", $.proxy(function (e) { >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { >- if(e.relatedTarget && e.relatedTarget.id && e.relatedTarget.id === "jstree-marker-line") { >- return false; >- } >- if(m) { m.hide(); } >- if(ml) { ml.hide(); } >- /* >- var ec = $(e.currentTarget).closest("li"), >- er = $(e.relatedTarget).closest("li"); >- if(er[0] !== ec.prev()[0] && er[0] !== ec.next()[0]) { >- if(m) { m.hide(); } >- if(ml) { ml.hide(); } >- } >- */ >- this.data.dnd.mto = setTimeout( >- (function (t) { return function () { t.dnd_leave(e); }; })(this), >- 0); >- } >- }, this)) >- .delegate("a", "mouseup.jstree", $.proxy(function (e) { >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { >- this.dnd_finish(e); >- } >- }, this)); >- >- $(document) >- .bind("drag_stop.vakata", $.proxy(function () { >- if(this.data.dnd.to1) { clearTimeout(this.data.dnd.to1); } >- if(this.data.dnd.to2) { clearTimeout(this.data.dnd.to2); } >- if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); } >- if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); } >- this.data.dnd.after = false; >- this.data.dnd.before = false; >- this.data.dnd.inside = false; >- this.data.dnd.off = false; >- this.data.dnd.prepared = false; >- this.data.dnd.w = false; >- this.data.dnd.to1 = false; >- this.data.dnd.to2 = false; >- this.data.dnd.i1 = false; >- this.data.dnd.i2 = false; >- this.data.dnd.active = false; >- this.data.dnd.foreign = false; >- if(m) { m.css({ "top" : "-2000px" }); } >- if(ml) { ml.css({ "top" : "-2000px" }); } >- }, this)) >- .bind("drag_start.vakata", $.proxy(function (e, data) { >- if(data.data.jstree) { >- var et = $(data.event.target); >- if(et.closest(".jstree").hasClass("jstree-" + this.get_index())) { >- this.dnd_enter(et); >- } >- } >- }, this)); >- /* >- .bind("keydown.jstree-" + this.get_index() + " keyup.jstree-" + this.get_index(), $.proxy(function(e) { >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && !this.data.dnd.foreign) { >- var h = $.vakata.dnd.helper.children("ins"); >- if(e[this._get_settings().dnd.copy_modifier + "Key"] && h.hasClass("jstree-ok")) { >- h.parent().html(h.parent().html().replace(/ \(Copy\)$/, "") + " (Copy)"); >- } >- else { >- h.parent().html(h.parent().html().replace(/ \(Copy\)$/, "")); >- } >- } >- }, this)); */ >- >- >- >- var s = this._get_settings().dnd; >- if(s.drag_target) { >- $(document) >- .delegate(s.drag_target, "mousedown.jstree-" + this.get_index(), $.proxy(function (e) { >- o = e.target; >- $.vakata.dnd.drag_start(e, { jstree : true, obj : e.target }, "<ins class='jstree-icon'></ins>" + $(e.target).text() ); >- if(this.data.themes) { >- if(m) { m.attr("class", "jstree-" + this.data.themes.theme); } >- if(ml) { ml.attr("class", "jstree-" + this.data.themes.theme); } >- $.vakata.dnd.helper.attr("class", "jstree-dnd-helper jstree-" + this.data.themes.theme); >- } >- $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid"); >- var cnt = this.get_container(); >- this.data.dnd.cof = cnt.offset(); >- this.data.dnd.cw = parseInt(cnt.width(),10); >- this.data.dnd.ch = parseInt(cnt.height(),10); >- this.data.dnd.foreign = true; >- e.preventDefault(); >- }, this)); >- } >- if(s.drop_target) { >- $(document) >- .delegate(s.drop_target, "mouseenter.jstree-" + this.get_index(), $.proxy(function (e) { >- if(this.data.dnd.active && this._get_settings().dnd.drop_check.call(this, { "o" : o, "r" : $(e.target), "e" : e })) { >- $.vakata.dnd.helper.children("ins").attr("class","jstree-ok"); >- } >- }, this)) >- .delegate(s.drop_target, "mouseleave.jstree-" + this.get_index(), $.proxy(function (e) { >- if(this.data.dnd.active) { >- $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid"); >- } >- }, this)) >- .delegate(s.drop_target, "mouseup.jstree-" + this.get_index(), $.proxy(function (e) { >- if(this.data.dnd.active && $.vakata.dnd.helper.children("ins").hasClass("jstree-ok")) { >- this._get_settings().dnd.drop_finish.call(this, { "o" : o, "r" : $(e.target), "e" : e }); >- } >- }, this)); >- } >- }, >- defaults : { >- copy_modifier : "ctrl", >- check_timeout : 100, >- open_timeout : 500, >- drop_target : ".jstree-drop", >- drop_check : function (data) { return true; }, >- drop_finish : $.noop, >- drag_target : ".jstree-draggable", >- drag_finish : $.noop, >- drag_check : function (data) { return { after : false, before : false, inside : true }; } >- }, >- _fn : { >- dnd_prepare : function () { >- if(!r || !r.length) { return; } >- this.data.dnd.off = r.offset(); >- if(this._get_settings().core.rtl) { >- this.data.dnd.off.right = this.data.dnd.off.left + r.width(); >- } >- if(this.data.dnd.foreign) { >- var a = this._get_settings().dnd.drag_check.call(this, { "o" : o, "r" : r }); >- this.data.dnd.after = a.after; >- this.data.dnd.before = a.before; >- this.data.dnd.inside = a.inside; >- this.data.dnd.prepared = true; >- return this.dnd_show(); >- } >- this.prepare_move(o, r, "before"); >- this.data.dnd.before = this.check_move(); >- this.prepare_move(o, r, "after"); >- this.data.dnd.after = this.check_move(); >- if(this._is_loaded(r)) { >- this.prepare_move(o, r, "inside"); >- this.data.dnd.inside = this.check_move(); >- } >- else { >- this.data.dnd.inside = false; >- } >- this.data.dnd.prepared = true; >- return this.dnd_show(); >- }, >- dnd_show : function () { >- if(!this.data.dnd.prepared) { return; } >- var o = ["before","inside","after"], >- r = false, >- rtl = this._get_settings().core.rtl, >- pos; >- if(this.data.dnd.w < this.data.core.li_height/3) { o = ["before","inside","after"]; } >- else if(this.data.dnd.w <= this.data.core.li_height*2/3) { >- o = this.data.dnd.w < this.data.core.li_height/2 ? ["inside","before","after"] : ["inside","after","before"]; >- } >- else { o = ["after","inside","before"]; } >- $.each(o, $.proxy(function (i, val) { >- if(this.data.dnd[val]) { >- $.vakata.dnd.helper.children("ins").attr("class","jstree-ok"); >- r = val; >- return false; >- } >- }, this)); >- if(r === false) { $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid"); } >- >- pos = rtl ? (this.data.dnd.off.right - 18) : (this.data.dnd.off.left + 10); >- switch(r) { >- case "before": >- m.css({ "left" : pos + "px", "top" : (this.data.dnd.off.top - 6) + "px" }).show(); >- if(ml) { ml.css({ "left" : (pos + 8) + "px", "top" : (this.data.dnd.off.top - 1) + "px" }).show(); } >- break; >- case "after": >- m.css({ "left" : pos + "px", "top" : (this.data.dnd.off.top + this.data.core.li_height - 6) + "px" }).show(); >- if(ml) { ml.css({ "left" : (pos + 8) + "px", "top" : (this.data.dnd.off.top + this.data.core.li_height - 1) + "px" }).show(); } >- break; >- case "inside": >- m.css({ "left" : pos + ( rtl ? -4 : 4) + "px", "top" : (this.data.dnd.off.top + this.data.core.li_height/2 - 5) + "px" }).show(); >- if(ml) { ml.hide(); } >- break; >- default: >- m.hide(); >- if(ml) { ml.hide(); } >- break; >- } >- last_pos = r; >- return r; >- }, >- dnd_open : function () { >- this.data.dnd.to2 = false; >- this.open_node(r, $.proxy(this.dnd_prepare,this), true); >- }, >- dnd_finish : function (e) { >- if(this.data.dnd.foreign) { >- if(this.data.dnd.after || this.data.dnd.before || this.data.dnd.inside) { >- this._get_settings().dnd.drag_finish.call(this, { "o" : o, "r" : r, "p" : last_pos }); >- } >- } >- else { >- this.dnd_prepare(); >- this.move_node(o, r, last_pos, e[this._get_settings().dnd.copy_modifier + "Key"]); >- } >- o = false; >- r = false; >- m.hide(); >- if(ml) { ml.hide(); } >- }, >- dnd_enter : function (obj) { >- if(this.data.dnd.mto) { >- clearTimeout(this.data.dnd.mto); >- this.data.dnd.mto = false; >- } >- var s = this._get_settings().dnd; >- this.data.dnd.prepared = false; >- r = this._get_node(obj); >- if(s.check_timeout) { >- // do the calculations after a minimal timeout (users tend to drag quickly to the desired location) >- if(this.data.dnd.to1) { clearTimeout(this.data.dnd.to1); } >- this.data.dnd.to1 = setTimeout($.proxy(this.dnd_prepare, this), s.check_timeout); >- } >- else { >- this.dnd_prepare(); >- } >- if(s.open_timeout) { >- if(this.data.dnd.to2) { clearTimeout(this.data.dnd.to2); } >- if(r && r.length && r.hasClass("jstree-closed")) { >- // if the node is closed - open it, then recalculate >- this.data.dnd.to2 = setTimeout($.proxy(this.dnd_open, this), s.open_timeout); >- } >- } >- else { >- if(r && r.length && r.hasClass("jstree-closed")) { >- this.dnd_open(); >- } >- } >- }, >- dnd_leave : function (e) { >- this.data.dnd.after = false; >- this.data.dnd.before = false; >- this.data.dnd.inside = false; >- $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid"); >- m.hide(); >- if(ml) { ml.hide(); } >- if(r && r[0] === e.target.parentNode) { >- if(this.data.dnd.to1) { >- clearTimeout(this.data.dnd.to1); >- this.data.dnd.to1 = false; >- } >- if(this.data.dnd.to2) { >- clearTimeout(this.data.dnd.to2); >- this.data.dnd.to2 = false; >- } >- } >- }, >- start_drag : function (obj, e) { >- o = this._get_node(obj); >- if(this.data.ui && this.is_selected(o)) { o = this._get_node(null, true); } >- var dt = o.length > 1 ? this._get_string("multiple_selection") : this.get_text(o), >- cnt = this.get_container(); >- if(!this._get_settings().core.html_titles) { dt = dt.replace(/</ig,"<").replace(/>/ig,">"); } >- $.vakata.dnd.drag_start(e, { jstree : true, obj : o }, "<ins class='jstree-icon'></ins>" + dt ); >- if(this.data.themes) { >- if(m) { m.attr("class", "jstree-" + this.data.themes.theme); } >- if(ml) { ml.attr("class", "jstree-" + this.data.themes.theme); } >- $.vakata.dnd.helper.attr("class", "jstree-dnd-helper jstree-" + this.data.themes.theme); >- } >- this.data.dnd.cof = cnt.offset(); >- this.data.dnd.cw = parseInt(cnt.width(),10); >- this.data.dnd.ch = parseInt(cnt.height(),10); >- this.data.dnd.active = true; >- } >- } >- }); >- $(function() { >- var css_string = '' + >- '#vakata-dragged ins { display:block; text-decoration:none; width:16px; height:16px; margin:0 0 0 0; padding:0; position:absolute; top:4px; left:4px; ' + >- ' -moz-border-radius:4px; border-radius:4px; -webkit-border-radius:4px; ' + >- '} ' + >- '#vakata-dragged .jstree-ok { background:green; } ' + >- '#vakata-dragged .jstree-invalid { background:red; } ' + >- '#jstree-marker { padding:0; margin:0; font-size:12px; overflow:hidden; height:12px; width:8px; position:absolute; top:-30px; z-index:10001; background-repeat:no-repeat; display:none; background-color:transparent; text-shadow:1px 1px 1px white; color:black; line-height:10px; } ' + >- '#jstree-marker-line { padding:0; margin:0; line-height:0%; font-size:1px; overflow:hidden; height:1px; width:100px; position:absolute; top:-30px; z-index:10000; background-repeat:no-repeat; display:none; background-color:#456c43; ' + >- ' cursor:pointer; border:1px solid #eeeeee; border-left:0; -moz-box-shadow: 0px 0px 2px #666; -webkit-box-shadow: 0px 0px 2px #666; box-shadow: 0px 0px 2px #666; ' + >- ' -moz-border-radius:1px; border-radius:1px; -webkit-border-radius:1px; ' + >- '}' + >- ''; >- $.vakata.css.add_sheet({ str : css_string, title : "jstree" }); >- m = $("<div />").attr({ id : "jstree-marker" }).hide().html("»") >- .bind("mouseleave mouseenter", function (e) { >- m.hide(); >- ml.hide(); >- e.preventDefault(); >- e.stopImmediatePropagation(); >- return false; >- }) >- .appendTo("body"); >- ml = $("<div />").attr({ id : "jstree-marker-line" }).hide() >- .bind("mouseup", function (e) { >- if(r && r.length) { >- r.children("a").trigger(e); >- e.preventDefault(); >- e.stopImmediatePropagation(); >- return false; >- } >- }) >- .bind("mouseleave", function (e) { >- var rt = $(e.relatedTarget); >- if(rt.is(".jstree") || rt.closest(".jstree").length === 0) { >- if(r && r.length) { >- r.children("a").trigger(e); >- m.hide(); >- ml.hide(); >- e.preventDefault(); >- e.stopImmediatePropagation(); >- return false; >- } >- } >- }) >- .appendTo("body"); >- $(document).bind("drag_start.vakata", function (e, data) { >- if(data.data.jstree) { m.show(); if(ml) { ml.show(); } } >- }); >- $(document).bind("drag_stop.vakata", function (e, data) { >- if(data.data.jstree) { m.hide(); if(ml) { ml.hide(); } } >- }); >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree checkbox plugin >- * Inserts checkboxes in front of every node >- * Depends on the ui plugin >- * DOES NOT WORK NICELY WITH MULTITREE DRAG'N'DROP >- */ >-(function ($) { >- $.jstree.plugin("checkbox", { >- __init : function () { >- this.data.checkbox.noui = this._get_settings().checkbox.override_ui; >- if(this.data.ui && this.data.checkbox.noui) { >- this.select_node = this.deselect_node = this.deselect_all = $.noop; >- this.get_selected = this.get_checked; >- } >- >- this.get_container() >- .bind("open_node.jstree create_node.jstree clean_node.jstree refresh.jstree", $.proxy(function (e, data) { >- this._prepare_checkboxes(data.rslt.obj); >- }, this)) >- .bind("loaded.jstree", $.proxy(function (e) { >- this._prepare_checkboxes(); >- }, this)) >- .delegate( (this.data.ui && this.data.checkbox.noui ? "a" : "ins.jstree-checkbox") , "click.jstree", $.proxy(function (e) { >- e.preventDefault(); >- if(this._get_node(e.target).hasClass("jstree-checked")) { this.uncheck_node(e.target); } >- else { this.check_node(e.target); } >- if(this.data.ui && this.data.checkbox.noui) { >- this.save_selected(); >- if(this.data.cookies) { this.save_cookie("select_node"); } >- } >- else { >- e.stopImmediatePropagation(); >- return false; >- } >- }, this)); >- }, >- defaults : { >- override_ui : false, >- two_state : false, >- real_checkboxes : false, >- checked_parent_open : true, >- real_checkboxes_names : function (n) { return [ ("check_" + (n[0].id || Math.ceil(Math.random() * 10000))) , 1]; } >- }, >- __destroy : function () { >- this.get_container() >- .find("input.jstree-real-checkbox").removeClass("jstree-real-checkbox").end() >- .find("ins.jstree-checkbox").remove(); >- }, >- _fn : { >- _checkbox_notify : function (n, data) { >- if(data.checked) { >- this.check_node(n, false); >- } >- }, >- _prepare_checkboxes : function (obj) { >- obj = !obj || obj == -1 ? this.get_container().find("> ul > li") : this._get_node(obj); >- if(obj === false) { return; } // added for removing root nodes >- var c, _this = this, t, ts = this._get_settings().checkbox.two_state, rc = this._get_settings().checkbox.real_checkboxes, rcn = this._get_settings().checkbox.real_checkboxes_names; >- obj.each(function () { >- t = $(this); >- c = t.is("li") && (t.hasClass("jstree-checked") || (rc && t.children(":checked").length)) ? "jstree-checked" : "jstree-unchecked"; >- t.find("li").andSelf().each(function () { >- var $t = $(this), nm; >- $t.children("a" + (_this.data.languages ? "" : ":eq(0)") ).not(":has(.jstree-checkbox)").prepend("<ins class='jstree-checkbox'> </ins>").parent().not(".jstree-checked, .jstree-unchecked").addClass( ts ? "jstree-unchecked" : c ); >- if(rc) { >- if(!$t.children(":checkbox").length) { >- nm = rcn.call(_this, $t); >- $t.prepend("<input type='checkbox' class='jstree-real-checkbox' id='" + nm[0] + "' name='" + nm[0] + "' value='" + nm[1] + "' />"); >- } >- else { >- $t.children(":checkbox").addClass("jstree-real-checkbox"); >- } >- } >- if(!ts) { >- if(c === "jstree-checked" || $t.hasClass("jstree-checked") || $t.children(':checked').length) { >- $t.find("li").andSelf().addClass("jstree-checked").children(":checkbox").prop("checked", true); >- } >- } >- else { >- if($t.hasClass("jstree-checked") || $t.children(':checked').length) { >- $t.addClass("jstree-checked").children(":checkbox").prop("checked", true); >- } >- } >- }); >- }); >- if(!ts) { >- obj.find(".jstree-checked").parent().parent().each(function () { _this._repair_state(this); }); >- } >- }, >- change_state : function (obj, state) { >- obj = this._get_node(obj); >- var coll = false, rc = this._get_settings().checkbox.real_checkboxes; >- if(!obj || obj === -1) { return false; } >- state = (state === false || state === true) ? state : obj.hasClass("jstree-checked"); >- if(this._get_settings().checkbox.two_state) { >- if(state) { >- obj.removeClass("jstree-checked").addClass("jstree-unchecked"); >- if(rc) { obj.children(":checkbox").prop("checked", false); } >- } >- else { >- obj.removeClass("jstree-unchecked").addClass("jstree-checked"); >- if(rc) { obj.children(":checkbox").prop("checked", true); } >- } >- } >- else { >- if(state) { >- coll = obj.find("li").andSelf(); >- if(!coll.filter(".jstree-checked, .jstree-undetermined").length) { return false; } >- coll.removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked"); >- if(rc) { coll.children(":checkbox").prop("checked", false); } >- } >- else { >- coll = obj.find("li").andSelf(); >- if(!coll.filter(".jstree-unchecked, .jstree-undetermined").length) { return false; } >- coll.removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked"); >- if(rc) { coll.children(":checkbox").prop("checked", true); } >- if(this.data.ui) { this.data.ui.last_selected = obj; } >- this.data.checkbox.last_selected = obj; >- } >- obj.parentsUntil(".jstree", "li").each(function () { >- var $this = $(this); >- if(state) { >- if($this.children("ul").children("li.jstree-checked, li.jstree-undetermined").length) { >- $this.parentsUntil(".jstree", "li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined"); >- if(rc) { $this.parentsUntil(".jstree", "li").andSelf().children(":checkbox").prop("checked", false); } >- return false; >- } >- else { >- $this.removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked"); >- if(rc) { $this.children(":checkbox").prop("checked", false); } >- } >- } >- else { >- if($this.children("ul").children("li.jstree-unchecked, li.jstree-undetermined").length) { >- $this.parentsUntil(".jstree", "li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined"); >- if(rc) { $this.parentsUntil(".jstree", "li").andSelf().children(":checkbox").prop("checked", false); } >- return false; >- } >- else { >- $this.removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked"); >- if(rc) { $this.children(":checkbox").prop("checked", true); } >- } >- } >- }); >- } >- if(this.data.ui && this.data.checkbox.noui) { this.data.ui.selected = this.get_checked(); } >- this.__callback(obj); >- return true; >- }, >- check_node : function (obj) { >- if(this.change_state(obj, false)) { >- obj = this._get_node(obj); >- if(this._get_settings().checkbox.checked_parent_open) { >- var t = this; >- obj.parents(".jstree-closed").each(function () { t.open_node(this, false, true); }); >- } >- this.__callback({ "obj" : obj }); >- } >- }, >- uncheck_node : function (obj) { >- if(this.change_state(obj, true)) { this.__callback({ "obj" : this._get_node(obj) }); } >- }, >- check_all : function () { >- var _this = this, >- coll = this._get_settings().checkbox.two_state ? this.get_container_ul().find("li") : this.get_container_ul().children("li"); >- coll.each(function () { >- _this.change_state(this, false); >- }); >- this.__callback(); >- }, >- uncheck_all : function () { >- var _this = this, >- coll = this._get_settings().checkbox.two_state ? this.get_container_ul().find("li") : this.get_container_ul().children("li"); >- coll.each(function () { >- _this.change_state(this, true); >- }); >- this.__callback(); >- }, >- >- is_checked : function(obj) { >- obj = this._get_node(obj); >- return obj.length ? obj.is(".jstree-checked") : false; >- }, >- get_checked : function (obj, get_all) { >- obj = !obj || obj === -1 ? this.get_container() : this._get_node(obj); >- return get_all || this._get_settings().checkbox.two_state ? obj.find(".jstree-checked") : obj.find("> ul > .jstree-checked, .jstree-undetermined > ul > .jstree-checked"); >- }, >- get_unchecked : function (obj, get_all) { >- obj = !obj || obj === -1 ? this.get_container() : this._get_node(obj); >- return get_all || this._get_settings().checkbox.two_state ? obj.find(".jstree-unchecked") : obj.find("> ul > .jstree-unchecked, .jstree-undetermined > ul > .jstree-unchecked"); >- }, >- >- show_checkboxes : function () { this.get_container().children("ul").removeClass("jstree-no-checkboxes"); }, >- hide_checkboxes : function () { this.get_container().children("ul").addClass("jstree-no-checkboxes"); }, >- >- _repair_state : function (obj) { >- obj = this._get_node(obj); >- if(!obj.length) { return; } >- if(this._get_settings().checkbox.two_state) { >- obj.find('li').andSelf().not('.jstree-checked').removeClass('jstree-undetermined').addClass('jstree-unchecked').children(':checkbox').prop('checked', true); >- return; >- } >- var rc = this._get_settings().checkbox.real_checkboxes, >- a = obj.find("> ul > .jstree-checked").length, >- b = obj.find("> ul > .jstree-undetermined").length, >- c = obj.find("> ul > li").length; >- if(c === 0) { if(obj.hasClass("jstree-undetermined")) { this.change_state(obj, false); } } >- else if(a === 0 && b === 0) { this.change_state(obj, true); } >- else if(a === c) { this.change_state(obj, false); } >- else { >- obj.parentsUntil(".jstree","li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined"); >- if(rc) { obj.parentsUntil(".jstree", "li").andSelf().children(":checkbox").prop("checked", false); } >- } >- }, >- reselect : function () { >- if(this.data.ui && this.data.checkbox.noui) { >- var _this = this, >- s = this.data.ui.to_select; >- s = $.map($.makeArray(s), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); }); >- this.deselect_all(); >- $.each(s, function (i, val) { _this.check_node(val); }); >- this.__callback(); >- } >- else { >- this.__call_old(); >- } >- }, >- save_loaded : function () { >- var _this = this; >- this.data.core.to_load = []; >- this.get_container_ul().find("li.jstree-closed.jstree-undetermined").each(function () { >- if(this.id) { _this.data.core.to_load.push("#" + this.id); } >- }); >- } >- } >- }); >- $(function() { >- var css_string = '.jstree .jstree-real-checkbox { display:none; } '; >- $.vakata.css.add_sheet({ str : css_string, title : "jstree" }); >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree XML plugin >- * The XML data store. Datastores are build by overriding the `load_node` and `_is_loaded` functions. >- */ >-(function ($) { >- $.vakata.xslt = function (xml, xsl, callback) { >- var rs = "", xm, xs, processor, support; >- // TODO: IE9 no XSLTProcessor, no document.recalc >- if(document.recalc) { >- xm = document.createElement('xml'); >- xs = document.createElement('xml'); >- xm.innerHTML = xml; >- xs.innerHTML = xsl; >- $("body").append(xm).append(xs); >- setTimeout( (function (xm, xs, callback) { >- return function () { >- callback.call(null, xm.transformNode(xs.XMLDocument)); >- setTimeout( (function (xm, xs) { return function () { $(xm).remove(); $(xs).remove(); }; })(xm, xs), 200); >- }; >- })(xm, xs, callback), 100); >- return true; >- } >- if(typeof window.DOMParser !== "undefined" && typeof window.XMLHttpRequest !== "undefined" && typeof window.XSLTProcessor === "undefined") { >- xml = new DOMParser().parseFromString(xml, "text/xml"); >- xsl = new DOMParser().parseFromString(xsl, "text/xml"); >- // alert(xml.transformNode()); >- // callback.call(null, new XMLSerializer().serializeToString(rs)); >- >- } >- if(typeof window.DOMParser !== "undefined" && typeof window.XMLHttpRequest !== "undefined" && typeof window.XSLTProcessor !== "undefined") { >- processor = new XSLTProcessor(); >- support = $.isFunction(processor.transformDocument) ? (typeof window.XMLSerializer !== "undefined") : true; >- if(!support) { return false; } >- xml = new DOMParser().parseFromString(xml, "text/xml"); >- xsl = new DOMParser().parseFromString(xsl, "text/xml"); >- if($.isFunction(processor.transformDocument)) { >- rs = document.implementation.createDocument("", "", null); >- processor.transformDocument(xml, xsl, rs, null); >- callback.call(null, new XMLSerializer().serializeToString(rs)); >- return true; >- } >- else { >- processor.importStylesheet(xsl); >- rs = processor.transformToFragment(xml, document); >- callback.call(null, $("<div />").append(rs).html()); >- return true; >- } >- } >- return false; >- }; >- var xsl = { >- 'nest' : '<' + '?xml version="1.0" encoding="utf-8" ?>' + >- '<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >' + >- '<xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" standalone="no" indent="no" media-type="text/html" />' + >- '<xsl:template match="/">' + >- ' <xsl:call-template name="nodes">' + >- ' <xsl:with-param name="node" select="/root" />' + >- ' </xsl:call-template>' + >- '</xsl:template>' + >- '<xsl:template name="nodes">' + >- ' <xsl:param name="node" />' + >- ' <ul>' + >- ' <xsl:for-each select="$node/item">' + >- ' <xsl:variable name="children" select="count(./item) > 0" />' + >- ' <li>' + >- ' <xsl:attribute name="class">' + >- ' <xsl:if test="position() = last()">jstree-last </xsl:if>' + >- ' <xsl:choose>' + >- ' <xsl:when test="@state = \'open\'">jstree-open </xsl:when>' + >- ' <xsl:when test="$children or @hasChildren or @state = \'closed\'">jstree-closed </xsl:when>' + >- ' <xsl:otherwise>jstree-leaf </xsl:otherwise>' + >- ' </xsl:choose>' + >- ' <xsl:value-of select="@class" />' + >- ' </xsl:attribute>' + >- ' <xsl:for-each select="@*">' + >- ' <xsl:if test="name() != \'class\' and name() != \'state\' and name() != \'hasChildren\'">' + >- ' <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' + >- ' </xsl:if>' + >- ' </xsl:for-each>' + >- ' <ins class="jstree-icon"><xsl:text> </xsl:text></ins>' + >- ' <xsl:for-each select="content/name">' + >- ' <a>' + >- ' <xsl:attribute name="href">' + >- ' <xsl:choose>' + >- ' <xsl:when test="@href"><xsl:value-of select="@href" /></xsl:when>' + >- ' <xsl:otherwise>#</xsl:otherwise>' + >- ' </xsl:choose>' + >- ' </xsl:attribute>' + >- ' <xsl:attribute name="class"><xsl:value-of select="@lang" /> <xsl:value-of select="@class" /></xsl:attribute>' + >- ' <xsl:attribute name="style"><xsl:value-of select="@style" /></xsl:attribute>' + >- ' <xsl:for-each select="@*">' + >- ' <xsl:if test="name() != \'style\' and name() != \'class\' and name() != \'href\'">' + >- ' <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' + >- ' </xsl:if>' + >- ' </xsl:for-each>' + >- ' <ins>' + >- ' <xsl:attribute name="class">jstree-icon ' + >- ' <xsl:if test="string-length(attribute::icon) > 0 and not(contains(@icon,\'/\'))"><xsl:value-of select="@icon" /></xsl:if>' + >- ' </xsl:attribute>' + >- ' <xsl:if test="string-length(attribute::icon) > 0 and contains(@icon,\'/\')"><xsl:attribute name="style">background:url(<xsl:value-of select="@icon" />) center center no-repeat;</xsl:attribute></xsl:if>' + >- ' <xsl:text> </xsl:text>' + >- ' </ins>' + >- ' <xsl:copy-of select="./child::node()" />' + >- ' </a>' + >- ' </xsl:for-each>' + >- ' <xsl:if test="$children or @hasChildren"><xsl:call-template name="nodes"><xsl:with-param name="node" select="current()" /></xsl:call-template></xsl:if>' + >- ' </li>' + >- ' </xsl:for-each>' + >- ' </ul>' + >- '</xsl:template>' + >- '</xsl:stylesheet>', >- >- 'flat' : '<' + '?xml version="1.0" encoding="utf-8" ?>' + >- '<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >' + >- '<xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" standalone="no" indent="no" media-type="text/xml" />' + >- '<xsl:template match="/">' + >- ' <ul>' + >- ' <xsl:for-each select="//item[not(@parent_id) or @parent_id=0 or not(@parent_id = //item/@id)]">' + /* the last `or` may be removed */ >- ' <xsl:call-template name="nodes">' + >- ' <xsl:with-param name="node" select="." />' + >- ' <xsl:with-param name="is_last" select="number(position() = last())" />' + >- ' </xsl:call-template>' + >- ' </xsl:for-each>' + >- ' </ul>' + >- '</xsl:template>' + >- '<xsl:template name="nodes">' + >- ' <xsl:param name="node" />' + >- ' <xsl:param name="is_last" />' + >- ' <xsl:variable name="children" select="count(//item[@parent_id=$node/attribute::id]) > 0" />' + >- ' <li>' + >- ' <xsl:attribute name="class">' + >- ' <xsl:if test="$is_last = true()">jstree-last </xsl:if>' + >- ' <xsl:choose>' + >- ' <xsl:when test="@state = \'open\'">jstree-open </xsl:when>' + >- ' <xsl:when test="$children or @hasChildren or @state = \'closed\'">jstree-closed </xsl:when>' + >- ' <xsl:otherwise>jstree-leaf </xsl:otherwise>' + >- ' </xsl:choose>' + >- ' <xsl:value-of select="@class" />' + >- ' </xsl:attribute>' + >- ' <xsl:for-each select="@*">' + >- ' <xsl:if test="name() != \'parent_id\' and name() != \'hasChildren\' and name() != \'class\' and name() != \'state\'">' + >- ' <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' + >- ' </xsl:if>' + >- ' </xsl:for-each>' + >- ' <ins class="jstree-icon"><xsl:text> </xsl:text></ins>' + >- ' <xsl:for-each select="content/name">' + >- ' <a>' + >- ' <xsl:attribute name="href">' + >- ' <xsl:choose>' + >- ' <xsl:when test="@href"><xsl:value-of select="@href" /></xsl:when>' + >- ' <xsl:otherwise>#</xsl:otherwise>' + >- ' </xsl:choose>' + >- ' </xsl:attribute>' + >- ' <xsl:attribute name="class"><xsl:value-of select="@lang" /> <xsl:value-of select="@class" /></xsl:attribute>' + >- ' <xsl:attribute name="style"><xsl:value-of select="@style" /></xsl:attribute>' + >- ' <xsl:for-each select="@*">' + >- ' <xsl:if test="name() != \'style\' and name() != \'class\' and name() != \'href\'">' + >- ' <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' + >- ' </xsl:if>' + >- ' </xsl:for-each>' + >- ' <ins>' + >- ' <xsl:attribute name="class">jstree-icon ' + >- ' <xsl:if test="string-length(attribute::icon) > 0 and not(contains(@icon,\'/\'))"><xsl:value-of select="@icon" /></xsl:if>' + >- ' </xsl:attribute>' + >- ' <xsl:if test="string-length(attribute::icon) > 0 and contains(@icon,\'/\')"><xsl:attribute name="style">background:url(<xsl:value-of select="@icon" />) center center no-repeat;</xsl:attribute></xsl:if>' + >- ' <xsl:text> </xsl:text>' + >- ' </ins>' + >- ' <xsl:copy-of select="./child::node()" />' + >- ' </a>' + >- ' </xsl:for-each>' + >- ' <xsl:if test="$children">' + >- ' <ul>' + >- ' <xsl:for-each select="//item[@parent_id=$node/attribute::id]">' + >- ' <xsl:call-template name="nodes">' + >- ' <xsl:with-param name="node" select="." />' + >- ' <xsl:with-param name="is_last" select="number(position() = last())" />' + >- ' </xsl:call-template>' + >- ' </xsl:for-each>' + >- ' </ul>' + >- ' </xsl:if>' + >- ' </li>' + >- '</xsl:template>' + >- '</xsl:stylesheet>' >- }, >- escape_xml = function(string) { >- return string >- .toString() >- .replace(/&/g, '&') >- .replace(/</g, '<') >- .replace(/>/g, '>') >- .replace(/"/g, '"') >- .replace(/'/g, '''); >- }; >- $.jstree.plugin("xml_data", { >- defaults : { >- data : false, >- ajax : false, >- xsl : "flat", >- clean_node : false, >- correct_state : true, >- get_skip_empty : false, >- get_include_preamble : true >- }, >- _fn : { >- load_node : function (obj, s_call, e_call) { var _this = this; this.load_node_xml(obj, function () { _this.__callback({ "obj" : _this._get_node(obj) }); s_call.call(this); }, e_call); }, >- _is_loaded : function (obj) { >- var s = this._get_settings().xml_data; >- obj = this._get_node(obj); >- return obj == -1 || !obj || (!s.ajax && !$.isFunction(s.data)) || obj.is(".jstree-open, .jstree-leaf") || obj.children("ul").children("li").size() > 0; >- }, >- load_node_xml : function (obj, s_call, e_call) { >- var s = this.get_settings().xml_data, >- error_func = function () {}, >- success_func = function () {}; >- >- obj = this._get_node(obj); >- if(obj && obj !== -1) { >- if(obj.data("jstree_is_loading")) { return; } >- else { obj.data("jstree_is_loading",true); } >- } >- switch(!0) { >- case (!s.data && !s.ajax): throw "Neither data nor ajax settings supplied."; >- case ($.isFunction(s.data)): >- s.data.call(this, obj, $.proxy(function (d) { >- this.parse_xml(d, $.proxy(function (d) { >- if(d) { >- d = d.replace(/ ?xmlns="[^"]*"/ig, ""); >- if(d.length > 10) { >- d = $(d); >- if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); } >- else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d); obj.removeData("jstree_is_loading"); } >- if(s.clean_node) { this.clean_node(obj); } >- if(s_call) { s_call.call(this); } >- } >- else { >- if(obj && obj !== -1) { >- obj.children("a.jstree-loading").removeClass("jstree-loading"); >- obj.removeData("jstree_is_loading"); >- if(s.correct_state) { >- this.correct_state(obj); >- if(s_call) { s_call.call(this); } >- } >- } >- else { >- if(s.correct_state) { >- this.get_container().children("ul").empty(); >- if(s_call) { s_call.call(this); } >- } >- } >- } >- } >- }, this)); >- }, this)); >- break; >- case (!!s.data && !s.ajax) || (!!s.data && !!s.ajax && (!obj || obj === -1)): >- if(!obj || obj == -1) { >- this.parse_xml(s.data, $.proxy(function (d) { >- if(d) { >- d = d.replace(/ ?xmlns="[^"]*"/ig, ""); >- if(d.length > 10) { >- d = $(d); >- this.get_container().children("ul").empty().append(d.children()); >- if(s.clean_node) { this.clean_node(obj); } >- if(s_call) { s_call.call(this); } >- } >- } >- else { >- if(s.correct_state) { >- this.get_container().children("ul").empty(); >- if(s_call) { s_call.call(this); } >- } >- } >- }, this)); >- } >- break; >- case (!s.data && !!s.ajax) || (!!s.data && !!s.ajax && obj && obj !== -1): >- error_func = function (x, t, e) { >- var ef = this.get_settings().xml_data.ajax.error; >- if(ef) { ef.call(this, x, t, e); } >- if(obj !== -1 && obj.length) { >- obj.children("a.jstree-loading").removeClass("jstree-loading"); >- obj.removeData("jstree_is_loading"); >- if(t === "success" && s.correct_state) { this.correct_state(obj); } >- } >- else { >- if(t === "success" && s.correct_state) { this.get_container().children("ul").empty(); } >- } >- if(e_call) { e_call.call(this); } >- }; >- success_func = function (d, t, x) { >- d = x.responseText; >- var sf = this.get_settings().xml_data.ajax.success; >- if(sf) { d = sf.call(this,d,t,x) || d; } >- if(d === "" || (d && d.toString && d.toString().replace(/^[\s\n]+$/,"") === "")) { >- return error_func.call(this, x, t, ""); >- } >- this.parse_xml(d, $.proxy(function (d) { >- if(d) { >- d = d.replace(/ ?xmlns="[^"]*"/ig, ""); >- if(d.length > 10) { >- d = $(d); >- if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); } >- else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d); obj.removeData("jstree_is_loading"); } >- if(s.clean_node) { this.clean_node(obj); } >- if(s_call) { s_call.call(this); } >- } >- else { >- if(obj && obj !== -1) { >- obj.children("a.jstree-loading").removeClass("jstree-loading"); >- obj.removeData("jstree_is_loading"); >- if(s.correct_state) { >- this.correct_state(obj); >- if(s_call) { s_call.call(this); } >- } >- } >- else { >- if(s.correct_state) { >- this.get_container().children("ul").empty(); >- if(s_call) { s_call.call(this); } >- } >- } >- } >- } >- }, this)); >- }; >- s.ajax.context = this; >- s.ajax.error = error_func; >- s.ajax.success = success_func; >- if(!s.ajax.dataType) { s.ajax.dataType = "xml"; } >- if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, obj); } >- if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, obj); } >- $.ajax(s.ajax); >- break; >- } >- }, >- parse_xml : function (xml, callback) { >- var s = this._get_settings().xml_data; >- $.vakata.xslt(xml, xsl[s.xsl], callback); >- }, >- get_xml : function (tp, obj, li_attr, a_attr, is_callback) { >- var result = "", >- s = this._get_settings(), >- _this = this, >- tmp1, tmp2, li, a, lang; >- if(!tp) { tp = "flat"; } >- if(!is_callback) { is_callback = 0; } >- obj = this._get_node(obj); >- if(!obj || obj === -1) { obj = this.get_container().find("> ul > li"); } >- li_attr = $.isArray(li_attr) ? li_attr : [ "id", "class" ]; >- if(!is_callback && this.data.types && $.inArray(s.types.type_attr, li_attr) === -1) { li_attr.push(s.types.type_attr); } >- >- a_attr = $.isArray(a_attr) ? a_attr : [ ]; >- >- if(!is_callback) { >- if(s.xml_data.get_include_preamble) { >- result += '<' + '?xml version="1.0" encoding="UTF-8"?' + '>'; >- } >- result += "<root>"; >- } >- obj.each(function () { >- result += "<item"; >- li = $(this); >- $.each(li_attr, function (i, v) { >- var t = li.attr(v); >- if(!s.xml_data.get_skip_empty || typeof t !== "undefined") { >- result += " " + v + "=\"" + escape_xml((" " + (t || "")).replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"")) + "\""; >- } >- }); >- if(li.hasClass("jstree-open")) { result += " state=\"open\""; } >- if(li.hasClass("jstree-closed")) { result += " state=\"closed\""; } >- if(tp === "flat") { result += " parent_id=\"" + escape_xml(is_callback) + "\""; } >- result += ">"; >- result += "<content>"; >- a = li.children("a"); >- a.each(function () { >- tmp1 = $(this); >- lang = false; >- result += "<name"; >- if($.inArray("languages", s.plugins) !== -1) { >- $.each(s.languages, function (k, z) { >- if(tmp1.hasClass(z)) { result += " lang=\"" + escape_xml(z) + "\""; lang = z; return false; } >- }); >- } >- if(a_attr.length) { >- $.each(a_attr, function (k, z) { >- var t = tmp1.attr(z); >- if(!s.xml_data.get_skip_empty || typeof t !== "undefined") { >- result += " " + z + "=\"" + escape_xml((" " + t || "").replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"")) + "\""; >- } >- }); >- } >- if(tmp1.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/^\s+$/ig,"").length) { >- result += ' icon="' + escape_xml(tmp1.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"")) + '"'; >- } >- if(tmp1.children("ins").get(0).style.backgroundImage.length) { >- result += ' icon="' + escape_xml(tmp1.children("ins").get(0).style.backgroundImage.replace("url(","").replace(")","").replace(/'/ig,"").replace(/"/ig,"")) + '"'; >- } >- result += ">"; >- result += "<![CDATA[" + _this.get_text(tmp1, lang) + "]]>"; >- result += "</name>"; >- }); >- result += "</content>"; >- tmp2 = li[0].id || true; >- li = li.find("> ul > li"); >- if(li.length) { tmp2 = _this.get_xml(tp, li, li_attr, a_attr, tmp2); } >- else { tmp2 = ""; } >- if(tp == "nest") { result += tmp2; } >- result += "</item>"; >- if(tp == "flat") { result += tmp2; } >- }); >- if(!is_callback) { result += "</root>"; } >- return result; >- } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree search plugin >- * Enables both sync and async search on the tree >- * DOES NOT WORK WITH JSON PROGRESSIVE RENDER >- */ >-(function ($) { >- $.expr[':'].jstree_contains = function(a,i,m){ >- return (a.textContent || a.innerText || "").toLowerCase().indexOf(m[3].toLowerCase())>=0; >- }; >- $.expr[':'].jstree_title_contains = function(a,i,m) { >- return (a.getAttribute("title") || "").toLowerCase().indexOf(m[3].toLowerCase())>=0; >- }; >- $.jstree.plugin("search", { >- __init : function () { >- this.data.search.str = ""; >- this.data.search.result = $(); >- if(this._get_settings().search.show_only_matches) { >- this.get_container() >- .bind("search.jstree", function (e, data) { >- $(this).children("ul").find("li").hide().removeClass("jstree-last"); >- data.rslt.nodes.parentsUntil(".jstree").andSelf().show() >- .filter("ul").each(function () { $(this).children("li:visible").eq(-1).addClass("jstree-last"); }); >- }) >- .bind("clear_search.jstree", function () { >- $(this).children("ul").find("li").css("display","").end().end().jstree("clean_node", -1); >- }); >- } >- }, >- defaults : { >- ajax : false, >- search_method : "jstree_contains", // for case insensitive - jstree_contains >- show_only_matches : false >- }, >- _fn : { >- search : function (str, skip_async) { >- if($.trim(str) === "") { this.clear_search(); return; } >- var s = this.get_settings().search, >- t = this, >- error_func = function () { }, >- success_func = function () { }; >- this.data.search.str = str; >- >- if(!skip_async && s.ajax !== false && this.get_container_ul().find("li.jstree-closed:not(:has(ul)):eq(0)").length > 0) { >- this.search.supress_callback = true; >- error_func = function () { }; >- success_func = function (d, t, x) { >- var sf = this.get_settings().search.ajax.success; >- if(sf) { d = sf.call(this,d,t,x) || d; } >- this.data.search.to_open = d; >- this._search_open(); >- }; >- s.ajax.context = this; >- s.ajax.error = error_func; >- s.ajax.success = success_func; >- if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, str); } >- if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, str); } >- if(!s.ajax.data) { s.ajax.data = { "search_string" : str }; } >- if(!s.ajax.dataType || /^json/.exec(s.ajax.dataType)) { s.ajax.dataType = "json"; } >- $.ajax(s.ajax); >- return; >- } >- if(this.data.search.result.length) { this.clear_search(); } >- this.data.search.result = this.get_container().find("a" + (this.data.languages ? "." + this.get_lang() : "" ) + ":" + (s.search_method) + "(" + this.data.search.str + ")"); >- this.data.search.result.addClass("jstree-search").parent().parents(".jstree-closed").each(function () { >- t.open_node(this, false, true); >- }); >- this.__callback({ nodes : this.data.search.result, str : str }); >- }, >- clear_search : function (str) { >- this.data.search.result.removeClass("jstree-search"); >- this.__callback(this.data.search.result); >- this.data.search.result = $(); >- }, >- _search_open : function (is_callback) { >- var _this = this, >- done = true, >- current = [], >- remaining = []; >- if(this.data.search.to_open.length) { >- $.each(this.data.search.to_open, function (i, val) { >- if(val == "#") { return true; } >- if($(val).length && $(val).is(".jstree-closed")) { current.push(val); } >- else { remaining.push(val); } >- }); >- if(current.length) { >- this.data.search.to_open = remaining; >- $.each(current, function (i, val) { >- _this.open_node(val, function () { _this._search_open(true); }); >- }); >- done = false; >- } >- } >- if(done) { this.search(this.data.search.str, true); } >- } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree contextmenu plugin >- */ >-(function ($) { >- $.vakata.context = { >- hide_on_mouseleave : false, >- >- cnt : $("<div id='vakata-contextmenu' />"), >- vis : false, >- tgt : false, >- par : false, >- func : false, >- data : false, >- rtl : false, >- show : function (s, t, x, y, d, p, rtl) { >- $.vakata.context.rtl = !!rtl; >- var html = $.vakata.context.parse(s), h, w; >- if(!html) { return; } >- $.vakata.context.vis = true; >- $.vakata.context.tgt = t; >- $.vakata.context.par = p || t || null; >- $.vakata.context.data = d || null; >- $.vakata.context.cnt >- .html(html) >- .css({ "visibility" : "hidden", "display" : "block", "left" : 0, "top" : 0 }); >- >- if($.vakata.context.hide_on_mouseleave) { >- $.vakata.context.cnt >- .one("mouseleave", function(e) { $.vakata.context.hide(); }); >- } >- >- h = $.vakata.context.cnt.height(); >- w = $.vakata.context.cnt.width(); >- if(x + w > $(document).width()) { >- x = $(document).width() - (w + 5); >- $.vakata.context.cnt.find("li > ul").addClass("right"); >- } >- if(y + h > $(document).height()) { >- y = y - (h + t[0].offsetHeight); >- $.vakata.context.cnt.find("li > ul").addClass("bottom"); >- } >- >- $.vakata.context.cnt >- .css({ "left" : x, "top" : y }) >- .find("li:has(ul)") >- .bind("mouseenter", function (e) { >- var w = $(document).width(), >- h = $(document).height(), >- ul = $(this).children("ul").show(); >- if(w !== $(document).width()) { ul.toggleClass("right"); } >- if(h !== $(document).height()) { ul.toggleClass("bottom"); } >- }) >- .bind("mouseleave", function (e) { >- $(this).children("ul").hide(); >- }) >- .end() >- .css({ "visibility" : "visible" }) >- .show(); >- $(document).triggerHandler("context_show.vakata"); >- }, >- hide : function () { >- $.vakata.context.vis = false; >- $.vakata.context.cnt.attr("class","").css({ "visibility" : "hidden" }); >- $(document).triggerHandler("context_hide.vakata"); >- }, >- parse : function (s, is_callback) { >- if(!s) { return false; } >- var str = "", >- tmp = false, >- was_sep = true; >- if(!is_callback) { $.vakata.context.func = {}; } >- str += "<ul>"; >- $.each(s, function (i, val) { >- if(!val) { return true; } >- $.vakata.context.func[i] = val.action; >- if(!was_sep && val.separator_before) { >- str += "<li class='vakata-separator vakata-separator-before'></li>"; >- } >- was_sep = false; >- str += "<li class='" + (val._class || "") + (val._disabled ? " jstree-contextmenu-disabled " : "") + "'><ins "; >- if(val.icon && val.icon.indexOf("/") === -1) { str += " class='" + val.icon + "' "; } >- if(val.icon && val.icon.indexOf("/") !== -1) { str += " style='background:url(" + val.icon + ") center center no-repeat;' "; } >- str += "> </ins><a href='#' rel='" + i + "'>"; >- if(val.submenu) { >- str += "<span style='float:" + ($.vakata.context.rtl ? "left" : "right") + ";'>»</span>"; >- } >- str += val.label + "</a>"; >- if(val.submenu) { >- tmp = $.vakata.context.parse(val.submenu, true); >- if(tmp) { str += tmp; } >- } >- str += "</li>"; >- if(val.separator_after) { >- str += "<li class='vakata-separator vakata-separator-after'></li>"; >- was_sep = true; >- } >- }); >- str = str.replace(/<li class\='vakata-separator vakata-separator-after'\><\/li\>$/,""); >- str += "</ul>"; >- $(document).triggerHandler("context_parse.vakata"); >- return str.length > 10 ? str : false; >- }, >- exec : function (i) { >- if($.isFunction($.vakata.context.func[i])) { >- // if is string - eval and call it! >- $.vakata.context.func[i].call($.vakata.context.data, $.vakata.context.par); >- return true; >- } >- else { return false; } >- } >- }; >- $(function () { >- var css_string = '' + >- '#vakata-contextmenu { display:block; visibility:hidden; left:0; top:-200px; position:absolute; margin:0; padding:0; min-width:180px; background:#ebebeb; border:1px solid silver; z-index:10000; *width:180px; } ' + >- '#vakata-contextmenu ul { min-width:180px; *width:180px; } ' + >- '#vakata-contextmenu ul, #vakata-contextmenu li { margin:0; padding:0; list-style-type:none; display:block; } ' + >- '#vakata-contextmenu li { line-height:20px; min-height:20px; position:relative; padding:0px; } ' + >- '#vakata-contextmenu li a { padding:1px 6px; line-height:17px; display:block; text-decoration:none; margin:1px 1px 0 1px; } ' + >- '#vakata-contextmenu li ins { float:left; width:16px; height:16px; text-decoration:none; margin-right:2px; } ' + >- '#vakata-contextmenu li a:hover, #vakata-contextmenu li.vakata-hover > a { background:gray; color:white; } ' + >- '#vakata-contextmenu li ul { display:none; position:absolute; top:-2px; left:100%; background:#ebebeb; border:1px solid gray; } ' + >- '#vakata-contextmenu .right { right:100%; left:auto; } ' + >- '#vakata-contextmenu .bottom { bottom:-1px; top:auto; } ' + >- '#vakata-contextmenu li.vakata-separator { min-height:0; height:1px; line-height:1px; font-size:1px; overflow:hidden; margin:0 2px; background:silver; /* border-top:1px solid #fefefe; */ padding:0; } '; >- $.vakata.css.add_sheet({ str : css_string, title : "vakata" }); >- $.vakata.context.cnt >- .delegate("a","click", function (e) { e.preventDefault(); }) >- .delegate("a","mouseup", function (e) { >- if(!$(this).parent().hasClass("jstree-contextmenu-disabled") && $.vakata.context.exec($(this).attr("rel"))) { >- $.vakata.context.hide(); >- } >- else { $(this).blur(); } >- }) >- .delegate("a","mouseover", function () { >- $.vakata.context.cnt.find(".vakata-hover").removeClass("vakata-hover"); >- }) >- .appendTo("body"); >- $(document).bind("mousedown", function (e) { if($.vakata.context.vis && !$.contains($.vakata.context.cnt[0], e.target)) { $.vakata.context.hide(); } }); >- if(typeof $.hotkeys !== "undefined") { >- $(document) >- .bind("keydown", "up", function (e) { >- if($.vakata.context.vis) { >- var o = $.vakata.context.cnt.find("ul:visible").last().children(".vakata-hover").removeClass("vakata-hover").prevAll("li:not(.vakata-separator)").first(); >- if(!o.length) { o = $.vakata.context.cnt.find("ul:visible").last().children("li:not(.vakata-separator)").last(); } >- o.addClass("vakata-hover"); >- e.stopImmediatePropagation(); >- e.preventDefault(); >- } >- }) >- .bind("keydown", "down", function (e) { >- if($.vakata.context.vis) { >- var o = $.vakata.context.cnt.find("ul:visible").last().children(".vakata-hover").removeClass("vakata-hover").nextAll("li:not(.vakata-separator)").first(); >- if(!o.length) { o = $.vakata.context.cnt.find("ul:visible").last().children("li:not(.vakata-separator)").first(); } >- o.addClass("vakata-hover"); >- e.stopImmediatePropagation(); >- e.preventDefault(); >- } >- }) >- .bind("keydown", "right", function (e) { >- if($.vakata.context.vis) { >- $.vakata.context.cnt.find(".vakata-hover").children("ul").show().children("li:not(.vakata-separator)").removeClass("vakata-hover").first().addClass("vakata-hover"); >- e.stopImmediatePropagation(); >- e.preventDefault(); >- } >- }) >- .bind("keydown", "left", function (e) { >- if($.vakata.context.vis) { >- $.vakata.context.cnt.find(".vakata-hover").children("ul").hide().children(".vakata-separator").removeClass("vakata-hover"); >- e.stopImmediatePropagation(); >- e.preventDefault(); >- } >- }) >- .bind("keydown", "esc", function (e) { >- $.vakata.context.hide(); >- e.preventDefault(); >- }) >- .bind("keydown", "space", function (e) { >- $.vakata.context.cnt.find(".vakata-hover").last().children("a").click(); >- e.preventDefault(); >- }); >- } >- }); >- >- $.jstree.plugin("contextmenu", { >- __init : function () { >- this.get_container() >- .delegate("a", "contextmenu.jstree", $.proxy(function (e) { >- e.preventDefault(); >- if(!$(e.currentTarget).hasClass("jstree-loading")) { >- this.show_contextmenu(e.currentTarget, e.pageX, e.pageY); >- } >- }, this)) >- .delegate("a", "click.jstree", $.proxy(function (e) { >- if(this.data.contextmenu) { >- $.vakata.context.hide(); >- } >- }, this)) >- .bind("destroy.jstree", $.proxy(function () { >- // TODO: move this to descruct method >- if(this.data.contextmenu) { >- $.vakata.context.hide(); >- } >- }, this)); >- $(document).bind("context_hide.vakata", $.proxy(function () { this.data.contextmenu = false; }, this)); >- }, >- defaults : { >- select_node : false, // requires UI plugin >- show_at_node : true, >- items : { // Could be a function that should return an object like this one >- "create" : { >- "separator_before" : false, >- "separator_after" : true, >- "label" : "Create", >- "action" : function (obj) { this.create(obj); } >- }, >- "rename" : { >- "separator_before" : false, >- "separator_after" : false, >- "label" : "Rename", >- "action" : function (obj) { this.rename(obj); } >- }, >- "remove" : { >- "separator_before" : false, >- "icon" : false, >- "separator_after" : false, >- "label" : "Delete", >- "action" : function (obj) { if(this.is_selected(obj)) { this.remove(); } else { this.remove(obj); } } >- }, >- "ccp" : { >- "separator_before" : true, >- "icon" : false, >- "separator_after" : false, >- "label" : "Edit", >- "action" : false, >- "submenu" : { >- "cut" : { >- "separator_before" : false, >- "separator_after" : false, >- "label" : "Cut", >- "action" : function (obj) { this.cut(obj); } >- }, >- "copy" : { >- "separator_before" : false, >- "icon" : false, >- "separator_after" : false, >- "label" : "Copy", >- "action" : function (obj) { this.copy(obj); } >- }, >- "paste" : { >- "separator_before" : false, >- "icon" : false, >- "separator_after" : false, >- "label" : "Paste", >- "action" : function (obj) { this.paste(obj); } >- } >- } >- } >- } >- }, >- _fn : { >- show_contextmenu : function (obj, x, y) { >- obj = this._get_node(obj); >- var s = this.get_settings().contextmenu, >- a = obj.children("a:visible:eq(0)"), >- o = false, >- i = false; >- if(s.select_node && this.data.ui && !this.is_selected(obj)) { >- this.deselect_all(); >- this.select_node(obj, true); >- } >- if(s.show_at_node || typeof x === "undefined" || typeof y === "undefined") { >- o = a.offset(); >- x = o.left; >- y = o.top + this.data.core.li_height; >- } >- i = obj.data("jstree") && obj.data("jstree").contextmenu ? obj.data("jstree").contextmenu : s.items; >- if($.isFunction(i)) { i = i.call(this, obj); } >- this.data.contextmenu = true; >- $.vakata.context.show(i, a, x, y, this, obj, this._get_settings().core.rtl); >- if(this.data.themes) { $.vakata.context.cnt.attr("class", "jstree-" + this.data.themes.theme + "-context"); } >- } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree types plugin >- * Adds support types of nodes >- * You can set an attribute on each li node, that represents its type. >- * According to the type setting the node may get custom icon/validation rules >- */ >-(function ($) { >- $.jstree.plugin("types", { >- __init : function () { >- var s = this._get_settings().types; >- this.data.types.attach_to = []; >- this.get_container() >- .bind("init.jstree", $.proxy(function () { >- var types = s.types, >- attr = s.type_attr, >- icons_css = "", >- _this = this; >- >- $.each(types, function (i, tp) { >- $.each(tp, function (k, v) { >- if(!/^(max_depth|max_children|icon|valid_children)$/.test(k)) { _this.data.types.attach_to.push(k); } >- }); >- if(!tp.icon) { return true; } >- if( tp.icon.image || tp.icon.position) { >- if(i == "default") { icons_css += '.jstree-' + _this.get_index() + ' a > .jstree-icon { '; } >- else { icons_css += '.jstree-' + _this.get_index() + ' li[' + attr + '="' + i + '"] > a > .jstree-icon { '; } >- if(tp.icon.image) { icons_css += ' background-image:url(' + tp.icon.image + '); '; } >- if(tp.icon.position){ icons_css += ' background-position:' + tp.icon.position + '; '; } >- else { icons_css += ' background-position:0 0; '; } >- icons_css += '} '; >- } >- }); >- if(icons_css !== "") { $.vakata.css.add_sheet({ 'str' : icons_css, title : "jstree-types" }); } >- }, this)) >- .bind("before.jstree", $.proxy(function (e, data) { >- var s, t, >- o = this._get_settings().types.use_data ? this._get_node(data.args[0]) : false, >- d = o && o !== -1 && o.length ? o.data("jstree") : false; >- if(d && d.types && d.types[data.func] === false) { e.stopImmediatePropagation(); return false; } >- if($.inArray(data.func, this.data.types.attach_to) !== -1) { >- if(!data.args[0] || (!data.args[0].tagName && !data.args[0].jquery)) { return; } >- s = this._get_settings().types.types; >- t = this._get_type(data.args[0]); >- if( >- ( >- (s[t] && typeof s[t][data.func] !== "undefined") || >- (s["default"] && typeof s["default"][data.func] !== "undefined") >- ) && this._check(data.func, data.args[0]) === false >- ) { >- e.stopImmediatePropagation(); >- return false; >- } >- } >- }, this)); >- if(is_ie6) { >- this.get_container() >- .bind("load_node.jstree set_type.jstree", $.proxy(function (e, data) { >- var r = data && data.rslt && data.rslt.obj && data.rslt.obj !== -1 ? this._get_node(data.rslt.obj).parent() : this.get_container_ul(), >- c = false, >- s = this._get_settings().types; >- $.each(s.types, function (i, tp) { >- if(tp.icon && (tp.icon.image || tp.icon.position)) { >- c = i === "default" ? r.find("li > a > .jstree-icon") : r.find("li[" + s.type_attr + "='" + i + "'] > a > .jstree-icon"); >- if(tp.icon.image) { c.css("backgroundImage","url(" + tp.icon.image + ")"); } >- c.css("backgroundPosition", tp.icon.position || "0 0"); >- } >- }); >- }, this)); >- } >- }, >- defaults : { >- // defines maximum number of root nodes (-1 means unlimited, -2 means disable max_children checking) >- max_children : -1, >- // defines the maximum depth of the tree (-1 means unlimited, -2 means disable max_depth checking) >- max_depth : -1, >- // defines valid node types for the root nodes >- valid_children : "all", >- >- // whether to use $.data >- use_data : false, >- // where is the type stores (the rel attribute of the LI element) >- type_attr : "rel", >- // a list of types >- types : { >- // the default type >- "default" : { >- "max_children" : -1, >- "max_depth" : -1, >- "valid_children": "all" >- >- // Bound functions - you can bind any other function here (using boolean or function) >- //"select_node" : true >- } >- } >- }, >- _fn : { >- _types_notify : function (n, data) { >- if(data.type && this._get_settings().types.use_data) { >- this.set_type(data.type, n); >- } >- }, >- _get_type : function (obj) { >- obj = this._get_node(obj); >- return (!obj || !obj.length) ? false : obj.attr(this._get_settings().types.type_attr) || "default"; >- }, >- set_type : function (str, obj) { >- obj = this._get_node(obj); >- var ret = (!obj.length || !str) ? false : obj.attr(this._get_settings().types.type_attr, str); >- if(ret) { this.__callback({ obj : obj, type : str}); } >- return ret; >- }, >- _check : function (rule, obj, opts) { >- obj = this._get_node(obj); >- var v = false, t = this._get_type(obj), d = 0, _this = this, s = this._get_settings().types, data = false; >- if(obj === -1) { >- if(!!s[rule]) { v = s[rule]; } >- else { return; } >- } >- else { >- if(t === false) { return; } >- data = s.use_data ? obj.data("jstree") : false; >- if(data && data.types && typeof data.types[rule] !== "undefined") { v = data.types[rule]; } >- else if(!!s.types[t] && typeof s.types[t][rule] !== "undefined") { v = s.types[t][rule]; } >- else if(!!s.types["default"] && typeof s.types["default"][rule] !== "undefined") { v = s.types["default"][rule]; } >- } >- if($.isFunction(v)) { v = v.call(this, obj); } >- if(rule === "max_depth" && obj !== -1 && opts !== false && s.max_depth !== -2 && v !== 0) { >- // also include the node itself - otherwise if root node it is not checked >- obj.children("a:eq(0)").parentsUntil(".jstree","li").each(function (i) { >- // check if current depth already exceeds global tree depth >- if(s.max_depth !== -1 && s.max_depth - (i + 1) <= 0) { v = 0; return false; } >- d = (i === 0) ? v : _this._check(rule, this, false); >- // check if current node max depth is already matched or exceeded >- if(d !== -1 && d - (i + 1) <= 0) { v = 0; return false; } >- // otherwise - set the max depth to the current value minus current depth >- if(d >= 0 && (d - (i + 1) < v || v < 0) ) { v = d - (i + 1); } >- // if the global tree depth exists and it minus the nodes calculated so far is less than `v` or `v` is unlimited >- if(s.max_depth >= 0 && (s.max_depth - (i + 1) < v || v < 0) ) { v = s.max_depth - (i + 1); } >- }); >- } >- return v; >- }, >- check_move : function () { >- if(!this.__call_old()) { return false; } >- var m = this._get_move(), >- s = m.rt._get_settings().types, >- mc = m.rt._check("max_children", m.cr), >- md = m.rt._check("max_depth", m.cr), >- vc = m.rt._check("valid_children", m.cr), >- ch = 0, d = 1, t; >- >- if(vc === "none") { return false; } >- if($.isArray(vc) && m.ot && m.ot._get_type) { >- m.o.each(function () { >- if($.inArray(m.ot._get_type(this), vc) === -1) { d = false; return false; } >- }); >- if(d === false) { return false; } >- } >- if(s.max_children !== -2 && mc !== -1) { >- ch = m.cr === -1 ? this.get_container().find("> ul > li").not(m.o).length : m.cr.find("> ul > li").not(m.o).length; >- if(ch + m.o.length > mc) { return false; } >- } >- if(s.max_depth !== -2 && md !== -1) { >- d = 0; >- if(md === 0) { return false; } >- if(typeof m.o.d === "undefined") { >- // TODO: deal with progressive rendering and async when checking max_depth (how to know the depth of the moved node) >- t = m.o; >- while(t.length > 0) { >- t = t.find("> ul > li"); >- d ++; >- } >- m.o.d = d; >- } >- if(md - m.o.d < 0) { return false; } >- } >- return true; >- }, >- create_node : function (obj, position, js, callback, is_loaded, skip_check) { >- if(!skip_check && (is_loaded || this._is_loaded(obj))) { >- var p = (typeof position == "string" && position.match(/^before|after$/i) && obj !== -1) ? this._get_parent(obj) : this._get_node(obj), >- s = this._get_settings().types, >- mc = this._check("max_children", p), >- md = this._check("max_depth", p), >- vc = this._check("valid_children", p), >- ch; >- if(typeof js === "string") { js = { data : js }; } >- if(!js) { js = {}; } >- if(vc === "none") { return false; } >- if($.isArray(vc)) { >- if(!js.attr || !js.attr[s.type_attr]) { >- if(!js.attr) { js.attr = {}; } >- js.attr[s.type_attr] = vc[0]; >- } >- else { >- if($.inArray(js.attr[s.type_attr], vc) === -1) { return false; } >- } >- } >- if(s.max_children !== -2 && mc !== -1) { >- ch = p === -1 ? this.get_container().find("> ul > li").length : p.find("> ul > li").length; >- if(ch + 1 > mc) { return false; } >- } >- if(s.max_depth !== -2 && md !== -1 && (md - 1) < 0) { return false; } >- } >- return this.__call_old(true, obj, position, js, callback, is_loaded, skip_check); >- } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree HTML plugin >- * The HTML data store. Datastores are build by replacing the `load_node` and `_is_loaded` functions. >- */ >-(function ($) { >- $.jstree.plugin("html_data", { >- __init : function () { >- // this used to use html() and clean the whitespace, but this way any attached data was lost >- this.data.html_data.original_container_html = this.get_container().find(" > ul > li").clone(true); >- // remove white space from LI node - otherwise nodes appear a bit to the right >- this.data.html_data.original_container_html.find("li").andSelf().contents().filter(function() { return this.nodeType == 3; }).remove(); >- }, >- defaults : { >- data : false, >- ajax : false, >- correct_state : true >- }, >- _fn : { >- load_node : function (obj, s_call, e_call) { var _this = this; this.load_node_html(obj, function () { _this.__callback({ "obj" : _this._get_node(obj) }); s_call.call(this); }, e_call); }, >- _is_loaded : function (obj) { >- obj = this._get_node(obj); >- return obj == -1 || !obj || (!this._get_settings().html_data.ajax && !$.isFunction(this._get_settings().html_data.data)) || obj.is(".jstree-open, .jstree-leaf") || obj.children("ul").children("li").size() > 0; >- }, >- load_node_html : function (obj, s_call, e_call) { >- var d, >- s = this.get_settings().html_data, >- error_func = function () {}, >- success_func = function () {}; >- obj = this._get_node(obj); >- if(obj && obj !== -1) { >- if(obj.data("jstree_is_loading")) { return; } >- else { obj.data("jstree_is_loading",true); } >- } >- switch(!0) { >- case ($.isFunction(s.data)): >- s.data.call(this, obj, $.proxy(function (d) { >- if(d && d !== "" && d.toString && d.toString().replace(/^[\s\n]+$/,"") !== "") { >- d = $(d); >- if(!d.is("ul")) { d = $("<ul />").append(d); } >- if(obj == -1 || !obj) { this.get_container().children("ul").empty().append(d.children()).find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'> </ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); } >- else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d).children("ul").find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'> </ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); obj.removeData("jstree_is_loading"); } >- this.clean_node(obj); >- if(s_call) { s_call.call(this); } >- } >- else { >- if(obj && obj !== -1) { >- obj.children("a.jstree-loading").removeClass("jstree-loading"); >- obj.removeData("jstree_is_loading"); >- if(s.correct_state) { >- this.correct_state(obj); >- if(s_call) { s_call.call(this); } >- } >- } >- else { >- if(s.correct_state) { >- this.get_container().children("ul").empty(); >- if(s_call) { s_call.call(this); } >- } >- } >- } >- }, this)); >- break; >- case (!s.data && !s.ajax): >- if(!obj || obj == -1) { >- this.get_container() >- .children("ul").empty() >- .append(this.data.html_data.original_container_html) >- .find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'> </ins>").end() >- .filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); >- this.clean_node(); >- } >- if(s_call) { s_call.call(this); } >- break; >- case (!!s.data && !s.ajax) || (!!s.data && !!s.ajax && (!obj || obj === -1)): >- if(!obj || obj == -1) { >- d = $(s.data); >- if(!d.is("ul")) { d = $("<ul />").append(d); } >- this.get_container() >- .children("ul").empty().append(d.children()) >- .find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'> </ins>").end() >- .filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); >- this.clean_node(); >- } >- if(s_call) { s_call.call(this); } >- break; >- case (!s.data && !!s.ajax) || (!!s.data && !!s.ajax && obj && obj !== -1): >- obj = this._get_node(obj); >- error_func = function (x, t, e) { >- var ef = this.get_settings().html_data.ajax.error; >- if(ef) { ef.call(this, x, t, e); } >- if(obj != -1 && obj.length) { >- obj.children("a.jstree-loading").removeClass("jstree-loading"); >- obj.removeData("jstree_is_loading"); >- if(t === "success" && s.correct_state) { this.correct_state(obj); } >- } >- else { >- if(t === "success" && s.correct_state) { this.get_container().children("ul").empty(); } >- } >- if(e_call) { e_call.call(this); } >- }; >- success_func = function (d, t, x) { >- var sf = this.get_settings().html_data.ajax.success; >- if(sf) { d = sf.call(this,d,t,x) || d; } >- if(d === "" || (d && d.toString && d.toString().replace(/^[\s\n]+$/,"") === "")) { >- return error_func.call(this, x, t, ""); >- } >- if(d) { >- d = $(d); >- if(!d.is("ul")) { d = $("<ul />").append(d); } >- if(obj == -1 || !obj) { this.get_container().children("ul").empty().append(d.children()).find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'> </ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); } >- else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d).children("ul").find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'> </ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); obj.removeData("jstree_is_loading"); } >- this.clean_node(obj); >- if(s_call) { s_call.call(this); } >- } >- else { >- if(obj && obj !== -1) { >- obj.children("a.jstree-loading").removeClass("jstree-loading"); >- obj.removeData("jstree_is_loading"); >- if(s.correct_state) { >- this.correct_state(obj); >- if(s_call) { s_call.call(this); } >- } >- } >- else { >- if(s.correct_state) { >- this.get_container().children("ul").empty(); >- if(s_call) { s_call.call(this); } >- } >- } >- } >- }; >- s.ajax.context = this; >- s.ajax.error = error_func; >- s.ajax.success = success_func; >- if(!s.ajax.dataType) { s.ajax.dataType = "html"; } >- if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, obj); } >- if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, obj); } >- $.ajax(s.ajax); >- break; >- } >- } >- } >- }); >- // include the HTML data plugin by default >- $.jstree.defaults.plugins.push("html_data"); >-})(jQuery); >-//*/ >- >-/* >- * jsTree themeroller plugin >- * Adds support for jQuery UI themes. Include this at the end of your plugins list, also make sure "themes" is not included. >- */ >-(function ($) { >- $.jstree.plugin("themeroller", { >- __init : function () { >- var s = this._get_settings().themeroller; >- this.get_container() >- .addClass("ui-widget-content") >- .addClass("jstree-themeroller") >- .delegate("a","mouseenter.jstree", function (e) { >- if(!$(e.currentTarget).hasClass("jstree-loading")) { >- $(this).addClass(s.item_h); >- } >- }) >- .delegate("a","mouseleave.jstree", function () { >- $(this).removeClass(s.item_h); >- }) >- .bind("init.jstree", $.proxy(function (e, data) { >- data.inst.get_container().find("> ul > li > .jstree-loading > ins").addClass("ui-icon-refresh"); >- this._themeroller(data.inst.get_container().find("> ul > li")); >- }, this)) >- .bind("open_node.jstree create_node.jstree", $.proxy(function (e, data) { >- this._themeroller(data.rslt.obj); >- }, this)) >- .bind("loaded.jstree refresh.jstree", $.proxy(function (e) { >- this._themeroller(); >- }, this)) >- .bind("close_node.jstree", $.proxy(function (e, data) { >- this._themeroller(data.rslt.obj); >- }, this)) >- .bind("delete_node.jstree", $.proxy(function (e, data) { >- this._themeroller(data.rslt.parent); >- }, this)) >- .bind("correct_state.jstree", $.proxy(function (e, data) { >- data.rslt.obj >- .children("ins.jstree-icon").removeClass(s.opened + " " + s.closed + " ui-icon").end() >- .find("> a > ins.ui-icon") >- .filter(function() { >- return this.className.toString() >- .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"") >- .indexOf("ui-icon-") === -1; >- }).removeClass(s.item_open + " " + s.item_clsd).addClass(s.item_leaf || "jstree-no-icon"); >- }, this)) >- .bind("select_node.jstree", $.proxy(function (e, data) { >- data.rslt.obj.children("a").addClass(s.item_a); >- }, this)) >- .bind("deselect_node.jstree deselect_all.jstree", $.proxy(function (e, data) { >- this.get_container() >- .find("a." + s.item_a).removeClass(s.item_a).end() >- .find("a.jstree-clicked").addClass(s.item_a); >- }, this)) >- .bind("dehover_node.jstree", $.proxy(function (e, data) { >- data.rslt.obj.children("a").removeClass(s.item_h); >- }, this)) >- .bind("hover_node.jstree", $.proxy(function (e, data) { >- this.get_container() >- .find("a." + s.item_h).not(data.rslt.obj).removeClass(s.item_h); >- data.rslt.obj.children("a").addClass(s.item_h); >- }, this)) >- .bind("move_node.jstree", $.proxy(function (e, data) { >- this._themeroller(data.rslt.o); >- this._themeroller(data.rslt.op); >- }, this)); >- }, >- __destroy : function () { >- var s = this._get_settings().themeroller, >- c = [ "ui-icon" ]; >- $.each(s, function (i, v) { >- v = v.split(" "); >- if(v.length) { c = c.concat(v); } >- }); >- this.get_container() >- .removeClass("ui-widget-content") >- .find("." + c.join(", .")).removeClass(c.join(" ")); >- }, >- _fn : { >- _themeroller : function (obj) { >- var s = this._get_settings().themeroller; >- obj = !obj || obj == -1 ? this.get_container_ul() : this._get_node(obj).parent(); >- obj >- .find("li.jstree-closed") >- .children("ins.jstree-icon").removeClass(s.opened).addClass("ui-icon " + s.closed).end() >- .children("a").addClass(s.item) >- .children("ins.jstree-icon").addClass("ui-icon") >- .filter(function() { >- return this.className.toString() >- .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"") >- .indexOf("ui-icon-") === -1; >- }).removeClass(s.item_leaf + " " + s.item_open).addClass(s.item_clsd || "jstree-no-icon") >- .end() >- .end() >- .end() >- .end() >- .find("li.jstree-open") >- .children("ins.jstree-icon").removeClass(s.closed).addClass("ui-icon " + s.opened).end() >- .children("a").addClass(s.item) >- .children("ins.jstree-icon").addClass("ui-icon") >- .filter(function() { >- return this.className.toString() >- .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"") >- .indexOf("ui-icon-") === -1; >- }).removeClass(s.item_leaf + " " + s.item_clsd).addClass(s.item_open || "jstree-no-icon") >- .end() >- .end() >- .end() >- .end() >- .find("li.jstree-leaf") >- .children("ins.jstree-icon").removeClass(s.closed + " ui-icon " + s.opened).end() >- .children("a").addClass(s.item) >- .children("ins.jstree-icon").addClass("ui-icon") >- .filter(function() { >- return this.className.toString() >- .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"") >- .indexOf("ui-icon-") === -1; >- }).removeClass(s.item_clsd + " " + s.item_open).addClass(s.item_leaf || "jstree-no-icon"); >- } >- }, >- defaults : { >- "opened" : "ui-icon-triangle-1-se", >- "closed" : "ui-icon-triangle-1-e", >- "item" : "ui-state-default", >- "item_h" : "ui-state-hover", >- "item_a" : "ui-state-active", >- "item_open" : "ui-icon-folder-open", >- "item_clsd" : "ui-icon-folder-collapsed", >- "item_leaf" : "ui-icon-document" >- } >- }); >- $(function() { >- var css_string = '' + >- '.jstree-themeroller .ui-icon { overflow:visible; } ' + >- '.jstree-themeroller a { padding:0 2px; } ' + >- '.jstree-themeroller .jstree-no-icon { display:none; }'; >- $.vakata.css.add_sheet({ str : css_string, title : "jstree" }); >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree unique plugin >- * Forces different names amongst siblings (still a bit experimental) >- * NOTE: does not check language versions (it will not be possible to have nodes with the same title, even in different languages) >- */ >-(function ($) { >- $.jstree.plugin("unique", { >- __init : function () { >- this.get_container() >- .bind("before.jstree", $.proxy(function (e, data) { >- var nms = [], res = true, p, t; >- if(data.func == "move_node") { >- // obj, ref, position, is_copy, is_prepared, skip_check >- if(data.args[4] === true) { >- if(data.args[0].o && data.args[0].o.length) { >- data.args[0].o.children("a").each(function () { nms.push($(this).text().replace(/^\s+/g,"")); }); >- res = this._check_unique(nms, data.args[0].np.find("> ul > li").not(data.args[0].o), "move_node"); >- } >- } >- } >- if(data.func == "create_node") { >- // obj, position, js, callback, is_loaded >- if(data.args[4] || this._is_loaded(data.args[0])) { >- p = this._get_node(data.args[0]); >- if(data.args[1] && (data.args[1] === "before" || data.args[1] === "after")) { >- p = this._get_parent(data.args[0]); >- if(!p || p === -1) { p = this.get_container(); } >- } >- if(typeof data.args[2] === "string") { nms.push(data.args[2]); } >- else if(!data.args[2] || !data.args[2].data) { nms.push(this._get_string("new_node")); } >- else { nms.push(data.args[2].data); } >- res = this._check_unique(nms, p.find("> ul > li"), "create_node"); >- } >- } >- if(data.func == "rename_node") { >- // obj, val >- nms.push(data.args[1]); >- t = this._get_node(data.args[0]); >- p = this._get_parent(t); >- if(!p || p === -1) { p = this.get_container(); } >- res = this._check_unique(nms, p.find("> ul > li").not(t), "rename_node"); >- } >- if(!res) { >- e.stopPropagation(); >- return false; >- } >- }, this)); >- }, >- defaults : { >- error_callback : $.noop >- }, >- _fn : { >- _check_unique : function (nms, p, func) { >- var cnms = []; >- p.children("a").each(function () { cnms.push($(this).text().replace(/^\s+/g,"")); }); >- if(!cnms.length || !nms.length) { return true; } >- cnms = cnms.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(","); >- if((cnms.length + nms.length) != cnms.concat(nms).sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",").length) { >- this._get_settings().unique.error_callback.call(null, nms, p, func); >- return false; >- } >- return true; >- }, >- check_move : function () { >- if(!this.__call_old()) { return false; } >- var p = this._get_move(), nms = []; >- if(p.o && p.o.length) { >- p.o.children("a").each(function () { nms.push($(this).text().replace(/^\s+/g,"")); }); >- return this._check_unique(nms, p.np.find("> ul > li").not(p.o), "check_move"); >- } >- return true; >- } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree wholerow plugin >- * Makes select and hover work on the entire width of the node >- * MAY BE HEAVY IN LARGE DOM >- */ >-(function ($) { >- $.jstree.plugin("wholerow", { >- __init : function () { >- if(!this.data.ui) { throw "jsTree wholerow: jsTree UI plugin not included."; } >- this.data.wholerow.html = false; >- this.data.wholerow.to = false; >- this.get_container() >- .bind("init.jstree", $.proxy(function (e, data) { >- this._get_settings().core.animation = 0; >- }, this)) >- .bind("open_node.jstree create_node.jstree clean_node.jstree loaded.jstree", $.proxy(function (e, data) { >- this._prepare_wholerow_span( data && data.rslt && data.rslt.obj ? data.rslt.obj : -1 ); >- }, this)) >- .bind("search.jstree clear_search.jstree reopen.jstree after_open.jstree after_close.jstree create_node.jstree delete_node.jstree clean_node.jstree", $.proxy(function (e, data) { >- if(this.data.to) { clearTimeout(this.data.to); } >- this.data.to = setTimeout( (function (t, o) { return function() { t._prepare_wholerow_ul(o); }; })(this, data && data.rslt && data.rslt.obj ? data.rslt.obj : -1), 0); >- }, this)) >- .bind("deselect_all.jstree", $.proxy(function (e, data) { >- this.get_container().find(" > .jstree-wholerow .jstree-clicked").removeClass("jstree-clicked " + (this.data.themeroller ? this._get_settings().themeroller.item_a : "" )); >- }, this)) >- .bind("select_node.jstree deselect_node.jstree ", $.proxy(function (e, data) { >- data.rslt.obj.each(function () { >- var ref = data.inst.get_container().find(" > .jstree-wholerow li:visible:eq(" + ( parseInt((($(this).offset().top - data.inst.get_container().offset().top + data.inst.get_container()[0].scrollTop) / data.inst.data.core.li_height),10)) + ")"); >- // ref.children("a")[e.type === "select_node" ? "addClass" : "removeClass"]("jstree-clicked"); >- ref.children("a").attr("class",data.rslt.obj.children("a").attr("class")); >- }); >- }, this)) >- .bind("hover_node.jstree dehover_node.jstree", $.proxy(function (e, data) { >- this.get_container().find(" > .jstree-wholerow .jstree-hovered").removeClass("jstree-hovered " + (this.data.themeroller ? this._get_settings().themeroller.item_h : "" )); >- if(e.type === "hover_node") { >- var ref = this.get_container().find(" > .jstree-wholerow li:visible:eq(" + ( parseInt(((data.rslt.obj.offset().top - this.get_container().offset().top + this.get_container()[0].scrollTop) / this.data.core.li_height),10)) + ")"); >- // ref.children("a").addClass("jstree-hovered"); >- ref.children("a").attr("class",data.rslt.obj.children(".jstree-hovered").attr("class")); >- } >- }, this)) >- .delegate(".jstree-wholerow-span, ins.jstree-icon, li", "click.jstree", function (e) { >- var n = $(e.currentTarget); >- if(e.target.tagName === "A" || (e.target.tagName === "INS" && n.closest("li").is(".jstree-open, .jstree-closed"))) { return; } >- n.closest("li").children("a:visible:eq(0)").click(); >- e.stopImmediatePropagation(); >- }) >- .delegate("li", "mouseover.jstree", $.proxy(function (e) { >- e.stopImmediatePropagation(); >- if($(e.currentTarget).children(".jstree-hovered, .jstree-clicked").length) { return false; } >- this.hover_node(e.currentTarget); >- return false; >- }, this)) >- .delegate("li", "mouseleave.jstree", $.proxy(function (e) { >- if($(e.currentTarget).children("a").hasClass("jstree-hovered").length) { return; } >- this.dehover_node(e.currentTarget); >- }, this)); >- if(is_ie7 || is_ie6) { >- $.vakata.css.add_sheet({ str : ".jstree-" + this.get_index() + " { position:relative; } ", title : "jstree" }); >- } >- }, >- defaults : { >- }, >- __destroy : function () { >- this.get_container().children(".jstree-wholerow").remove(); >- this.get_container().find(".jstree-wholerow-span").remove(); >- }, >- _fn : { >- _prepare_wholerow_span : function (obj) { >- obj = !obj || obj == -1 ? this.get_container().find("> ul > li") : this._get_node(obj); >- if(obj === false) { return; } // added for removing root nodes >- obj.each(function () { >- $(this).find("li").andSelf().each(function () { >- var $t = $(this); >- if($t.children(".jstree-wholerow-span").length) { return true; } >- $t.prepend("<span class='jstree-wholerow-span' style='width:" + ($t.parentsUntil(".jstree","li").length * 18) + "px;'> </span>"); >- }); >- }); >- }, >- _prepare_wholerow_ul : function () { >- var o = this.get_container().children("ul").eq(0), h = o.html(); >- o.addClass("jstree-wholerow-real"); >- if(this.data.wholerow.last_html !== h) { >- this.data.wholerow.last_html = h; >- this.get_container().children(".jstree-wholerow").remove(); >- this.get_container().append( >- o.clone().removeClass("jstree-wholerow-real") >- .wrapAll("<div class='jstree-wholerow' />").parent() >- .width(o.parent()[0].scrollWidth) >- .css("top", (o.height() + ( is_ie7 ? 5 : 0)) * -1 ) >- .find("li[id]").each(function () { this.removeAttribute("id"); }).end() >- ); >- } >- } >- } >- }); >- $(function() { >- var css_string = '' + >- '.jstree .jstree-wholerow-real { position:relative; z-index:1; } ' + >- '.jstree .jstree-wholerow-real li { cursor:pointer; } ' + >- '.jstree .jstree-wholerow-real a { border-left-color:transparent !important; border-right-color:transparent !important; } ' + >- '.jstree .jstree-wholerow { position:relative; z-index:0; height:0; } ' + >- '.jstree .jstree-wholerow ul, .jstree .jstree-wholerow li { width:100%; } ' + >- '.jstree .jstree-wholerow, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow li, .jstree .jstree-wholerow a { margin:0 !important; padding:0 !important; } ' + >- '.jstree .jstree-wholerow, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow li { background:transparent !important; }' + >- '.jstree .jstree-wholerow ins, .jstree .jstree-wholerow span, .jstree .jstree-wholerow input { display:none !important; }' + >- '.jstree .jstree-wholerow a, .jstree .jstree-wholerow a:hover { text-indent:-9999px; !important; width:100%; padding:0 !important; border-right-width:0px !important; border-left-width:0px !important; } ' + >- '.jstree .jstree-wholerow-span { position:absolute; left:0; margin:0px; padding:0; height:18px; border-width:0; padding:0; z-index:0; }'; >- if(is_ff2) { >- css_string += '' + >- '.jstree .jstree-wholerow a { display:block; height:18px; margin:0; padding:0; border:0; } ' + >- '.jstree .jstree-wholerow-real a { border-color:transparent !important; } '; >- } >- if(is_ie7 || is_ie6) { >- css_string += '' + >- '.jstree .jstree-wholerow, .jstree .jstree-wholerow li, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow a { margin:0; padding:0; line-height:18px; } ' + >- '.jstree .jstree-wholerow a { display:block; height:18px; line-height:18px; overflow:hidden; } '; >- } >- $.vakata.css.add_sheet({ str : css_string, title : "jstree" }); >- }); >-})(jQuery); >-//*/ >- >-/* >-* jsTree model plugin >-* This plugin gets jstree to use a class model to retrieve data, creating great dynamism >-*/ >-(function ($) { >- var nodeInterface = ["getChildren","getChildrenCount","getAttr","getName","getProps"], >- validateInterface = function(obj, inter) { >- var valid = true; >- obj = obj || {}; >- inter = [].concat(inter); >- $.each(inter, function (i, v) { >- if(!$.isFunction(obj[v])) { valid = false; return false; } >- }); >- return valid; >- }; >- $.jstree.plugin("model", { >- __init : function () { >- if(!this.data.json_data) { throw "jsTree model: jsTree json_data plugin not included."; } >- this._get_settings().json_data.data = function (n, b) { >- var obj = (n == -1) ? this._get_settings().model.object : n.data("jstree_model"); >- if(!validateInterface(obj, nodeInterface)) { return b.call(null, false); } >- if(this._get_settings().model.async) { >- obj.getChildren($.proxy(function (data) { >- this.model_done(data, b); >- }, this)); >- } >- else { >- this.model_done(obj.getChildren(), b); >- } >- }; >- }, >- defaults : { >- object : false, >- id_prefix : false, >- async : false >- }, >- _fn : { >- model_done : function (data, callback) { >- var ret = [], >- s = this._get_settings(), >- _this = this; >- >- if(!$.isArray(data)) { data = [data]; } >- $.each(data, function (i, nd) { >- var r = nd.getProps() || {}; >- r.attr = nd.getAttr() || {}; >- if(nd.getChildrenCount()) { r.state = "closed"; } >- r.data = nd.getName(); >- if(!$.isArray(r.data)) { r.data = [r.data]; } >- if(_this.data.types && $.isFunction(nd.getType)) { >- r.attr[s.types.type_attr] = nd.getType(); >- } >- if(r.attr.id && s.model.id_prefix) { r.attr.id = s.model.id_prefix + r.attr.id; } >- if(!r.metadata) { r.metadata = { }; } >- r.metadata.jstree_model = nd; >- ret.push(r); >- }); >- callback.call(null, ret); >- } >- } >- }); >-})(jQuery); >-//*/ >- >-})(); >\ No newline at end of file >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/jstree-3.3.12.min.js b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/jstree-3.3.12.min.js >new file mode 100644 >index 0000000000..31d06a7316 >--- /dev/null >+++ b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/jstree-3.3.12.min.js >@@ -0,0 +1,6 @@ >+/*! jsTree - v3.3.12 - 2021-09-03 - (MIT) */ >+!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"!=typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a,b){"use strict";if(!a.jstree){var c=0,d=!1,e=!1,f=!1,g=[],h=a("script:last").attr("src"),i=window.document,j=window.setImmediate,k=window.Promise;!j&&k&&(j=function(a,b){k.resolve(b).then(a)}),a.jstree={version:"3.3.12",defaults:{plugins:[]},plugins:{},path:h&&-1!==h.indexOf("/")?h.replace(/\/[^\/]+$/,""):"",idregex:/[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%?`]/g,root:"#"},a.jstree.create=function(b,d){var e=new a.jstree.core(++c),f=d;return d=a.extend(!0,{},a.jstree.defaults,d),f&&f.plugins&&(d.plugins=f.plugins),a.each(d.plugins,function(a,b){"core"!==a&&(e=e.plugin(b,d[b]))}),a(b).data("jstree",e),e.init(b,d),e},a.jstree.destroy=function(){a(".jstree:jstree").jstree("destroy"),a(i).off(".jstree")},a.jstree.core=function(a){this._id=a,this._cnt=0,this._wrk=null,this._data={core:{themes:{name:!1,dots:!1,icons:!1,ellipsis:!1},selected:[],last_error:{},working:!1,worker_queue:[],focused:null}}},a.jstree.reference=function(b){var c=null,d=null;if(!b||!b.id||b.tagName&&b.nodeType||(b=b.id),!d||!d.length)try{d=a(b)}catch(e){}if(!d||!d.length)try{d=a("#"+b.replace(a.jstree.idregex,"\\$&"))}catch(e){}return d&&d.length&&(d=d.closest(".jstree")).length&&(d=d.data("jstree"))?c=d:a(".jstree").each(function(){var d=a(this).data("jstree");return d&&d._model.data[b]?(c=d,!1):void 0}),c},a.fn.jstree=function(c){var d="string"==typeof c,e=Array.prototype.slice.call(arguments,1),f=null;return c!==!0||this.length?(this.each(function(){var g=a.jstree.reference(this),h=d&&g?g[c]:null;return f=d&&h?h.apply(g,e):null,g||d||c!==b&&!a.isPlainObject(c)||a.jstree.create(this,c),(g&&!d||c===!0)&&(f=g||!1),null!==f&&f!==b?!1:void 0}),null!==f&&f!==b?f:this):!1},a.expr.pseudos.jstree=a.expr.createPseudo(function(c){return function(c){return a(c).hasClass("jstree")&&a(c).data("jstree")!==b}}),a.jstree.defaults.core={data:!1,strings:!1,check_callback:!1,error:a.noop,animation:200,multiple:!0,themes:{name:!1,url:!1,dir:!1,dots:!0,icons:!0,ellipsis:!1,stripes:!1,variant:!1,responsive:!1},expand_selected_onload:!0,worker:!0,force_text:!1,dblclick_toggle:!0,loaded_state:!1,restore_focus:!0,compute_elements_positions:!1,keyboard:{"ctrl-space":function(b){b.type="click",a(b.currentTarget).trigger(b)},enter:function(b){b.type="click",a(b.currentTarget).trigger(b)},left:function(b){if(b.preventDefault(),this.is_open(b.currentTarget))this.close_node(b.currentTarget);else{var c=this.get_parent(b.currentTarget);c&&c.id!==a.jstree.root&&this.get_node(c,!0).children(".jstree-anchor").trigger("focus")}},up:function(a){a.preventDefault();var b=this.get_prev_dom(a.currentTarget);b&&b.length&&b.children(".jstree-anchor").trigger("focus")},right:function(b){if(b.preventDefault(),this.is_closed(b.currentTarget))this.open_node(b.currentTarget,function(a){this.get_node(a,!0).children(".jstree-anchor").trigger("focus")});else if(this.is_open(b.currentTarget)){var c=this.get_node(b.currentTarget,!0).children(".jstree-children")[0];c&&a(this._firstChild(c)).children(".jstree-anchor").trigger("focus")}},down:function(a){a.preventDefault();var b=this.get_next_dom(a.currentTarget);b&&b.length&&b.children(".jstree-anchor").trigger("focus")},"*":function(a){this.open_all()},home:function(b){b.preventDefault();var c=this._firstChild(this.get_container_ul()[0]);c&&a(c).children(".jstree-anchor").filter(":visible").trigger("focus")},end:function(a){a.preventDefault(),this.element.find(".jstree-anchor").filter(":visible").last().trigger("focus")},f2:function(a){a.preventDefault(),this.edit(a.currentTarget)}}},a.jstree.core.prototype={plugin:function(b,c){var d=a.jstree.plugins[b];return d?(this._data[b]={},d.prototype=this,new d(c,this)):this},init:function(b,c){this._model={data:{},changed:[],force_full_redraw:!1,redraw_timeout:!1,default_state:{loaded:!0,opened:!1,selected:!1,disabled:!1}},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this.element=a(b).addClass("jstree jstree-"+this._id),this.settings=c,this._data.core.ready=!1,this._data.core.loaded=!1,this._data.core.rtl="rtl"===this.element.css("direction"),this.element[this._data.core.rtl?"addClass":"removeClass"]("jstree-rtl"),this.element.attr("role","tree"),this.settings.core.multiple&&this.element.attr("aria-multiselectable",!0),this.element.attr("tabindex")||this.element.attr("tabindex","0"),this.bind(),this.trigger("init"),this._data.core.original_container_html=this.element.find(" > ul > li").clone(!0),this._data.core.original_container_html.find("li").addBack().contents().filter(function(){return 3===this.nodeType&&(!this.nodeValue||/^\s+$/.test(this.nodeValue))}).remove(),this.element.html("<ul class='jstree-container-ul jstree-children' role='group'><li id='j"+this._id+"_loading' class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='none'><i class='jstree-icon jstree-ocl'></i><a class='jstree-anchor' role='treeitem' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-activedescendant","j"+this._id+"_loading"),this._data.core.li_height=this.get_container_ul().children("li").first().outerHeight()||24,this._data.core.node=this._create_prototype_node(),this.trigger("loading"),this.load_node(a.jstree.root)},destroy:function(a){if(this.trigger("destroy"),this._wrk)try{window.URL.revokeObjectURL(this._wrk),this._wrk=null}catch(b){}a||this.element.empty(),this.teardown()},_create_prototype_node:function(){var a=i.createElement("LI"),b,c;return a.setAttribute("role","none"),b=i.createElement("I"),b.className="jstree-icon jstree-ocl",b.setAttribute("role","presentation"),a.appendChild(b),b=i.createElement("A"),b.className="jstree-anchor",b.setAttribute("href","#"),b.setAttribute("tabindex","-1"),b.setAttribute("role","treeitem"),c=i.createElement("I"),c.className="jstree-icon jstree-themeicon",c.setAttribute("role","presentation"),b.appendChild(c),a.appendChild(b),b=c=null,a},_kbevent_to_func:function(a){var b={8:"Backspace",9:"Tab",13:"Enter",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock",16:"Shift",17:"Ctrl",18:"Alt",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*",173:"-"},c=[];if(a.ctrlKey&&c.push("ctrl"),a.altKey&&c.push("alt"),a.shiftKey&&c.push("shift"),c.push(b[a.which]||a.which),c=c.sort().join("-").toLowerCase(),"shift-shift"===c||"ctrl-ctrl"===c||"alt-alt"===c)return null;var d=this.settings.core.keyboard,e,f;for(e in d)if(d.hasOwnProperty(e)&&(f=e,"-"!==f&&"+"!==f&&(f=f.replace("--","-MINUS").replace("+-","-MINUS").replace("++","-PLUS").replace("-+","-PLUS"),f=f.split(/-|\+/).sort().join("-").replace("MINUS","-").replace("PLUS","+").toLowerCase()),f===c))return d[e];return null},teardown:function(){this.unbind(),this.element.removeClass("jstree").removeData("jstree").find("[class^='jstree']").addBack().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/gi,"")}),this.element=null},bind:function(){var b="",c=null,d=0;this.element.on("dblclick.jstree",function(a){if(a.target.tagName&&"input"===a.target.tagName.toLowerCase())return!0;if(i.selection&&i.selection.empty)i.selection.empty();else if(window.getSelection){var b=window.getSelection();try{b.removeAllRanges(),b.collapse()}catch(c){}}}).on("mousedown.jstree",function(a){a.target===this.element[0]&&(a.preventDefault(),d=+new Date)}.bind(this)).on("mousedown.jstree",".jstree-ocl",function(a){a.preventDefault()}).on("click.jstree",".jstree-ocl",function(a){this.toggle_node(a.target)}.bind(this)).on("dblclick.jstree",".jstree-anchor",function(a){return a.target.tagName&&"input"===a.target.tagName.toLowerCase()?!0:void(this.settings.core.dblclick_toggle&&this.toggle_node(a.target))}.bind(this)).on("click.jstree",".jstree-anchor",function(b){b.preventDefault(),b.currentTarget!==i.activeElement&&a(b.currentTarget).trigger("focus"),this.activate_node(b.currentTarget,b)}.bind(this)).on("keydown.jstree",".jstree-anchor",function(a){if(a.target.tagName&&"input"===a.target.tagName.toLowerCase())return!0;this._data.core.rtl&&(37===a.which?a.which=39:39===a.which&&(a.which=37));var b=this._kbevent_to_func(a);if(b){var c=b.call(this,a);if(c===!1||c===!0)return c}}.bind(this)).on("load_node.jstree",function(b,c){c.status&&(c.node.id!==a.jstree.root||this._data.core.loaded||(this._data.core.loaded=!0,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.trigger("loaded")),this._data.core.ready||setTimeout(function(){if(this.element&&!this.get_container_ul().find(".jstree-loading").length){if(this._data.core.ready=!0,this._data.core.selected.length){if(this.settings.core.expand_selected_onload){var b=[],c,d;for(c=0,d=this._data.core.selected.length;d>c;c++)b=b.concat(this._model.data[this._data.core.selected[c]].parents);for(b=a.vakata.array_unique(b),c=0,d=b.length;d>c;c++)this.open_node(b[c],!1,0)}this.trigger("changed",{action:"ready",selected:this._data.core.selected})}this.trigger("ready")}}.bind(this),0))}.bind(this)).on("keypress.jstree",function(d){if(d.target.tagName&&"input"===d.target.tagName.toLowerCase())return!0;c&&clearTimeout(c),c=setTimeout(function(){b=""},500);var e=String.fromCharCode(d.which).toLowerCase(),f=this.element.find(".jstree-anchor").filter(":visible"),g=f.index(i.activeElement)||0,h=!1;if(b+=e,b.length>1){if(f.slice(g).each(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).trigger("focus"),h=!0,!1):void 0}.bind(this)),h)return;if(f.slice(0,g).each(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).trigger("focus"),h=!0,!1):void 0}.bind(this)),h)return}if(new RegExp("^"+e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")+"+$").test(b)){if(f.slice(g+1).each(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).trigger("focus"),h=!0,!1):void 0}.bind(this)),h)return;if(f.slice(0,g+1).each(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).trigger("focus"),h=!0,!1):void 0}.bind(this)),h)return}}.bind(this)).on("init.jstree",function(){var a=this.settings.core.themes;this._data.core.themes.dots=a.dots,this._data.core.themes.stripes=a.stripes,this._data.core.themes.icons=a.icons,this._data.core.themes.ellipsis=a.ellipsis,this.set_theme(a.name||"default",a.url),this.set_theme_variant(a.variant)}.bind(this)).on("loading.jstree",function(){this[this._data.core.themes.dots?"show_dots":"hide_dots"](),this[this._data.core.themes.icons?"show_icons":"hide_icons"](),this[this._data.core.themes.stripes?"show_stripes":"hide_stripes"](),this[this._data.core.themes.ellipsis?"show_ellipsis":"hide_ellipsis"]()}.bind(this)).on("blur.jstree",".jstree-anchor",function(b){this._data.core.focused=null,a(b.currentTarget).filter(".jstree-hovered").trigger("mouseleave"),this.element.attr("tabindex","0")}.bind(this)).on("focus.jstree",".jstree-anchor",function(b){var c=this.get_node(b.currentTarget);c&&c.id&&(this._data.core.focused=c.id),this.element.find(".jstree-hovered").not(b.currentTarget).trigger("mouseleave"),a(b.currentTarget).trigger("mouseenter"),this.element.attr("tabindex","-1")}.bind(this)).on("focus.jstree",function(){if(+new Date-d>500&&!this._data.core.focused&&this.settings.core.restore_focus){d=0;var a=this.get_node(this.element.attr("aria-activedescendant"),!0);a&&a.find("> .jstree-anchor").trigger("focus")}}.bind(this)).on("mouseenter.jstree",".jstree-anchor",function(a){this.hover_node(a.currentTarget)}.bind(this)).on("mouseleave.jstree",".jstree-anchor",function(a){this.dehover_node(a.currentTarget)}.bind(this))},unbind:function(){this.element.off(".jstree"),a(i).off(".jstree-"+this._id)},trigger:function(a,b){b||(b={}),b.instance=this,this.element.triggerHandler(a.replace(".jstree","")+".jstree",b)},get_container:function(){return this.element},get_container_ul:function(){return this.element.children(".jstree-children").first()},get_string:function(b){var c=this.settings.core.strings;return a.vakata.is_function(c)?c.call(this,b):c&&c[b]?c[b]:b},_firstChild:function(a){a=a?a.firstChild:null;while(null!==a&&1!==a.nodeType)a=a.nextSibling;return a},_nextSibling:function(a){a=a?a.nextSibling:null;while(null!==a&&1!==a.nodeType)a=a.nextSibling;return a},_previousSibling:function(a){a=a?a.previousSibling:null;while(null!==a&&1!==a.nodeType)a=a.previousSibling;return a},get_node:function(b,c){b&&b.id&&(b=b.id),b instanceof a&&b.length&&b[0].id&&(b=b[0].id);var d;try{if(this._model.data[b])b=this._model.data[b];else if("string"==typeof b&&this._model.data[b.replace(/^#/,"")])b=this._model.data[b.replace(/^#/,"")];else if("string"==typeof b&&(d=a("#"+b.replace(a.jstree.idregex,"\\$&"),this.element)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else if((d=this.element.find(b)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else{if(!(d=this.element.find(b)).length||!d.hasClass("jstree"))return!1;b=this._model.data[a.jstree.root]}return c&&(b=b.id===a.jstree.root?this.element:a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)),b}catch(e){return!1}},get_path:function(b,c,d){if(b=b.parents?b:this.get_node(b),!b||b.id===a.jstree.root||!b.parents)return!1;var e,f,g=[];for(g.push(d?b.id:b.text),e=0,f=b.parents.length;f>e;e++)g.push(d?b.parents[e]:this.get_text(b.parents[e]));return g=g.reverse().slice(1),c?g.join(c):g},get_next_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){d=this._firstChild(this.get_container_ul()[0]);while(d&&0===d.offsetHeight)d=this._nextSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}if(b.hasClass("jstree-open")){d=this._firstChild(b.children(".jstree-children")[0]);while(d&&0===d.offsetHeight)d=this._nextSibling(d);if(null!==d)return a(d)}d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return null!==d?a(d):b.parentsUntil(".jstree",".jstree-node").nextAll(".jstree-node:visible").first()},get_prev_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){d=this.get_container_ul()[0].lastChild;while(d&&0===d.offsetHeight)d=this._previousSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);if(null!==d){b=a(d);while(b.hasClass("jstree-open"))b=b.children(".jstree-children").first().children(".jstree-node:visible:last");return b}return d=b[0].parentNode.parentNode,d&&d.className&&-1!==d.className.indexOf("jstree-node")?a(d):!1},get_parent:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.parent:!1},get_children_dom:function(a){return a=this.get_node(a,!0),a[0]===this.element[0]?this.get_container_ul().children(".jstree-node"):a&&a.length?a.children(".jstree-children").children(".jstree-node"):!1},is_parent:function(a){return a=this.get_node(a),a&&(a.state.loaded===!1||a.children.length>0)},is_loaded:function(a){return a=this.get_node(a),a&&a.state.loaded},is_loading:function(a){return a=this.get_node(a),a&&a.state&&a.state.loading},is_open:function(a){return a=this.get_node(a),a&&a.state.opened},is_closed:function(a){return a=this.get_node(a),a&&this.is_parent(a)&&!a.state.opened},is_leaf:function(a){return!this.is_parent(a)},load_node:function(b,c){var d,e,f,g,h;if(a.vakata.is_array(b))return this._load_nodes(b.slice(),c),!0;if(b=this.get_node(b),!b)return c&&c.call(this,b,!1),!1;if(b.state.loaded){for(b.state.loaded=!1,f=0,g=b.parents.length;g>f;f++)this._model.data[b.parents[f]].children_d=a.vakata.array_filter(this._model.data[b.parents[f]].children_d,function(c){return-1===a.inArray(c,b.children_d)});for(d=0,e=b.children_d.length;e>d;d++)this._model.data[b.children_d[d]].state.selected&&(h=!0),delete this._model.data[b.children_d[d]];h&&(this._data.core.selected=a.vakata.array_filter(this._data.core.selected,function(c){return-1===a.inArray(c,b.children_d)})),b.children=[],b.children_d=[],h&&this.trigger("changed",{action:"load_node",node:b,selected:this._data.core.selected})}return b.state.failed=!1,b.state.loading=!0,this.get_node(b,!0).addClass("jstree-loading").attr("aria-busy",!0),this._load_node(b,function(a){b=this._model.data[b.id],b.state.loading=!1,b.state.loaded=a,b.state.failed=!b.state.loaded;var d=this.get_node(b,!0),e=0,f=0,g=this._model.data,h=!1;for(e=0,f=b.children.length;f>e;e++)if(g[b.children[e]]&&!g[b.children[e]].state.hidden){h=!0;break}b.state.loaded&&d&&d.length&&(d.removeClass("jstree-closed jstree-open jstree-leaf"),h?"#"!==b.id&&d.addClass(b.state.opened?"jstree-open":"jstree-closed"):d.addClass("jstree-leaf")),d.removeClass("jstree-loading").attr("aria-busy",!1),this.trigger("load_node",{node:b,status:a}),c&&c.call(this,b,a)}.bind(this)),!0},_load_nodes:function(a,b,c,d){var e=!0,f=function(){this._load_nodes(a,b,!0)},g=this._model.data,h,i,j=[];for(h=0,i=a.length;i>h;h++)g[a[h]]&&(!g[a[h]].state.loaded&&!g[a[h]].state.failed||!c&&d)&&(this.is_loading(a[h])||this.load_node(a[h],f),e=!1);if(e){for(h=0,i=a.length;i>h;h++)g[a[h]]&&g[a[h]].state.loaded&&j.push(a[h]);b&&!b.done&&(b.call(this,j),b.done=!0)}},load_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d=[],e=this._model.data,f=e[b.id].children_d,g,h;for(b.state&&!b.state.loaded&&d.push(b.id),g=0,h=f.length;h>g;g++)e[f[g]]&&e[f[g]].state&&!e[f[g]].state.loaded&&d.push(f[g]);d.length?this._load_nodes(d,function(){this.load_all(b,c)}):(c&&c.call(this,b),this.trigger("load_all",{node:b}))},_load_node:function(b,c){var d=this.settings.core.data,e,f=function g(){return 3!==this.nodeType&&8!==this.nodeType};return d?a.vakata.is_function(d)?d.call(this,b,function(d){d===!1?c.call(this,!1):this["string"==typeof d?"_append_html_data":"_append_json_data"](b,"string"==typeof d?a(a.parseHTML(d)).filter(f):d,function(a){c.call(this,a)})}.bind(this)):"object"==typeof d?d.url?(d=a.extend(!0,{},d),a.vakata.is_function(d.url)&&(d.url=d.url.call(this,b)),a.vakata.is_function(d.data)&&(d.data=d.data.call(this,b)),a.ajax(d).done(function(d,e,g){var h=g.getResponseHeader("Content-Type");return h&&-1!==h.indexOf("json")||"object"==typeof d?this._append_json_data(b,d,function(a){c.call(this,a)}):h&&-1!==h.indexOf("html")||"string"==typeof d?this._append_html_data(b,a(a.parseHTML(d)).filter(f),function(a){c.call(this,a)}):(this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:g})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))}.bind(this)).fail(function(a){this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:a})},c.call(this,!1),this.settings.core.error.call(this,this._data.core.last_error)}.bind(this))):(e=a.vakata.is_array(d)?a.extend(!0,[],d):a.isPlainObject(d)?a.extend(!0,{},d):d,b.id===a.jstree.root?this._append_json_data(b,e,function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_05",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))):"string"==typeof d?b.id===a.jstree.root?this._append_html_data(b,a(a.parseHTML(d)).filter(f),function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_06",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1)):c.call(this,!1):b.id===a.jstree.root?this._append_html_data(b,this._data.core.original_container_html.clone(!0),function(a){c.call(this,a)}):c.call(this,!1)},_node_changed:function(b){b=this.get_node(b),b&&-1===a.inArray(b.id,this._model.changed)&&this._model.changed.push(b.id)},_append_html_data:function(b,c,d){b=this.get_node(b),b.children=[],b.children_d=[];var e=c.is("ul")?c.children():c,f=b.id,g=[],h=[],i=this._model.data,j=i[f],k=this._data.core.selected.length,l,m,n;for(e.each(function(b,c){l=this._parse_model_from_html(a(c),f,j.parents.concat()),l&&(g.push(l),h.push(l),i[l].children_d.length&&(h=h.concat(i[l].children_d)))}.bind(this)),j.children=g,j.children_d=h,m=0,n=j.parents.length;n>m;m++)i[j.parents[m]].children_d=i[j.parents[m]].children_d.concat(h);this.trigger("model",{nodes:h,parent:f}),f!==a.jstree.root?(this._node_changed(f),this.redraw()):(this.get_container_ul().children(".jstree-initial-node").remove(),this.redraw(!0)),this._data.core.selected.length!==k&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)},_append_json_data:function(b,c,d,e){if(null!==this.element){b=this.get_node(b),b.children=[],b.children_d=[],c.d&&(c=c.d,"string"==typeof c&&(c=JSON.parse(c))),a.vakata.is_array(c)||(c=[c]);var f=null,g={df:this._model.default_state,dat:c,par:b.id,m:this._model.data,t_id:this._id,t_cnt:this._cnt,sel:this._data.core.selected},h=this,i=function(a,b){a.data&&(a=a.data);var c=a.dat,d=a.par,e=[],f=[],g=[],i=a.df,j=a.t_id,k=a.t_cnt,l=a.m,m=l[d],n=a.sel,o,p,q,r,s=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=a.id.toString(),f,h,j,k,m={id:e,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in i)i.hasOwnProperty(f)&&(m.state[f]=i[f]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(m.icon=a.data.jstree.icon),(m.icon===b||null===m.icon||""===m.icon)&&(m.icon=!0),a&&a.data&&(m.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(m.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(m.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(m.li_attr[f]=a.li_attr[f]);if(m.li_attr.id||(m.li_attr.id=e),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(m.a_attr[f]=a.a_attr[f]);for(a&&a.children&&a.children===!0&&(m.state.loaded=!1,m.children=[],m.children_d=[]),l[m.id]=m,f=0,h=m.children.length;h>f;f++)j=s(l[m.children[f]],m.id,d),k=l[j],m.children_d.push(j),k.children_d.length&&(m.children_d=m.children_d.concat(k.children_d));return delete a.data,delete a.children,l[m.id].original=a,m.state.selected&&g.push(m.id),m.id},t=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=!1,f,h,m,n,o;do e="j"+j+"_"+ ++k;while(l[e]);o={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in i)i.hasOwnProperty(f)&&(o.state[f]=i[f]);if(a&&a.id&&(o.id=a.id.toString()),a&&a.text&&(o.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(o.icon=a.data.jstree.icon),(o.icon===b||null===o.icon||""===o.icon)&&(o.icon=!0),a&&a.data&&(o.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(o.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(o.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(o.li_attr[f]=a.li_attr[f]);if(o.li_attr.id&&!o.id&&(o.id=o.li_attr.id.toString()),o.id||(o.id=e),o.li_attr.id||(o.li_attr.id=o.id),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(o.a_attr[f]=a.a_attr[f]);if(a&&a.children&&a.children.length){for(f=0,h=a.children.length;h>f;f++)m=t(a.children[f],o.id,d),n=l[m],o.children.push(m),n.children_d.length&&(o.children_d=o.children_d.concat(n.children_d));o.children_d=o.children_d.concat(o.children)}return a&&a.children&&a.children===!0&&(o.state.loaded=!1,o.children=[],o.children_d=[]),delete a.data,delete a.children,o.original=a,l[o.id]=o,o.state.selected&&g.push(o.id),o.id};if(c.length&&c[0].id!==b&&c[0].parent!==b){for(p=0,q=c.length;q>p;p++)c[p].children||(c[p].children=[]),c[p].state||(c[p].state={}),l[c[p].id.toString()]=c[p];for(p=0,q=c.length;q>p;p++)l[c[p].parent.toString()]?(l[c[p].parent.toString()].children.push(c[p].id.toString()),m.children_d.push(c[p].id.toString())):"undefined"!=typeof h&&(h._data.core.last_error={error:"parse",plugin:"core",id:"core_07",reason:"Node with invalid parent",data:JSON.stringify({id:c[p].id.toString(),parent:c[p].parent.toString()})},h.settings.core.error.call(h,h._data.core.last_error));for(p=0,q=m.children.length;q>p;p++)o=s(l[m.children[p]],d,m.parents.concat()),f.push(o),l[o].children_d.length&&(f=f.concat(l[o].children_d));for(p=0,q=m.parents.length;q>p;p++)l[m.parents[p]].children_d=l[m.parents[p]].children_d.concat(f);r={cnt:k,mod:l,sel:n,par:d,dpc:f,add:g}}else{for(p=0,q=c.length;q>p;p++)o=t(c[p],d,m.parents.concat()),o&&(e.push(o),f.push(o),l[o].children_d.length&&(f=f.concat(l[o].children_d)));for(m.children=e,m.children_d=f,p=0,q=m.parents.length;q>p;p++)l[m.parents[p]].children_d=l[m.parents[p]].children_d.concat(f);r={cnt:k,mod:l,sel:n,par:d,dpc:f,add:g}}return"undefined"!=typeof window&&"undefined"!=typeof window.document?r:void postMessage(r)},k=function(b,c){if(null!==this.element){this._cnt=b.cnt;var e,f=this._model.data;for(e in f)f.hasOwnProperty(e)&&f[e].state&&f[e].state.loading&&b.mod[e]&&(b.mod[e].state.loading=!0);if(this._model.data=b.mod,c){var g,i=b.add,k=b.sel,l=this._data.core.selected.slice();if(f=this._model.data,k.length!==l.length||a.vakata.array_unique(k.concat(l)).length!==k.length){for(e=0,g=k.length;g>e;e++)-1===a.inArray(k[e],i)&&-1===a.inArray(k[e],l)&&(f[k[e]].state.selected=!1);for(e=0,g=l.length;g>e;e++)-1===a.inArray(l[e],k)&&(f[l[e]].state.selected=!0)}}b.add.length&&(this._data.core.selected=this._data.core.selected.concat(b.add)),this.trigger("model",{nodes:b.dpc,parent:b.par}),b.par!==a.jstree.root?(this._node_changed(b.par),this.redraw()):this.redraw(!0),b.add.length&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),!c&&j?j(function(){d.call(h,!0)}):d.call(h,!0)}};if(this.settings.core.worker&&window.Blob&&window.URL&&window.Worker)try{null===this._wrk&&(this._wrk=window.URL.createObjectURL(new window.Blob(["self.onmessage = "+i.toString()],{type:"text/javascript"}))),!this._data.core.working||e?(this._data.core.working=!0,f=new window.Worker(this._wrk),f.onmessage=function(a){k.call(this,a.data,!0);try{f.terminate(),f=null}catch(b){}this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1}.bind(this),g.par?f.postMessage(g):this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1):this._data.core.worker_queue.push([b,c,d,!0])}catch(l){k.call(this,i(g),!1),this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1}else k.call(this,i(g),!1)}},_parse_model_from_html:function(c,d,e){e=e?[].concat(e):[],d&&e.unshift(d);var f,g,h=this._model.data,i={id:!1,text:!1,icon:!0,parent:d,parents:e,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1},j,k,l;for(j in this._model.default_state)this._model.default_state.hasOwnProperty(j)&&(i.state[j]=this._model.default_state[j]);if(k=a.vakata.attributes(c,!0),a.each(k,function(b,c){return c=a.vakata.trim(c),c.length?(i.li_attr[b]=c,void("id"===b&&(i.id=c.toString()))):!0}),k=c.children("a").first(),k.length&&(k=a.vakata.attributes(k,!0),a.each(k,function(b,c){c=a.vakata.trim(c),c.length&&(i.a_attr[b]=c)})),k=c.children("a").first().length?c.children("a").first().clone():c.clone(),k.children("ins, i, ul").remove(),k=k.html(),k=a("<div></div>").html(k),i.text=this.settings.core.force_text?k.text():k.html(),k=c.data(),i.data=k?a.extend(!0,{},k):null,i.state.opened=c.hasClass("jstree-open"),i.state.selected=c.children("a").hasClass("jstree-clicked"),i.state.disabled=c.children("a").hasClass("jstree-disabled"),i.data&&i.data.jstree)for(j in i.data.jstree)i.data.jstree.hasOwnProperty(j)&&(i.state[j]=i.data.jstree[j]);k=c.children("a").children(".jstree-themeicon"),k.length&&(i.icon=k.hasClass("jstree-themeicon-hidden")?!1:k.attr("rel")),i.state.icon!==b&&(i.icon=i.state.icon),(i.icon===b||null===i.icon||""===i.icon)&&(i.icon=!0),k=c.children("ul").children("li");do l="j"+this._id+"_"+ ++this._cnt;while(h[l]);return i.id=i.li_attr.id?i.li_attr.id.toString():l,k.length?(k.each(function(b,c){f=this._parse_model_from_html(a(c),i.id,e),g=this._model.data[f],i.children.push(f),g.children_d.length&&(i.children_d=i.children_d.concat(g.children_d))}.bind(this)),i.children_d=i.children_d.concat(i.children)):c.hasClass("jstree-closed")&&(i.state.loaded=!1),i.li_attr["class"]&&(i.li_attr["class"]=i.li_attr["class"].replace("jstree-closed","").replace("jstree-open","")),i.a_attr["class"]&&(i.a_attr["class"]=i.a_attr["class"].replace("jstree-clicked","").replace("jstree-disabled","")),h[i.id]=i,i.state.selected&&this._data.core.selected.push(i.id),i.id},_parse_model_from_flat_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=a.id.toString(),f=this._model.data,g=this._model.default_state,h,i,j,k,l={id:e,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(h in g)g.hasOwnProperty(h)&&(l.state[h]=g[h]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(l.icon=a.data.jstree.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0),a&&a.data&&(l.data=a.data,a.data.jstree))for(h in a.data.jstree)a.data.jstree.hasOwnProperty(h)&&(l.state[h]=a.data.jstree[h]);if(a&&"object"==typeof a.state)for(h in a.state)a.state.hasOwnProperty(h)&&(l.state[h]=a.state[h]);if(a&&"object"==typeof a.li_attr)for(h in a.li_attr)a.li_attr.hasOwnProperty(h)&&(l.li_attr[h]=a.li_attr[h]);if(l.li_attr.id||(l.li_attr.id=e),a&&"object"==typeof a.a_attr)for(h in a.a_attr)a.a_attr.hasOwnProperty(h)&&(l.a_attr[h]=a.a_attr[h]);for(a&&a.children&&a.children===!0&&(l.state.loaded=!1,l.children=[],l.children_d=[]),f[l.id]=l,h=0,i=l.children.length;i>h;h++)j=this._parse_model_from_flat_json(f[l.children[h]],l.id,d),k=f[j],l.children_d.push(j),k.children_d.length&&(l.children_d=l.children_d.concat(k.children_d));return delete a.data,delete a.children,f[l.id].original=a,l.state.selected&&this._data.core.selected.push(l.id),l.id},_parse_model_from_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=!1,f,g,h,i,j=this._model.data,k=this._model.default_state,l;do e="j"+this._id+"_"+ ++this._cnt;while(j[e]);l={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in k)k.hasOwnProperty(f)&&(l.state[f]=k[f]);if(a&&a.id&&(l.id=a.id.toString()),a&&a.text&&(l.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(l.icon=a.data.jstree.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0), >+a&&a.data&&(l.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(l.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(l.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(l.li_attr[f]=a.li_attr[f]);if(l.li_attr.id&&!l.id&&(l.id=l.li_attr.id.toString()),l.id||(l.id=e),l.li_attr.id||(l.li_attr.id=l.id),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(l.a_attr[f]=a.a_attr[f]);if(a&&a.children&&a.children.length){for(f=0,g=a.children.length;g>f;f++)h=this._parse_model_from_json(a.children[f],l.id,d),i=j[h],l.children.push(h),i.children_d.length&&(l.children_d=l.children_d.concat(i.children_d));l.children_d=l.children.concat(l.children_d)}return a&&a.children&&a.children===!0&&(l.state.loaded=!1,l.children=[],l.children_d=[]),delete a.data,delete a.children,l.original=a,j[l.id]=l,l.state.selected&&this._data.core.selected.push(l.id),l.id},_redraw:function(){var b=this._model.force_full_redraw?this._model.data[a.jstree.root].children.concat([]):this._model.changed.concat([]),c=i.createElement("UL"),d,e,f,g=this._data.core.focused;for(e=0,f=b.length;f>e;e++)d=this.redraw_node(b[e],!0,this._model.force_full_redraw),d&&this._model.force_full_redraw&&c.appendChild(d);this._model.force_full_redraw&&(c.className=this.get_container_ul()[0].className,c.setAttribute("role","group"),this.element.empty().append(c)),null!==g&&this.settings.core.restore_focus&&(d=this.get_node(g,!0),d&&d.length&&d.children(".jstree-anchor")[0]!==i.activeElement?d.children(".jstree-anchor").trigger("focus"):this._data.core.focused=null),this._model.force_full_redraw=!1,this._model.changed=[],this.trigger("redraw",{nodes:b})},redraw:function(a){a&&(this._model.force_full_redraw=!0),this._redraw()},draw_children:function(b){var c=this.get_node(b),d=!1,e=!1,f=!1,g=i;if(!c)return!1;if(c.id===a.jstree.root)return this.redraw(!0);if(b=this.get_node(b,!0),!b||!b.length)return!1;if(b.children(".jstree-children").remove(),b=b[0],c.children.length&&c.state.loaded){for(f=g.createElement("UL"),f.setAttribute("role","group"),f.className="jstree-children",d=0,e=c.children.length;e>d;d++)f.appendChild(this.redraw_node(c.children[d],!0,!0));b.appendChild(f)}},redraw_node:function(b,c,d,e){var f=this.get_node(b),g=!1,h=!1,j=!1,k=!1,l=!1,m=!1,n="",o=i,p=this._model.data,q=!1,r=!1,s=null,t=0,u=0,v=!1,w=!1;if(!f)return!1;if(f.id===a.jstree.root)return this.redraw(!0);if(c=c||0===f.children.length,b=i.querySelector?this.element[0].querySelector("#"+(-1!=="0123456789".indexOf(f.id[0])?"\\3"+f.id[0]+" "+f.id.substr(1).replace(a.jstree.idregex,"\\$&"):f.id.replace(a.jstree.idregex,"\\$&"))):i.getElementById(f.id))b=a(b),d||(g=b.parent().parent()[0],g===this.element[0]&&(g=null),h=b.index()),c||!f.children.length||b.children(".jstree-children").length||(c=!0),c||(j=b.children(".jstree-children")[0]),q=b.children(".jstree-anchor")[0]===i.activeElement,b.remove();else if(c=!0,!d){if(g=f.parent!==a.jstree.root?a("#"+f.parent.replace(a.jstree.idregex,"\\$&"),this.element)[0]:null,!(null===g||g&&p[f.parent].state.opened))return!1;h=a.inArray(f.id,null===g?p[a.jstree.root].children:p[f.parent].children)}b=this._data.core.node.cloneNode(!0),n="jstree-node ";for(k in f.li_attr)if(f.li_attr.hasOwnProperty(k)){if("id"===k)continue;"class"!==k?b.setAttribute(k,f.li_attr[k]):n+=f.li_attr[k]}for(f.a_attr.id||(f.a_attr.id=f.id+"_anchor"),b.childNodes[1].setAttribute("aria-selected",!!f.state.selected),b.childNodes[1].setAttribute("aria-level",f.parents.length),this.settings.core.compute_elements_positions&&(b.childNodes[1].setAttribute("aria-setsize",p[f.parent].children.length),b.childNodes[1].setAttribute("aria-posinset",p[f.parent].children.indexOf(f.id)+1)),f.state.disabled&&b.childNodes[1].setAttribute("aria-disabled",!0),k=0,l=f.children.length;l>k;k++)if(!p[f.children[k]].state.hidden){v=!0;break}if(null!==f.parent&&p[f.parent]&&!f.state.hidden&&(k=a.inArray(f.id,p[f.parent].children),w=f.id,-1!==k))for(k++,l=p[f.parent].children.length;l>k;k++)if(p[p[f.parent].children[k]].state.hidden||(w=p[f.parent].children[k]),w!==f.id)break;f.state.hidden&&(n+=" jstree-hidden"),f.state.loading&&(n+=" jstree-loading"),f.state.loaded&&!v?n+=" jstree-leaf":(n+=f.state.opened&&f.state.loaded?" jstree-open":" jstree-closed",b.childNodes[1].setAttribute("aria-expanded",f.state.opened&&f.state.loaded)),w===f.id&&(n+=" jstree-last"),b.id=f.id,b.className=n,n=(f.state.selected?" jstree-clicked":"")+(f.state.disabled?" jstree-disabled":"");for(l in f.a_attr)if(f.a_attr.hasOwnProperty(l)){if("href"===l&&"#"===f.a_attr[l])continue;"class"!==l?b.childNodes[1].setAttribute(l,f.a_attr[l]):n+=" "+f.a_attr[l]}if(n.length&&(b.childNodes[1].className="jstree-anchor "+n),(f.icon&&f.icon!==!0||f.icon===!1)&&(f.icon===!1?b.childNodes[1].childNodes[0].className+=" jstree-themeicon-hidden":-1===f.icon.indexOf("/")&&-1===f.icon.indexOf(".")?b.childNodes[1].childNodes[0].className+=" "+f.icon+" jstree-themeicon-custom":(b.childNodes[1].childNodes[0].style.backgroundImage='url("'+f.icon+'")',b.childNodes[1].childNodes[0].style.backgroundPosition="center center",b.childNodes[1].childNodes[0].style.backgroundSize="auto",b.childNodes[1].childNodes[0].className+=" jstree-themeicon-custom")),this.settings.core.force_text?b.childNodes[1].appendChild(o.createTextNode(f.text)):b.childNodes[1].innerHTML+=f.text,c&&f.children.length&&(f.state.opened||e)&&f.state.loaded){for(m=o.createElement("UL"),m.setAttribute("role","group"),m.className="jstree-children",k=0,l=f.children.length;l>k;k++)m.appendChild(this.redraw_node(f.children[k],c,!0));b.appendChild(m)}if(j&&b.appendChild(j),!d){for(g||(g=this.element[0]),k=0,l=g.childNodes.length;l>k;k++)if(g.childNodes[k]&&g.childNodes[k].className&&-1!==g.childNodes[k].className.indexOf("jstree-children")){s=g.childNodes[k];break}s||(s=o.createElement("UL"),s.setAttribute("role","group"),s.className="jstree-children",g.appendChild(s)),g=s,h<g.childNodes.length?g.insertBefore(b,g.childNodes[h]):g.appendChild(b),q&&(t=this.element[0].scrollTop,u=this.element[0].scrollLeft,b.childNodes[1].focus(),this.element[0].scrollTop=t,this.element[0].scrollLeft=u)}return f.state.opened&&!f.state.loaded&&(f.state.opened=!1,setTimeout(function(){this.open_node(f.id,!1,0)}.bind(this),0)),b},open_node:function(c,d,e){var f,g,h,i;if(a.vakata.is_array(c)){for(c=c.slice(),f=0,g=c.length;g>f;f++)this.open_node(c[f],d,e);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(e=e===b?this.settings.core.animation:e,this.is_closed(c)?this.is_loaded(c)?(h=this.get_node(c,!0),i=this,h.length&&(e&&h.children(".jstree-children").length&&h.children(".jstree-children").stop(!0,!0),c.children.length&&!this._firstChild(h.children(".jstree-children")[0])&&this.draw_children(c),e?(this.trigger("before_open",{node:c}),h.children(".jstree-children").css("display","none").end().removeClass("jstree-closed").addClass("jstree-open").children(".jstree-anchor").attr("aria-expanded",!0).end().children(".jstree-children").stop(!0,!0).slideDown(e,function(){this.style.display="",i.element&&i.trigger("after_open",{node:c})})):(this.trigger("before_open",{node:c}),h[0].className=h[0].className.replace("jstree-closed","jstree-open"),h[0].childNodes[1].setAttribute("aria-expanded",!0))),c.state.opened=!0,d&&d.call(this,c,!0),h.length||this.trigger("before_open",{node:c}),this.trigger("open_node",{node:c}),e&&h.length||this.trigger("after_open",{node:c}),!0):this.is_loading(c)?setTimeout(function(){this.open_node(c,d,e)}.bind(this),500):void this.load_node(c,function(a,b){return b?this.open_node(a,d,e):d?d.call(this,a,!1):!1}):(d&&d.call(this,c,!1),!1)):!1},_open_to:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c,d,e=b.parents;for(c=0,d=e.length;d>c;c+=1)c!==a.jstree.root&&this.open_node(e[c],!1,0);return a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)},close_node:function(c,d){var e,f,g,h;if(a.vakata.is_array(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.close_node(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?this.is_closed(c)?!1:(d=d===b?this.settings.core.animation:d,g=this,h=this.get_node(c,!0),c.state.opened=!1,this.trigger("close_node",{node:c}),void(h.length?d?h.children(".jstree-children").attr("style","display:block !important").end().removeClass("jstree-open").addClass("jstree-closed").children(".jstree-anchor").attr("aria-expanded",!1).end().children(".jstree-children").stop(!0,!0).slideUp(d,function(){this.style.display="",h.children(".jstree-children").remove(),g.element&&g.trigger("after_close",{node:c})}):(h[0].className=h[0].className.replace("jstree-open","jstree-closed"),h.children(".jstree-anchor").attr("aria-expanded",!1),h.children(".jstree-children").remove(),this.trigger("after_close",{node:c})):this.trigger("after_close",{node:c}))):!1},toggle_node:function(b){var c,d;if(a.vakata.is_array(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.toggle_node(b[c]);return!0}return this.is_closed(b)?this.open_node(b):this.is_open(b)?this.close_node(b):void 0},open_all:function(b,c,d){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var e=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0),f,g,h;if(!e.length){for(f=0,g=b.children_d.length;g>f;f++)this.is_closed(this._model.data[b.children_d[f]])&&(this._model.data[b.children_d[f]].state.opened=!0);return this.trigger("open_all",{node:b})}d=d||e,h=this,e=this.is_closed(b)?e.find(".jstree-closed").addBack():e.find(".jstree-closed"),e.each(function(){h.open_node(this,function(a,b){b&&this.is_parent(a)&&this.open_all(a,c,d)},c||0)}),0===d.find(".jstree-closed").length&&this.trigger("open_all",{node:this.get_node(d)})},close_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0),e=this,f,g;for(d.length&&(d=this.is_open(b)?d.find(".jstree-open").addBack():d.find(".jstree-open"),a(d.get().reverse()).each(function(){e.close_node(this,c||0)})),f=0,g=b.children_d.length;g>f;f++)this._model.data[b.children_d[f]].state.opened=!1;this.trigger("close_all",{node:b})},is_disabled:function(a){return a=this.get_node(a),a&&a.state&&a.state.disabled},enable_node:function(b){var c,d;if(a.vakata.is_array(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!1,this.get_node(b,!0).children(".jstree-anchor").removeClass("jstree-disabled").attr("aria-disabled",!1),void this.trigger("enable_node",{node:b})):!1},disable_node:function(b){var c,d;if(a.vakata.is_array(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!0,this.get_node(b,!0).children(".jstree-anchor").addClass("jstree-disabled").attr("aria-disabled",!0),void this.trigger("disable_node",{node:b})):!1},is_hidden:function(a){return a=this.get_node(a),a.state.hidden===!0},hide_node:function(b,c){var d,e;if(a.vakata.is_array(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.hide_node(b[d],!0);return c||this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden||(b.state.hidden=!0,this._node_changed(b.parent),c||this.redraw(),this.trigger("hide_node",{node:b}))):!1},show_node:function(b,c){var d,e;if(a.vakata.is_array(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.show_node(b[d],!0);return c||this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden&&(b.state.hidden=!1,this._node_changed(b.parent),c||this.redraw(),this.trigger("show_node",{node:b}))):!1},hide_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&!d[c].state.hidden&&(d[c].state.hidden=!0,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("hide_all",{nodes:e}),e},show_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&d[c].state.hidden&&(d[c].state.hidden=!1,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("show_all",{nodes:e}),e},activate_node:function(a,c){if(this.is_disabled(a))return!1;if(c&&"object"==typeof c||(c={}),this._data.core.last_clicked=this._data.core.last_clicked&&this._data.core.last_clicked.id!==b?this.get_node(this._data.core.last_clicked.id):null,this._data.core.last_clicked&&!this._data.core.last_clicked.state.selected&&(this._data.core.last_clicked=null),!this._data.core.last_clicked&&this._data.core.selected.length&&(this._data.core.last_clicked=this.get_node(this._data.core.selected[this._data.core.selected.length-1])),this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&(!c.shiftKey||this._data.core.last_clicked&&this.get_parent(a)&&this.get_parent(a)===this._data.core.last_clicked.parent))if(c.shiftKey){var d=this.get_node(a).id,e=this._data.core.last_clicked.id,f=this.get_node(this._data.core.last_clicked.parent).children,g=!1,h,i;for(h=0,i=f.length;i>h;h+=1)f[h]===d&&(g=!g),f[h]===e&&(g=!g),this.is_disabled(f[h])||!g&&f[h]!==d&&f[h]!==e?this.deselect_node(f[h],!0,c):this.is_hidden(f[h])||this.select_node(f[h],!0,!1,c);this.trigger("changed",{action:"select_node",node:this.get_node(a),selected:this._data.core.selected,event:c})}else this.is_selected(a)?this.deselect_node(a,!1,c):this.select_node(a,!1,!1,c);else!this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&this.is_selected(a)?this.deselect_node(a,!1,c):(this.deselect_all(!0),this.select_node(a,!1,!1,c),this._data.core.last_clicked=this.get_node(a));this.trigger("activate_node",{node:this.get_node(a),event:c})},hover_node:function(a){if(a=this.get_node(a,!0),!a||!a.length||a.children(".jstree-hovered").length)return!1;var b=this.element.find(".jstree-hovered"),c=this.element;b&&b.length&&this.dehover_node(b),a.children(".jstree-anchor").addClass("jstree-hovered"),this.trigger("hover_node",{node:this.get_node(a)}),setTimeout(function(){c.attr("aria-activedescendant",a[0].id)},0)},dehover_node:function(a){return a=this.get_node(a,!0),a&&a.length&&a.children(".jstree-hovered").length?(a.children(".jstree-anchor").removeClass("jstree-hovered"),void this.trigger("dehover_node",{node:this.get_node(a)})):!1},select_node:function(b,c,d,e){var f,g,h,i;if(a.vakata.is_array(b)){for(b=b.slice(),g=0,h=b.length;h>g;g++)this.select_node(b[g],c,d,e);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.selected||(b.state.selected=!0,this._data.core.selected.push(b.id),d||(f=this._open_to(b)),f&&f.length&&f.children(".jstree-anchor").addClass("jstree-clicked").attr("aria-selected",!0),this.trigger("select_node",{node:b,selected:this._data.core.selected,event:e}),c||this.trigger("changed",{action:"select_node",node:b,selected:this._data.core.selected,event:e})))):!1},deselect_node:function(b,c,d){var e,f,g;if(a.vakata.is_array(b)){for(b=b.slice(),e=0,f=b.length;f>e;e++)this.deselect_node(b[e],c,d);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(g=this.get_node(b,!0),void(b.state.selected&&(b.state.selected=!1,this._data.core.selected=a.vakata.array_remove_item(this._data.core.selected,b.id),g.length&&g.children(".jstree-anchor").removeClass("jstree-clicked").attr("aria-selected",!1),this.trigger("deselect_node",{node:b,selected:this._data.core.selected,event:d}),c||this.trigger("changed",{action:"deselect_node",node:b,selected:this._data.core.selected,event:d})))):!1},select_all:function(b){var c=this._data.core.selected.concat([]),d,e;for(this._data.core.selected=this._model.data[a.jstree.root].children_d.concat(),d=0,e=this._data.core.selected.length;e>d;d++)this._model.data[this._data.core.selected[d]]&&(this._model.data[this._data.core.selected[d]].state.selected=!0);this.redraw(!0),this.trigger("select_all",{selected:this._data.core.selected}),b||this.trigger("changed",{action:"select_all",selected:this._data.core.selected,old_selection:c})},deselect_all:function(a){var b=this._data.core.selected.concat([]),c,d;for(c=0,d=this._data.core.selected.length;d>c;c++)this._model.data[this._data.core.selected[c]]&&(this._model.data[this._data.core.selected[c]].state.selected=!1);this._data.core.selected=[],this.element.find(".jstree-clicked").removeClass("jstree-clicked").attr("aria-selected",!1),this.trigger("deselect_all",{selected:this._data.core.selected,node:b}),a||this.trigger("changed",{action:"deselect_all",selected:this._data.core.selected,old_selection:b})},is_selected:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.selected:!1},get_selected:function(b){return b?a.map(this._data.core.selected,function(a){return this.get_node(a)}.bind(this)):this._data.core.selected.slice()},get_top_selected:function(b){var c=this.get_selected(!0),d={},e,f,g,h;for(e=0,f=c.length;f>e;e++)d[c[e].id]=c[e];for(e=0,f=c.length;f>e;e++)for(g=0,h=c[e].children_d.length;h>g;g++)d[c[e].children_d[g]]&&delete d[c[e].children_d[g]];c=[];for(e in d)d.hasOwnProperty(e)&&c.push(e);return b?a.map(c,function(a){return this.get_node(a)}.bind(this)):c},get_bottom_selected:function(b){var c=this.get_selected(!0),d=[],e,f;for(e=0,f=c.length;f>e;e++)c[e].children.length||d.push(c[e].id);return b?a.map(d,function(a){return this.get_node(a)}.bind(this)):d},get_state:function(){var b={core:{open:[],loaded:[],scroll:{left:this.element.scrollLeft(),top:this.element.scrollTop()},selected:[]}},c;for(c in this._model.data)this._model.data.hasOwnProperty(c)&&c!==a.jstree.root&&(this._model.data[c].state.loaded&&this.settings.core.loaded_state&&b.core.loaded.push(c),this._model.data[c].state.opened&&b.core.open.push(c),this._model.data[c].state.selected&&b.core.selected.push(c));return b},set_state:function(c,d){if(c){if(c.core&&c.core.selected&&c.core.initial_selection===b&&(c.core.initial_selection=this._data.core.selected.concat([]).sort().join(",")),c.core){var e,f,g,h,i;if(c.core.loaded)return this.settings.core.loaded_state&&a.vakata.is_array(c.core.loaded)&&c.core.loaded.length?this._load_nodes(c.core.loaded,function(a){delete c.core.loaded,this.set_state(c,d)}):(delete c.core.loaded,this.set_state(c,d)),!1;if(c.core.open)return a.vakata.is_array(c.core.open)&&c.core.open.length?this._load_nodes(c.core.open,function(a){this.open_node(a,!1,0),delete c.core.open,this.set_state(c,d)}):(delete c.core.open,this.set_state(c,d)),!1;if(c.core.scroll)return c.core.scroll&&c.core.scroll.left!==b&&this.element.scrollLeft(c.core.scroll.left),c.core.scroll&&c.core.scroll.top!==b&&this.element.scrollTop(c.core.scroll.top),delete c.core.scroll,this.set_state(c,d),!1;if(c.core.selected)return h=this,(c.core.initial_selection===b||c.core.initial_selection===this._data.core.selected.concat([]).sort().join(","))&&(this.deselect_all(),a.each(c.core.selected,function(a,b){h.select_node(b,!1,!0)})),delete c.core.initial_selection,delete c.core.selected,this.set_state(c,d),!1;for(i in c)c.hasOwnProperty(i)&&"core"!==i&&-1===a.inArray(i,this.settings.plugins)&&delete c[i];if(a.isEmptyObject(c.core))return delete c.core,this.set_state(c,d),!1}return a.isEmptyObject(c)?(c=null,d&&d.call(this),this.trigger("set_state"),!1):!0}return!1},refresh:function(b,c){this._data.core.state=c===!0?{}:this.get_state(),c&&a.vakata.is_function(c)&&(this._data.core.state=c.call(this,this._data.core.state)),this._cnt=0,this._model.data={},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this._data.core.selected=[],this._data.core.last_clicked=null,this._data.core.focused=null;var d=this.get_container_ul()[0].className;b||(this.element.html("<ul class='"+d+"' role='group'><li class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='none' id='j"+this._id+"_loading'><i class='jstree-icon jstree-ocl'></i><a class='jstree-anchor' role='treeitem' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-activedescendant","j"+this._id+"_loading")),this.load_node(a.jstree.root,function(b,c){c&&(this.get_container_ul()[0].className=d,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.set_state(a.extend(!0,{},this._data.core.state),function(){this.trigger("refresh")})),this._data.core.state=null})},refresh_node:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c=[],d=[],e=this._data.core.selected.concat([]);d.push(b.id),b.state.opened===!0&&c.push(b.id),this.get_node(b,!0).find(".jstree-open").each(function(){d.push(this.id),c.push(this.id)}),this._load_nodes(d,function(a){this.open_node(c,!1,0),this.select_node(e),this.trigger("refresh_node",{node:b,nodes:a})}.bind(this),!1,!0)},set_id:function(b,c){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var d,e,f=this._model.data,g=b.id;for(c=c.toString(),f[b.parent].children[a.inArray(b.id,f[b.parent].children)]=c,d=0,e=b.parents.length;e>d;d++)f[b.parents[d]].children_d[a.inArray(b.id,f[b.parents[d]].children_d)]=c;for(d=0,e=b.children.length;e>d;d++)f[b.children[d]].parent=c;for(d=0,e=b.children_d.length;e>d;d++)f[b.children_d[d]].parents[a.inArray(b.id,f[b.children_d[d]].parents)]=c;return d=a.inArray(b.id,this._data.core.selected),-1!==d&&(this._data.core.selected[d]=c),d=this.get_node(b.id,!0),d&&(d.attr("id",c),this.element.attr("aria-activedescendant")===b.id&&this.element.attr("aria-activedescendant",c)),delete f[b.id],b.id=c,b.li_attr.id=c,f[c]=b,this.trigger("set_id",{node:b,"new":b.id,old:g}),!0},get_text:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.text:!1},set_text:function(b,c){var d,e;if(a.vakata.is_array(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.set_text(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.text=c,this.get_node(b,!0).length&&this.redraw_node(b.id),this.trigger("set_text",{obj:b,text:c}),!0):!1},get_json:function(b,c,d){if(b=this.get_node(b||a.jstree.root),!b)return!1;c&&c.flat&&!d&&(d=[]);var e={id:b.id,text:b.text,icon:this.get_icon(b),li_attr:a.extend(!0,{},b.li_attr),a_attr:a.extend(!0,{},b.a_attr),state:{},data:c&&c.no_data?!1:a.extend(!0,a.vakata.is_array(b.data)?[]:{},b.data)},f,g;if(c&&c.flat?e.parent=b.parent:e.children=[],c&&c.no_state)delete e.state;else for(f in b.state)b.state.hasOwnProperty(f)&&(e.state[f]=b.state[f]);if(c&&c.no_li_attr&&delete e.li_attr,c&&c.no_a_attr&&delete e.a_attr,c&&c.no_id&&(delete e.id,e.li_attr&&e.li_attr.id&&delete e.li_attr.id,e.a_attr&&e.a_attr.id&&delete e.a_attr.id),c&&c.flat&&b.id!==a.jstree.root&&d.push(e),!c||!c.no_children)for(f=0,g=b.children.length;g>f;f++)c&&c.flat?this.get_json(b.children[f],c,d):e.children.push(this.get_json(b.children[f],c));return c&&c.flat?d:b.id===a.jstree.root?e.children:e},create_node:function(c,d,e,f,g){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return!1;if(e=e===b?"last":e,!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(c))return this.load_node(c,function(){this.create_node(c,d,e,f,!0)});d||(d={text:this.get_string("New node")}),d="string"==typeof d?{text:d}:a.extend(!0,{},d),d.text===b&&(d.text=this.get_string("New node"));var h,i,j,k;switch(c.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":h=this.get_node(c.parent),e=a.inArray(c.id,h.children),c=h;break;case"after":h=this.get_node(c.parent),e=a.inArray(c.id,h.children)+1,c=h;break;case"inside":case"first":e=0;break;case"last":e=c.children.length;break;default:e||(e=0)}if(e>c.children.length&&(e=c.children.length),d.id||(d.id=!0),!this.check("create_node",d,c,e))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(d.id===!0&&delete d.id,d=this._parse_model_from_json(d,c.id,c.parents.concat()),!d)return!1;for(h=this.get_node(d),i=[],i.push(d),i=i.concat(h.children_d),this.trigger("model",{nodes:i,parent:c.id}),c.children_d=c.children_d.concat(i),j=0,k=c.parents.length;k>j;j++)this._model.data[c.parents[j]].children_d=this._model.data[c.parents[j]].children_d.concat(i);for(d=h,h=[],j=0,k=c.children.length;k>j;j++)h[j>=e?j+1:j]=c.children[j];return h[e]=d.id,c.children=h,this.redraw_node(c,!0),this.trigger("create_node",{node:this.get_node(d),parent:c.id,position:e}),f&&f.call(this,this.get_node(d)),d.id},rename_node:function(b,c){var d,e,f;if(a.vakata.is_array(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.rename_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=b.text,this.check("rename_node",b,this.get_parent(b),c)?(this.set_text(b,c),this.trigger("rename_node",{node:b,text:c,old:f}),!0):(this.settings.core.error.call(this,this._data.core.last_error),!1)):!1},delete_node:function(b){var c,d,e,f,g,h,i,j,k,l,m,n;if(a.vakata.is_array(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.delete_node(b[c]);return!0}if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;if(e=this.get_node(b.parent),f=a.inArray(b.id,e.children),l=!1,!this.check("delete_node",b,e,f))return this.settings.core.error.call(this,this._data.core.last_error),!1;for(-1!==f&&(e.children=a.vakata.array_remove(e.children,f)),g=b.children_d.concat([]),g.push(b.id),h=0,i=b.parents.length;i>h;h++)this._model.data[b.parents[h]].children_d=a.vakata.array_filter(this._model.data[b.parents[h]].children_d,function(b){return-1===a.inArray(b,g)});for(j=0,k=g.length;k>j;j++)if(this._model.data[g[j]].state.selected){l=!0;break}for(l&&(this._data.core.selected=a.vakata.array_filter(this._data.core.selected,function(b){return-1===a.inArray(b,g)})),this.trigger("delete_node",{node:b,parent:e.id}),l&&this.trigger("changed",{action:"delete_node",node:b,selected:this._data.core.selected,parent:e.id}),j=0,k=g.length;k>j;j++)delete this._model.data[g[j]];return-1!==a.inArray(this._data.core.focused,g)&&(this._data.core.focused=null,m=this.element[0].scrollTop,n=this.element[0].scrollLeft,e.id===a.jstree.root?this._model.data[a.jstree.root].children[0]&&this.get_node(this._model.data[a.jstree.root].children[0],!0).children(".jstree-anchor").triger("focus"):this.get_node(e,!0).children(".jstree-anchor").trigger("focus"),this.element[0].scrollTop=m,this.element[0].scrollLeft=n),this.redraw_node(e,!0),!0},check:function(b,c,d,e,f){c=c&&c.id?c:this.get_node(c),d=d&&d.id?d:this.get_node(d);var g=b.match(/^move_node|copy_node|create_node$/i)?d:c,h=this.settings.core.check_callback;if("move_node"===b||"copy_node"===b){if(!(f&&f.is_multi||"move_node"!==b||a.inArray(c.id,d.children)!==e))return this._data.core.last_error={error:"check",plugin:"core",id:"core_08",reason:"Moving node to its current position",data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1;if(!(f&&f.is_multi||c.id!==d.id&&("move_node"!==b||a.inArray(c.id,d.children)!==e)&&-1===a.inArray(d.id,c.children_d)))return this._data.core.last_error={error:"check",plugin:"core",id:"core_01",reason:"Moving parent inside child",data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1}return g&&g.data&&(g=g.data),g&&g.functions&&(g.functions[b]===!1||g.functions[b]===!0)?(g.functions[b]===!1&&(this._data.core.last_error={error:"check",plugin:"core",id:"core_02",reason:"Node data prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})}),g.functions[b]):h===!1||a.vakata.is_function(h)&&h.call(this,b,c,d,e,f)===!1||h&&h[b]===!1?(this._data.core.last_error={error:"check",plugin:"core",id:"core_03",reason:"User config for core.check_callback prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1):!0},last_error:function(){return this._data.core.last_error},move_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t,u,v,w;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.move_node(c,d,e,f,!0,!1,i)});if(a.vakata.is_array(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(r=this.move_node(c[j],d,e,f,g,!1,i))&&(d=r,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;if(l=(c.parent||a.jstree.root).toString(),n=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,o=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),p=!o||!o._id||this._id!==o._id,m=o&&o._id&&l&&o._model.data[l]&&o._model.data[l].children?a.inArray(c.id,o._model.data[l].children):-1,o&&o._id&&(c=o._model.data[c.id]),p)return(r=this.copy_node(c,d,e,f,g,!1,i))?(o&&o.delete_node(c),r):!1;switch(d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,n.children);break;case"after":e=a.inArray(d.id,n.children)+1;break;case"inside":case"first":e=0;break;case"last":e=n.children.length;break;default:e||(e=0)}if(e>n.children.length&&(e=n.children.length),!this.check("move_node",c,n,e,{core:!0,origin:i,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(c.parent===n.id){for(q=n.children.concat(),r=a.inArray(c.id,q),-1!==r&&(q=a.vakata.array_remove(q,r),e>r&&e--),r=[],s=0,t=q.length;t>s;s++)r[s>=e?s+1:s]=q[s];r[e]=c.id,n.children=r,this._node_changed(n.id),this.redraw(n.id===a.jstree.root)}else{for(r=c.children_d.concat(),r.push(c.id),s=0,t=c.parents.length;t>s;s++){for(q=[],w=o._model.data[c.parents[s]].children_d,u=0,v=w.length;v>u;u++)-1===a.inArray(w[u],r)&&q.push(w[u]);o._model.data[c.parents[s]].children_d=q}for(o._model.data[l].children=a.vakata.array_remove_item(o._model.data[l].children,c.id),s=0,t=n.parents.length;t>s;s++)this._model.data[n.parents[s]].children_d=this._model.data[n.parents[s]].children_d.concat(r);for(q=[],s=0,t=n.children.length;t>s;s++)q[s>=e?s+1:s]=n.children[s];for(q[e]=c.id,n.children=q,n.children_d.push(c.id),n.children_d=n.children_d.concat(c.children_d),c.parent=n.id,r=n.parents.concat(),r.unshift(n.id),w=c.parents.length,c.parents=r,r=r.concat(),s=0,t=c.children_d.length;t>s;s++)this._model.data[c.children_d[s]].parents=this._model.data[c.children_d[s]].parents.slice(0,-1*w),Array.prototype.push.apply(this._model.data[c.children_d[s]].parents,r);(l===a.jstree.root||n.id===a.jstree.root)&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||(this._node_changed(l),this._node_changed(n.id)),h||this.redraw()}return f&&f.call(this,c,n,e),this.trigger("move_node",{node:c,parent:n.id,position:e,old_parent:l,old_position:m,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id,old_instance:o,new_instance:this}),c.id},copy_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.copy_node(c,d,e,f,!0,!1,i)});if(a.vakata.is_array(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(m=this.copy_node(c[j],d,e,f,g,!0,i))&&(d=m,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;switch(q=(c.parent||a.jstree.root).toString(),r=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,s=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),t=!s||!s._id||this._id!==s._id,s&&s._id&&(c=s._model.data[c.id]),d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,r.children);break;case"after":e=a.inArray(d.id,r.children)+1;break;case"inside":case"first":e=0;break;case"last":e=r.children.length;break;default:e||(e=0)}if(e>r.children.length&&(e=r.children.length),!this.check("copy_node",c,r,e,{core:!0,origin:i,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(p=s?s.get_json(c,{no_id:!0,no_data:!0,no_state:!0}):c,!p)return!1;if(p.id===!0&&delete p.id,p=this._parse_model_from_json(p,r.id,r.parents.concat()), >+!p)return!1;for(m=this.get_node(p),c&&c.state&&c.state.loaded===!1&&(m.state.loaded=!1),l=[],l.push(p),l=l.concat(m.children_d),this.trigger("model",{nodes:l,parent:r.id}),n=0,o=r.parents.length;o>n;n++)this._model.data[r.parents[n]].children_d=this._model.data[r.parents[n]].children_d.concat(l);for(l=[],n=0,o=r.children.length;o>n;n++)l[n>=e?n+1:n]=r.children[n];return l[e]=m.id,r.children=l,r.children_d.push(m.id),r.children_d=r.children_d.concat(m.children_d),r.id===a.jstree.root&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||this._node_changed(r.id),h||this.redraw(r.id===a.jstree.root),f&&f.call(this,m,r,e),this.trigger("copy_node",{node:m,original:c,parent:r.id,position:e,old_parent:q,old_position:s&&s._id&&q&&s._model.data[q]&&s._model.data[q].children?a.inArray(c.id,s._model.data[q].children):-1,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id,old_instance:s,new_instance:this}),m.id},cut:function(b){if(b||(b=this._data.core.selected.concat()),a.vakata.is_array(b)||(b=[b]),!b.length)return!1;var c=[],g,h,i;for(h=0,i=b.length;i>h;h++)g=this.get_node(b[h]),g&&g.id&&g.id!==a.jstree.root&&c.push(g);return c.length?(d=c,f=this,e="move_node",void this.trigger("cut",{node:b})):!1},copy:function(b){if(b||(b=this._data.core.selected.concat()),a.vakata.is_array(b)||(b=[b]),!b.length)return!1;var c=[],g,h,i;for(h=0,i=b.length;i>h;h++)g=this.get_node(b[h]),g&&g.id&&g.id!==a.jstree.root&&c.push(g);return c.length?(d=c,f=this,e="copy_node",void this.trigger("copy",{node:b})):!1},get_buffer:function(){return{mode:e,node:d,inst:f}},can_paste:function(){return e!==!1&&d!==!1},paste:function(a,b){return a=this.get_node(a),a&&e&&e.match(/^(copy_node|move_node)$/)&&d?(this[e](d,a,b,!1,!1,!1,f)&&this.trigger("paste",{parent:a.id,node:d,mode:e}),d=!1,e=!1,void(f=!1)):!1},clear_buffer:function(){d=!1,e=!1,f=!1,this.trigger("clear_buffer")},edit:function(b,c,d){var e,f,g,h,j,k,l,m,n,o=!1;return(b=this.get_node(b))?this.check("edit",b,this.get_parent(b))?(n=b,c="string"==typeof c?c:b.text,this.set_text(b,""),b=this._open_to(b),n.text=c,e=this._data.core.rtl,f=this.element.width(),this._data.core.focused=n.id,g=b.children(".jstree-anchor").trigger("focus"),h=a("<span></span>"),j=c,k=a("<div></div>",{css:{position:"absolute",top:"-200px",left:e?"0px":"-1000px",visibility:"hidden"}}).appendTo(i.body),l=a("<input />",{value:j,"class":"jstree-rename-input",css:{padding:"0",border:"1px solid silver","box-sizing":"border-box",display:"inline-block",height:this._data.core.li_height+"px",lineHeight:this._data.core.li_height+"px",width:"150px"},blur:function(c){c.stopImmediatePropagation(),c.preventDefault();var e=h.children(".jstree-rename-input"),f=e.val(),i=this.settings.core.force_text,m;""===f&&(f=j),k.remove(),h.replaceWith(g),h.remove(),j=i?j:a("<div></div>").append(a.parseHTML(j)).html(),b=this.get_node(b),this.set_text(b,j),m=!!this.rename_node(b,i?a("<div></div>").text(f).text():a("<div></div>").append(a.parseHTML(f)).html()),m||this.set_text(b,j),this._data.core.focused=n.id,setTimeout(function(){var a=this.get_node(n.id,!0);a.length&&(this._data.core.focused=n.id,a.children(".jstree-anchor").trigger("focus"))}.bind(this),0),d&&d.call(this,n,m,o,f),l=null}.bind(this),keydown:function(a){var b=a.which;27===b&&(o=!0,this.value=j),(27===b||13===b||37===b||38===b||39===b||40===b||32===b)&&a.stopImmediatePropagation(),(27===b||13===b)&&(a.preventDefault(),this.blur())},click:function(a){a.stopImmediatePropagation()},mousedown:function(a){a.stopImmediatePropagation()},keyup:function(a){l.width(Math.min(k.text("pW"+this.value).width(),f))},keypress:function(a){return 13===a.which?!1:void 0}}),m={fontFamily:g.css("fontFamily")||"",fontSize:g.css("fontSize")||"",fontWeight:g.css("fontWeight")||"",fontStyle:g.css("fontStyle")||"",fontStretch:g.css("fontStretch")||"",fontVariant:g.css("fontVariant")||"",letterSpacing:g.css("letterSpacing")||"",wordSpacing:g.css("wordSpacing")||""},h.attr("class",g.attr("class")).append(g.contents().clone()).append(l),g.replaceWith(h),k.css(m),l.css(m).width(Math.min(k.text("pW"+l[0].value).width(),f))[0].select(),void a(i).one("mousedown.jstree touchstart.jstree dnd_start.vakata",function(b){l&&b.target!==l&&a(l).trigger("blur")})):(this.settings.core.error.call(this,this._data.core.last_error),!1):!1},set_theme:function(b,c){if(!b)return!1;if(c===!0){var d=this.settings.core.themes.dir;d||(d=a.jstree.path+"/themes"),c=d+"/"+b+"/style.css"}c&&-1===a.inArray(c,g)&&(a("head").append('<link rel="stylesheet" href="'+c+'" type="text/css" />'),g.push(c)),this._data.core.themes.name&&this.element.removeClass("jstree-"+this._data.core.themes.name),this._data.core.themes.name=b,this.element.addClass("jstree-"+b),this.element[this.settings.core.themes.responsive?"addClass":"removeClass"]("jstree-"+b+"-responsive"),this.trigger("set_theme",{theme:b})},get_theme:function(){return this._data.core.themes.name},set_theme_variant:function(a){this._data.core.themes.variant&&this.element.removeClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant),this._data.core.themes.variant=a,a&&this.element.addClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant)},get_theme_variant:function(){return this._data.core.themes.variant},show_stripes:function(){this._data.core.themes.stripes=!0,this.get_container_ul().addClass("jstree-striped"),this.trigger("show_stripes")},hide_stripes:function(){this._data.core.themes.stripes=!1,this.get_container_ul().removeClass("jstree-striped"),this.trigger("hide_stripes")},toggle_stripes:function(){this._data.core.themes.stripes?this.hide_stripes():this.show_stripes()},show_dots:function(){this._data.core.themes.dots=!0,this.get_container_ul().removeClass("jstree-no-dots"),this.trigger("show_dots")},hide_dots:function(){this._data.core.themes.dots=!1,this.get_container_ul().addClass("jstree-no-dots"),this.trigger("hide_dots")},toggle_dots:function(){this._data.core.themes.dots?this.hide_dots():this.show_dots()},show_icons:function(){this._data.core.themes.icons=!0,this.get_container_ul().removeClass("jstree-no-icons"),this.trigger("show_icons")},hide_icons:function(){this._data.core.themes.icons=!1,this.get_container_ul().addClass("jstree-no-icons"),this.trigger("hide_icons")},toggle_icons:function(){this._data.core.themes.icons?this.hide_icons():this.show_icons()},show_ellipsis:function(){this._data.core.themes.ellipsis=!0,this.get_container_ul().addClass("jstree-ellipsis"),this.trigger("show_ellipsis")},hide_ellipsis:function(){this._data.core.themes.ellipsis=!1,this.get_container_ul().removeClass("jstree-ellipsis"),this.trigger("hide_ellipsis")},toggle_ellipsis:function(){this._data.core.themes.ellipsis?this.hide_ellipsis():this.show_ellipsis()},set_icon:function(c,d){var e,f,g,h;if(a.vakata.is_array(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.set_icon(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(h=c.icon,c.icon=d===!0||null===d||d===b||""===d?!0:d,g=this.get_node(c,!0).children(".jstree-anchor").children(".jstree-themeicon"),d===!1?(g.removeClass("jstree-themeicon-custom "+h).css("background","").removeAttr("rel"),this.hide_icon(c)):d===!0||null===d||d===b||""===d?(g.removeClass("jstree-themeicon-custom "+h).css("background","").removeAttr("rel"),h===!1&&this.show_icon(c)):-1===d.indexOf("/")&&-1===d.indexOf(".")?(g.removeClass(h).css("background",""),g.addClass(d+" jstree-themeicon-custom").attr("rel",d),h===!1&&this.show_icon(c)):(g.removeClass(h).css("background",""),g.addClass("jstree-themeicon-custom").css("background","url('"+d+"') center center no-repeat").attr("rel",d),h===!1&&this.show_icon(c)),!0):!1},get_icon:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.icon:!1},hide_icon:function(b){var c,d;if(a.vakata.is_array(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.hide_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(b.icon=!1,this.get_node(b,!0).children(".jstree-anchor").children(".jstree-themeicon").addClass("jstree-themeicon-hidden"),!0):!1},show_icon:function(b){var c,d,e;if(a.vakata.is_array(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.show_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(e=this.get_node(b,!0),b.icon=e.length?e.children(".jstree-anchor").children(".jstree-themeicon").attr("rel"):!0,b.icon||(b.icon=!0),e.children(".jstree-anchor").children(".jstree-themeicon").removeClass("jstree-themeicon-hidden"),!0):!1}},a.vakata={},a.vakata.attributes=function(b,c){b=a(b)[0];var d=c?{}:[];return b&&b.attributes&&a.each(b.attributes,function(b,e){-1===a.inArray(e.name.toLowerCase(),["style","contenteditable","hasfocus","tabindex"])&&null!==e.value&&""!==a.vakata.trim(e.value)&&(c?d[e.name]=e.value:d.push(e.name))}),d},a.vakata.array_unique=function(a){var c=[],d,e,f,g={};for(d=0,f=a.length;f>d;d++)g[a[d]]===b&&(c.push(a[d]),g[a[d]]=!0);return c},a.vakata.array_remove=function(a,b){return a.splice(b,1),a},a.vakata.array_remove_item=function(b,c){var d=a.inArray(c,b);return-1!==d?a.vakata.array_remove(b,d):b},a.vakata.array_filter=function(a,b,c,d,e){if(a.filter)return a.filter(b,c);d=[];for(e in a)~~e+""==e+""&&e>=0&&b.call(c,a[e],+e,a)&&d.push(a[e]);return d},a.vakata.trim=function(a){return String.prototype.trim?String.prototype.trim.call(a.toString()):a.toString().replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},a.vakata.is_function=function(a){return"function"==typeof a&&"number"!=typeof a.nodeType},a.vakata.is_array=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},Function.prototype.bind||(Function.prototype.bind=function(){var a=this,b=arguments[0],c=Array.prototype.slice.call(arguments,1);if("function"!=typeof a)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");return function(){var d=c.concat(Array.prototype.slice.call(arguments));return a.apply(b,d)}}),a.jstree.plugins.changed=function(a,b){var c=[];this.trigger=function(a,d){var e,f;if(d||(d={}),"changed"===a.replace(".jstree","")){d.changed={selected:[],deselected:[]};var g={};for(e=0,f=c.length;f>e;e++)g[c[e]]=1;for(e=0,f=d.selected.length;f>e;e++)g[d.selected[e]]?g[d.selected[e]]=2:d.changed.selected.push(d.selected[e]);for(e=0,f=c.length;f>e;e++)1===g[c[e]]&&d.changed.deselected.push(c[e]);c=d.selected.slice()}b.trigger.call(this,a,d)},this.refresh=function(a,d){return c=[],b.refresh.apply(this,arguments)}};var l=i.createElement("I");l.className="jstree-icon jstree-checkbox",l.setAttribute("role","presentation"),a.jstree.defaults.checkbox={visible:!0,three_state:!0,whole_node:!0,keep_selected_style:!0,cascade:"",tie_selection:!0,cascade_to_disabled:!0,cascade_to_hidden:!0},a.jstree.plugins.checkbox=function(c,d){this.bind=function(){d.bind.call(this),this._data.checkbox.uto=!1,this._data.checkbox.selected=[],this.settings.checkbox.three_state&&(this.settings.checkbox.cascade="up+down+undetermined"),this.element.on("init.jstree",function(){this._data.checkbox.visible=this.settings.checkbox.visible,this.settings.checkbox.keep_selected_style||this.element.addClass("jstree-checkbox-no-clicked"),this.settings.checkbox.tie_selection&&this.element.addClass("jstree-checkbox-selection")}.bind(this)).on("loading.jstree",function(){this[this._data.checkbox.visible?"show_checkboxes":"hide_checkboxes"]()}.bind(this)),-1!==this.settings.checkbox.cascade.indexOf("undetermined")&&this.element.on("changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree",function(){this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(this._undetermined.bind(this),50)}.bind(this)),this.settings.checkbox.tie_selection||this.element.on("model.jstree",function(a,b){var c=this._model.data,d=c[b.parent],e=b.nodes,f,g;for(f=0,g=e.length;g>f;f++)c[e[f]].state.checked=c[e[f]].state.checked||c[e[f]].original&&c[e[f]].original.state&&c[e[f]].original.state.checked,c[e[f]].state.checked&&this._data.checkbox.selected.push(e[f])}.bind(this)),(-1!==this.settings.checkbox.cascade.indexOf("up")||-1!==this.settings.checkbox.cascade.indexOf("down"))&&this.element.on("model.jstree",function(b,c){var d=this._model.data,e=d[c.parent],f=c.nodes,g=[],h,i,j,k,l,m,n=this.settings.checkbox.cascade,o=this.settings.checkbox.tie_selection;if(-1!==n.indexOf("down"))if(e.state[o?"selected":"checked"]){for(i=0,j=f.length;j>i;i++)d[f[i]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(f)}else for(i=0,j=f.length;j>i;i++)if(d[f[i]].state[o?"selected":"checked"]){for(k=0,l=d[f[i]].children_d.length;l>k;k++)d[d[f[i]].children_d[k]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(d[f[i]].children_d)}if(-1!==n.indexOf("up")){for(i=0,j=e.children_d.length;j>i;i++)d[e.children_d[i]].children.length||g.push(d[e.children_d[i]].parent);for(g=a.vakata.array_unique(g),k=0,l=g.length;l>k;k++){e=d[g[k]];while(e&&e.id!==a.jstree.root){for(h=0,i=0,j=e.children.length;j>i;i++)h+=d[e.children[i]].state[o?"selected":"checked"];if(h!==j)break;e.state[o?"selected":"checked"]=!0,this._data[o?"core":"checkbox"].selected.push(e.id),m=this.get_node(e,!0),m&&m.length&&m.attr("aria-selected",!0).children(".jstree-anchor").addClass(o?"jstree-clicked":"jstree-checked"),e=this.get_node(e.parent)}}}this._data[o?"core":"checkbox"].selected=a.vakata.array_unique(this._data[o?"core":"checkbox"].selected)}.bind(this)).on(this.settings.checkbox.tie_selection?"select_node.jstree":"check_node.jstree",function(b,c){var d=this,e=c.node,f=this._model.data,g=this.get_node(e.parent),h,i,j,k,l=this.settings.checkbox.cascade,m=this.settings.checkbox.tie_selection,n={},o=this._data[m?"core":"checkbox"].selected;for(h=0,i=o.length;i>h;h++)n[o[h]]=!0;if(-1!==l.indexOf("down")){var p=this._cascade_new_checked_state(e.id,!0),q=e.children_d.concat(e.id);for(h=0,i=q.length;i>h;h++)p.indexOf(q[h])>-1?n[q[h]]=!0:delete n[q[h]]}if(-1!==l.indexOf("up"))while(g&&g.id!==a.jstree.root){for(j=0,h=0,i=g.children.length;i>h;h++)j+=f[g.children[h]].state[m?"selected":"checked"];if(j!==i)break;g.state[m?"selected":"checked"]=!0,n[g.id]=!0,k=this.get_node(g,!0),k&&k.length&&k.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),g=this.get_node(g.parent)}o=[];for(h in n)n.hasOwnProperty(h)&&o.push(h);this._data[m?"core":"checkbox"].selected=o}.bind(this)).on(this.settings.checkbox.tie_selection?"deselect_all.jstree":"uncheck_all.jstree",function(b,c){var d=this.get_node(a.jstree.root),e=this._model.data,f,g,h;for(f=0,g=d.children_d.length;g>f;f++)h=e[d.children_d[f]],h&&h.original&&h.original.state&&h.original.state.undetermined&&(h.original.state.undetermined=!1)}.bind(this)).on(this.settings.checkbox.tie_selection?"deselect_node.jstree":"uncheck_node.jstree",function(b,c){var d=this,e=c.node,f=this.get_node(e,!0),g,h,i,j=this.settings.checkbox.cascade,k=this.settings.checkbox.tie_selection,l=this._data[k?"core":"checkbox"].selected,m={},n=[],o=e.children_d.concat(e.id);if(-1!==j.indexOf("down")){var p=this._cascade_new_checked_state(e.id,!1);l=a.vakata.array_filter(l,function(a){return-1===o.indexOf(a)||p.indexOf(a)>-1})}if(-1!==j.indexOf("up")&&-1===l.indexOf(e.id)){for(g=0,h=e.parents.length;h>g;g++)i=this._model.data[e.parents[g]],i.state[k?"selected":"checked"]=!1,i&&i.original&&i.original.state&&i.original.state.undetermined&&(i.original.state.undetermined=!1),i=this.get_node(e.parents[g],!0),i&&i.length&&i.attr("aria-selected",!1).children(".jstree-anchor").removeClass(k?"jstree-clicked":"jstree-checked");l=a.vakata.array_filter(l,function(a){return-1===e.parents.indexOf(a)})}this._data[k?"core":"checkbox"].selected=l}.bind(this)),-1!==this.settings.checkbox.cascade.indexOf("up")&&this.element.on("delete_node.jstree",function(b,c){var d=this.get_node(c.parent),e=this._model.data,f,g,h,i,j=this.settings.checkbox.tie_selection;while(d&&d.id!==a.jstree.root&&!d.state[j?"selected":"checked"]){for(h=0,f=0,g=d.children.length;g>f;f++)h+=e[d.children[f]].state[j?"selected":"checked"];if(!(g>0&&h===g))break;d.state[j?"selected":"checked"]=!0,this._data[j?"core":"checkbox"].selected.push(d.id),i=this.get_node(d,!0),i&&i.length&&i.attr("aria-selected",!0).children(".jstree-anchor").addClass(j?"jstree-clicked":"jstree-checked"),d=this.get_node(d.parent)}}.bind(this)).on("move_node.jstree",function(b,c){var d=c.is_multi,e=c.old_parent,f=this.get_node(c.parent),g=this._model.data,h,i,j,k,l,m=this.settings.checkbox.tie_selection;if(!d){h=this.get_node(e);while(h&&h.id!==a.jstree.root&&!h.state[m?"selected":"checked"]){for(i=0,j=0,k=h.children.length;k>j;j++)i+=g[h.children[j]].state[m?"selected":"checked"];if(!(k>0&&i===k))break;h.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),h=this.get_node(h.parent)}}h=f;while(h&&h.id!==a.jstree.root){for(i=0,j=0,k=h.children.length;k>j;j++)i+=g[h.children[j]].state[m?"selected":"checked"];if(i===k)h.state[m?"selected":"checked"]||(h.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"));else{if(!h.state[m?"selected":"checked"])break;h.state[m?"selected":"checked"]=!1,this._data[m?"core":"checkbox"].selected=a.vakata.array_remove_item(this._data[m?"core":"checkbox"].selected,h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!1).children(".jstree-anchor").removeClass(m?"jstree-clicked":"jstree-checked")}h=this.get_node(h.parent)}}.bind(this))},this.get_undetermined=function(c){if(-1===this.settings.checkbox.cascade.indexOf("undetermined"))return[];var d,e,f,g,h={},i=this._model.data,j=this.settings.checkbox.tie_selection,k=this._data[j?"core":"checkbox"].selected,l=[],m=this,n=[];for(d=0,e=k.length;e>d;d++)if(i[k[d]]&&i[k[d]].parents)for(f=0,g=i[k[d]].parents.length;g>f;f++){if(h[i[k[d]].parents[f]]!==b)break;i[k[d]].parents[f]!==a.jstree.root&&(h[i[k[d]].parents[f]]=!0,l.push(i[k[d]].parents[f]))}for(this.element.find(".jstree-closed").not(":has(.jstree-children)").each(function(){var c=m.get_node(this),j;if(c)if(c.state.loaded){for(d=0,e=c.children_d.length;e>d;d++)if(j=i[c.children_d[d]],!j.state.loaded&&j.original&&j.original.state&&j.original.state.undetermined&&j.original.state.undetermined===!0)for(h[j.id]===b&&j.id!==a.jstree.root&&(h[j.id]=!0,l.push(j.id)),f=0,g=j.parents.length;g>f;f++)h[j.parents[f]]===b&&j.parents[f]!==a.jstree.root&&(h[j.parents[f]]=!0,l.push(j.parents[f]))}else if(c.original&&c.original.state&&c.original.state.undetermined&&c.original.state.undetermined===!0)for(h[c.id]===b&&c.id!==a.jstree.root&&(h[c.id]=!0,l.push(c.id)),f=0,g=c.parents.length;g>f;f++)h[c.parents[f]]===b&&c.parents[f]!==a.jstree.root&&(h[c.parents[f]]=!0,l.push(c.parents[f]))}),d=0,e=l.length;e>d;d++)i[l[d]].state[j?"selected":"checked"]||n.push(c?i[l[d]]:l[d]);return n},this._undetermined=function(){if(null!==this.element){var a=this.get_undetermined(!1),b,c,d;for(this.element.find(".jstree-undetermined").removeClass("jstree-undetermined"),b=0,c=a.length;c>b;b++)d=this.get_node(a[b],!0),d&&d.length&&d.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-undetermined")}},this.redraw_node=function(a,b,c,e){if(a=d.redraw_node.apply(this,arguments)){var f,g,h=null,i=null;for(f=0,g=a.childNodes.length;g>f;f++)if(a.childNodes[f]&&a.childNodes[f].className&&-1!==a.childNodes[f].className.indexOf("jstree-anchor")){h=a.childNodes[f];break}h&&(!this.settings.checkbox.tie_selection&&this._model.data[a.id].state.checked&&(h.className+=" jstree-checked"),i=l.cloneNode(!1),this._model.data[a.id].state.checkbox_disabled&&(i.className+=" jstree-checkbox-disabled"),h.insertBefore(i,h.childNodes[0]))}return c||-1===this.settings.checkbox.cascade.indexOf("undetermined")||(this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(this._undetermined.bind(this),50)),a},this.show_checkboxes=function(){this._data.core.themes.checkboxes=!0,this.get_container_ul().removeClass("jstree-no-checkboxes")},this.hide_checkboxes=function(){this._data.core.themes.checkboxes=!1,this.get_container_ul().addClass("jstree-no-checkboxes")},this.toggle_checkboxes=function(){this._data.core.themes.checkboxes?this.hide_checkboxes():this.show_checkboxes()},this.is_undetermined=function(b){b=this.get_node(b);var c=this.settings.checkbox.cascade,d,e,f=this.settings.checkbox.tie_selection,g=this._data[f?"core":"checkbox"].selected,h=this._model.data;if(!b||b.state[f?"selected":"checked"]===!0||-1===c.indexOf("undetermined")||-1===c.indexOf("down")&&-1===c.indexOf("up"))return!1;if(!b.state.loaded&&b.original.state.undetermined===!0)return!0;for(d=0,e=b.children_d.length;e>d;d++)if(-1!==a.inArray(b.children_d[d],g)||!h[b.children_d[d]].state.loaded&&h[b.children_d[d]].original.state.undetermined)return!0;return!1},this.disable_checkbox=function(b){var c,d,e;if(a.vakata.is_array(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled||(b.state.checkbox_disabled=!0,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-checkbox-disabled"),this.trigger("disable_checkbox",{node:b})))):!1},this.enable_checkbox=function(b){var c,d,e;if(a.vakata.is_array(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled&&(b.state.checkbox_disabled=!1,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").removeClass("jstree-checkbox-disabled"),this.trigger("enable_checkbox",{node:b})))):!1},this.activate_node=function(b,c){return a(c.target).hasClass("jstree-checkbox-disabled")?!1:(this.settings.checkbox.tie_selection&&(this.settings.checkbox.whole_node||a(c.target).hasClass("jstree-checkbox"))&&(c.ctrlKey=!0),this.settings.checkbox.tie_selection||!this.settings.checkbox.whole_node&&!a(c.target).hasClass("jstree-checkbox")?d.activate_node.call(this,b,c):this.is_disabled(b)?!1:(this.is_checked(b)?this.uncheck_node(b,c):this.check_node(b,c),void this.trigger("activate_node",{node:this.get_node(b)})))},this._cascade_new_checked_state=function(a,b){var c=this,d=this.settings.checkbox.tie_selection,e=this._model.data[a],f=[],g=[],h,i,j;if(!this.settings.checkbox.cascade_to_disabled&&e.state.disabled||!this.settings.checkbox.cascade_to_hidden&&e.state.hidden)j=this.get_checked_descendants(a),e.state[d?"selected":"checked"]&&j.push(e.id),f=f.concat(j);else{if(e.children)for(h=0,i=e.children.length;i>h;h++){var k=e.children[h];j=c._cascade_new_checked_state(k,b),f=f.concat(j),j.indexOf(k)>-1&&g.push(k)}var l=c.get_node(e,!0),m=g.length>0&&g.length<e.children.length;e.original&&e.original.state&&e.original.state.undetermined&&(e.original.state.undetermined=m),m?(e.state[d?"selected":"checked"]=!1,l.attr("aria-selected",!1).children(".jstree-anchor").removeClass(d?"jstree-clicked":"jstree-checked")):b&&g.length===e.children.length?(e.state[d?"selected":"checked"]=b,f.push(e.id),l.attr("aria-selected",!0).children(".jstree-anchor").addClass(d?"jstree-clicked":"jstree-checked")):(e.state[d?"selected":"checked"]=!1,l.attr("aria-selected",!1).children(".jstree-anchor").removeClass(d?"jstree-clicked":"jstree-checked"))}return f},this.get_checked_descendants=function(b){var c=this,d=c.settings.checkbox.tie_selection,e=c._model.data[b];return a.vakata.array_filter(e.children_d,function(a){return c._model.data[a].state[d?"selected":"checked"]})},this.check_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.select_node(b,!1,!0,c);var d,e,f,g;if(a.vakata.is_array(b)){for(b=b.slice(),e=0,f=b.length;f>e;e++)this.check_node(b[e],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(d=this.get_node(b,!0),void(b.state.checked||(b.state.checked=!0,this._data.checkbox.selected.push(b.id),d&&d.length&&d.children(".jstree-anchor").addClass("jstree-checked"),this.trigger("check_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.uncheck_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.deselect_node(b,!1,c);var d,e,f;if(a.vakata.is_array(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.uncheck_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.checked&&(b.state.checked=!1,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,b.id),f.length&&f.children(".jstree-anchor").removeClass("jstree-checked"),this.trigger("uncheck_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.check_all=function(){if(this.settings.checkbox.tie_selection)return this.select_all();var b=this._data.checkbox.selected.concat([]),c,d;for(this._data.checkbox.selected=this._model.data[a.jstree.root].children_d.concat(),c=0,d=this._data.checkbox.selected.length;d>c;c++)this._model.data[this._data.checkbox.selected[c]]&&(this._model.data[this._data.checkbox.selected[c]].state.checked=!0);this.redraw(!0),this.trigger("check_all",{selected:this._data.checkbox.selected})},this.uncheck_all=function(){if(this.settings.checkbox.tie_selection)return this.deselect_all();var a=this._data.checkbox.selected.concat([]),b,c;for(b=0,c=this._data.checkbox.selected.length;c>b;b++)this._model.data[this._data.checkbox.selected[b]]&&(this._model.data[this._data.checkbox.selected[b]].state.checked=!1);this._data.checkbox.selected=[],this.element.find(".jstree-checked").removeClass("jstree-checked"),this.trigger("uncheck_all",{selected:this._data.checkbox.selected,node:a})},this.is_checked=function(b){return this.settings.checkbox.tie_selection?this.is_selected(b):(b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.checked:!1)},this.get_checked=function(b){return this.settings.checkbox.tie_selection?this.get_selected(b):b?a.map(this._data.checkbox.selected,function(a){return this.get_node(a)}.bind(this)):this._data.checkbox.selected.slice()},this.get_top_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_top_selected(b);var c=this.get_checked(!0),d={},e,f,g,h;for(e=0,f=c.length;f>e;e++)d[c[e].id]=c[e];for(e=0,f=c.length;f>e;e++)for(g=0,h=c[e].children_d.length;h>g;g++)d[c[e].children_d[g]]&&delete d[c[e].children_d[g]];c=[];for(e in d)d.hasOwnProperty(e)&&c.push(e);return b?a.map(c,function(a){return this.get_node(a)}.bind(this)):c},this.get_bottom_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_bottom_selected(b);var c=this.get_checked(!0),d=[],e,f;for(e=0,f=c.length;f>e;e++)c[e].children.length||d.push(c[e].id);return b?a.map(d,function(a){return this.get_node(a)}.bind(this)):d},this.load_node=function(b,c){var e,f,g,h,i,j;if(!a.vakata.is_array(b)&&!this.settings.checkbox.tie_selection&&(j=this.get_node(b),j&&j.state.loaded))for(e=0,f=j.children_d.length;f>e;e++)this._model.data[j.children_d[e]].state.checked&&(i=!0,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,j.children_d[e]));return d.load_node.apply(this,arguments)},this.get_state=function(){var a=d.get_state.apply(this,arguments);return this.settings.checkbox.tie_selection?a:(a.checkbox=this._data.checkbox.selected.slice(),a)},this.set_state=function(b,c){var e=d.set_state.apply(this,arguments);if(e&&b.checkbox){if(!this.settings.checkbox.tie_selection){this.uncheck_all();var f=this;a.each(b.checkbox,function(a,b){f.check_node(b)})}return delete b.checkbox,this.set_state(b,c),!1}return e},this.refresh=function(a,b){return this.settings.checkbox.tie_selection&&(this._data.checkbox.selected=[]),d.refresh.apply(this,arguments)}},a.jstree.defaults.conditionalselect=function(){return!0},a.jstree.plugins.conditionalselect=function(a,b){this.activate_node=function(a,c){return this.settings.conditionalselect.call(this,this.get_node(a),c)?b.activate_node.call(this,a,c):void 0}},a.jstree.defaults.contextmenu={select_node:!0,show_at_node:!0,items:function(b,c){return{create:{separator_before:!1,separator_after:!0,_disabled:!1,label:"Create",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.create_node(d,{},"last",function(a){try{c.edit(a)}catch(b){setTimeout(function(){c.edit(a)},0)}})}},rename:{separator_before:!1,separator_after:!1,_disabled:!1,label:"Rename",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.edit(d)}},remove:{separator_before:!1,icon:!1,separator_after:!1,_disabled:!1,label:"Delete",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.delete_node(c.get_selected()):c.delete_node(d)}},ccp:{separator_before:!0,icon:!1,separator_after:!1,label:"Edit",action:!1,submenu:{cut:{separator_before:!1,separator_after:!1,label:"Cut",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.cut(c.get_top_selected()):c.cut(d)}},copy:{separator_before:!1,icon:!1,separator_after:!1,label:"Copy",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.copy(c.get_top_selected()):c.copy(d)}},paste:{separator_before:!1,icon:!1,_disabled:function(b){return!a.jstree.reference(b.reference).can_paste()},separator_after:!1,label:"Paste",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.paste(d)}}}}}}},a.jstree.plugins.contextmenu=function(c,d){this.bind=function(){d.bind.call(this);var b=0,c=null,e,f;this.element.on("init.jstree loading.jstree ready.jstree",function(){this.get_container_ul().addClass("jstree-contextmenu")}.bind(this)).on("contextmenu.jstree",".jstree-anchor",function(a,d){"input"!==a.target.tagName.toLowerCase()&&(a.preventDefault(),b=a.ctrlKey?+new Date:0,(d||c)&&(b=+new Date+1e4),c&&clearTimeout(c),this.is_loading(a.currentTarget)||this.show_contextmenu(a.currentTarget,a.pageX,a.pageY,a))}.bind(this)).on("click.jstree",".jstree-anchor",function(c){this._data.contextmenu.visible&&(!b||+new Date-b>250)&&a.vakata.context.hide(),b=0}.bind(this)).on("touchstart.jstree",".jstree-anchor",function(b){b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(e=b.originalEvent.changedTouches[0].clientX,f=b.originalEvent.changedTouches[0].clientY,c=setTimeout(function(){a(b.currentTarget).trigger("contextmenu",!0)},750))}).on("touchmove.vakata.jstree",function(b){c&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(Math.abs(e-b.originalEvent.changedTouches[0].clientX)>10||Math.abs(f-b.originalEvent.changedTouches[0].clientY)>10)&&(clearTimeout(c),a.vakata.context.hide())}).on("touchend.vakata.jstree",function(a){c&&clearTimeout(c)}),a(i).on("context_hide.vakata.jstree",function(b,c){this._data.contextmenu.visible=!1,a(c.reference).removeClass("jstree-context")}.bind(this))},this.teardown=function(){this._data.contextmenu.visible&&a.vakata.context.hide(),a(i).off("context_hide.vakata.jstree"),d.teardown.call(this)},this.show_contextmenu=function(c,d,e,f){if(c=this.get_node(c),!c||c.id===a.jstree.root)return!1;var g=this.settings.contextmenu,h=this.get_node(c,!0),i=h.children(".jstree-anchor"),j=!1,k=!1;(g.show_at_node||d===b||e===b)&&(j=i.offset(),d=j.left,e=j.top+this._data.core.li_height),this.settings.contextmenu.select_node&&!this.is_selected(c)&&this.activate_node(c,f),k=g.items,a.vakata.is_function(k)&&(k=k.call(this,c,function(a){this._show_contextmenu(c,d,e,a)}.bind(this))),a.isPlainObject(k)&&this._show_contextmenu(c,d,e,k)},this._show_contextmenu=function(b,c,d,e){ >+var f=this.get_node(b,!0),g=f.children(".jstree-anchor");a(i).one("context_show.vakata.jstree",function(b,c){var d="jstree-contextmenu jstree-"+this.get_theme()+"-contextmenu";a(c.element).addClass(d),g.addClass("jstree-context")}.bind(this)),this._data.contextmenu.visible=!0,a.vakata.context.show(g,{x:c,y:d},e),this.trigger("show_contextmenu",{node:b,x:c,y:d})}},function(a){var b=!1,c={element:!1,reference:!1,position_x:0,position_y:0,items:[],html:"",is_visible:!1};a.vakata.context={settings:{hide_onmouseleave:0,icons:!0},_trigger:function(b){a(i).triggerHandler("context_"+b+".vakata",{reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}})},_execute:function(b){return b=c.items[b],b&&(!b._disabled||a.vakata.is_function(b._disabled)&&!b._disabled({item:b,reference:c.reference,element:c.element}))&&b.action?b.action.call(null,{item:b,reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}}):!1},_parse:function(b,d){if(!b)return!1;d||(c.html="",c.items=[]);var e="",f=!1,g;return d&&(e+="<ul>"),a.each(b,function(b,d){return d?(c.items.push(d),!f&&d.separator_before&&(e+="<li class='vakata-context-separator'><a href='#' "+(a.vakata.context.settings.icons?"":'class="vakata-context-no-icons"')+"> </a></li>"),f=!1,e+="<li class='"+(d._class||"")+(d._disabled===!0||a.vakata.is_function(d._disabled)&&d._disabled({item:d,reference:c.reference,element:c.element})?" vakata-contextmenu-disabled ":"")+"' "+(d.shortcut?" data-shortcut='"+d.shortcut+"' ":"")+">",e+="<a href='#' rel='"+(c.items.length-1)+"' "+(d.title?"title='"+d.title+"'":"")+">",a.vakata.context.settings.icons&&(e+="<i ",d.icon&&(e+=-1!==d.icon.indexOf("/")||-1!==d.icon.indexOf(".")?" style='background:url(\""+d.icon+"\") center center no-repeat' ":" class='"+d.icon+"' "),e+="></i><span class='vakata-contextmenu-sep'> </span>"),e+=(a.vakata.is_function(d.label)?d.label({item:b,reference:c.reference,element:c.element}):d.label)+(d.shortcut?' <span class="vakata-contextmenu-shortcut vakata-contextmenu-shortcut-'+d.shortcut+'">'+(d.shortcut_label||"")+"</span>":"")+"</a>",d.submenu&&(g=a.vakata.context._parse(d.submenu,!0),g&&(e+=g)),e+="</li>",void(d.separator_after&&(e+="<li class='vakata-context-separator'><a href='#' "+(a.vakata.context.settings.icons?"":'class="vakata-context-no-icons"')+"> </a></li>",f=!0))):!0}),e=e.replace(/<li class\='vakata-context-separator'\><\/li\>$/,""),d&&(e+="</ul>"),d||(c.html=e,a.vakata.context._trigger("parse")),e.length>10?e:!1},_show_submenu:function(c){if(c=a(c),c.length&&c.children("ul").length){var d=c.children("ul"),e=c.offset().left,f=e+c.outerWidth(),g=c.offset().top,h=d.width(),i=d.height(),j=a(window).width()+a(window).scrollLeft(),k=a(window).height()+a(window).scrollTop();b?c[f-(h+10+c.outerWidth())<0?"addClass":"removeClass"]("vakata-context-left"):c[f+h>j&&e>j-f?"addClass":"removeClass"]("vakata-context-right"),g+i+10>k&&d.css("bottom","-1px"),c.hasClass("vakata-context-right")?h>e&&d.css("margin-right",e-h):h>j-f&&d.css("margin-left",j-f-h),d.show()}},show:function(d,e,f){var g,h,j,k,l,m,n,o,p=!0;switch(c.element&&c.element.length&&c.element.width(""),p){case!e&&!d:return!1;case!!e&&!!d:c.reference=d,c.position_x=e.x,c.position_y=e.y;break;case!e&&!!d:c.reference=d,g=d.offset(),c.position_x=g.left+d.outerHeight(),c.position_y=g.top;break;case!!e&&!d:c.position_x=e.x,c.position_y=e.y}d&&!f&&a(d).data("vakata_contextmenu")&&(f=a(d).data("vakata_contextmenu")),a.vakata.context._parse(f)&&c.element.html(c.html),c.items.length&&(c.element.appendTo(i.body),h=c.element,j=c.position_x,k=c.position_y,l=h.width(),m=h.height(),n=a(window).width()+a(window).scrollLeft(),o=a(window).height()+a(window).scrollTop(),b&&(j-=h.outerWidth()-a(d).outerWidth(),j<a(window).scrollLeft()+20&&(j=a(window).scrollLeft()+20)),j+l+20>n&&(j=n-(l+20)),k+m+20>o&&(k=o-(m+20)),c.element.css({left:j,top:k}).show().find("a").first().trigger("focus").parent().addClass("vakata-context-hover"),c.is_visible=!0,a.vakata.context._trigger("show"))},hide:function(){c.is_visible&&(c.element.hide().find("ul").hide().end().find(":focus").trigger("blur").end().detach(),c.is_visible=!1,a.vakata.context._trigger("hide"))}},a(function(){b="rtl"===a(i.body).css("direction");var d=!1;c.element=a("<ul class='vakata-context'></ul>"),c.element.on("mouseenter","li",function(b){b.stopImmediatePropagation(),a.contains(this,b.relatedTarget)||(d&&clearTimeout(d),c.element.find(".vakata-context-hover").removeClass("vakata-context-hover").end(),a(this).siblings().find("ul").hide().end().end().parentsUntil(".vakata-context","li").addBack().addClass("vakata-context-hover"),a.vakata.context._show_submenu(this))}).on("mouseleave","li",function(b){a.contains(this,b.relatedTarget)||a(this).find(".vakata-context-hover").addBack().removeClass("vakata-context-hover")}).on("mouseleave",function(b){a(this).find(".vakata-context-hover").removeClass("vakata-context-hover"),a.vakata.context.settings.hide_onmouseleave&&(d=setTimeout(function(b){return function(){a.vakata.context.hide()}}(this),a.vakata.context.settings.hide_onmouseleave))}).on("click","a",function(b){b.preventDefault(),a(this).trigger("blur").parent().hasClass("vakata-context-disabled")||a.vakata.context._execute(a(this).attr("rel"))===!1||a.vakata.context.hide()}).on("keydown","a",function(b){var d=null;switch(b.which){case 13:case 32:b.type="click",b.preventDefault(),a(b.currentTarget).trigger(b);break;case 37:c.is_visible&&(c.element.find(".vakata-context-hover").last().closest("li").first().find("ul").hide().find(".vakata-context-hover").removeClass("vakata-context-hover").end().end().children("a").trigger("focus"),b.stopImmediatePropagation(),b.preventDefault());break;case 38:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").prevAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").last()),d.addClass("vakata-context-hover").children("a").trigger("focus"),b.stopImmediatePropagation(),b.preventDefault());break;case 39:c.is_visible&&(c.element.find(".vakata-context-hover").last().children("ul").show().children("li:not(.vakata-context-separator)").removeClass("vakata-context-hover").first().addClass("vakata-context-hover").children("a").trigger("focus"),b.stopImmediatePropagation(),b.preventDefault());break;case 40:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").nextAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").first()),d.addClass("vakata-context-hover").children("a").trigger("focus"),b.stopImmediatePropagation(),b.preventDefault());break;case 27:a.vakata.context.hide(),b.preventDefault()}}).on("keydown",function(a){a.preventDefault();var b=c.element.find(".vakata-contextmenu-shortcut-"+a.which).parent();b.parent().not(".vakata-context-disabled")&&b.trigger("click")}),a(i).on("mousedown.vakata.jstree",function(b){c.is_visible&&c.element[0]!==b.target&&!a.contains(c.element[0],b.target)&&a.vakata.context.hide()}).on("context_show.vakata.jstree",function(a,d){c.element.find("li:has(ul)").children("a").addClass("vakata-context-parent"),b&&c.element.addClass("vakata-context-rtl").css("direction","rtl"),c.element.find("ul").hide().end()})})}(a),a.jstree.defaults.dnd={copy:!0,open_timeout:500,is_draggable:!0,check_while_dragging:!0,always_copy:!1,inside_pos:0,drag_selection:!0,touch:!0,large_drop_target:!1,large_drag_target:!1,use_html5:!1};var m,n;a.jstree.plugins.dnd=function(b,c){this.init=function(a,b){c.init.call(this,a,b),this.settings.dnd.use_html5=this.settings.dnd.use_html5&&"draggable"in i.createElement("span")},this.bind=function(){c.bind.call(this),this.element.on(this.settings.dnd.use_html5?"dragstart.jstree":"mousedown.jstree touchstart.jstree",this.settings.dnd.large_drag_target?".jstree-node":".jstree-anchor",function(b){if(this.settings.dnd.large_drag_target&&a(b.target).closest(".jstree-node")[0]!==b.currentTarget)return!0;if("touchstart"===b.type&&(!this.settings.dnd.touch||"selected"===this.settings.dnd.touch&&!a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").hasClass("jstree-clicked")))return!0;var c=this.get_node(b.target),d=this.is_selected(c)&&this.settings.dnd.drag_selection?this.get_top_selected().length:1,e=d>1?d+" "+this.get_string("nodes"):this.get_text(b.currentTarget);if(this.settings.core.force_text&&(e=a.vakata.html.escape(e)),c&&c.id&&c.id!==a.jstree.root&&(1===b.which||"touchstart"===b.type||"dragstart"===b.type)&&(this.settings.dnd.is_draggable===!0||a.vakata.is_function(this.settings.dnd.is_draggable)&&this.settings.dnd.is_draggable.call(this,d>1?this.get_top_selected(!0):[c],b))){if(m={jstree:!0,origin:this,obj:this.get_node(c,!0),nodes:d>1?this.get_top_selected():[c.id]},n=b.currentTarget,!this.settings.dnd.use_html5)return this.element.trigger("mousedown.jstree"),a.vakata.dnd.start(b,m,'<div id="jstree-dnd" class="jstree-'+this.get_theme()+" jstree-"+this.get_theme()+"-"+this.get_theme_variant()+" "+(this.settings.core.themes.responsive?" jstree-dnd-responsive":"")+'"><i class="jstree-icon jstree-er"></i>'+e+'<ins class="jstree-copy">+</ins></div>');a.vakata.dnd._trigger("start",b,{helper:a(),element:n,data:m})}}.bind(this)),this.settings.dnd.use_html5&&this.element.on("dragover.jstree",function(b){return b.preventDefault(),a.vakata.dnd._trigger("move",b,{helper:a(),element:n,data:m}),!1}).on("drop.jstree",function(b){return b.preventDefault(),a.vakata.dnd._trigger("stop",b,{helper:a(),element:n,data:m}),!1}.bind(this))},this.redraw_node=function(a,b,d,e){if(a=c.redraw_node.apply(this,arguments),a&&this.settings.dnd.use_html5)if(this.settings.dnd.large_drag_target)a.setAttribute("draggable",!0);else{var f,g,h=null;for(f=0,g=a.childNodes.length;g>f;f++)if(a.childNodes[f]&&a.childNodes[f].className&&-1!==a.childNodes[f].className.indexOf("jstree-anchor")){h=a.childNodes[f];break}h&&h.setAttribute("draggable",!0)}return a}},a(function(){var c=!1,d=!1,e=!1,f=!1,g=a('<div id="jstree-marker"> </div>').hide();a(i).on("dragover.vakata.jstree",function(b){n&&a.vakata.dnd._trigger("move",b,{helper:a(),element:n,data:m})}).on("drop.vakata.jstree",function(b){n&&(a.vakata.dnd._trigger("stop",b,{helper:a(),element:n,data:m}),n=null,m=null)}).on("dnd_start.vakata.jstree",function(a,b){c=!1,e=!1,b&&b.data&&b.data.jstree&&g.appendTo(i.body)}).on("dnd_move.vakata.jstree",function(h,i){var j=i.event.target!==e.target;if(f&&(!i.event||"dragover"!==i.event.type||j)&&clearTimeout(f),i&&i.data&&i.data.jstree&&(!i.event.target.id||"jstree-marker"!==i.event.target.id)){e=i.event;var k=a.jstree.reference(i.event.target),l=!1,m=!1,n=!1,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F;if(k&&k._data&&k._data.dnd)if(g.attr("class","jstree-"+k.get_theme()+(k.settings.core.themes.responsive?" jstree-dnd-responsive":"")),D=i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey)),i.helper.children().attr("class","jstree-"+k.get_theme()+" jstree-"+k.get_theme()+"-"+k.get_theme_variant()+" "+(k.settings.core.themes.responsive?" jstree-dnd-responsive":"")).find(".jstree-copy").first()[D?"show":"hide"](),i.event.target!==k.element[0]&&i.event.target!==k.get_container_ul()[0]||0!==k.get_container_ul().children().length){if(l=k.settings.dnd.large_drop_target?a(i.event.target).closest(".jstree-node").children(".jstree-anchor"):a(i.event.target).closest(".jstree-anchor"),l&&l.length&&l.parent().is(".jstree-closed, .jstree-open, .jstree-leaf")&&(m=l.offset(),n=(i.event.pageY!==b?i.event.pageY:i.event.originalEvent.pageY)-m.top,r=l.outerHeight(),u=r/3>n?["b","i","a"]:n>r-r/3?["a","i","b"]:n>r/2?["i","a","b"]:["i","b","a"],a.each(u,function(b,e){switch(e){case"b":p=m.left-6,q=m.top,s=k.get_parent(l),t=l.parent().index(),F="jstree-below";break;case"i":B=k.settings.dnd.inside_pos,C=k.get_node(l.parent()),p=m.left-2,q=m.top+r/2+1,s=C.id,t="first"===B?0:"last"===B?C.children.length:Math.min(B,C.children.length),F="jstree-inside";break;case"a":p=m.left-6,q=m.top+r,s=k.get_parent(l),t=l.parent().index()+1,F="jstree-above"}for(v=!0,w=0,x=i.data.nodes.length;x>w;w++)if(y=i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey))?"copy_node":"move_node",z=t,"move_node"===y&&"a"===e&&i.data.origin&&i.data.origin===k&&s===k.get_parent(i.data.nodes[w])&&(A=k.get_node(s),z>a.inArray(i.data.nodes[w],A.children)&&(z-=1)),v=v&&(k&&k.settings&&k.settings.dnd&&k.settings.dnd.check_while_dragging===!1||k.check(y,i.data.origin&&i.data.origin!==k?i.data.origin.get_node(i.data.nodes[w]):i.data.nodes[w],s,z,{dnd:!0,ref:k.get_node(l.parent()),pos:e,origin:i.data.origin,is_multi:i.data.origin&&i.data.origin!==k,is_foreign:!i.data.origin})),!v){k&&k.last_error&&(d=k.last_error());break}return"i"===e&&l.parent().is(".jstree-closed")&&k.settings.dnd.open_timeout&&(!i.event||"dragover"!==i.event.type||j)&&(f&&clearTimeout(f),f=setTimeout(function(a,b){return function(){a.open_node(b)}}(k,l),k.settings.dnd.open_timeout)),v?(E=k.get_node(s,!0),E.hasClass(".jstree-dnd-parent")||(a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),E.addClass("jstree-dnd-parent")),c={ins:k,par:s,pos:"i"!==e||"last"!==B||0!==t||k.is_loaded(C)?t:"last"},g.css({left:p+"px",top:q+"px"}).show(),g.removeClass("jstree-above jstree-inside jstree-below").addClass(F),i.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect=D?"copy":"move"),d={},u=!0,!1):void 0}),u===!0))return}else{for(v=!0,w=0,x=i.data.nodes.length;x>w;w++)if(v=v&&k.check(i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey))?"copy_node":"move_node",i.data.origin&&i.data.origin!==k?i.data.origin.get_node(i.data.nodes[w]):i.data.nodes[w],a.jstree.root,"last",{dnd:!0,ref:k.get_node(a.jstree.root),pos:"i",origin:i.data.origin,is_multi:i.data.origin&&i.data.origin!==k,is_foreign:!i.data.origin}),!v)break;if(v)return c={ins:k,par:a.jstree.root,pos:"last"},g.hide(),i.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),void(i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect=D?"copy":"move"))}a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),c=!1,i.helper.find(".jstree-icon").removeClass("jstree-ok").addClass("jstree-er"),i.event.originalEvent&&i.event.originalEvent.dataTransfer,g.hide()}}).on("dnd_scroll.vakata.jstree",function(a,b){b&&b.data&&b.data.jstree&&(g.hide(),c=!1,e=!1,b.helper.find(".jstree-icon").first().removeClass("jstree-ok").addClass("jstree-er"))}).on("dnd_stop.vakata.jstree",function(b,h){if(a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),f&&clearTimeout(f),h&&h.data&&h.data.jstree){g.hide().detach();var i,j,k=[];if(c){for(i=0,j=h.data.nodes.length;j>i;i++)k[i]=h.data.origin?h.data.origin.get_node(h.data.nodes[i]):h.data.nodes[i];c.ins[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(h.event.metaKey||h.event.ctrlKey))?"copy_node":"move_node"](k,c.par,c.pos,!1,!1,!1,h.data.origin)}else i=a(h.event.target).closest(".jstree"),i.length&&d&&d.error&&"check"===d.error&&(i=i.jstree(!0),i&&i.settings.core.error.call(this,d));e=!1,c=!1}}).on("keyup.jstree keydown.jstree",function(b,h){h=a.vakata.dnd._get(),h&&h.data&&h.data.jstree&&("keyup"===b.type&&27===b.which?(f&&clearTimeout(f),c=!1,d=!1,e=!1,f=!1,g.hide().detach(),a.vakata.dnd._clean()):(h.helper.find(".jstree-copy").first()[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(b.metaKey||b.ctrlKey))?"show":"hide"](),e&&(e.metaKey=b.metaKey,e.ctrlKey=b.ctrlKey,a.vakata.dnd._trigger("move",e))))})}),function(a){a.vakata.html={div:a("<div></div>"),escape:function(b){return a.vakata.html.div.text(b).html()},strip:function(b){return a.vakata.html.div.empty().append(a.parseHTML(b)).text()}};var c={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1};a.vakata.dnd={settings:{scroll_speed:10,scroll_proximity:20,helper_left:5,helper_top:10,threshold:5,threshold_touch:10},_trigger:function(c,d,e){e===b&&(e=a.vakata.dnd._get()),e.event=d,a(i).triggerHandler("dnd_"+c+".vakata",e)},_get:function(){return{data:c.data,element:c.element,helper:c.helper}},_clean:function(){c.helper&&c.helper.remove(),c.scroll_i&&(clearInterval(c.scroll_i),c.scroll_i=!1),c={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1},n=null,a(i).off("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(i).off("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop)},_scroll:function(b){if(!c.scroll_e||!c.scroll_l&&!c.scroll_t)return c.scroll_i&&(clearInterval(c.scroll_i),c.scroll_i=!1),!1;if(!c.scroll_i)return c.scroll_i=setInterval(a.vakata.dnd._scroll,100),!1;if(b===!0)return!1;var d=c.scroll_e.scrollTop(),e=c.scroll_e.scrollLeft();c.scroll_e.scrollTop(d+c.scroll_t*a.vakata.dnd.settings.scroll_speed),c.scroll_e.scrollLeft(e+c.scroll_l*a.vakata.dnd.settings.scroll_speed),(d!==c.scroll_e.scrollTop()||e!==c.scroll_e.scrollLeft())&&a.vakata.dnd._trigger("scroll",c.scroll_e)},start:function(b,d,e){"touchstart"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_drag&&a.vakata.dnd.stop({});try{b.currentTarget.unselectable="on",b.currentTarget.onselectstart=function(){return!1},b.currentTarget.style&&(b.currentTarget.style.touchAction="none",b.currentTarget.style.msTouchAction="none",b.currentTarget.style.MozUserSelect="none")}catch(f){}return c.init_x=b.pageX,c.init_y=b.pageY,c.data=d,c.is_down=!0,c.element=b.currentTarget,c.target=b.target,c.is_touch="touchstart"===b.type,e!==!1&&(c.helper=a("<div id='vakata-dnd'></div>").html(e).css({display:"block",margin:"0",padding:"0",position:"absolute",top:"-2000px",lineHeight:"16px",zIndex:"10000"})),a(i).on("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(i).on("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop),!1},drag:function(b){if("touchmove"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_down){if(!c.is_drag){if(!(Math.abs(b.pageX-c.init_x)>(c.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)||Math.abs(b.pageY-c.init_y)>(c.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)))return;c.helper&&(c.helper.appendTo(i.body),c.helper_w=c.helper.outerWidth()),c.is_drag=!0,a(c.target).one("click.vakata",!1),a.vakata.dnd._trigger("start",b)}var d=!1,e=!1,f=!1,g=!1,h=!1,j=!1,k=!1,l=!1,m=!1,n=!1;return c.scroll_t=0,c.scroll_l=0,c.scroll_e=!1,a(a(b.target).parentsUntil("body").addBack().get().reverse()).filter(function(){return/^auto|scroll$/.test(a(this).css("overflow"))&&(this.scrollHeight>this.offsetHeight||this.scrollWidth>this.offsetWidth)}).each(function(){var d=a(this),e=d.offset();return this.scrollHeight>this.offsetHeight&&(e.top+d.height()-b.pageY<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=1),b.pageY-e.top<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=-1)),this.scrollWidth>this.offsetWidth&&(e.left+d.width()-b.pageX<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=1),b.pageX-e.left<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=-1)),c.scroll_t||c.scroll_l?(c.scroll_e=a(this),!1):void 0}),c.scroll_e||(d=a(i),e=a(window),f=d.height(),g=e.height(),h=d.width(),j=e.width(),k=d.scrollTop(),l=d.scrollLeft(),f>g&&b.pageY-k<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=-1),f>g&&g-(b.pageY-k)<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=1),h>j&&b.pageX-l<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=-1),h>j&&j-(b.pageX-l)<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=1),(c.scroll_t||c.scroll_l)&&(c.scroll_e=d)),c.scroll_e&&a.vakata.dnd._scroll(!0),c.helper&&(m=parseInt(b.pageY+a.vakata.dnd.settings.helper_top,10),n=parseInt(b.pageX+a.vakata.dnd.settings.helper_left,10),f&&m+25>f&&(m=f-50),h&&n+c.helper_w>h&&(n=h-(c.helper_w+2)),c.helper.css({left:n+"px",top:m+"px"})),a.vakata.dnd._trigger("move",b),!1}},stop:function(b){if("touchend"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_drag)b.target!==c.target&&a(c.target).off("click.vakata"),a.vakata.dnd._trigger("stop",b);else if("touchend"===b.type&&b.target===c.target){var d=setTimeout(function(){a(b.target).trigger("click")},100);a(b.target).one("click",function(){d&&clearTimeout(d)})}return a.vakata.dnd._clean(),!1}}}(a),a.jstree.defaults.massload=null,a.jstree.plugins.massload=function(b,c){this.init=function(a,b){this._data.massload={},c.init.call(this,a,b)},this._load_nodes=function(b,d,e,f){var g=this.settings.massload,h=[],i=this._model.data,j,k,l;if(!e){for(j=0,k=b.length;k>j;j++)(!i[b[j]]||!i[b[j]].state.loaded&&!i[b[j]].state.failed||f)&&(h.push(b[j]),l=this.get_node(b[j],!0),l&&l.length&&l.addClass("jstree-loading").attr("aria-busy",!0));if(this._data.massload={},h.length){if(a.vakata.is_function(g))return g.call(this,h,function(a){var g,h;if(a)for(g in a)a.hasOwnProperty(g)&&(this._data.massload[g]=a[g]);for(g=0,h=b.length;h>g;g++)l=this.get_node(b[g],!0),l&&l.length&&l.removeClass("jstree-loading").attr("aria-busy",!1);c._load_nodes.call(this,b,d,e,f)}.bind(this));if("object"==typeof g&&g&&g.url)return g=a.extend(!0,{},g),a.vakata.is_function(g.url)&&(g.url=g.url.call(this,h)),a.vakata.is_function(g.data)&&(g.data=g.data.call(this,h)),a.ajax(g).done(function(a,g,h){var i,j;if(a)for(i in a)a.hasOwnProperty(i)&&(this._data.massload[i]=a[i]);for(i=0,j=b.length;j>i;i++)l=this.get_node(b[i],!0),l&&l.length&&l.removeClass("jstree-loading").attr("aria-busy",!1);c._load_nodes.call(this,b,d,e,f)}.bind(this)).fail(function(a){c._load_nodes.call(this,b,d,e,f)}.bind(this))}}return c._load_nodes.call(this,b,d,e,f)},this._load_node=function(b,d){var e=this._data.massload[b.id],f=null,g;return e?(f=this["string"==typeof e?"_append_html_data":"_append_json_data"](b,"string"==typeof e?a(a.parseHTML(e)).filter(function(){return 3!==this.nodeType}):e,function(a){d.call(this,a)}),g=this.get_node(b.id,!0),g&&g.length&&g.removeClass("jstree-loading").attr("aria-busy",!1),delete this._data.massload[b.id],f):c._load_node.call(this,b,d)}},a.jstree.defaults.search={ajax:!1,fuzzy:!1,case_sensitive:!1,show_only_matches:!1,show_only_matches_children:!1,close_opened_onclear:!0,search_leaves_only:!1,search_callback:!1},a.jstree.plugins.search=function(c,d){this.bind=function(){d.bind.call(this),this._data.search.str="",this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=!1,this._data.search.smc=!1,this._data.search.hdn=[],this.element.on("search.jstree",function(b,c){if(this._data.search.som&&c.res.length){var d=this._model.data,e,f,g=[],h,i;for(e=0,f=c.res.length;f>e;e++)if(d[c.res[e]]&&!d[c.res[e]].state.hidden&&(g.push(c.res[e]),g=g.concat(d[c.res[e]].parents),this._data.search.smc))for(h=0,i=d[c.res[e]].children_d.length;i>h;h++)d[d[c.res[e]].children_d[h]]&&!d[d[c.res[e]].children_d[h]].state.hidden&&g.push(d[c.res[e]].children_d[h]);g=a.vakata.array_remove_item(a.vakata.array_unique(g),a.jstree.root),this._data.search.hdn=this.hide_all(!0),this.show_node(g,!0),this.redraw(!0)}}.bind(this)).on("clear_search.jstree",function(a,b){this._data.search.som&&b.res.length&&(this.show_node(this._data.search.hdn,!0),this.redraw(!0))}.bind(this))},this.search=function(c,d,e,f,g,h){if(c===!1||""===a.vakata.trim(c.toString()))return this.clear_search();f=this.get_node(f),f=f&&f.id?f.id:null,c=c.toString();var i=this.settings.search,j=i.ajax?i.ajax:!1,k=this._model.data,l=null,m=[],n=[],o,p;if(this._data.search.res.length&&!g&&this.clear_search(),e===b&&(e=i.show_only_matches),h===b&&(h=i.show_only_matches_children),!d&&j!==!1)return a.vakata.is_function(j)?j.call(this,c,function(b){b&&b.d&&(b=b.d),this._load_nodes(a.vakata.is_array(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g,h)})}.bind(this),f):(j=a.extend({},j),j.data||(j.data={}),j.data.str=c,f&&(j.data.inside=f),this._data.search.lastRequest&&this._data.search.lastRequest.abort(),this._data.search.lastRequest=a.ajax(j).fail(function(){this._data.core.last_error={error:"ajax",plugin:"search",id:"search_01",reason:"Could not load search parents",data:JSON.stringify(j)},this.settings.core.error.call(this,this._data.core.last_error)}.bind(this)).done(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.vakata.is_array(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g,h)})}.bind(this)),this._data.search.lastRequest);if(g||(this._data.search.str=c,this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=e,this._data.search.smc=h),l=new a.vakata.search(c,!0,{caseSensitive:i.case_sensitive,fuzzy:i.fuzzy}),a.each(k[f?f:a.jstree.root].children_d,function(a,b){var d=k[b];d.text&&!d.state.hidden&&(!i.search_leaves_only||d.state.loaded&&0===d.children.length)&&(i.search_callback&&i.search_callback.call(this,c,d)||!i.search_callback&&l.search(d.text).isMatch)&&(m.push(b),n=n.concat(d.parents))}),m.length){for(n=a.vakata.array_unique(n),o=0,p=n.length;p>o;o++)n[o]!==a.jstree.root&&k[n[o]]&&this.open_node(n[o],null,0)===!0&&this._data.search.opn.push(n[o]);g?(this._data.search.dom=this._data.search.dom.add(a(this.element[0].querySelectorAll("#"+a.map(m,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #")))),this._data.search.res=a.vakata.array_unique(this._data.search.res.concat(m))):(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(m,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.res=m),this._data.search.dom.children(".jstree-anchor").addClass("jstree-search")}this.trigger("search",{nodes:this._data.search.dom,str:c,res:this._data.search.res,show_only_matches:e})},this.clear_search=function(){this.settings.search.close_opened_onclear&&this.close_node(this._data.search.opn,0),this.trigger("clear_search",{nodes:this._data.search.dom,str:this._data.search.str,res:this._data.search.res}),this._data.search.res.length&&(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(this._data.search.res,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.dom.children(".jstree-anchor").removeClass("jstree-search")),this._data.search.str="",this._data.search.res=[],this._data.search.opn=[],this._data.search.dom=a()},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments),b&&-1!==a.inArray(b.id,this._data.search.res)){var g,h,i=null;for(g=0,h=b.childNodes.length;h>g;g++)if(b.childNodes[g]&&b.childNodes[g].className&&-1!==b.childNodes[g].className.indexOf("jstree-anchor")){i=b.childNodes[g];break}i&&(i.className+=" jstree-search")}return b}},function(a){a.vakata.search=function(b,c,d){d=d||{},d=a.extend({},a.vakata.search.defaults,d),d.fuzzy!==!1&&(d.fuzzy=!0),b=d.caseSensitive?b:b.toLowerCase();var e=d.location,f=d.distance,g=d.threshold,h=b.length,i,j,k,l;return h>32&&(d.fuzzy=!1),d.fuzzy&&(i=1<<h-1,j=function(){var a={},c=0;for(c=0;h>c;c++)a[b.charAt(c)]=0;for(c=0;h>c;c++)a[b.charAt(c)]|=1<<h-c-1;return a}(),k=function(a,b){var c=a/h,d=Math.abs(e-b);return f?c+d/f:d?1:c}),l=function(a){if(a=d.caseSensitive?a:a.toLowerCase(),b===a||-1!==a.indexOf(b))return{isMatch:!0,score:0};if(!d.fuzzy)return{isMatch:!1,score:1};var c,f,l=a.length,m=g,n=a.indexOf(b,e),o,p,q=h+l,r,s,t,u,v,w=1,x=[];for(-1!==n&&(m=Math.min(k(0,n),m),n=a.lastIndexOf(b,e+h),-1!==n&&(m=Math.min(k(0,n),m))),n=-1,c=0;h>c;c++){o=0,p=q;while(p>o)k(c,e+p)<=m?o=p:q=p,p=Math.floor((q-o)/2+o);for(q=p,s=Math.max(1,e-p+1),t=Math.min(e+p,l)+h,u=new Array(t+2),u[t+1]=(1<<c)-1,f=t;f>=s;f--)if(v=j[a.charAt(f-1)],0===c?u[f]=(u[f+1]<<1|1)&v:u[f]=(u[f+1]<<1|1)&v|((r[f+1]|r[f])<<1|1)|r[f+1],u[f]&i&&(w=k(c,f-1),m>=w)){if(m=w,n=f-1,x.push(n),!(n>e))break;s=Math.max(1,2*e-n)}if(k(c+1,e)>m)break;r=u}return{isMatch:n>=0,score:w}},c===!0?{search:l}:l(c)},a.vakata.search.defaults={location:0,distance:100,threshold:.6,fuzzy:!1,caseSensitive:!1}}(a),a.jstree.defaults.sort=function(a,b){return this.get_text(a)>this.get_text(b)?1:-1},a.jstree.plugins.sort=function(a,b){this.bind=function(){b.bind.call(this),this.element.on("model.jstree",function(a,b){this.sort(b.parent,!0)}.bind(this)).on("rename_node.jstree create_node.jstree",function(a,b){this.sort(b.parent||b.node.parent,!1),this.redraw_node(b.parent||b.node.parent,!0)}.bind(this)).on("move_node.jstree copy_node.jstree",function(a,b){this.sort(b.parent,!1),this.redraw_node(b.parent,!0)}.bind(this))},this.sort=function(a,b){var c,d;if(a=this.get_node(a),a&&a.children&&a.children.length&&(a.children.sort(this.settings.sort.bind(this)),b))for(c=0,d=a.children_d.length;d>c;c++)this.sort(a.children_d[c],!1)}};var o=!1;a.jstree.defaults.state={key:"jstree",events:"changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree",ttl:!1,filter:!1,preserve_loaded:!1},a.jstree.plugins.state=function(b,c){this.bind=function(){c.bind.call(this);var a=function(){this.element.on(this.settings.state.events,function(){o&&clearTimeout(o),o=setTimeout(function(){this.save_state()}.bind(this),100)}.bind(this)),this.trigger("state_ready")}.bind(this);this.element.on("ready.jstree",function(b,c){this.element.one("restore_state.jstree",a),this.restore_state()||a()}.bind(this))},this.save_state=function(){var b=this.get_state();this.settings.state.preserve_loaded||delete b.core.loaded;var c={state:b,ttl:this.settings.state.ttl,sec:+new Date};a.vakata.storage.set(this.settings.state.key,JSON.stringify(c))},this.restore_state=function(){var b=a.vakata.storage.get(this.settings.state.key);if(b)try{b=JSON.parse(b)}catch(c){return!1}return b&&b.ttl&&b.sec&&+new Date-b.sec>b.ttl?!1:(b&&b.state&&(b=b.state),b&&a.vakata.is_function(this.settings.state.filter)&&(b=this.settings.state.filter.call(this,b)),b?(this.settings.state.preserve_loaded||delete b.core.loaded,this.element.one("set_state.jstree",function(c,d){d.instance.trigger("restore_state",{state:a.extend(!0,{},b)})}),this.set_state(b),!0):!1)},this.clear_state=function(){return a.vakata.storage.del(this.settings.state.key)}},function(a,b){a.vakata.storage={set:function(a,b){return window.localStorage.setItem(a,b)},get:function(a){return window.localStorage.getItem(a)},del:function(a){return window.localStorage.removeItem(a)}}}(a),a.jstree.defaults.types={ >+"default":{}},a.jstree.defaults.types[a.jstree.root]={},a.jstree.plugins.types=function(c,d){this.init=function(c,e){var f,g;if(e&&e.types&&e.types["default"])for(f in e.types)if("default"!==f&&f!==a.jstree.root&&e.types.hasOwnProperty(f))for(g in e.types["default"])e.types["default"].hasOwnProperty(g)&&e.types[f][g]===b&&(e.types[f][g]=e.types["default"][g]);d.init.call(this,c,e),this._model.data[a.jstree.root].type=a.jstree.root},this.refresh=function(b,c){d.refresh.call(this,b,c),this._model.data[a.jstree.root].type=a.jstree.root},this.bind=function(){this.element.on("model.jstree",function(c,d){var e=this._model.data,f=d.nodes,g=this.settings.types,h,i,j="default",k;for(h=0,i=f.length;i>h;h++){if(j="default",e[f[h]].original&&e[f[h]].original.type&&g[e[f[h]].original.type]&&(j=e[f[h]].original.type),e[f[h]].data&&e[f[h]].data.jstree&&e[f[h]].data.jstree.type&&g[e[f[h]].data.jstree.type]&&(j=e[f[h]].data.jstree.type),e[f[h]].type=j,e[f[h]].icon===!0&&g[j].icon!==b&&(e[f[h]].icon=g[j].icon),g[j].li_attr!==b&&"object"==typeof g[j].li_attr)for(k in g[j].li_attr)if(g[j].li_attr.hasOwnProperty(k)){if("id"===k)continue;e[f[h]].li_attr[k]===b?e[f[h]].li_attr[k]=g[j].li_attr[k]:"class"===k&&(e[f[h]].li_attr["class"]=g[j].li_attr["class"]+" "+e[f[h]].li_attr["class"])}if(g[j].a_attr!==b&&"object"==typeof g[j].a_attr)for(k in g[j].a_attr)if(g[j].a_attr.hasOwnProperty(k)){if("id"===k)continue;e[f[h]].a_attr[k]===b?e[f[h]].a_attr[k]=g[j].a_attr[k]:"href"===k&&"#"===e[f[h]].a_attr[k]?e[f[h]].a_attr.href=g[j].a_attr.href:"class"===k&&(e[f[h]].a_attr["class"]=g[j].a_attr["class"]+" "+e[f[h]].a_attr["class"])}}e[a.jstree.root].type=a.jstree.root}.bind(this)),d.bind.call(this)},this.get_json=function(b,c,e){var f,g,h=this._model.data,i=c?a.extend(!0,{},c,{no_id:!1}):{},j=d.get_json.call(this,b,i,e);if(j===!1)return!1;if(a.vakata.is_array(j))for(f=0,g=j.length;g>f;f++)j[f].type=j[f].id&&h[j[f].id]&&h[j[f].id].type?h[j[f].id].type:"default",c&&c.no_id&&(delete j[f].id,j[f].li_attr&&j[f].li_attr.id&&delete j[f].li_attr.id,j[f].a_attr&&j[f].a_attr.id&&delete j[f].a_attr.id);else j.type=j.id&&h[j.id]&&h[j.id].type?h[j.id].type:"default",c&&c.no_id&&(j=this._delete_ids(j));return j},this._delete_ids=function(b){if(a.vakata.is_array(b)){for(var c=0,d=b.length;d>c;c++)b[c]=this._delete_ids(b[c]);return b}return delete b.id,b.li_attr&&b.li_attr.id&&delete b.li_attr.id,b.a_attr&&b.a_attr.id&&delete b.a_attr.id,b.children&&a.vakata.is_array(b.children)&&(b.children=this._delete_ids(b.children)),b},this.check=function(c,e,f,g,h){if(d.check.call(this,c,e,f,g,h)===!1)return!1;e=e&&e.id?e:this.get_node(e),f=f&&f.id?f:this.get_node(f);var i=e&&e.id?h&&h.origin?h.origin:a.jstree.reference(e.id):null,j,k,l,m;switch(i=i&&i._model&&i._model.data?i._model.data:null,c){case"create_node":case"move_node":case"copy_node":if("move_node"!==c||-1===a.inArray(e.id,f.children)){if(j=this.get_rules(f),j.max_children!==b&&-1!==j.max_children&&j.max_children===f.children.length)return this._data.core.last_error={error:"check",plugin:"types",id:"types_01",reason:"max_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(j.valid_children!==b&&-1!==j.valid_children&&-1===a.inArray(e.type||"default",j.valid_children))return this._data.core.last_error={error:"check",plugin:"types",id:"types_02",reason:"valid_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(i&&e.children_d&&e.parents){for(k=0,l=0,m=e.children_d.length;m>l;l++)k=Math.max(k,i[e.children_d[l]].parents.length);k=k-e.parents.length+1}(0>=k||k===b)&&(k=1);do{if(j.max_depth!==b&&-1!==j.max_depth&&j.max_depth<k)return this._data.core.last_error={error:"check",plugin:"types",id:"types_03",reason:"max_depth prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;f=this.get_node(f.parent),j=this.get_rules(f),k++}while(f)}}return!0},this.get_rules=function(a){if(a=this.get_node(a),!a)return!1;var c=this.get_type(a,!0);return c.max_depth===b&&(c.max_depth=-1),c.max_children===b&&(c.max_children=-1),c.valid_children===b&&(c.valid_children=-1),c},this.get_type=function(b,c){return b=this.get_node(b),b?c?a.extend({type:b.type},this.settings.types[b.type]):b.type:!1},this.set_type=function(c,d){var e=this._model.data,f,g,h,i,j,k,l,m;if(a.vakata.is_array(c)){for(c=c.slice(),g=0,h=c.length;h>g;g++)this.set_type(c[g],d);return!0}if(f=this.settings.types,c=this.get_node(c),!f[d]||!c)return!1;if(l=this.get_node(c,!0),l&&l.length&&(m=l.children(".jstree-anchor")),i=c.type,j=this.get_icon(c),c.type=d,(j===!0||!f[i]||f[i].icon!==b&&j===f[i].icon)&&this.set_icon(c,f[d].icon!==b?f[d].icon:!0),f[i]&&f[i].li_attr!==b&&"object"==typeof f[i].li_attr)for(k in f[i].li_attr)if(f[i].li_attr.hasOwnProperty(k)){if("id"===k)continue;"class"===k?(e[c.id].li_attr["class"]=(e[c.id].li_attr["class"]||"").replace(f[i].li_attr[k],""),l&&l.removeClass(f[i].li_attr[k])):e[c.id].li_attr[k]===f[i].li_attr[k]&&(e[c.id].li_attr[k]=null,l&&l.removeAttr(k))}if(f[i]&&f[i].a_attr!==b&&"object"==typeof f[i].a_attr)for(k in f[i].a_attr)if(f[i].a_attr.hasOwnProperty(k)){if("id"===k)continue;"class"===k?(e[c.id].a_attr["class"]=(e[c.id].a_attr["class"]||"").replace(f[i].a_attr[k],""),m&&m.removeClass(f[i].a_attr[k])):e[c.id].a_attr[k]===f[i].a_attr[k]&&("href"===k?(e[c.id].a_attr[k]="#",m&&m.attr("href","#")):(delete e[c.id].a_attr[k],m&&m.removeAttr(k)))}if(f[d].li_attr!==b&&"object"==typeof f[d].li_attr)for(k in f[d].li_attr)if(f[d].li_attr.hasOwnProperty(k)){if("id"===k)continue;e[c.id].li_attr[k]===b?(e[c.id].li_attr[k]=f[d].li_attr[k],l&&("class"===k?l.addClass(f[d].li_attr[k]):l.attr(k,f[d].li_attr[k]))):"class"===k&&(e[c.id].li_attr["class"]=f[d].li_attr[k]+" "+e[c.id].li_attr["class"],l&&l.addClass(f[d].li_attr[k]))}if(f[d].a_attr!==b&&"object"==typeof f[d].a_attr)for(k in f[d].a_attr)if(f[d].a_attr.hasOwnProperty(k)){if("id"===k)continue;e[c.id].a_attr[k]===b?(e[c.id].a_attr[k]=f[d].a_attr[k],m&&("class"===k?m.addClass(f[d].a_attr[k]):m.attr(k,f[d].a_attr[k]))):"href"===k&&"#"===e[c.id].a_attr[k]?(e[c.id].a_attr.href=f[d].a_attr.href,m&&m.attr("href",f[d].a_attr.href)):"class"===k&&(e[c.id].a_attr["class"]=f[d].a_attr["class"]+" "+e[c.id].a_attr["class"],m&&m.addClass(f[d].a_attr[k]))}return!0}},a.jstree.defaults.unique={case_sensitive:!1,trim_whitespace:!1,duplicate:function(a,b){return a+" ("+b+")"}},a.jstree.plugins.unique=function(c,d){this.check=function(b,c,e,f,g){if(d.check.call(this,b,c,e,f,g)===!1)return!1;if(c=c&&c.id?c:this.get_node(c),e=e&&e.id?e:this.get_node(e),!e||!e.children)return!0;var h="rename_node"===b?f:c.text,i=[],j=this.settings.unique.case_sensitive,k=this.settings.unique.trim_whitespace,l=this._model.data,m,n,o;for(m=0,n=e.children.length;n>m;m++)o=l[e.children[m]].text,j||(o=o.toLowerCase()),k&&(o=o.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),i.push(o);switch(j||(h=h.toLowerCase()),k&&(h=h.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),b){case"delete_node":return!0;case"rename_node":return o=c.text||"",j||(o=o.toLowerCase()),k&&(o=o.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),m=-1===a.inArray(h,i)||c.text&&o===h,m||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_01",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),m;case"create_node":return m=-1===a.inArray(h,i),m||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_04",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),m;case"copy_node":return m=-1===a.inArray(h,i),m||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_02",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),m;case"move_node":return m=c.parent===e.id&&(!g||!g.is_multi)||-1===a.inArray(h,i),m||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_03",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),m}return!0},this.create_node=function(c,e,f,g,h){if(!e||e.text===b){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return d.create_node.call(this,c,e,f,g,h);if(f=f===b?"last":f,!f.toString().match(/^(before|after)$/)&&!h&&!this.is_loaded(c))return d.create_node.call(this,c,e,f,g,h);e||(e={});var i,j,k,l,m,n=this._model.data,o=this.settings.unique.case_sensitive,p=this.settings.unique.trim_whitespace,q=this.settings.unique.duplicate,r;for(j=i=this.get_string("New node"),k=[],l=0,m=c.children.length;m>l;l++)r=n[c.children[l]].text,o||(r=r.toLowerCase()),p&&(r=r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),k.push(r);l=1,r=j,o||(r=r.toLowerCase()),p&&(r=r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""));while(-1!==a.inArray(r,k))j=q.call(this,i,++l).toString(),r=j,o||(r=r.toLowerCase()),p&&(r=r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""));e.text=j}return d.create_node.call(this,c,e,f,g,h)}};var p=i.createElement("DIV");if(p.setAttribute("unselectable","on"),p.setAttribute("role","presentation"),p.className="jstree-wholerow",p.innerHTML=" ",a.jstree.plugins.wholerow=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("ready.jstree set_state.jstree",function(){this.hide_dots()}.bind(this)).on("init.jstree loading.jstree ready.jstree",function(){this.get_container_ul().addClass("jstree-wholerow-ul")}.bind(this)).on("deselect_all.jstree",function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked")}.bind(this)).on("changed.jstree",function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked");var c=!1,d,e;for(d=0,e=b.selected.length;e>d;d++)c=this.get_node(b.selected[d],!0),c&&c.length&&c.children(".jstree-wholerow").addClass("jstree-wholerow-clicked")}.bind(this)).on("open_node.jstree",function(a,b){this.get_node(b.node,!0).find(".jstree-clicked").parent().children(".jstree-wholerow").addClass("jstree-wholerow-clicked")}.bind(this)).on("hover_node.jstree dehover_node.jstree",function(a,b){"hover_node"===a.type&&this.is_disabled(b.node)||this.get_node(b.node,!0).children(".jstree-wholerow")["hover_node"===a.type?"addClass":"removeClass"]("jstree-wholerow-hovered")}.bind(this)).on("contextmenu.jstree",".jstree-wholerow",function(b){if(this._data.contextmenu){b.preventDefault();var c=a.Event("contextmenu",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey,pageX:b.pageX,pageY:b.pageY});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c)}}.bind(this)).on("click.jstree",".jstree-wholerow",function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).trigger("focus")}).on("dblclick.jstree",".jstree-wholerow",function(b){b.stopImmediatePropagation();var c=a.Event("dblclick",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).trigger("focus")}).on("click.jstree",".jstree-leaf > .jstree-ocl",function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).trigger("focus")}.bind(this)).on("mouseover.jstree",".jstree-wholerow, .jstree-icon",function(a){return a.stopImmediatePropagation(),this.is_disabled(a.currentTarget)||this.hover_node(a.currentTarget),!1}.bind(this)).on("mouseleave.jstree",".jstree-node",function(a){this.dehover_node(a.currentTarget)}.bind(this))},this.teardown=function(){this.settings.wholerow&&this.element.find(".jstree-wholerow").remove(),c.teardown.call(this)},this.redraw_node=function(b,d,e,f){if(b=c.redraw_node.apply(this,arguments)){var g=p.cloneNode(!0);-1!==a.inArray(b.id,this._data.core.selected)&&(g.className+=" jstree-wholerow-clicked"),this._data.core.focused&&this._data.core.focused===b.id&&(g.className+=" jstree-wholerow-hovered"),b.insertBefore(g,b.childNodes[0])}return b}},window.customElements&&Object&&Object.create){var q=Object.create(HTMLElement.prototype);q.createdCallback=function(){var b={core:{},plugins:[]},c;for(c in a.jstree.plugins)a.jstree.plugins.hasOwnProperty(c)&&this.attributes[c]&&(b.plugins.push(c),this.getAttribute(c)&&JSON.parse(this.getAttribute(c))&&(b[c]=JSON.parse(this.getAttribute(c))));for(c in a.jstree.defaults.core)a.jstree.defaults.core.hasOwnProperty(c)&&this.attributes[c]&&(b.core[c]=JSON.parse(this.getAttribute(c))||this.getAttribute(c));a(this).jstree(b)};try{window.customElements.define("vakata-jstree",function(){},{prototype:q})}catch(r){}}}}); >\ No newline at end of file >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/themes/default/32px.png b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/themes/default/32px.png >new file mode 100644 >index 0000000000000000000000000000000000000000..ca6af206777a87fb9d27dccf2184934065ceeae8 >GIT binary patch >literal 5660 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 > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/themes/default/40px.png b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/themes/default/40px.png >new file mode 100644 >index 0000000000000000000000000000000000000000..2a3fcb9dfacf4e82a4c3ac3a6cd1650af966fc29 >GIT binary patch >literal 2215 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 >GnSTO{AtE3E > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/themes/default/style.css b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/themes/default/style.css >new file mode 100644 >index 0000000000..b50e6a2c53 >--- /dev/null >+++ b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/themes/default/style.css >@@ -0,0 +1,1106 @@ >+/* jsTree default theme */ >+.jstree-node, >+.jstree-children, >+.jstree-container-ul { >+ display: block; >+ margin: 0; >+ padding: 0; >+ list-style-type: none; >+ list-style-image: none; >+} >+.jstree-node { >+ white-space: nowrap; >+} >+.jstree-anchor { >+ display: inline-block; >+ color: black; >+ white-space: nowrap; >+ padding: 0 4px 0 1px; >+ margin: 0; >+ vertical-align: top; >+} >+.jstree-anchor:focus { >+ outline: 0; >+} >+.jstree-anchor, >+.jstree-anchor:link, >+.jstree-anchor:visited, >+.jstree-anchor:hover, >+.jstree-anchor:active { >+ text-decoration: none; >+ color: inherit; >+} >+.jstree-icon { >+ display: inline-block; >+ text-decoration: none; >+ margin: 0; >+ padding: 0; >+ vertical-align: top; >+ text-align: center; >+} >+.jstree-icon:empty { >+ display: inline-block; >+ text-decoration: none; >+ margin: 0; >+ padding: 0; >+ vertical-align: top; >+ text-align: center; >+} >+.jstree-ocl { >+ cursor: pointer; >+} >+.jstree-leaf > .jstree-ocl { >+ cursor: default; >+} >+.jstree .jstree-open > .jstree-children { >+ display: block; >+} >+.jstree .jstree-closed > .jstree-children, >+.jstree .jstree-leaf > .jstree-children { >+ display: none; >+} >+.jstree-anchor > .jstree-themeicon { >+ margin-right: 2px; >+} >+.jstree-no-icons .jstree-themeicon, >+.jstree-anchor > .jstree-themeicon-hidden { >+ display: none; >+} >+.jstree-hidden, >+.jstree-node.jstree-hidden { >+ display: none; >+} >+.jstree-rtl .jstree-anchor { >+ padding: 0 1px 0 4px; >+} >+.jstree-rtl .jstree-anchor > .jstree-themeicon { >+ margin-left: 2px; >+ margin-right: 0; >+} >+.jstree-rtl .jstree-node { >+ margin-left: 0; >+} >+.jstree-rtl .jstree-container-ul > .jstree-node { >+ margin-right: 0; >+} >+.jstree-wholerow-ul { >+ position: relative; >+ display: inline-block; >+ min-width: 100%; >+} >+.jstree-wholerow-ul .jstree-leaf > .jstree-ocl { >+ cursor: pointer; >+} >+.jstree-wholerow-ul .jstree-anchor, >+.jstree-wholerow-ul .jstree-icon { >+ position: relative; >+} >+.jstree-wholerow-ul .jstree-wholerow { >+ width: 100%; >+ cursor: pointer; >+ position: absolute; >+ left: 0; >+ -webkit-user-select: none; >+ -moz-user-select: none; >+ -ms-user-select: none; >+ user-select: none; >+} >+.jstree-contextmenu .jstree-anchor { >+ -webkit-user-select: none; >+ /* disable selection/Copy of UIWebView */ >+ -webkit-touch-callout: none; >+ /* disable the IOS popup when long-press on a link */ >+ user-select: none; >+} >+.vakata-context { >+ display: none; >+} >+.vakata-context, >+.vakata-context ul { >+ margin: 0; >+ padding: 2px; >+ position: absolute; >+ background: #f5f5f5; >+ border: 1px solid #979797; >+ box-shadow: 2px 2px 2px #999999; >+} >+.vakata-context ul { >+ list-style: none; >+ left: 100%; >+ margin-top: -2.7em; >+ margin-left: -4px; >+} >+.vakata-context .vakata-context-right ul { >+ left: auto; >+ right: 100%; >+ margin-left: auto; >+ margin-right: -4px; >+} >+.vakata-context li { >+ list-style: none; >+} >+.vakata-context li > a { >+ display: block; >+ padding: 0 2em 0 2em; >+ text-decoration: none; >+ width: auto; >+ color: black; >+ white-space: nowrap; >+ line-height: 2.4em; >+ text-shadow: 1px 1px 0 white; >+ border-radius: 1px; >+} >+.vakata-context li > a:hover { >+ position: relative; >+ background-color: #e8eff7; >+ box-shadow: 0 0 2px #0a6aa1; >+} >+.vakata-context li > a.vakata-context-parent { >+ background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw=="); >+ background-position: right center; >+ background-repeat: no-repeat; >+} >+.vakata-context li > a:focus { >+ outline: 0; >+} >+.vakata-context .vakata-context-no-icons { >+ margin-left: 0; >+} >+.vakata-context .vakata-context-hover > a { >+ position: relative; >+ background-color: #e8eff7; >+ box-shadow: 0 0 2px #0a6aa1; >+} >+.vakata-context .vakata-context-separator > a, >+.vakata-context .vakata-context-separator > a:hover { >+ background: white; >+ border: 0; >+ border-top: 1px solid #e2e3e3; >+ height: 1px; >+ min-height: 1px; >+ max-height: 1px; >+ padding: 0; >+ margin: 0 0 0 2.4em; >+ border-left: 1px solid #e0e0e0; >+ text-shadow: 0 0 0 transparent; >+ box-shadow: 0 0 0 transparent; >+ border-radius: 0; >+} >+.vakata-context .vakata-contextmenu-disabled a, >+.vakata-context .vakata-contextmenu-disabled a:hover { >+ color: silver; >+ background-color: transparent; >+ border: 0; >+ box-shadow: 0 0 0; >+} >+.vakata-context .vakata-contextmenu-disabled > a > i { >+ filter: grayscale(100%); >+} >+.vakata-context li > a > i { >+ text-decoration: none; >+ display: inline-block; >+ width: 2.4em; >+ height: 2.4em; >+ background: transparent; >+ margin: 0 0 0 -2em; >+ vertical-align: top; >+ text-align: center; >+ line-height: 2.4em; >+} >+.vakata-context li > a > i:empty { >+ width: 2.4em; >+ line-height: 2.4em; >+} >+.vakata-context li > a .vakata-contextmenu-sep { >+ display: inline-block; >+ width: 1px; >+ height: 2.4em; >+ background: white; >+ margin: 0 0.5em 0 0; >+ border-left: 1px solid #e2e3e3; >+} >+.vakata-context .vakata-contextmenu-shortcut { >+ font-size: 0.8em; >+ color: silver; >+ opacity: 0.5; >+ display: none; >+} >+.vakata-context-rtl ul { >+ left: auto; >+ right: 100%; >+ margin-left: auto; >+ margin-right: -4px; >+} >+.vakata-context-rtl li > a.vakata-context-parent { >+ background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7"); >+ background-position: left center; >+ background-repeat: no-repeat; >+} >+.vakata-context-rtl .vakata-context-separator > a { >+ margin: 0 2.4em 0 0; >+ border-left: 0; >+ border-right: 1px solid #e2e3e3; >+} >+.vakata-context-rtl .vakata-context-left ul { >+ right: auto; >+ left: 100%; >+ margin-left: -4px; >+ margin-right: auto; >+} >+.vakata-context-rtl li > a > i { >+ margin: 0 -2em 0 0; >+} >+.vakata-context-rtl li > a .vakata-contextmenu-sep { >+ margin: 0 0 0 0.5em; >+ border-left-color: white; >+ background: #e2e3e3; >+} >+#jstree-marker { >+ position: absolute; >+ top: 0; >+ left: 0; >+ margin: -5px 0 0 0; >+ padding: 0; >+ border-right: 0; >+ border-top: 5px solid transparent; >+ border-bottom: 5px solid transparent; >+ border-left: 5px solid; >+ width: 0; >+ height: 0; >+ font-size: 0; >+ line-height: 0; >+} >+#jstree-dnd { >+ line-height: 16px; >+ margin: 0; >+ padding: 4px; >+} >+#jstree-dnd .jstree-icon, >+#jstree-dnd .jstree-copy { >+ display: inline-block; >+ text-decoration: none; >+ margin: 0 2px 0 0; >+ padding: 0; >+ width: 16px; >+ height: 16px; >+} >+#jstree-dnd .jstree-ok { >+ background: green; >+} >+#jstree-dnd .jstree-er { >+ background: red; >+} >+#jstree-dnd .jstree-copy { >+ margin: 0 2px 0 2px; >+} >+.jstree-default .jstree-node, >+.jstree-default .jstree-icon { >+ background-repeat: no-repeat; >+ background-color: transparent; >+} >+.jstree-default .jstree-anchor, >+.jstree-default .jstree-animated, >+.jstree-default .jstree-wholerow { >+ transition: background-color 0.15s, box-shadow 0.15s; >+} >+.jstree-default .jstree-hovered { >+ background: #e7f4f9; >+ border-radius: 2px; >+ box-shadow: inset 0 0 1px #cccccc; >+} >+.jstree-default .jstree-context { >+ background: #e7f4f9; >+ border-radius: 2px; >+ box-shadow: inset 0 0 1px #cccccc; >+} >+.jstree-default .jstree-clicked { >+ background: #beebff; >+ border-radius: 2px; >+ box-shadow: inset 0 0 1px #999999; >+} >+.jstree-default .jstree-no-icons .jstree-anchor > .jstree-themeicon { >+ display: none; >+} >+.jstree-default .jstree-disabled { >+ background: transparent; >+ color: #666666; >+} >+.jstree-default .jstree-disabled.jstree-hovered { >+ background: transparent; >+ box-shadow: none; >+} >+.jstree-default .jstree-disabled.jstree-clicked { >+ background: #efefef; >+} >+.jstree-default .jstree-disabled > .jstree-icon { >+ opacity: 0.8; >+ filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale"); >+ /* Firefox 10+ */ >+ filter: gray; >+ /* IE6-9 */ >+ -webkit-filter: grayscale(100%); >+ /* Chrome 19+ & Safari 6+ */ >+} >+.jstree-default .jstree-search { >+ font-style: italic; >+ color: #8b0000; >+ font-weight: bold; >+} >+.jstree-default .jstree-no-checkboxes .jstree-checkbox { >+ display: none !important; >+} >+.jstree-default.jstree-checkbox-no-clicked .jstree-clicked { >+ background: transparent; >+ box-shadow: none; >+} >+.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered { >+ background: #e7f4f9; >+} >+.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked { >+ background: transparent; >+} >+.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered { >+ background: #e7f4f9; >+} >+.jstree-default > .jstree-striped { >+ min-width: 100%; >+ display: inline-block; >+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat; >+} >+.jstree-default > .jstree-wholerow-ul .jstree-hovered, >+.jstree-default > .jstree-wholerow-ul .jstree-clicked { >+ background: transparent; >+ box-shadow: none; >+ border-radius: 0; >+} >+.jstree-default .jstree-wholerow { >+ -moz-box-sizing: border-box; >+ -webkit-box-sizing: border-box; >+ box-sizing: border-box; >+} >+.jstree-default .jstree-wholerow-hovered { >+ background: #e7f4f9; >+} >+.jstree-default .jstree-wholerow-clicked { >+ background: #beebff; >+ background: -webkit-linear-gradient(top, #beebff 0%, #a8e4ff 100%); >+ background: linear-gradient(to bottom, #beebff 0%, #a8e4ff 100%); >+} >+.jstree-default .jstree-node { >+ min-height: 24px; >+ line-height: 24px; >+ margin-left: 24px; >+ min-width: 24px; >+} >+.jstree-default .jstree-anchor { >+ line-height: 24px; >+ height: 24px; >+} >+.jstree-default .jstree-icon { >+ width: 24px; >+ height: 24px; >+ line-height: 24px; >+} >+.jstree-default .jstree-icon:empty { >+ width: 24px; >+ height: 24px; >+ line-height: 24px; >+} >+.jstree-default.jstree-rtl .jstree-node { >+ margin-right: 24px; >+} >+.jstree-default .jstree-wholerow { >+ height: 24px; >+} >+.jstree-default .jstree-node, >+.jstree-default .jstree-icon { >+ background-image: url("32px.png"); >+} >+.jstree-default .jstree-node { >+ background-position: -292px -4px; >+ background-repeat: repeat-y; >+} >+.jstree-default .jstree-last { >+ background: transparent; >+} >+.jstree-default .jstree-open > .jstree-ocl { >+ background-position: -132px -4px; >+} >+.jstree-default .jstree-closed > .jstree-ocl { >+ background-position: -100px -4px; >+} >+.jstree-default .jstree-leaf > .jstree-ocl { >+ background-position: -68px -4px; >+} >+.jstree-default .jstree-themeicon { >+ background-position: -260px -4px; >+} >+.jstree-default > .jstree-no-dots .jstree-node, >+.jstree-default > .jstree-no-dots .jstree-leaf > .jstree-ocl { >+ background: transparent; >+} >+.jstree-default > .jstree-no-dots .jstree-open > .jstree-ocl { >+ background-position: -36px -4px; >+} >+.jstree-default > .jstree-no-dots .jstree-closed > .jstree-ocl { >+ background-position: -4px -4px; >+} >+.jstree-default .jstree-disabled { >+ background: transparent; >+} >+.jstree-default .jstree-disabled.jstree-hovered { >+ background: transparent; >+} >+.jstree-default .jstree-disabled.jstree-clicked { >+ background: #efefef; >+} >+.jstree-default .jstree-checkbox { >+ background-position: -164px -4px; >+} >+.jstree-default .jstree-checkbox:hover { >+ background-position: -164px -36px; >+} >+.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, >+.jstree-default .jstree-checked > .jstree-checkbox { >+ background-position: -228px -4px; >+} >+.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, >+.jstree-default .jstree-checked > .jstree-checkbox:hover { >+ background-position: -228px -36px; >+} >+.jstree-default .jstree-anchor > .jstree-undetermined { >+ background-position: -196px -4px; >+} >+.jstree-default .jstree-anchor > .jstree-undetermined:hover { >+ background-position: -196px -36px; >+} >+.jstree-default .jstree-checkbox-disabled { >+ opacity: 0.8; >+ filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale"); >+ /* Firefox 10+ */ >+ filter: gray; >+ /* IE6-9 */ >+ -webkit-filter: grayscale(100%); >+ /* Chrome 19+ & Safari 6+ */ >+} >+.jstree-default > .jstree-striped { >+ background-size: auto 48px; >+} >+.jstree-default.jstree-rtl .jstree-node { >+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); >+ background-position: 100% 1px; >+ background-repeat: repeat-y; >+} >+.jstree-default.jstree-rtl .jstree-last { >+ background: transparent; >+} >+.jstree-default.jstree-rtl .jstree-open > .jstree-ocl { >+ background-position: -132px -36px; >+} >+.jstree-default.jstree-rtl .jstree-closed > .jstree-ocl { >+ background-position: -100px -36px; >+} >+.jstree-default.jstree-rtl .jstree-leaf > .jstree-ocl { >+ background-position: -68px -36px; >+} >+.jstree-default.jstree-rtl > .jstree-no-dots .jstree-node, >+.jstree-default.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { >+ background: transparent; >+} >+.jstree-default.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { >+ background-position: -36px -36px; >+} >+.jstree-default.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { >+ background-position: -4px -36px; >+} >+.jstree-default .jstree-themeicon-custom { >+ background-color: transparent; >+ background-image: none; >+ background-position: 0 0; >+} >+.jstree-default > .jstree-container-ul .jstree-loading > .jstree-ocl { >+ background: url("throbber.gif") center center no-repeat; >+} >+.jstree-default .jstree-file { >+ background: url("32px.png") -100px -68px no-repeat; >+} >+.jstree-default .jstree-folder { >+ background: url("32px.png") -260px -4px no-repeat; >+} >+.jstree-default > .jstree-container-ul > .jstree-node { >+ margin-left: 0; >+ margin-right: 0; >+} >+#jstree-dnd.jstree-default { >+ line-height: 24px; >+ padding: 0 4px; >+} >+#jstree-dnd.jstree-default .jstree-ok, >+#jstree-dnd.jstree-default .jstree-er { >+ background-image: url("32px.png"); >+ background-repeat: no-repeat; >+ background-color: transparent; >+} >+#jstree-dnd.jstree-default i { >+ background: transparent; >+ width: 24px; >+ height: 24px; >+ line-height: 24px; >+} >+#jstree-dnd.jstree-default .jstree-ok { >+ background-position: -4px -68px; >+} >+#jstree-dnd.jstree-default .jstree-er { >+ background-position: -36px -68px; >+} >+.jstree-default .jstree-ellipsis { >+ overflow: hidden; >+} >+.jstree-default .jstree-ellipsis .jstree-anchor { >+ width: calc(100% - 29px); >+ text-overflow: ellipsis; >+ overflow: hidden; >+} >+.jstree-default.jstree-rtl .jstree-node { >+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); >+} >+.jstree-default.jstree-rtl .jstree-last { >+ background: transparent; >+} >+.jstree-default-small .jstree-node { >+ min-height: 18px; >+ line-height: 18px; >+ margin-left: 18px; >+ min-width: 18px; >+} >+.jstree-default-small .jstree-anchor { >+ line-height: 18px; >+ height: 18px; >+} >+.jstree-default-small .jstree-icon { >+ width: 18px; >+ height: 18px; >+ line-height: 18px; >+} >+.jstree-default-small .jstree-icon:empty { >+ width: 18px; >+ height: 18px; >+ line-height: 18px; >+} >+.jstree-default-small.jstree-rtl .jstree-node { >+ margin-right: 18px; >+} >+.jstree-default-small .jstree-wholerow { >+ height: 18px; >+} >+.jstree-default-small .jstree-node, >+.jstree-default-small .jstree-icon { >+ background-image: url("32px.png"); >+} >+.jstree-default-small .jstree-node { >+ background-position: -295px -7px; >+ background-repeat: repeat-y; >+} >+.jstree-default-small .jstree-last { >+ background: transparent; >+} >+.jstree-default-small .jstree-open > .jstree-ocl { >+ background-position: -135px -7px; >+} >+.jstree-default-small .jstree-closed > .jstree-ocl { >+ background-position: -103px -7px; >+} >+.jstree-default-small .jstree-leaf > .jstree-ocl { >+ background-position: -71px -7px; >+} >+.jstree-default-small .jstree-themeicon { >+ background-position: -263px -7px; >+} >+.jstree-default-small > .jstree-no-dots .jstree-node, >+.jstree-default-small > .jstree-no-dots .jstree-leaf > .jstree-ocl { >+ background: transparent; >+} >+.jstree-default-small > .jstree-no-dots .jstree-open > .jstree-ocl { >+ background-position: -39px -7px; >+} >+.jstree-default-small > .jstree-no-dots .jstree-closed > .jstree-ocl { >+ background-position: -7px -7px; >+} >+.jstree-default-small .jstree-disabled { >+ background: transparent; >+} >+.jstree-default-small .jstree-disabled.jstree-hovered { >+ background: transparent; >+} >+.jstree-default-small .jstree-disabled.jstree-clicked { >+ background: #efefef; >+} >+.jstree-default-small .jstree-checkbox { >+ background-position: -167px -7px; >+} >+.jstree-default-small .jstree-checkbox:hover { >+ background-position: -167px -39px; >+} >+.jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, >+.jstree-default-small .jstree-checked > .jstree-checkbox { >+ background-position: -231px -7px; >+} >+.jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, >+.jstree-default-small .jstree-checked > .jstree-checkbox:hover { >+ background-position: -231px -39px; >+} >+.jstree-default-small .jstree-anchor > .jstree-undetermined { >+ background-position: -199px -7px; >+} >+.jstree-default-small .jstree-anchor > .jstree-undetermined:hover { >+ background-position: -199px -39px; >+} >+.jstree-default-small .jstree-checkbox-disabled { >+ opacity: 0.8; >+ filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale"); >+ /* Firefox 10+ */ >+ filter: gray; >+ /* IE6-9 */ >+ -webkit-filter: grayscale(100%); >+ /* Chrome 19+ & Safari 6+ */ >+} >+.jstree-default-small > .jstree-striped { >+ background-size: auto 36px; >+} >+.jstree-default-small.jstree-rtl .jstree-node { >+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); >+ background-position: 100% 1px; >+ background-repeat: repeat-y; >+} >+.jstree-default-small.jstree-rtl .jstree-last { >+ background: transparent; >+} >+.jstree-default-small.jstree-rtl .jstree-open > .jstree-ocl { >+ background-position: -135px -39px; >+} >+.jstree-default-small.jstree-rtl .jstree-closed > .jstree-ocl { >+ background-position: -103px -39px; >+} >+.jstree-default-small.jstree-rtl .jstree-leaf > .jstree-ocl { >+ background-position: -71px -39px; >+} >+.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-node, >+.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { >+ background: transparent; >+} >+.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { >+ background-position: -39px -39px; >+} >+.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { >+ background-position: -7px -39px; >+} >+.jstree-default-small .jstree-themeicon-custom { >+ background-color: transparent; >+ background-image: none; >+ background-position: 0 0; >+} >+.jstree-default-small > .jstree-container-ul .jstree-loading > .jstree-ocl { >+ background: url("throbber.gif") center center no-repeat; >+} >+.jstree-default-small .jstree-file { >+ background: url("32px.png") -103px -71px no-repeat; >+} >+.jstree-default-small .jstree-folder { >+ background: url("32px.png") -263px -7px no-repeat; >+} >+.jstree-default-small > .jstree-container-ul > .jstree-node { >+ margin-left: 0; >+ margin-right: 0; >+} >+#jstree-dnd.jstree-default-small { >+ line-height: 18px; >+ padding: 0 4px; >+} >+#jstree-dnd.jstree-default-small .jstree-ok, >+#jstree-dnd.jstree-default-small .jstree-er { >+ background-image: url("32px.png"); >+ background-repeat: no-repeat; >+ background-color: transparent; >+} >+#jstree-dnd.jstree-default-small i { >+ background: transparent; >+ width: 18px; >+ height: 18px; >+ line-height: 18px; >+} >+#jstree-dnd.jstree-default-small .jstree-ok { >+ background-position: -7px -71px; >+} >+#jstree-dnd.jstree-default-small .jstree-er { >+ background-position: -39px -71px; >+} >+.jstree-default-small .jstree-ellipsis { >+ overflow: hidden; >+} >+.jstree-default-small .jstree-ellipsis .jstree-anchor { >+ width: calc(100% - 23px); >+ text-overflow: ellipsis; >+ overflow: hidden; >+} >+.jstree-default-small.jstree-rtl .jstree-node { >+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); >+} >+.jstree-default-small.jstree-rtl .jstree-last { >+ background: transparent; >+} >+.jstree-default-large .jstree-node { >+ min-height: 32px; >+ line-height: 32px; >+ margin-left: 32px; >+ min-width: 32px; >+} >+.jstree-default-large .jstree-anchor { >+ line-height: 32px; >+ height: 32px; >+} >+.jstree-default-large .jstree-icon { >+ width: 32px; >+ height: 32px; >+ line-height: 32px; >+} >+.jstree-default-large .jstree-icon:empty { >+ width: 32px; >+ height: 32px; >+ line-height: 32px; >+} >+.jstree-default-large.jstree-rtl .jstree-node { >+ margin-right: 32px; >+} >+.jstree-default-large .jstree-wholerow { >+ height: 32px; >+} >+.jstree-default-large .jstree-node, >+.jstree-default-large .jstree-icon { >+ background-image: url("32px.png"); >+} >+.jstree-default-large .jstree-node { >+ background-position: -288px 0px; >+ background-repeat: repeat-y; >+} >+.jstree-default-large .jstree-last { >+ background: transparent; >+} >+.jstree-default-large .jstree-open > .jstree-ocl { >+ background-position: -128px 0px; >+} >+.jstree-default-large .jstree-closed > .jstree-ocl { >+ background-position: -96px 0px; >+} >+.jstree-default-large .jstree-leaf > .jstree-ocl { >+ background-position: -64px 0px; >+} >+.jstree-default-large .jstree-themeicon { >+ background-position: -256px 0px; >+} >+.jstree-default-large > .jstree-no-dots .jstree-node, >+.jstree-default-large > .jstree-no-dots .jstree-leaf > .jstree-ocl { >+ background: transparent; >+} >+.jstree-default-large > .jstree-no-dots .jstree-open > .jstree-ocl { >+ background-position: -32px 0px; >+} >+.jstree-default-large > .jstree-no-dots .jstree-closed > .jstree-ocl { >+ background-position: 0px 0px; >+} >+.jstree-default-large .jstree-disabled { >+ background: transparent; >+} >+.jstree-default-large .jstree-disabled.jstree-hovered { >+ background: transparent; >+} >+.jstree-default-large .jstree-disabled.jstree-clicked { >+ background: #efefef; >+} >+.jstree-default-large .jstree-checkbox { >+ background-position: -160px 0px; >+} >+.jstree-default-large .jstree-checkbox:hover { >+ background-position: -160px -32px; >+} >+.jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, >+.jstree-default-large .jstree-checked > .jstree-checkbox { >+ background-position: -224px 0px; >+} >+.jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, >+.jstree-default-large .jstree-checked > .jstree-checkbox:hover { >+ background-position: -224px -32px; >+} >+.jstree-default-large .jstree-anchor > .jstree-undetermined { >+ background-position: -192px 0px; >+} >+.jstree-default-large .jstree-anchor > .jstree-undetermined:hover { >+ background-position: -192px -32px; >+} >+.jstree-default-large .jstree-checkbox-disabled { >+ opacity: 0.8; >+ filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale"); >+ /* Firefox 10+ */ >+ filter: gray; >+ /* IE6-9 */ >+ -webkit-filter: grayscale(100%); >+ /* Chrome 19+ & Safari 6+ */ >+} >+.jstree-default-large > .jstree-striped { >+ background-size: auto 64px; >+} >+.jstree-default-large.jstree-rtl .jstree-node { >+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); >+ background-position: 100% 1px; >+ background-repeat: repeat-y; >+} >+.jstree-default-large.jstree-rtl .jstree-last { >+ background: transparent; >+} >+.jstree-default-large.jstree-rtl .jstree-open > .jstree-ocl { >+ background-position: -128px -32px; >+} >+.jstree-default-large.jstree-rtl .jstree-closed > .jstree-ocl { >+ background-position: -96px -32px; >+} >+.jstree-default-large.jstree-rtl .jstree-leaf > .jstree-ocl { >+ background-position: -64px -32px; >+} >+.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-node, >+.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { >+ background: transparent; >+} >+.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { >+ background-position: -32px -32px; >+} >+.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { >+ background-position: 0px -32px; >+} >+.jstree-default-large .jstree-themeicon-custom { >+ background-color: transparent; >+ background-image: none; >+ background-position: 0 0; >+} >+.jstree-default-large > .jstree-container-ul .jstree-loading > .jstree-ocl { >+ background: url("throbber.gif") center center no-repeat; >+} >+.jstree-default-large .jstree-file { >+ background: url("32px.png") -96px -64px no-repeat; >+} >+.jstree-default-large .jstree-folder { >+ background: url("32px.png") -256px 0px no-repeat; >+} >+.jstree-default-large > .jstree-container-ul > .jstree-node { >+ margin-left: 0; >+ margin-right: 0; >+} >+#jstree-dnd.jstree-default-large { >+ line-height: 32px; >+ padding: 0 4px; >+} >+#jstree-dnd.jstree-default-large .jstree-ok, >+#jstree-dnd.jstree-default-large .jstree-er { >+ background-image: url("32px.png"); >+ background-repeat: no-repeat; >+ background-color: transparent; >+} >+#jstree-dnd.jstree-default-large i { >+ background: transparent; >+ width: 32px; >+ height: 32px; >+ line-height: 32px; >+} >+#jstree-dnd.jstree-default-large .jstree-ok { >+ background-position: 0px -64px; >+} >+#jstree-dnd.jstree-default-large .jstree-er { >+ background-position: -32px -64px; >+} >+.jstree-default-large .jstree-ellipsis { >+ overflow: hidden; >+} >+.jstree-default-large .jstree-ellipsis .jstree-anchor { >+ width: calc(100% - 37px); >+ text-overflow: ellipsis; >+ overflow: hidden; >+} >+.jstree-default-large.jstree-rtl .jstree-node { >+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); >+} >+.jstree-default-large.jstree-rtl .jstree-last { >+ background: transparent; >+} >+@media (max-width: 768px) { >+ #jstree-dnd.jstree-dnd-responsive { >+ line-height: 40px; >+ font-weight: bold; >+ font-size: 1.1em; >+ text-shadow: 1px 1px white; >+ } >+ #jstree-dnd.jstree-dnd-responsive > i { >+ background: transparent; >+ width: 40px; >+ height: 40px; >+ } >+ #jstree-dnd.jstree-dnd-responsive > .jstree-ok { >+ background-image: url("40px.png"); >+ background-position: 0 -200px; >+ background-size: 120px 240px; >+ } >+ #jstree-dnd.jstree-dnd-responsive > .jstree-er { >+ background-image: url("40px.png"); >+ background-position: -40px -200px; >+ background-size: 120px 240px; >+ } >+ #jstree-marker.jstree-dnd-responsive { >+ border-left-width: 10px; >+ border-top-width: 10px; >+ border-bottom-width: 10px; >+ margin-top: -10px; >+ } >+} >+@media (max-width: 768px) { >+ .jstree-default-responsive { >+ /* >+ .jstree-open > .jstree-ocl, >+ .jstree-closed > .jstree-ocl { border-radius:20px; background-color:white; } >+ */ >+ } >+ .jstree-default-responsive .jstree-icon { >+ background-image: url("40px.png"); >+ } >+ .jstree-default-responsive .jstree-node, >+ .jstree-default-responsive .jstree-leaf > .jstree-ocl { >+ background: transparent; >+ } >+ .jstree-default-responsive .jstree-node { >+ min-height: 40px; >+ line-height: 40px; >+ margin-left: 40px; >+ min-width: 40px; >+ white-space: nowrap; >+ } >+ .jstree-default-responsive .jstree-anchor { >+ line-height: 40px; >+ height: 40px; >+ } >+ .jstree-default-responsive .jstree-icon, >+ .jstree-default-responsive .jstree-icon:empty { >+ width: 40px; >+ height: 40px; >+ line-height: 40px; >+ } >+ .jstree-default-responsive > .jstree-container-ul > .jstree-node { >+ margin-left: 0; >+ } >+ .jstree-default-responsive.jstree-rtl .jstree-node { >+ margin-left: 0; >+ margin-right: 40px; >+ background: transparent; >+ } >+ .jstree-default-responsive.jstree-rtl .jstree-container-ul > .jstree-node { >+ margin-right: 0; >+ } >+ .jstree-default-responsive .jstree-ocl, >+ .jstree-default-responsive .jstree-themeicon, >+ .jstree-default-responsive .jstree-checkbox { >+ background-size: 120px 240px; >+ } >+ .jstree-default-responsive .jstree-leaf > .jstree-ocl, >+ .jstree-default-responsive.jstree-rtl .jstree-leaf > .jstree-ocl { >+ background: transparent; >+ } >+ .jstree-default-responsive .jstree-open > .jstree-ocl { >+ background-position: 0 0 !important; >+ } >+ .jstree-default-responsive .jstree-closed > .jstree-ocl { >+ background-position: 0 -40px !important; >+ } >+ .jstree-default-responsive.jstree-rtl .jstree-closed > .jstree-ocl { >+ background-position: -40px 0 !important; >+ } >+ .jstree-default-responsive .jstree-themeicon { >+ background-position: -40px -40px; >+ } >+ .jstree-default-responsive .jstree-checkbox, >+ .jstree-default-responsive .jstree-checkbox:hover { >+ background-position: -40px -80px; >+ } >+ .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, >+ .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, >+ .jstree-default-responsive .jstree-checked > .jstree-checkbox, >+ .jstree-default-responsive .jstree-checked > .jstree-checkbox:hover { >+ background-position: 0 -80px; >+ } >+ .jstree-default-responsive .jstree-anchor > .jstree-undetermined, >+ .jstree-default-responsive .jstree-anchor > .jstree-undetermined:hover { >+ background-position: 0 -120px; >+ } >+ .jstree-default-responsive .jstree-anchor { >+ font-weight: bold; >+ font-size: 1.1em; >+ text-shadow: 1px 1px white; >+ } >+ .jstree-default-responsive > .jstree-striped { >+ background: transparent; >+ } >+ .jstree-default-responsive .jstree-wholerow { >+ border-top: 1px solid rgba(255, 255, 255, 0.7); >+ border-bottom: 1px solid rgba(64, 64, 64, 0.2); >+ background: #ebebeb; >+ height: 40px; >+ } >+ .jstree-default-responsive .jstree-wholerow-hovered { >+ background: #e7f4f9; >+ } >+ .jstree-default-responsive .jstree-wholerow-clicked { >+ background: #beebff; >+ } >+ .jstree-default-responsive .jstree-children .jstree-last > .jstree-wholerow { >+ box-shadow: inset 0 -6px 3px -5px #666666; >+ } >+ .jstree-default-responsive .jstree-children .jstree-open > .jstree-wholerow { >+ box-shadow: inset 0 6px 3px -5px #666666; >+ border-top: 0; >+ } >+ .jstree-default-responsive .jstree-children .jstree-open + .jstree-open { >+ box-shadow: none; >+ } >+ .jstree-default-responsive .jstree-node, >+ .jstree-default-responsive .jstree-icon, >+ .jstree-default-responsive .jstree-node > .jstree-ocl, >+ .jstree-default-responsive .jstree-themeicon, >+ .jstree-default-responsive .jstree-checkbox { >+ background-image: url("40px.png"); >+ background-size: 120px 240px; >+ } >+ .jstree-default-responsive .jstree-node { >+ background-position: -80px 0; >+ background-repeat: repeat-y; >+ } >+ .jstree-default-responsive .jstree-last { >+ background: transparent; >+ } >+ .jstree-default-responsive .jstree-leaf > .jstree-ocl { >+ background-position: -40px -120px; >+ } >+ .jstree-default-responsive .jstree-last > .jstree-ocl { >+ background-position: -40px -160px; >+ } >+ .jstree-default-responsive .jstree-themeicon-custom { >+ background-color: transparent; >+ background-image: none; >+ background-position: 0 0; >+ } >+ .jstree-default-responsive .jstree-file { >+ background: url("40px.png") 0 -160px no-repeat; >+ background-size: 120px 240px; >+ } >+ .jstree-default-responsive .jstree-folder { >+ background: url("40px.png") -40px -40px no-repeat; >+ background-size: 120px 240px; >+ } >+ .jstree-default-responsive > .jstree-container-ul > .jstree-node { >+ margin-left: 0; >+ margin-right: 0; >+ } >+} >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/themes/default/style.min.css b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/themes/default/style.min.css >new file mode 100644 >index 0000000000..0c6897a98f >--- /dev/null >+++ b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/themes/default/style.min.css >@@ -0,0 +1 @@ >+.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:black;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-hidden,.jstree-node.jstree-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jstree-contextmenu .jstree-anchor{-webkit-user-select:none;-webkit-touch-callout:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none}.vakata-context li>a{display:block;padding:0 2em 0 2em;text-decoration:none;width:auto;color:black;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 white;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==");background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-no-icons{margin-left:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:white;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context .vakata-contextmenu-disabled>a>i{filter:grayscale(100%)}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:transparent;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:white;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7");background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:white;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px 0 2px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-animated,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #cccccc}.jstree-default .jstree-context{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #cccccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{background:transparent;color:#666666}.jstree-default .jstree-disabled.jstree-hovered{background:transparent;box-shadow:none}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:bold}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none !important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:transparent;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:transparent}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{min-width:100%;display:inline-block;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat}.jstree-default>.jstree-wholerow-ul .jstree-hovered,.jstree-default>.jstree-wholerow-ul .jstree-clicked{background:transparent;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-webkit-linear-gradient(top, #beebff 0, #a8e4ff 100%);background:linear-gradient(to bottom, #beebff 0, #a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px}.jstree-default .jstree-wholerow{height:24px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-image:url("32px.png")}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-last{background:transparent}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-node,.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled{background:transparent}.jstree-default .jstree-disabled.jstree-hovered{background:transparent}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-last{background:transparent}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url("throbber.gif") center center no-repeat}.jstree-default .jstree-file{background:url("32px.png") -100px -68px no-repeat}.jstree-default .jstree-folder{background:url("32px.png") -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-ok,#jstree-dnd.jstree-default .jstree-er{background-image:url("32px.png");background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:transparent;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default .jstree-ellipsis{overflow:hidden}.jstree-default .jstree-ellipsis .jstree-anchor{width:calc(100% - 29px);text-overflow:ellipsis;overflow:hidden}.jstree-default.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==")}.jstree-default.jstree-rtl .jstree-last{background:transparent}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-node,.jstree-default-small .jstree-icon{background-image:url("32px.png")}.jstree-default-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-last{background:transparent}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-node,.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled{background:transparent}.jstree-default-small .jstree-disabled.jstree-hovered{background:transparent}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-last{background:transparent}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url("throbber.gif") center center no-repeat}.jstree-default-small .jstree-file{background:url("32px.png") -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url("32px.png") -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-ok,#jstree-dnd.jstree-default-small .jstree-er{background-image:url("32px.png");background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:transparent;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small .jstree-ellipsis{overflow:hidden}.jstree-default-small .jstree-ellipsis .jstree-anchor{width:calc(100% - 23px);text-overflow:ellipsis;overflow:hidden}.jstree-default-small.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==")}.jstree-default-small.jstree-rtl .jstree-last{background:transparent}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-node,.jstree-default-large .jstree-icon{background-image:url("32px.png")}.jstree-default-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-last{background:transparent}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-node,.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled{background:transparent}.jstree-default-large .jstree-disabled.jstree-hovered{background:transparent}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-last{background:transparent}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url("throbber.gif") center center no-repeat}.jstree-default-large .jstree-file{background:url("32px.png") -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url("32px.png") -256px 0 no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-ok,#jstree-dnd.jstree-default-large .jstree-er{background-image:url("32px.png");background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:transparent;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large .jstree-ellipsis{overflow:hidden}.jstree-default-large .jstree-ellipsis .jstree-anchor{width:calc(100% - 37px);text-overflow:ellipsis;overflow:hidden}.jstree-default-large.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==")}.jstree-default-large.jstree-rtl .jstree-last{background:transparent}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:bold;font-size:1.1em;text-shadow:1px 1px white}#jstree-dnd.jstree-dnd-responsive>i{background:transparent;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url("40px.png");background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url("40px.png");background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width:768px){.jstree-default-responsive .jstree-icon{background-image:url("40px.png")}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:transparent}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0 !important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px !important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0 !important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive .jstree-anchor{font-weight:bold;font-size:1.1em;text-shadow:1px 1px white}.jstree-default-responsive>.jstree-striped{background:transparent}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,0.7);border-bottom:1px solid rgba(64,64,64,0.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-image:url("40px.png");background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:transparent}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url("40px.png") 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url("40px.png") -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}} >\ No newline at end of file >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/themes/default/throbber.gif b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jstree/themes/default/throbber.gif >new file mode 100644 >index 0000000000000000000000000000000000000000..cf06c1ad0f00be54b10f73e03c11d182d411fad1 >GIT binary patch >literal 1464 >zcmZvceN0nV9EQ&=r=^8TFHo@{ANQ70%LFN(7Ima80;R!PL9rm3)*-a&w4%<Ah`XhH >zln%8519W6-3v7`P0&Hf^IM)IqC2o8<hRRIUIGu4xjZx5SW5tX`m;HavdCzm+=XbKQ >zGX<$C6rkW41GrqS^73*3fI^|Ta^(t>$!u$DOG!y_yWJ*}DKj&Z!{KyycdONE2;suQ >z0>0oY%h;NiE|O;?tl@hho}Kt#A?am%R7ds{W5+Z{)R=0oO1J-@s(6j&K*>RXzl3BT >zzyL9xm7Yix2%*;PtW~c(I@)n*B9Lt|nX$@5x^P+w+`!wx60-9`uo!Bs<$^EHs<m+f >zrA($25|%b{am|>)-UfnV9p;}KqjClm$MVbM$&>WbPV&ij*ka|M=U@<pN?R9CXCB18 >z5Jo|w9>X9sGyLDa1jBO)0C&2bFU5^USyT%ow`Y6z3+!yPy*Q>C*G{34S5-7|bGDZQ >z;p6Czucr+YRHzuORgJ5K?Gb~I)~a}v9rie@5~I_JSG?&Y0H19O93PH4T#q0ADD;!P >zk^f0VJ^TO`dJ=PNij?y~;w)~e*CcK*ZY52{2MQ$)2O(_;C7G%3Zo-!*0`gZhYhSL< >znt;k5!N~ERdLn<Q!hWeK({?i%QmLd@T@4(dg+zV)br&Ob?&GmM_S=AquMA+3+Zny= >zy9CSHrcn4I6nU6D!(F~{g^h|uo$Q7+ckz5HrK9$-NMQ_*GIiI?uvqjh?Q$(qM!DIE >zKMLnreU)@M63~3V%3M+ZlbBXH9vV*T=g!7{Gx(gf#7AAK)z1@{fjaBN7KL9l9GjiS >z$vpC|QuB-)HEI>RmTxxns-8=KZykgLf4(wI<ScVGrKQtF&8f04!r0<{(vpizlAJ`z >z@aXhf7{8^H7g6?&JAb2EXK-$w88PEX3rE&(3?2uo<QAsGSf?UqUEl>kTqMjv3H^P0 >z0}wE)29!5I&o+~aFX!~k)T{b<Nj8?<L5NbqHq-c2KD&!7n%pu{!Xioi<my0Q(uzn8 >zX@Bsk6H8=o2n*m2PjkSc2++{SX0PgMNK#rtnvbDiWDsqhkc`G6N2Zxx^m~<>i(Dhe >zIH87(qxAGc0w`-lB2B++2#J?l`gGWV+B}h2SM(t^bWT#g9<I0+pC+h^Udr?EA^`Dt >zvS>>Fcs52mlk>PRPILR$oj*LlzNE<g0tI%ngi6#no*tNMZna{#@H$NXT>nI}n!K<3 >z)<EBFDy*y8y)JJa>aPyCTC2f!DRM}V09yub^?|M=!+Y@mELj`_)TX%OO>kCHio!~( >znD>rK?x{ZA<6qyz3f`ZjI~5!kK{oSzRuM%1ivpD2V-;hMHZiNKhH-%|h?1H9lphlk >zFgW#r;6}N_Nt!r84^6u^hv5%Xq^WPf0T0|iW8f(hZ6Nk)qHY$>y?>U{G)$G{h>Nyn >zpO@v$E*p6=g#Y1VcDTfCbn@Au-m=SF<FG!u;0EeT9z4Smcq6p*5*CkI9h-Al+Zv{S >zQKLM{t4w~tJp=xA=XG~WaSFFHJEBX+mLu2f88mTj9rdYyhkFxING46yP1;HscfGu_ >ztmw!*D*~qL`?gUUS~wHhG{4if-LAwW4q~Xn{1ZvbK=XE`ErP<8+#%Se%l)iC<jvPy >zDz4C-ol9Jv59sS}G1!mi&Vfo7GNK8&U)|e!7cE#F<@wJ(3kIlyrT^C2nZeR&`|a&6 >r6~`h|M)HeUvfil<p+vH>xmH%8-f*3fsjN8kedp=8=<vaf0IdHT8g}jH > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/d.gif b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/d.gif >deleted file mode 100644 >index 6eb0004ce3544f9973ddbd5a2c450fc0e1a354b1..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 3003 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 > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/d.png b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/d.png >deleted file mode 100644 >index 275daeca2d6ae2ba9cf59bd23a194d13a35a825d..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 7535 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 >FV1ky2eG>ox > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/dot_for_ie.gif b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/dot_for_ie.gif >deleted file mode 100644 >index c0cc5fda7cfb9539720de442a3caca9c9a3fc4cb..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 43 >vcmZ?wbhEHbWMW`qXkcKFla>7c|G(l-7DfgJMg|=QAOOiQFfqBrF<1it%E1S( > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/style.css b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/style.css >deleted file mode 100644 >index 9fbab0e882..0000000000 >--- a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/style.css >+++ /dev/null >@@ -1,77 +0,0 @@ >-/* >- * jsTree classic theme 1.0 >- * Supported features: dots/no-dots, icons/no-icons, focused, loading >- * Supported plugins: ui (hovered, clicked), checkbox, contextmenu, search >- */ >- >-.jstree-classic li, >-.jstree-classic ins { background-image:url("d.png"); background-repeat:no-repeat; background-color:transparent; } >-.jstree-classic li { background-position:-90px 0; background-repeat:repeat-y; } >-.jstree-classic li.jstree-last { background:transparent; } >-.jstree-classic .jstree-open > ins { background-position:-72px 0; } >-.jstree-classic .jstree-closed > ins { background-position:-54px 0; } >-.jstree-classic .jstree-leaf > ins { background-position:-36px 0; } >- >-.jstree-classic .jstree-hovered { background:#e7f4f9; border:1px solid #e7f4f9; padding:0 2px 0 1px; } >-.jstree-classic .jstree-clicked { background:navy; border:1px solid navy; padding:0 2px 0 1px; color:white; } >-.jstree-classic a .jstree-icon { background-position:-56px -19px; } >-.jstree-classic .jstree-open > a .jstree-icon { background-position:-56px -36px; } >-.jstree-classic a.jstree-loading .jstree-icon { background:url("throbber.gif") center center no-repeat !important; } >- >-.jstree-classic.jstree-focused { background:white; } >- >-.jstree-classic .jstree-no-dots li, >-.jstree-classic .jstree-no-dots .jstree-leaf > ins { background:transparent; } >-.jstree-classic .jstree-no-dots .jstree-open > ins { background-position:-18px 0; } >-.jstree-classic .jstree-no-dots .jstree-closed > ins { background-position:0 0; } >- >-.jstree-classic .jstree-no-icons a .jstree-icon { display:none; } >- >-.jstree-classic .jstree-search { font-style:italic; } >- >-.jstree-classic .jstree-no-icons .jstree-checkbox { display:inline-block; } >-.jstree-classic .jstree-no-checkboxes .jstree-checkbox { display:none !important; } >-.jstree-classic .jstree-checked > a > .jstree-checkbox { background-position:-38px -19px; } >-.jstree-classic .jstree-unchecked > a > .jstree-checkbox { background-position:-2px -19px; } >-.jstree-classic .jstree-undetermined > a > .jstree-checkbox { background-position:-20px -19px; } >-.jstree-classic .jstree-checked > a > .jstree-checkbox:hover { background-position:-38px -37px; } >-.jstree-classic .jstree-unchecked > a > .jstree-checkbox:hover { background-position:-2px -37px; } >-.jstree-classic .jstree-undetermined > a > .jstree-checkbox:hover { background-position:-20px -37px; } >- >-#vakata-dragged.jstree-classic ins { background:transparent !important; } >-#vakata-dragged.jstree-classic .jstree-ok { background:url("d.png") -2px -53px no-repeat !important; } >-#vakata-dragged.jstree-classic .jstree-invalid { background:url("d.png") -18px -53px no-repeat !important; } >-#jstree-marker.jstree-classic { background:url("d.png") -41px -57px no-repeat !important; text-indent:-100px; } >- >-.jstree-classic a.jstree-search { color:aqua; } >-.jstree-classic .jstree-locked a { color:silver; cursor:default; } >- >-#vakata-contextmenu.jstree-classic-context, >-#vakata-contextmenu.jstree-classic-context li ul { background:#f0f0f0; border:1px solid #979797; -moz-box-shadow: 1px 1px 2px #999; -webkit-box-shadow: 1px 1px 2px #999; box-shadow: 1px 1px 2px #999; } >-#vakata-contextmenu.jstree-classic-context li { } >-#vakata-contextmenu.jstree-classic-context a { color:black; } >-#vakata-contextmenu.jstree-classic-context a:hover, >-#vakata-contextmenu.jstree-classic-context .vakata-hover > a { padding:0 5px; background:#e8eff7; border:1px solid #aecff7; color:black; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; } >-#vakata-contextmenu.jstree-classic-context li.jstree-contextmenu-disabled a, >-#vakata-contextmenu.jstree-classic-context li.jstree-contextmenu-disabled a:hover { color:silver; background:transparent; border:0; padding:1px 4px; } >-#vakata-contextmenu.jstree-classic-context li.vakata-separator { background:white; border-top:1px solid #e0e0e0; margin:0; } >-#vakata-contextmenu.jstree-classic-context li ul { margin-left:-4px; } >- >-/* IE6 BEGIN */ >-.jstree-classic li, >-.jstree-classic ins, >-#vakata-dragged.jstree-classic .jstree-invalid, >-#vakata-dragged.jstree-classic .jstree-ok, >-#jstree-marker.jstree-classic { _background-image:url("d.gif"); } >-.jstree-classic .jstree-open ins { _background-position:-72px 0; } >-.jstree-classic .jstree-closed ins { _background-position:-54px 0; } >-.jstree-classic .jstree-leaf ins { _background-position:-36px 0; } >-.jstree-classic .jstree-open a ins.jstree-icon { _background-position:-56px -36px; } >-.jstree-classic .jstree-closed a ins.jstree-icon { _background-position:-56px -19px; } >-.jstree-classic .jstree-leaf a ins.jstree-icon { _background-position:-56px -19px; } >-#vakata-contextmenu.jstree-classic-context ins { _display:none; } >-#vakata-contextmenu.jstree-classic-context li { _zoom:1; } >-.jstree-classic .jstree-undetermined a .jstree-checkbox { _background-position:-20px -19px; } >-.jstree-classic .jstree-checked a .jstree-checkbox { _background-position:-38px -19px; } >-.jstree-classic .jstree-unchecked a .jstree-checkbox { _background-position:-2px -19px; } >-/* IE6 END */ >\ No newline at end of file >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/throbber.gif b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/throbber.gif >deleted file mode 100644 >index 5b33f7e54f4e55b6b8774d86d96895db9af044b4..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 1849 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 >EAHN$8j{pDw > >diff --git a/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss b/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss >index fa3421dee1..93c3226c49 100644 >--- a/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss >+++ b/koha-tmpl/intranet-tmpl/prog/css/src/staff-global.scss >@@ -3076,13 +3076,25 @@ td { > } > > #hierarchies { >+ margin-bottom: 1em; >+ > a { > color: #069; > font-weight: normal; > text-decoration: underline; > >- &:hover { >- color: #990033; >+ &.jstree-anchor { >+ &.jstree-hovered { >+ background: transparent none; >+ box-shadow: none; >+ color: #005580; >+ } >+ >+ &.jstree-clicked { >+ background: transparent none; >+ box-shadow: none; >+ border: 0; >+ } > } > } > } >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/detail.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/detail.tt >index 21ff0c23c9..1234fe1f6b 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/detail.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/detail.tt >@@ -11,6 +11,9 @@ > </title> > [% INCLUDE 'doc-head-close.inc' %] > [% Asset.css("css/addbiblio.css") | $raw %] >+[% IF ( displayhierarchy ) %] >+ [% Asset.css("lib/jquery/plugins/jstree/themes/default/style.min.css") | $raw %] >+[% END %] > </head> > > <body id="auth_detail" class="auth"> >@@ -129,7 +132,7 @@ > [% MACRO jsinclude BLOCK %] > [% INCLUDE 'authorities_js.inc' %] > [% IF ( displayhierarchy ) %] >- [% Asset.js("lib/jquery/plugins/jquery.jstree.js") | $raw %] >+ [% Asset.js("lib/jquery/plugins/jstree/jstree-3.3.12.min.js") | $raw %] > [% END %] > <script> > $(document).ready(function() { >@@ -141,16 +144,18 @@ > } > }); > [% IF ( displayhierarchy ) %] >- var current_nodes = []; >- $('.currentauth').each(function() { >- current_nodes.push('#' + $(this).parent().parents('li:first').attr('id')); >- }); > $('#hierarchies').jstree({ >- "plugins": [ "themes", "html_data"], >- "themes": { "theme": "classic", >- "icons": false }, >- "core": { "initially_open": current_nodes } >- }); >+ "types" : { >+ "default" : { >+ "icon" : "fa fa-file-o" >+ } >+ }, >+ "plugins" : [ "types" ] >+ }).on('ready.jstree', function(){ $(this).jstree('open_all') >+ }).bind("select_node.jstree", function (e, data) { >+ e.preventDefault(); >+ document.location.href = data.node.a_attr.href; >+ }); > [% END %] > }); > </script> >diff --git a/koha-tmpl/opac-tmpl/bootstrap/css/src/opac.scss b/koha-tmpl/opac-tmpl/bootstrap/css/src/opac.scss >index 9dbfbae0cd..a650a1f081 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/css/src/opac.scss >+++ b/koha-tmpl/opac-tmpl/bootstrap/css/src/opac.scss >@@ -1721,15 +1721,25 @@ nav { > } > > #hierarchies { >- margin: 1em 0; >+ margin-bottom: 1em; > > a { > color: #069; > font-weight: normal; > text-decoration: underline; > >- &:hover { >- color: #990033; >+ &.jstree-anchor { >+ &.jstree-hovered { >+ background: transparent none; >+ box-shadow: none; >+ color: #005580; >+ } >+ >+ &.jstree-clicked { >+ background: transparent none; >+ box-shadow: none; >+ border: 0; >+ } > } > } > } >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-authorities.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-authorities.inc >index 27c5296210..1b354fb3b2 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-authorities.inc >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-authorities.inc >@@ -1,6 +1,6 @@ > [% BLOCK showhierarchy %] > [% FOREACH tree IN trees %] >- [% PROCESS showtree tree = tree %] >+ [% PROCESS showtree tree = tree marc = marc %] > [% END %] > [% END %] > >@@ -11,10 +11,10 @@ > [% IF ( node.current_value ) %] > <span class="currentauth">[% node.value | html %]</span> > [% ELSE %] >- <a href="opac-authoritiesdetail.pl?authid=[% node.authid | uri %]" title="Term">[% node.value | html %]</a> >+ <a href="opac-authoritiesdetail.pl?authid=[% node.authid | uri %]&marc=[% marc | uri %]" title="Term">[% node.value | html %]</a> > [% END %] > [% IF ( node.children && node.children.size > 0 ) %] >- [% PROCESS showtree tree = node.children %] >+ [% PROCESS showtree tree = node.children marc = marc %] > [% END %] > </li> > [% END %] >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth-MARCdetail.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth-MARCdetail.tt >index 50d9ac59c6..c6dea95386 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth-MARCdetail.tt >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth-MARCdetail.tt >@@ -8,7 +8,11 @@ > [% INCLUDE 'doc-head-open.inc' %] > <title>Entry [% authtypetext | html %] › [% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %] catalog</title> > [% INCLUDE 'doc-head-close.inc' %] >-[% BLOCK cssinclude %][% END %] >+[% BLOCK cssinclude %] >+ [% IF ( displayhierarchy ) %] >+ [% Asset.css("lib/jquery/plugins/jstree/themes/default/style.min.css") | $raw %] >+ [% END %] >+[% END %] > </head> > [% INCLUDE 'bodytag.inc' bodyid='opac-authoritiesdetail' bodyclass='scrollto' %] > [% INCLUDE 'masthead.inc' %] >@@ -52,7 +56,7 @@ > > [% IF ( displayhierarchy ) %] > <div id="hierarchies"> >- [% PROCESS showhierarchy trees = loophierarchies %] >+ [% PROCESS showhierarchy trees = loophierarchies marc = 1 %] > </div> > [% END %] > >@@ -76,20 +80,22 @@ > > [% INCLUDE 'opac-bottom.inc' %] > [% BLOCK jsinclude %] >- [% Asset.js("lib/jquery/plugins/jquery.jstree.js") | $raw %] >+ [% Asset.js("lib/jquery/plugins/jstree/jstree-3.3.12.min.js") | $raw %] > <script> > $(document).ready(function() { > [% IF ( displayhierarchy ) %] >- var current_nodes = []; >- $('.currentauth').each(function() { >- current_nodes.push('#' + $(this).parent().parents('li:first').attr('id')); >- }); > $('#hierarchies').jstree({ >- "plugins": [ "themes", "html_data"], >- "themes": { "theme": "classic", >- "icons": false }, >- "core": { "initially_open": current_nodes } >- }); >+ "types" : { >+ "default" : { >+ "icon" : "fa fa-file-o" >+ } >+ }, >+ "plugins" : [ "types" ] >+ }).on('ready.jstree', function(){ $(this).jstree('open_all') >+ }).bind("select_node.jstree", function (e, data) { >+ e.preventDefault(); >+ document.location.href = data.node.a_attr.href; >+ }); > [% END %] > }); > </script> >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth-detail.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth-detail.tt >index f0d9fbcc2d..530b1e4090 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth-detail.tt >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth-detail.tt >@@ -8,7 +8,11 @@ > [% INCLUDE 'doc-head-open.inc' %] > <title>[% summary.mainentry | html %][% IF authtypetext %] ([% authtypetext | html %])[% END %] › Authority search › [% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %] catalog</title> > [% INCLUDE 'doc-head-close.inc' %] >-[% BLOCK cssinclude %][% END %] >+[% BLOCK cssinclude %] >+ [% IF ( displayhierarchy ) %] >+ [% Asset.css("lib/jquery/plugins/jstree/themes/default/style.min.css") | $raw %] >+ [% END %] >+[% END %] > </head> > [% INCLUDE 'bodytag.inc' bodyid='opac-authoritiesdetail' bodyclass='scrollto' %] > [% INCLUDE 'masthead.inc' %] >@@ -166,22 +170,24 @@ > [% INCLUDE 'opac-bottom.inc' %] > [% BLOCK jsinclude %] > [% IF ( displayhierarchy ) %] >- [% Asset.js("lib/jquery/plugins/jquery.jstree.js") | $raw %] >+ [% Asset.js("lib/jquery/plugins/jstree/jstree-3.3.12.min.js") | $raw %] > [% END %] > <script> > $(document).ready(function() { > $('#authdescriptions').tabs(); > [% IF ( displayhierarchy ) %] >- var current_nodes = []; >- $('.currentauth').each(function() { >- current_nodes.push('#' + $(this).parent().parents('li:first').attr('id')); >- }); > $('#hierarchies').jstree({ >- "plugins": [ "themes", "html_data"], >- "themes": { "theme": "classic", >- "icons": false }, >- "core": { "initially_open": current_nodes } >- }); >+ "types" : { >+ "default" : { >+ "icon" : "fa fa-file-o" >+ } >+ }, >+ "plugins" : [ "types" ] >+ }).on('ready.jstree', function(){ $(this).jstree('open_all') >+ }).bind("select_node.jstree", function (e, data) { >+ e.preventDefault(); >+ document.location.href = data.node.a_attr.href; >+ }); > [% END %] > }); > </script> >diff --git a/koha-tmpl/opac-tmpl/lib/jquery/plugins/jquery.jstree.js b/koha-tmpl/opac-tmpl/lib/jquery/plugins/jquery.jstree.js >deleted file mode 100644 >index c94e61f7ec..0000000000 >--- a/koha-tmpl/opac-tmpl/lib/jquery/plugins/jquery.jstree.js >+++ /dev/null >@@ -1,4551 +0,0 @@ >-/* >- * jsTree 1.0-rc3 >- * http://jstree.com/ >- * >- * Copyright (c) 2010 Ivan Bozhanov (vakata.com) >- * >- * Licensed same as jquery - under the terms of either the MIT License or the GPL Version 2 License >- * http://www.opensource.org/licenses/mit-license.php >- * http://www.gnu.org/licenses/gpl.html >- * >- * $Date: 2011-02-09 01:17:14 +0200 (ÑÑ, 09 ÑÐµÐ²Ñ 2011) $ >- * $Revision: 236 $ >- */ >- >-/*jslint browser: true, onevar: true, undef: true, bitwise: true, strict: true */ >-/*global window : false, clearInterval: false, clearTimeout: false, document: false, setInterval: false, setTimeout: false, jQuery: false, navigator: false, XSLTProcessor: false, DOMParser: false, XMLSerializer: false*/ >- >-"use strict"; >- >-// top wrapper to prevent multiple inclusion (is this OK?) >-(function () { if(jQuery && jQuery.jstree) { return; } >- var is_ie6 = false, is_ie7 = false, is_ff2 = false; >- >-/* >- * jsTree core >- */ >-(function ($) { >- // Common functions not related to jsTree >- // decided to move them to a `vakata` "namespace" >- $.vakata = {}; >- // CSS related functions >- $.vakata.css = { >- get_css : function(rule_name, delete_flag, sheet) { >- rule_name = rule_name.toLowerCase(); >- var css_rules = sheet.cssRules || sheet.rules, >- j = 0; >- do { >- if(css_rules.length && j > css_rules.length + 5) { return false; } >- if(css_rules[j].selectorText && css_rules[j].selectorText.toLowerCase() == rule_name) { >- if(delete_flag === true) { >- if(sheet.removeRule) { sheet.removeRule(j); } >- if(sheet.deleteRule) { sheet.deleteRule(j); } >- return true; >- } >- else { return css_rules[j]; } >- } >- } >- while (css_rules[++j]); >- return false; >- }, >- add_css : function(rule_name, sheet) { >- if($.jstree.css.get_css(rule_name, false, sheet)) { return false; } >- if(sheet.insertRule) { sheet.insertRule(rule_name + ' { }', 0); } else { sheet.addRule(rule_name, null, 0); } >- return $.vakata.css.get_css(rule_name); >- }, >- remove_css : function(rule_name, sheet) { >- return $.vakata.css.get_css(rule_name, true, sheet); >- }, >- add_sheet : function(opts) { >- var tmp = false, is_new = true; >- if(opts.str) { >- if(opts.title) { tmp = $("style[id='" + opts.title + "-stylesheet']")[0]; } >- if(tmp) { is_new = false; } >- else { >- tmp = document.createElement("style"); >- tmp.setAttribute('type',"text/css"); >- if(opts.title) { tmp.setAttribute("id", opts.title + "-stylesheet"); } >- } >- if(tmp.styleSheet) { >- if(is_new) { >- document.getElementsByTagName("head")[0].appendChild(tmp); >- tmp.styleSheet.cssText = opts.str; >- } >- else { >- tmp.styleSheet.cssText = tmp.styleSheet.cssText + " " + opts.str; >- } >- } >- else { >- tmp.appendChild(document.createTextNode(opts.str)); >- document.getElementsByTagName("head")[0].appendChild(tmp); >- } >- return tmp.sheet || tmp.styleSheet; >- } >- if(opts.url) { >- if(document.createStyleSheet) { >- try { tmp = document.createStyleSheet(opts.url); } catch (e) { } >- } >- else { >- tmp = document.createElement('link'); >- tmp.rel = 'stylesheet'; >- tmp.type = 'text/css'; >- tmp.media = "all"; >- tmp.href = opts.url; >- document.getElementsByTagName("head")[0].appendChild(tmp); >- return tmp.styleSheet; >- } >- } >- } >- }; >- >- // private variables >- var instances = [], // instance array (used by $.jstree.reference/create/focused) >- focused_instance = -1, // the index in the instance array of the currently focused instance >- plugins = {}, // list of included plugins >- prepared_move = {}; // for the move_node function >- >- // jQuery plugin wrapper (thanks to jquery UI widget function) >- $.fn.jstree = function (settings) { >- var isMethodCall = (typeof settings == 'string'), // is this a method call like $().jstree("open_node") >- args = Array.prototype.slice.call(arguments, 1), >- returnValue = this; >- >- // if a method call execute the method on all selected instances >- if(isMethodCall) { >- if(settings.substring(0, 1) == '_') { return returnValue; } >- this.each(function() { >- var instance = instances[$.data(this, "jstree_instance_id")], >- methodValue = (instance && $.isFunction(instance[settings])) ? instance[settings].apply(instance, args) : instance; >- if(typeof methodValue !== "undefined" && (settings.indexOf("is_") === 0 || (methodValue !== true && methodValue !== false))) { returnValue = methodValue; return false; } >- }); >- } >- else { >- this.each(function() { >- // extend settings and allow for multiple hashes and $.data >- var instance_id = $.data(this, "jstree_instance_id"), >- a = [], >- b = settings ? $.extend({}, true, settings) : {}, >- c = $(this), >- s = false, >- t = []; >- a = a.concat(args); >- if(c.data("jstree")) { a.push(c.data("jstree")); } >- b = a.length ? $.extend.apply(null, [true, b].concat(a)) : b; >- >- // if an instance already exists, destroy it first >- if(typeof instance_id !== "undefined" && instances[instance_id]) { instances[instance_id].destroy(); } >- // push a new empty object to the instances array >- instance_id = parseInt(instances.push({}),10) - 1; >- // store the jstree instance id to the container element >- $.data(this, "jstree_instance_id", instance_id); >- // clean up all plugins >- b.plugins = $.isArray(b.plugins) ? b.plugins : $.jstree.defaults.plugins.slice(); >- b.plugins.unshift("core"); >- // only unique plugins >- b.plugins = b.plugins.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(","); >- >- // extend defaults with passed data >- s = $.extend(true, {}, $.jstree.defaults, b); >- s.plugins = b.plugins; >- $.each(plugins, function (i, val) { >- if($.inArray(i, s.plugins) === -1) { s[i] = null; delete s[i]; } >- else { t.push(i); } >- }); >- s.plugins = t; >- >- // push the new object to the instances array (at the same time set the default classes to the container) and init >- instances[instance_id] = new $.jstree._instance(instance_id, $(this).addClass("jstree jstree-" + instance_id), s); >- // init all activated plugins for this instance >- $.each(instances[instance_id]._get_settings().plugins, function (i, val) { instances[instance_id].data[val] = {}; }); >- $.each(instances[instance_id]._get_settings().plugins, function (i, val) { if(plugins[val]) { plugins[val].__init.apply(instances[instance_id]); } }); >- // initialize the instance >- setTimeout(function() { if(instances[instance_id]) { instances[instance_id].init(); } }, 0); >- }); >- } >- // return the jquery selection (or if it was a method call that returned a value - the returned value) >- return returnValue; >- }; >- // object to store exposed functions and objects >- $.jstree = { >- defaults : { >- plugins : [] >- }, >- _focused : function () { return instances[focused_instance] || null; }, >- _reference : function (needle) { >- // get by instance id >- if(instances[needle]) { return instances[needle]; } >- // get by DOM (if still no luck - return null >- var o = $(needle); >- if(!o.length && typeof needle === "string") { o = $("#" + needle); } >- if(!o.length) { return null; } >- return instances[o.closest(".jstree").data("jstree_instance_id")] || null; >- }, >- _instance : function (index, container, settings) { >- // for plugins to store data in >- this.data = { core : {} }; >- this.get_settings = function () { return $.extend(true, {}, settings); }; >- this._get_settings = function () { return settings; }; >- this.get_index = function () { return index; }; >- this.get_container = function () { return container; }; >- this.get_container_ul = function () { return container.children("ul:eq(0)"); }; >- this._set_settings = function (s) { >- settings = $.extend(true, {}, settings, s); >- }; >- }, >- _fn : { }, >- plugin : function (pname, pdata) { >- pdata = $.extend({}, { >- __init : $.noop, >- __destroy : $.noop, >- _fn : {}, >- defaults : false >- }, pdata); >- plugins[pname] = pdata; >- >- $.jstree.defaults[pname] = pdata.defaults; >- $.each(pdata._fn, function (i, val) { >- val.plugin = pname; >- val.old = $.jstree._fn[i]; >- $.jstree._fn[i] = function () { >- var rslt, >- func = val, >- args = Array.prototype.slice.call(arguments), >- evnt = new $.Event("before.jstree"), >- rlbk = false; >- >- if(this.data.core.locked === true && i !== "unlock" && i !== "is_locked") { return; } >- >- // Check if function belongs to the included plugins of this instance >- do { >- if(func && func.plugin && $.inArray(func.plugin, this._get_settings().plugins) !== -1) { break; } >- func = func.old; >- } while(func); >- if(!func) { return; } >- >- // context and function to trigger events, then finally call the function >- if(i.indexOf("_") === 0) { >- rslt = func.apply(this, args); >- } >- else { >- rslt = this.get_container().triggerHandler(evnt, { "func" : i, "inst" : this, "args" : args, "plugin" : func.plugin }); >- if(rslt === false) { return; } >- if(typeof rslt !== "undefined") { args = rslt; } >- >- rslt = func.apply( >- $.extend({}, this, { >- __callback : function (data) { >- this.get_container().triggerHandler( i + '.jstree', { "inst" : this, "args" : args, "rslt" : data, "rlbk" : rlbk }); >- }, >- __rollback : function () { >- rlbk = this.get_rollback(); >- return rlbk; >- }, >- __call_old : function (replace_arguments) { >- return func.old.apply(this, (replace_arguments ? Array.prototype.slice.call(arguments, 1) : args ) ); >- } >- }), args); >- } >- >- // return the result >- return rslt; >- }; >- $.jstree._fn[i].old = val.old; >- $.jstree._fn[i].plugin = pname; >- }); >- }, >- rollback : function (rb) { >- if(rb) { >- if(!$.isArray(rb)) { rb = [ rb ]; } >- $.each(rb, function (i, val) { >- instances[val.i].set_rollback(val.h, val.d); >- }); >- } >- } >- }; >- // set the prototype for all instances >- $.jstree._fn = $.jstree._instance.prototype = {}; >- >- // load the css when DOM is ready >- $(function() { >- // code is copied from jQuery ($.browser is deprecated + there is a bug in IE) >- var u = navigator.userAgent.toLowerCase(), >- v = (u.match( /.+?(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1], >- css_string = '' + >- '.jstree ul, .jstree li { display:block; margin:0 0 0 0; padding:0 0 0 0; list-style-type:none; } ' + >- '.jstree li { display:block; min-height:18px; line-height:18px; white-space:nowrap; margin-left:18px; min-width:18px; } ' + >- '.jstree-rtl li { margin-left:0; margin-right:18px; } ' + >- '.jstree > ul > li { margin-left:0px; } ' + >- '.jstree-rtl > ul > li { margin-right:0px; } ' + >- '.jstree ins { display:inline-block; text-decoration:none; width:18px; height:18px; margin:0 0 0 0; padding:0; } ' + >- '.jstree a { display:inline-block; line-height:16px; height:16px; color:black; white-space:nowrap; text-decoration:none; padding:1px 2px; margin:0; } ' + >- '.jstree a:focus { outline: none; } ' + >- '.jstree a > ins { height:16px; width:16px; } ' + >- '.jstree a > .jstree-icon { margin-right:3px; } ' + >- '.jstree-rtl a > .jstree-icon { margin-left:3px; margin-right:0; } ' + >- 'li.jstree-open > ul { display:block; } ' + >- 'li.jstree-closed > ul { display:none; } '; >- // Correct IE 6 (does not support the > CSS selector) >- if(/msie/.test(u) && parseInt(v, 10) == 6) { >- is_ie6 = true; >- >- // fix image flicker and lack of caching >- try { >- document.execCommand("BackgroundImageCache", false, true); >- } catch (err) { } >- >- css_string += '' + >- '.jstree li { height:18px; margin-left:0; margin-right:0; } ' + >- '.jstree li li { margin-left:18px; } ' + >- '.jstree-rtl li li { margin-left:0px; margin-right:18px; } ' + >- 'li.jstree-open ul { display:block; } ' + >- 'li.jstree-closed ul { display:none !important; } ' + >- '.jstree li a { display:inline; border-width:0 !important; padding:0px 2px !important; } ' + >- '.jstree li a ins { height:16px; width:16px; margin-right:3px; } ' + >- '.jstree-rtl li a ins { margin-right:0px; margin-left:3px; } '; >- } >- // Correct IE 7 (shifts anchor nodes onhover) >- if(/msie/.test(u) && parseInt(v, 10) == 7) { >- is_ie7 = true; >- css_string += '.jstree li a { border-width:0 !important; padding:0px 2px !important; } '; >- } >- // correct ff2 lack of display:inline-block >- if(!/compatible/.test(u) && /mozilla/.test(u) && parseFloat(v, 10) < 1.9) { >- is_ff2 = true; >- css_string += '' + >- '.jstree ins { display:-moz-inline-box; } ' + >- '.jstree li { line-height:12px; } ' + // WHY?? >- '.jstree a { display:-moz-inline-box; } ' + >- '.jstree .jstree-no-icons .jstree-checkbox { display:-moz-inline-stack !important; } '; >- /* this shouldn't be here as it is theme specific */ >- } >- // the default stylesheet >- $.vakata.css.add_sheet({ str : css_string, title : "jstree" }); >- }); >- >- // core functions (open, close, create, update, delete) >- $.jstree.plugin("core", { >- __init : function () { >- this.data.core.locked = false; >- this.data.core.to_open = this.get_settings().core.initially_open; >- this.data.core.to_load = this.get_settings().core.initially_load; >- }, >- defaults : { >- html_titles : false, >- animation : 500, >- initially_open : [], >- initially_load : [], >- open_parents : true, >- notify_plugins : true, >- rtl : false, >- load_open : false, >- strings : { >- loading : "Loading ...", >- new_node : "New node", >- multiple_selection : "Multiple selection" >- } >- }, >- _fn : { >- init : function () { >- this.set_focus(); >- if(this._get_settings().core.rtl) { >- this.get_container().addClass("jstree-rtl").css("direction", "rtl"); >- } >- this.get_container().html("<ul><li class='jstree-last jstree-leaf'><ins> </ins><a class='jstree-loading' href='#'><ins class='jstree-icon'> </ins>" + this._get_string("loading") + "</a></li></ul>"); >- this.data.core.li_height = this.get_container_ul().find("li.jstree-closed, li.jstree-leaf").eq(0).height() || 18; >- >- this.get_container() >- .delegate("li > ins", "click.jstree", $.proxy(function (event) { >- var trgt = $(event.target); >- // if(trgt.is("ins") && event.pageY - trgt.offset().top < this.data.core.li_height) { this.toggle_node(trgt); } >- this.toggle_node(trgt); >- }, this)) >- .bind("mousedown.jstree", $.proxy(function () { >- this.set_focus(); // This used to be setTimeout(set_focus,0) - why? >- }, this)) >- .bind("dblclick.jstree", function (event) { >- var sel; >- if(document.selection && document.selection.empty) { document.selection.empty(); } >- else { >- if(window.getSelection) { >- sel = window.getSelection(); >- try { >- sel.removeAllRanges(); >- sel.collapse(); >- } catch (err) { } >- } >- } >- }); >- if(this._get_settings().core.notify_plugins) { >- this.get_container() >- .bind("load_node.jstree", $.proxy(function (e, data) { >- var o = this._get_node(data.rslt.obj), >- t = this; >- if(o === -1) { o = this.get_container_ul(); } >- if(!o.length) { return; } >- o.find("li").each(function () { >- var th = $(this); >- if(th.data("jstree")) { >- $.each(th.data("jstree"), function (plugin, values) { >- if(t.data[plugin] && $.isFunction(t["_" + plugin + "_notify"])) { >- t["_" + plugin + "_notify"].call(t, th, values); >- } >- }); >- } >- }); >- }, this)); >- } >- if(this._get_settings().core.load_open) { >- this.get_container() >- .bind("load_node.jstree", $.proxy(function (e, data) { >- var o = this._get_node(data.rslt.obj), >- t = this; >- if(o === -1) { o = this.get_container_ul(); } >- if(!o.length) { return; } >- o.find("li.jstree-open:not(:has(ul))").each(function () { >- t.load_node(this, $.noop, $.noop); >- }); >- }, this)); >- } >- this.__callback(); >- this.load_node(-1, function () { this.loaded(); this.reload_nodes(); }); >- }, >- destroy : function () { >- var i, >- n = this.get_index(), >- s = this._get_settings(), >- _this = this; >- >- $.each(s.plugins, function (i, val) { >- try { plugins[val].__destroy.apply(_this); } catch(err) { } >- }); >- this.__callback(); >- // set focus to another instance if this one is focused >- if(this.is_focused()) { >- for(i in instances) { >- if(instances.hasOwnProperty(i) && i != n) { >- instances[i].set_focus(); >- break; >- } >- } >- } >- // if no other instance found >- if(n === focused_instance) { focused_instance = -1; } >- // remove all traces of jstree in the DOM (only the ones set using jstree*) and cleans all events >- this.get_container() >- .unbind(".jstree") >- .undelegate(".jstree") >- .removeData("jstree_instance_id") >- .find("[class^='jstree']") >- .andSelf() >- .attr("class", function () { return this.className.replace(/jstree[^ ]*|$/ig,''); }); >- $(document) >- .unbind(".jstree-" + n) >- .undelegate(".jstree-" + n); >- // remove the actual data >- instances[n] = null; >- delete instances[n]; >- }, >- >- _core_notify : function (n, data) { >- if(data.opened) { >- this.open_node(n, false, true); >- } >- }, >- >- lock : function () { >- this.data.core.locked = true; >- this.get_container().children("ul").addClass("jstree-locked").css("opacity","0.7"); >- this.__callback({}); >- }, >- unlock : function () { >- this.data.core.locked = false; >- this.get_container().children("ul").removeClass("jstree-locked").css("opacity","1"); >- this.__callback({}); >- }, >- is_locked : function () { return this.data.core.locked; }, >- save_opened : function () { >- var _this = this; >- this.data.core.to_open = []; >- this.get_container_ul().find("li.jstree-open").each(function () { >- if(this.id) { _this.data.core.to_open.push("#" + this.id.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:")); } >- }); >- this.__callback(_this.data.core.to_open); >- }, >- save_loaded : function () { }, >- reload_nodes : function (is_callback) { >- var _this = this, >- done = true, >- current = [], >- remaining = []; >- if(!is_callback) { >- this.data.core.reopen = false; >- this.data.core.refreshing = true; >- this.data.core.to_open = $.map($.makeArray(this.data.core.to_open), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); }); >- this.data.core.to_load = $.map($.makeArray(this.data.core.to_load), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); }); >- if(this.data.core.to_open.length) { >- this.data.core.to_load = this.data.core.to_load.concat(this.data.core.to_open); >- } >- } >- if(this.data.core.to_load.length) { >- $.each(this.data.core.to_load, function (i, val) { >- if(val == "#") { return true; } >- if($(val).length) { current.push(val); } >- else { remaining.push(val); } >- }); >- if(current.length) { >- this.data.core.to_load = remaining; >- $.each(current, function (i, val) { >- if(!_this._is_loaded(val)) { >- _this.load_node(val, function () { _this.reload_nodes(true); }, function () { _this.reload_nodes(true); }); >- done = false; >- } >- }); >- } >- } >- if(this.data.core.to_open.length) { >- $.each(this.data.core.to_open, function (i, val) { >- _this.open_node(val, false, true); >- }); >- } >- if(done) { >- // TODO: find a more elegant approach to syncronizing returning requests >- if(this.data.core.reopen) { clearTimeout(this.data.core.reopen); } >- this.data.core.reopen = setTimeout(function () { _this.__callback({}, _this); }, 50); >- this.data.core.refreshing = false; >- this.reopen(); >- } >- }, >- reopen : function () { >- var _this = this; >- if(this.data.core.to_open.length) { >- $.each(this.data.core.to_open, function (i, val) { >- _this.open_node(val, false, true); >- }); >- } >- this.__callback({}); >- }, >- refresh : function (obj) { >- var _this = this; >- this.save_opened(); >- if(!obj) { obj = -1; } >- obj = this._get_node(obj); >- if(!obj) { obj = -1; } >- if(obj !== -1) { obj.children("UL").remove(); } >- else { this.get_container_ul().empty(); } >- this.load_node(obj, function () { _this.__callback({ "obj" : obj}); _this.reload_nodes(); }); >- }, >- // Dummy function to fire after the first load (so that there is a jstree.loaded event) >- loaded : function () { >- this.__callback(); >- }, >- // deal with focus >- set_focus : function () { >- if(this.is_focused()) { return; } >- var f = $.jstree._focused(); >- if(f) { f.unset_focus(); } >- >- this.get_container().addClass("jstree-focused"); >- focused_instance = this.get_index(); >- this.__callback(); >- }, >- is_focused : function () { >- return focused_instance == this.get_index(); >- }, >- unset_focus : function () { >- if(this.is_focused()) { >- this.get_container().removeClass("jstree-focused"); >- focused_instance = -1; >- } >- this.__callback(); >- }, >- >- // traverse >- _get_node : function (obj) { >- var $obj = $(obj, this.get_container()); >- if($obj.is(".jstree") || obj == -1) { return -1; } >- $obj = $obj.closest("li", this.get_container()); >- return $obj.length ? $obj : false; >- }, >- _get_next : function (obj, strict) { >- obj = this._get_node(obj); >- if(obj === -1) { return this.get_container().find("> ul > li:first-child"); } >- if(!obj.length) { return false; } >- if(strict) { return (obj.nextAll("li").size() > 0) ? obj.nextAll("li:eq(0)") : false; } >- >- if(obj.hasClass("jstree-open")) { return obj.find("li:eq(0)"); } >- else if(obj.nextAll("li").size() > 0) { return obj.nextAll("li:eq(0)"); } >- else { return obj.parentsUntil(".jstree","li").next("li").eq(0); } >- }, >- _get_prev : function (obj, strict) { >- obj = this._get_node(obj); >- if(obj === -1) { return this.get_container().find("> ul > li:last-child"); } >- if(!obj.length) { return false; } >- if(strict) { return (obj.prevAll("li").length > 0) ? obj.prevAll("li:eq(0)") : false; } >- >- if(obj.prev("li").length) { >- obj = obj.prev("li").eq(0); >- while(obj.hasClass("jstree-open")) { obj = obj.children("ul:eq(0)").children("li:last"); } >- return obj; >- } >- else { var o = obj.parentsUntil(".jstree","li:eq(0)"); return o.length ? o : false; } >- }, >- _get_parent : function (obj) { >- obj = this._get_node(obj); >- if(obj == -1 || !obj.length) { return false; } >- var o = obj.parentsUntil(".jstree", "li:eq(0)"); >- return o.length ? o : -1; >- }, >- _get_children : function (obj) { >- obj = this._get_node(obj); >- if(obj === -1) { return this.get_container().children("ul:eq(0)").children("li"); } >- if(!obj.length) { return false; } >- return obj.children("ul:eq(0)").children("li"); >- }, >- get_path : function (obj, id_mode) { >- var p = [], >- _this = this; >- obj = this._get_node(obj); >- if(obj === -1 || !obj || !obj.length) { return false; } >- obj.parentsUntil(".jstree", "li").each(function () { >- p.push( id_mode ? this.id : _this.get_text(this) ); >- }); >- p.reverse(); >- p.push( id_mode ? obj.attr("id") : this.get_text(obj) ); >- return p; >- }, >- >- // string functions >- _get_string : function (key) { >- return this._get_settings().core.strings[key] || key; >- }, >- >- is_open : function (obj) { obj = this._get_node(obj); return obj && obj !== -1 && obj.hasClass("jstree-open"); }, >- is_closed : function (obj) { obj = this._get_node(obj); return obj && obj !== -1 && obj.hasClass("jstree-closed"); }, >- is_leaf : function (obj) { obj = this._get_node(obj); return obj && obj !== -1 && obj.hasClass("jstree-leaf"); }, >- correct_state : function (obj) { >- obj = this._get_node(obj); >- if(!obj || obj === -1) { return false; } >- obj.removeClass("jstree-closed jstree-open").addClass("jstree-leaf").children("ul").remove(); >- this.__callback({ "obj" : obj }); >- }, >- // open/close >- open_node : function (obj, callback, skip_animation) { >- obj = this._get_node(obj); >- if(!obj.length) { return false; } >- if(!obj.hasClass("jstree-closed")) { if(callback) { callback.call(); } return false; } >- var s = skip_animation || is_ie6 ? 0 : this._get_settings().core.animation, >- t = this; >- if(!this._is_loaded(obj)) { >- obj.children("a").addClass("jstree-loading"); >- this.load_node(obj, function () { t.open_node(obj, callback, skip_animation); }, callback); >- } >- else { >- if(this._get_settings().core.open_parents) { >- obj.parentsUntil(".jstree",".jstree-closed").each(function () { >- t.open_node(this, false, true); >- }); >- } >- if(s) { obj.children("ul").css("display","none"); } >- obj.removeClass("jstree-closed").addClass("jstree-open").children("a").removeClass("jstree-loading"); >- if(s) { obj.children("ul").stop(true, true).slideDown(s, function () { this.style.display = ""; t.after_open(obj); }); } >- else { t.after_open(obj); } >- this.__callback({ "obj" : obj }); >- if(callback) { callback.call(); } >- } >- }, >- after_open : function (obj) { this.__callback({ "obj" : obj }); }, >- close_node : function (obj, skip_animation) { >- obj = this._get_node(obj); >- var s = skip_animation || is_ie6 ? 0 : this._get_settings().core.animation, >- t = this; >- if(!obj.length || !obj.hasClass("jstree-open")) { return false; } >- if(s) { obj.children("ul").attr("style","display:block !important"); } >- obj.removeClass("jstree-open").addClass("jstree-closed"); >- if(s) { obj.children("ul").stop(true, true).slideUp(s, function () { this.style.display = ""; t.after_close(obj); }); } >- else { t.after_close(obj); } >- this.__callback({ "obj" : obj }); >- }, >- after_close : function (obj) { this.__callback({ "obj" : obj }); }, >- toggle_node : function (obj) { >- obj = this._get_node(obj); >- if(obj.hasClass("jstree-closed")) { return this.open_node(obj); } >- if(obj.hasClass("jstree-open")) { return this.close_node(obj); } >- }, >- open_all : function (obj, do_animation, original_obj) { >- obj = obj ? this._get_node(obj) : -1; >- if(!obj || obj === -1) { obj = this.get_container_ul(); } >- if(original_obj) { >- obj = obj.find("li.jstree-closed"); >- } >- else { >- original_obj = obj; >- if(obj.is(".jstree-closed")) { obj = obj.find("li.jstree-closed").andSelf(); } >- else { obj = obj.find("li.jstree-closed"); } >- } >- var _this = this; >- obj.each(function () { >- var __this = this; >- if(!_this._is_loaded(this)) { _this.open_node(this, function() { _this.open_all(__this, do_animation, original_obj); }, !do_animation); } >- else { _this.open_node(this, false, !do_animation); } >- }); >- // so that callback is fired AFTER all nodes are open >- if(original_obj.find('li.jstree-closed').length === 0) { this.__callback({ "obj" : original_obj }); } >- }, >- close_all : function (obj, do_animation) { >- var _this = this; >- obj = obj ? this._get_node(obj) : this.get_container(); >- if(!obj || obj === -1) { obj = this.get_container_ul(); } >- obj.find("li.jstree-open").andSelf().each(function () { _this.close_node(this, !do_animation); }); >- this.__callback({ "obj" : obj }); >- }, >- clean_node : function (obj) { >- obj = obj && obj != -1 ? $(obj) : this.get_container_ul(); >- obj = obj.is("li") ? obj.find("li").andSelf() : obj.find("li"); >- obj.removeClass("jstree-last") >- .filter("li:last-child").addClass("jstree-last").end() >- .filter(":has(li)") >- .not(".jstree-open").removeClass("jstree-leaf").addClass("jstree-closed"); >- obj.not(".jstree-open, .jstree-closed").addClass("jstree-leaf").children("ul").remove(); >- this.__callback({ "obj" : obj }); >- }, >- // rollback >- get_rollback : function () { >- this.__callback(); >- return { i : this.get_index(), h : this.get_container().children("ul").clone(true), d : this.data }; >- }, >- set_rollback : function (html, data) { >- this.get_container().empty().append(html); >- this.data = data; >- this.__callback(); >- }, >- // Dummy functions to be overwritten by any datastore plugin included >- load_node : function (obj, s_call, e_call) { this.__callback({ "obj" : obj }); }, >- _is_loaded : function (obj) { return true; }, >- >- // Basic operations: create >- create_node : function (obj, position, js, callback, is_loaded) { >- obj = this._get_node(obj); >- position = typeof position === "undefined" ? "last" : position; >- var d = $("<li />"), >- s = this._get_settings().core, >- tmp; >- >- if(obj !== -1 && !obj.length) { return false; } >- if(!is_loaded && !this._is_loaded(obj)) { this.load_node(obj, function () { this.create_node(obj, position, js, callback, true); }); return false; } >- >- this.__rollback(); >- >- if(typeof js === "string") { js = { "data" : js }; } >- if(!js) { js = {}; } >- if(js.attr) { d.attr(js.attr); } >- if(js.metadata) { d.data(js.metadata); } >- if(js.state) { d.addClass("jstree-" + js.state); } >- if(!js.data) { js.data = this._get_string("new_node"); } >- if(!$.isArray(js.data)) { tmp = js.data; js.data = []; js.data.push(tmp); } >- $.each(js.data, function (i, m) { >- tmp = $("<a />"); >- if($.isFunction(m)) { m = m.call(this, js); } >- if(typeof m == "string") { tmp.attr('href','#')[ s.html_titles ? "html" : "text" ](m); } >- else { >- if(!m.attr) { m.attr = {}; } >- if(!m.attr.href) { m.attr.href = '#'; } >- tmp.attr(m.attr)[ s.html_titles ? "html" : "text" ](m.title); >- if(m.language) { tmp.addClass(m.language); } >- } >- tmp.prepend("<ins class='jstree-icon'> </ins>"); >- if(!m.icon && js.icon) { m.icon = js.icon; } >- if(m.icon) { >- if(m.icon.indexOf("/") === -1) { tmp.children("ins").addClass(m.icon); } >- else { tmp.children("ins").css("background","url('" + m.icon + "') center center no-repeat"); } >- } >- d.append(tmp); >- }); >- d.prepend("<ins class='jstree-icon'> </ins>"); >- if(obj === -1) { >- obj = this.get_container(); >- if(position === "before") { position = "first"; } >- if(position === "after") { position = "last"; } >- } >- switch(position) { >- case "before": obj.before(d); tmp = this._get_parent(obj); break; >- case "after" : obj.after(d); tmp = this._get_parent(obj); break; >- case "inside": >- case "first" : >- if(!obj.children("ul").length) { obj.append("<ul />"); } >- obj.children("ul").prepend(d); >- tmp = obj; >- break; >- case "last": >- if(!obj.children("ul").length) { obj.append("<ul />"); } >- obj.children("ul").append(d); >- tmp = obj; >- break; >- default: >- if(!obj.children("ul").length) { obj.append("<ul />"); } >- if(!position) { position = 0; } >- tmp = obj.children("ul").children("li").eq(position); >- if(tmp.length) { tmp.before(d); } >- else { obj.children("ul").append(d); } >- tmp = obj; >- break; >- } >- if(tmp === -1 || tmp.get(0) === this.get_container().get(0)) { tmp = -1; } >- this.clean_node(tmp); >- this.__callback({ "obj" : d, "parent" : tmp }); >- if(callback) { callback.call(this, d); } >- return d; >- }, >- // Basic operations: rename (deal with text) >- get_text : function (obj) { >- obj = this._get_node(obj); >- if(!obj.length) { return false; } >- var s = this._get_settings().core.html_titles; >- obj = obj.children("a:eq(0)"); >- if(s) { >- obj = obj.clone(); >- obj.children("INS").remove(); >- return obj.html(); >- } >- else { >- obj = obj.contents().filter(function() { return this.nodeType == 3; })[0]; >- return obj.nodeValue; >- } >- }, >- set_text : function (obj, val) { >- obj = this._get_node(obj); >- if(!obj.length) { return false; } >- obj = obj.children("a:eq(0)"); >- if(this._get_settings().core.html_titles) { >- var tmp = obj.children("INS").clone(); >- obj.html(val).prepend(tmp); >- this.__callback({ "obj" : obj, "name" : val }); >- return true; >- } >- else { >- obj = obj.contents().filter(function() { return this.nodeType == 3; })[0]; >- this.__callback({ "obj" : obj, "name" : val }); >- return (obj.nodeValue = val); >- } >- }, >- rename_node : function (obj, val) { >- obj = this._get_node(obj); >- this.__rollback(); >- if(obj && obj.length && this.set_text.apply(this, Array.prototype.slice.call(arguments))) { this.__callback({ "obj" : obj, "name" : val }); } >- }, >- // Basic operations: deleting nodes >- delete_node : function (obj) { >- obj = this._get_node(obj); >- if(!obj.length) { return false; } >- this.__rollback(); >- var p = this._get_parent(obj), prev = $([]), t = this; >- obj.each(function () { >- prev = prev.add(t._get_prev(this)); >- }); >- obj = obj.detach(); >- if(p !== -1 && p.find("> ul > li").length === 0) { >- p.removeClass("jstree-open jstree-closed").addClass("jstree-leaf"); >- } >- this.clean_node(p); >- this.__callback({ "obj" : obj, "prev" : prev, "parent" : p }); >- return obj; >- }, >- prepare_move : function (o, r, pos, cb, is_cb) { >- var p = {}; >- >- p.ot = $.jstree._reference(o) || this; >- p.o = p.ot._get_node(o); >- p.r = r === - 1 ? -1 : this._get_node(r); >- p.p = (typeof pos === "undefined" || pos === false) ? "last" : pos; // TODO: move to a setting >- if(!is_cb && prepared_move.o && prepared_move.o[0] === p.o[0] && prepared_move.r[0] === p.r[0] && prepared_move.p === p.p) { >- this.__callback(prepared_move); >- if(cb) { cb.call(this, prepared_move); } >- return; >- } >- p.ot = $.jstree._reference(p.o) || this; >- p.rt = $.jstree._reference(p.r) || this; // r === -1 ? p.ot : $.jstree._reference(p.r) || this >- if(p.r === -1 || !p.r) { >- p.cr = -1; >- switch(p.p) { >- case "first": >- case "before": >- case "inside": >- p.cp = 0; >- break; >- case "after": >- case "last": >- p.cp = p.rt.get_container().find(" > ul > li").length; >- break; >- default: >- p.cp = p.p; >- break; >- } >- } >- else { >- if(!/^(before|after)$/.test(p.p) && !this._is_loaded(p.r)) { >- return this.load_node(p.r, function () { this.prepare_move(o, r, pos, cb, true); }); >- } >- switch(p.p) { >- case "before": >- p.cp = p.r.index(); >- p.cr = p.rt._get_parent(p.r); >- break; >- case "after": >- p.cp = p.r.index() + 1; >- p.cr = p.rt._get_parent(p.r); >- break; >- case "inside": >- case "first": >- p.cp = 0; >- p.cr = p.r; >- break; >- case "last": >- p.cp = p.r.find(" > ul > li").length; >- p.cr = p.r; >- break; >- default: >- p.cp = p.p; >- p.cr = p.r; >- break; >- } >- } >- p.np = p.cr == -1 ? p.rt.get_container() : p.cr; >- p.op = p.ot._get_parent(p.o); >- p.cop = p.o.index(); >- if(p.op === -1) { p.op = p.ot ? p.ot.get_container() : this.get_container(); } >- if(!/^(before|after)$/.test(p.p) && p.op && p.np && p.op[0] === p.np[0] && p.o.index() < p.cp) { p.cp++; } >- //if(p.p === "before" && p.op && p.np && p.op[0] === p.np[0] && p.o.index() < p.cp) { p.cp--; } >- p.or = p.np.find(" > ul > li:nth-child(" + (p.cp + 1) + ")"); >- prepared_move = p; >- this.__callback(prepared_move); >- if(cb) { cb.call(this, prepared_move); } >- }, >- check_move : function () { >- var obj = prepared_move, ret = true, r = obj.r === -1 ? this.get_container() : obj.r; >- if(!obj || !obj.o || obj.or[0] === obj.o[0]) { return false; } >- if(obj.op && obj.np && obj.op[0] === obj.np[0] && obj.cp - 1 === obj.o.index()) { return false; } >- obj.o.each(function () { >- if(r.parentsUntil(".jstree", "li").andSelf().index(this) !== -1) { ret = false; return false; } >- }); >- return ret; >- }, >- move_node : function (obj, ref, position, is_copy, is_prepared, skip_check) { >- if(!is_prepared) { >- return this.prepare_move(obj, ref, position, function (p) { >- this.move_node(p, false, false, is_copy, true, skip_check); >- }); >- } >- if(is_copy) { >- prepared_move.cy = true; >- } >- if(!skip_check && !this.check_move()) { return false; } >- >- this.__rollback(); >- var o = false; >- if(is_copy) { >- o = obj.o.clone(true); >- o.find("*[id]").andSelf().each(function () { >- if(this.id) { this.id = "copy_" + this.id; } >- }); >- } >- else { o = obj.o; } >- >- if(obj.or.length) { obj.or.before(o); } >- else { >- if(!obj.np.children("ul").length) { $("<ul />").appendTo(obj.np); } >- obj.np.children("ul:eq(0)").append(o); >- } >- >- try { >- obj.ot.clean_node(obj.op); >- obj.rt.clean_node(obj.np); >- if(!obj.op.find("> ul > li").length) { >- obj.op.removeClass("jstree-open jstree-closed").addClass("jstree-leaf").children("ul").remove(); >- } >- } catch (e) { } >- >- if(is_copy) { >- prepared_move.cy = true; >- prepared_move.oc = o; >- } >- this.__callback(prepared_move); >- return prepared_move; >- }, >- _get_move : function () { return prepared_move; } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree ui plugin >- * This plugins handles selecting/deselecting/hovering/dehovering nodes >- */ >-(function ($) { >- var scrollbar_width, e1, e2; >- $(function() { >- if (/msie/.test(navigator.userAgent.toLowerCase())) { >- e1 = $('<textarea cols="10" rows="2"></textarea>').css({ position: 'absolute', top: -1000, left: 0 }).appendTo('body'); >- e2 = $('<textarea cols="10" rows="2" style="overflow: hidden;"></textarea>').css({ position: 'absolute', top: -1000, left: 0 }).appendTo('body'); >- scrollbar_width = e1.width() - e2.width(); >- e1.add(e2).remove(); >- } >- else { >- e1 = $('<div />').css({ width: 100, height: 100, overflow: 'auto', position: 'absolute', top: -1000, left: 0 }) >- .prependTo('body').append('<div />').find('div').css({ width: '100%', height: 200 }); >- scrollbar_width = 100 - e1.width(); >- e1.parent().remove(); >- } >- }); >- $.jstree.plugin("ui", { >- __init : function () { >- this.data.ui.selected = $(); >- this.data.ui.last_selected = false; >- this.data.ui.hovered = null; >- this.data.ui.to_select = this.get_settings().ui.initially_select; >- >- this.get_container() >- .delegate("a", "click.jstree", $.proxy(function (event) { >- event.preventDefault(); >- event.currentTarget.blur(); >- if(!$(event.currentTarget).hasClass("jstree-loading")) { >- this.select_node(event.currentTarget, true, event); >- } >- }, this)) >- .delegate("a", "mouseenter.jstree", $.proxy(function (event) { >- if(!$(event.currentTarget).hasClass("jstree-loading")) { >- this.hover_node(event.target); >- } >- }, this)) >- .delegate("a", "mouseleave.jstree", $.proxy(function (event) { >- if(!$(event.currentTarget).hasClass("jstree-loading")) { >- this.dehover_node(event.target); >- } >- }, this)) >- .bind("reopen.jstree", $.proxy(function () { >- this.reselect(); >- }, this)) >- .bind("get_rollback.jstree", $.proxy(function () { >- this.dehover_node(); >- this.save_selected(); >- }, this)) >- .bind("set_rollback.jstree", $.proxy(function () { >- this.reselect(); >- }, this)) >- .bind("close_node.jstree", $.proxy(function (event, data) { >- var s = this._get_settings().ui, >- obj = this._get_node(data.rslt.obj), >- clk = (obj && obj.length) ? obj.children("ul").find("a.jstree-clicked") : $(), >- _this = this; >- if(s.selected_parent_close === false || !clk.length) { return; } >- clk.each(function () { >- _this.deselect_node(this); >- if(s.selected_parent_close === "select_parent") { _this.select_node(obj); } >- }); >- }, this)) >- .bind("delete_node.jstree", $.proxy(function (event, data) { >- var s = this._get_settings().ui.select_prev_on_delete, >- obj = this._get_node(data.rslt.obj), >- clk = (obj && obj.length) ? obj.find("a.jstree-clicked") : [], >- _this = this; >- clk.each(function () { _this.deselect_node(this); }); >- if(s && clk.length) { >- data.rslt.prev.each(function () { >- if(this.parentNode) { _this.select_node(this); return false; /* if return false is removed all prev nodes will be selected */} >- }); >- } >- }, this)) >- .bind("move_node.jstree", $.proxy(function (event, data) { >- if(data.rslt.cy) { >- data.rslt.oc.find("a.jstree-clicked").removeClass("jstree-clicked"); >- } >- }, this)); >- }, >- defaults : { >- select_limit : -1, // 0, 1, 2 ... or -1 for unlimited >- select_multiple_modifier : "ctrl", // on, or ctrl, shift, alt >- select_range_modifier : "shift", >- selected_parent_close : "select_parent", // false, "deselect", "select_parent" >- selected_parent_open : true, >- select_prev_on_delete : true, >- disable_selecting_children : false, >- initially_select : [] >- }, >- _fn : { >- _get_node : function (obj, allow_multiple) { >- if(typeof obj === "undefined" || obj === null) { return allow_multiple ? this.data.ui.selected : this.data.ui.last_selected; } >- var $obj = $(obj, this.get_container()); >- if($obj.is(".jstree") || obj == -1) { return -1; } >- $obj = $obj.closest("li", this.get_container()); >- return $obj.length ? $obj : false; >- }, >- _ui_notify : function (n, data) { >- if(data.selected) { >- this.select_node(n, false); >- } >- }, >- save_selected : function () { >- var _this = this; >- this.data.ui.to_select = []; >- this.data.ui.selected.each(function () { if(this.id) { _this.data.ui.to_select.push("#" + this.id.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:")); } }); >- this.__callback(this.data.ui.to_select); >- }, >- reselect : function () { >- var _this = this, >- s = this.data.ui.to_select; >- s = $.map($.makeArray(s), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); }); >- // this.deselect_all(); WHY deselect, breaks plugin state notifier? >- $.each(s, function (i, val) { if(val && val !== "#") { _this.select_node(val); } }); >- this.data.ui.selected = this.data.ui.selected.filter(function () { return this.parentNode; }); >- this.__callback(); >- }, >- refresh : function (obj) { >- this.save_selected(); >- return this.__call_old(); >- }, >- hover_node : function (obj) { >- obj = this._get_node(obj); >- if(!obj.length) { return false; } >- //if(this.data.ui.hovered && obj.get(0) === this.data.ui.hovered.get(0)) { return; } >- if(!obj.hasClass("jstree-hovered")) { this.dehover_node(); } >- this.data.ui.hovered = obj.children("a").addClass("jstree-hovered").parent(); >- this._fix_scroll(obj); >- this.__callback({ "obj" : obj }); >- }, >- dehover_node : function () { >- var obj = this.data.ui.hovered, p; >- if(!obj || !obj.length) { return false; } >- p = obj.children("a").removeClass("jstree-hovered").parent(); >- if(this.data.ui.hovered[0] === p[0]) { this.data.ui.hovered = null; } >- this.__callback({ "obj" : obj }); >- }, >- select_node : function (obj, check, e) { >- obj = this._get_node(obj); >- if(obj == -1 || !obj || !obj.length) { return false; } >- var s = this._get_settings().ui, >- is_multiple = (s.select_multiple_modifier == "on" || (s.select_multiple_modifier !== false && e && e[s.select_multiple_modifier + "Key"])), >- is_range = (s.select_range_modifier !== false && e && e[s.select_range_modifier + "Key"] && this.data.ui.last_selected && this.data.ui.last_selected[0] !== obj[0] && this.data.ui.last_selected.parent()[0] === obj.parent()[0]), >- is_selected = this.is_selected(obj), >- proceed = true, >- t = this; >- if(check) { >- if(s.disable_selecting_children && is_multiple && >- ( >- (obj.parentsUntil(".jstree","li").children("a.jstree-clicked").length) || >- (obj.children("ul").find("a.jstree-clicked:eq(0)").length) >- ) >- ) { >- return false; >- } >- proceed = false; >- switch(!0) { >- case (is_range): >- this.data.ui.last_selected.addClass("jstree-last-selected"); >- obj = obj[ obj.index() < this.data.ui.last_selected.index() ? "nextUntil" : "prevUntil" ](".jstree-last-selected").andSelf(); >- if(s.select_limit == -1 || obj.length < s.select_limit) { >- this.data.ui.last_selected.removeClass("jstree-last-selected"); >- this.data.ui.selected.each(function () { >- if(this !== t.data.ui.last_selected[0]) { t.deselect_node(this); } >- }); >- is_selected = false; >- proceed = true; >- } >- else { >- proceed = false; >- } >- break; >- case (is_selected && !is_multiple): >- this.deselect_all(); >- is_selected = false; >- proceed = true; >- break; >- case (!is_selected && !is_multiple): >- if(s.select_limit == -1 || s.select_limit > 0) { >- this.deselect_all(); >- proceed = true; >- } >- break; >- case (is_selected && is_multiple): >- this.deselect_node(obj); >- break; >- case (!is_selected && is_multiple): >- if(s.select_limit == -1 || this.data.ui.selected.length + 1 <= s.select_limit) { >- proceed = true; >- } >- break; >- } >- } >- if(proceed && !is_selected) { >- if(!is_range) { this.data.ui.last_selected = obj; } >- obj.children("a").addClass("jstree-clicked"); >- if(s.selected_parent_open) { >- obj.parents(".jstree-closed").each(function () { t.open_node(this, false, true); }); >- } >- this.data.ui.selected = this.data.ui.selected.add(obj); >- this._fix_scroll(obj.eq(0)); >- this.__callback({ "obj" : obj, "e" : e }); >- } >- }, >- _fix_scroll : function (obj) { >- var c = this.get_container()[0], t; >- if(c.scrollHeight > c.offsetHeight) { >- obj = this._get_node(obj); >- if(!obj || obj === -1 || !obj.length || !obj.is(":visible")) { return; } >- t = obj.offset().top - this.get_container().offset().top; >- if(t < 0) { >- c.scrollTop = c.scrollTop + t - 1; >- } >- if(t + this.data.core.li_height + (c.scrollWidth > c.offsetWidth ? scrollbar_width : 0) > c.offsetHeight) { >- c.scrollTop = c.scrollTop + (t - c.offsetHeight + this.data.core.li_height + 1 + (c.scrollWidth > c.offsetWidth ? scrollbar_width : 0)); >- } >- } >- }, >- deselect_node : function (obj) { >- obj = this._get_node(obj); >- if(!obj.length) { return false; } >- if(this.is_selected(obj)) { >- obj.children("a").removeClass("jstree-clicked"); >- this.data.ui.selected = this.data.ui.selected.not(obj); >- if(this.data.ui.last_selected.get(0) === obj.get(0)) { this.data.ui.last_selected = this.data.ui.selected.eq(0); } >- this.__callback({ "obj" : obj }); >- } >- }, >- toggle_select : function (obj) { >- obj = this._get_node(obj); >- if(!obj.length) { return false; } >- if(this.is_selected(obj)) { this.deselect_node(obj); } >- else { this.select_node(obj); } >- }, >- is_selected : function (obj) { return this.data.ui.selected.index(this._get_node(obj)) >= 0; }, >- get_selected : function (context) { >- return context ? $(context).find("a.jstree-clicked").parent() : this.data.ui.selected; >- }, >- deselect_all : function (context) { >- var ret = context ? $(context).find("a.jstree-clicked").parent() : this.get_container().find("a.jstree-clicked").parent(); >- ret.children("a.jstree-clicked").removeClass("jstree-clicked"); >- this.data.ui.selected = $([]); >- this.data.ui.last_selected = false; >- this.__callback({ "obj" : ret }); >- } >- } >- }); >- // include the selection plugin by default >- $.jstree.defaults.plugins.push("ui"); >-})(jQuery); >-//*/ >- >-/* >- * jsTree CRRM plugin >- * Handles creating/renaming/removing/moving nodes by user interaction. >- */ >-(function ($) { >- $.jstree.plugin("crrm", { >- __init : function () { >- this.get_container() >- .bind("move_node.jstree", $.proxy(function (e, data) { >- if(this._get_settings().crrm.move.open_onmove) { >- var t = this; >- data.rslt.np.parentsUntil(".jstree").andSelf().filter(".jstree-closed").each(function () { >- t.open_node(this, false, true); >- }); >- } >- }, this)); >- }, >- defaults : { >- input_width_limit : 200, >- move : { >- always_copy : false, // false, true or "multitree" >- open_onmove : true, >- default_position : "last", >- check_move : function (m) { return true; } >- } >- }, >- _fn : { >- _show_input : function (obj, callback) { >- obj = this._get_node(obj); >- var rtl = this._get_settings().core.rtl, >- w = this._get_settings().crrm.input_width_limit, >- w1 = obj.children("ins").width(), >- w2 = obj.find("> a:visible > ins").width() * obj.find("> a:visible > ins").length, >- t = this.get_text(obj), >- h1 = $("<div />", { css : { "position" : "absolute", "top" : "-200px", "left" : (rtl ? "0px" : "-1000px"), "visibility" : "hidden" } }).appendTo("body"), >- h2 = obj.css("position","relative").append( >- $("<input />", { >- "value" : t, >- "class" : "jstree-rename-input", >- // "size" : t.length, >- "css" : { >- "padding" : "0", >- "border" : "1px solid silver", >- "position" : "absolute", >- "left" : (rtl ? "auto" : (w1 + w2 + 4) + "px"), >- "right" : (rtl ? (w1 + w2 + 4) + "px" : "auto"), >- "top" : "0px", >- "height" : (this.data.core.li_height - 2) + "px", >- "lineHeight" : (this.data.core.li_height - 2) + "px", >- "width" : "150px" // will be set a bit further down >- }, >- "blur" : $.proxy(function () { >- var i = obj.children(".jstree-rename-input"), >- v = i.val(); >- if(v === "") { v = t; } >- h1.remove(); >- i.remove(); // rollback purposes >- this.set_text(obj,t); // rollback purposes >- this.rename_node(obj, v); >- callback.call(this, obj, v, t); >- obj.css("position",""); >- }, this), >- "keyup" : function (event) { >- var key = event.keyCode || event.which; >- if(key == 27) { this.value = t; this.blur(); return; } >- else if(key == 13) { this.blur(); return; } >- else { >- h2.width(Math.min(h1.text("pW" + this.value).width(),w)); >- } >- }, >- "keypress" : function(event) { >- var key = event.keyCode || event.which; >- if(key == 13) { return false; } >- } >- }) >- ).children(".jstree-rename-input"); >- this.set_text(obj, ""); >- h1.css({ >- fontFamily : h2.css('fontFamily') || '', >- fontSize : h2.css('fontSize') || '', >- fontWeight : h2.css('fontWeight') || '', >- fontStyle : h2.css('fontStyle') || '', >- fontStretch : h2.css('fontStretch') || '', >- fontVariant : h2.css('fontVariant') || '', >- letterSpacing : h2.css('letterSpacing') || '', >- wordSpacing : h2.css('wordSpacing') || '' >- }); >- h2.width(Math.min(h1.text("pW" + h2[0].value).width(),w))[0].select(); >- }, >- rename : function (obj) { >- obj = this._get_node(obj); >- this.__rollback(); >- var f = this.__callback; >- this._show_input(obj, function (obj, new_name, old_name) { >- f.call(this, { "obj" : obj, "new_name" : new_name, "old_name" : old_name }); >- }); >- }, >- create : function (obj, position, js, callback, skip_rename) { >- var t, _this = this; >- obj = this._get_node(obj); >- if(!obj) { obj = -1; } >- this.__rollback(); >- t = this.create_node(obj, position, js, function (t) { >- var p = this._get_parent(t), >- pos = $(t).index(); >- if(callback) { callback.call(this, t); } >- if(p.length && p.hasClass("jstree-closed")) { this.open_node(p, false, true); } >- if(!skip_rename) { >- this._show_input(t, function (obj, new_name, old_name) { >- _this.__callback({ "obj" : obj, "name" : new_name, "parent" : p, "position" : pos }); >- }); >- } >- else { _this.__callback({ "obj" : t, "name" : this.get_text(t), "parent" : p, "position" : pos }); } >- }); >- return t; >- }, >- remove : function (obj) { >- obj = this._get_node(obj, true); >- var p = this._get_parent(obj), prev = this._get_prev(obj); >- this.__rollback(); >- obj = this.delete_node(obj); >- if(obj !== false) { this.__callback({ "obj" : obj, "prev" : prev, "parent" : p }); } >- }, >- check_move : function () { >- if(!this.__call_old()) { return false; } >- var s = this._get_settings().crrm.move; >- if(!s.check_move.call(this, this._get_move())) { return false; } >- return true; >- }, >- move_node : function (obj, ref, position, is_copy, is_prepared, skip_check) { >- var s = this._get_settings().crrm.move; >- if(!is_prepared) { >- if(typeof position === "undefined") { position = s.default_position; } >- if(position === "inside" && !s.default_position.match(/^(before|after)$/)) { position = s.default_position; } >- return this.__call_old(true, obj, ref, position, is_copy, false, skip_check); >- } >- // if the move is already prepared >- if(s.always_copy === true || (s.always_copy === "multitree" && obj.rt.get_index() !== obj.ot.get_index() )) { >- is_copy = true; >- } >- this.__call_old(true, obj, ref, position, is_copy, true, skip_check); >- }, >- >- cut : function (obj) { >- obj = this._get_node(obj, true); >- if(!obj || !obj.length) { return false; } >- this.data.crrm.cp_nodes = false; >- this.data.crrm.ct_nodes = obj; >- this.__callback({ "obj" : obj }); >- }, >- copy : function (obj) { >- obj = this._get_node(obj, true); >- if(!obj || !obj.length) { return false; } >- this.data.crrm.ct_nodes = false; >- this.data.crrm.cp_nodes = obj; >- this.__callback({ "obj" : obj }); >- }, >- paste : function (obj) { >- obj = this._get_node(obj); >- if(!obj || !obj.length) { return false; } >- var nodes = this.data.crrm.ct_nodes ? this.data.crrm.ct_nodes : this.data.crrm.cp_nodes; >- if(!this.data.crrm.ct_nodes && !this.data.crrm.cp_nodes) { return false; } >- if(this.data.crrm.ct_nodes) { this.move_node(this.data.crrm.ct_nodes, obj); this.data.crrm.ct_nodes = false; } >- if(this.data.crrm.cp_nodes) { this.move_node(this.data.crrm.cp_nodes, obj, false, true); } >- this.__callback({ "obj" : obj, "nodes" : nodes }); >- } >- } >- }); >- // include the crr plugin by default >- // $.jstree.defaults.plugins.push("crrm"); >-})(jQuery); >-//*/ >- >-/* >- * jsTree themes plugin >- * Handles loading and setting themes, as well as detecting path to themes, etc. >- */ >-(function ($) { >- var themes_loaded = []; >- // this variable stores the path to the themes folder - if left as false - it will be autodetected >- $.jstree._themes = false; >- $.jstree.plugin("themes", { >- __init : function () { >- this.get_container() >- .bind("init.jstree", $.proxy(function () { >- var s = this._get_settings().themes; >- this.data.themes.dots = s.dots; >- this.data.themes.icons = s.icons; >- this.set_theme(s.theme, s.url); >- }, this)) >- .bind("loaded.jstree", $.proxy(function () { >- // bound here too, as simple HTML tree's won't honor dots & icons otherwise >- if(!this.data.themes.dots) { this.hide_dots(); } >- else { this.show_dots(); } >- if(!this.data.themes.icons) { this.hide_icons(); } >- else { this.show_icons(); } >- }, this)); >- }, >- defaults : { >- theme : "default", >- url : false, >- dots : true, >- icons : true >- }, >- _fn : { >- set_theme : function (theme_name, theme_url) { >- if(!theme_name) { return false; } >- if(!theme_url) { theme_url = $.jstree._themes + theme_name + '/style.css'; } >- if($.inArray(theme_url, themes_loaded) == -1) { >- $.vakata.css.add_sheet({ "url" : theme_url }); >- themes_loaded.push(theme_url); >- } >- if(this.data.themes.theme != theme_name) { >- this.get_container().removeClass('jstree-' + this.data.themes.theme); >- this.data.themes.theme = theme_name; >- } >- this.get_container().addClass('jstree-' + theme_name); >- if(!this.data.themes.dots) { this.hide_dots(); } >- else { this.show_dots(); } >- if(!this.data.themes.icons) { this.hide_icons(); } >- else { this.show_icons(); } >- this.__callback(); >- }, >- get_theme : function () { return this.data.themes.theme; }, >- >- show_dots : function () { this.data.themes.dots = true; this.get_container().children("ul").removeClass("jstree-no-dots"); }, >- hide_dots : function () { this.data.themes.dots = false; this.get_container().children("ul").addClass("jstree-no-dots"); }, >- toggle_dots : function () { if(this.data.themes.dots) { this.hide_dots(); } else { this.show_dots(); } }, >- >- show_icons : function () { this.data.themes.icons = true; this.get_container().children("ul").removeClass("jstree-no-icons"); }, >- hide_icons : function () { this.data.themes.icons = false; this.get_container().children("ul").addClass("jstree-no-icons"); }, >- toggle_icons: function () { if(this.data.themes.icons) { this.hide_icons(); } else { this.show_icons(); } } >- } >- }); >- // autodetect themes path >- $(function () { >- if($.jstree._themes === false) { >- $("script").each(function () { >- if(this.src.toString().match(/jquery\.jstree[^\/]*?\.js(\?.*)?$/)) { >- $.jstree._themes = this.src.toString().replace(/jquery\.jstree[^\/]*?\.js(\?.*)?$/, "") + 'themes/'; >- return false; >- } >- }); >- } >- if($.jstree._themes === false) { $.jstree._themes = "themes/"; } >- }); >- // include the themes plugin by default >- $.jstree.defaults.plugins.push("themes"); >-})(jQuery); >-//*/ >- >-/* >- * jsTree hotkeys plugin >- * Enables keyboard navigation for all tree instances >- * Depends on the jstree ui & jquery hotkeys plugins >- */ >-(function ($) { >- var bound = []; >- function exec(i, event) { >- var f = $.jstree._focused(), tmp; >- if(f && f.data && f.data.hotkeys && f.data.hotkeys.enabled) { >- tmp = f._get_settings().hotkeys[i]; >- if(tmp) { return tmp.call(f, event); } >- } >- } >- $.jstree.plugin("hotkeys", { >- __init : function () { >- if(typeof $.hotkeys === "undefined") { throw "jsTree hotkeys: jQuery hotkeys plugin not included."; } >- if(!this.data.ui) { throw "jsTree hotkeys: jsTree UI plugin not included."; } >- $.each(this._get_settings().hotkeys, function (i, v) { >- if(v !== false && $.inArray(i, bound) == -1) { >- $(document).bind("keydown", i, function (event) { return exec(i, event); }); >- bound.push(i); >- } >- }); >- this.get_container() >- .bind("lock.jstree", $.proxy(function () { >- if(this.data.hotkeys.enabled) { this.data.hotkeys.enabled = false; this.data.hotkeys.revert = true; } >- }, this)) >- .bind("unlock.jstree", $.proxy(function () { >- if(this.data.hotkeys.revert) { this.data.hotkeys.enabled = true; } >- }, this)); >- this.enable_hotkeys(); >- }, >- defaults : { >- "up" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected || -1; >- this.hover_node(this._get_prev(o)); >- return false; >- }, >- "ctrl+up" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected || -1; >- this.hover_node(this._get_prev(o)); >- return false; >- }, >- "shift+up" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected || -1; >- this.hover_node(this._get_prev(o)); >- return false; >- }, >- "down" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected || -1; >- this.hover_node(this._get_next(o)); >- return false; >- }, >- "ctrl+down" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected || -1; >- this.hover_node(this._get_next(o)); >- return false; >- }, >- "shift+down" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected || -1; >- this.hover_node(this._get_next(o)); >- return false; >- }, >- "left" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected; >- if(o) { >- if(o.hasClass("jstree-open")) { this.close_node(o); } >- else { this.hover_node(this._get_prev(o)); } >- } >- return false; >- }, >- "ctrl+left" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected; >- if(o) { >- if(o.hasClass("jstree-open")) { this.close_node(o); } >- else { this.hover_node(this._get_prev(o)); } >- } >- return false; >- }, >- "shift+left" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected; >- if(o) { >- if(o.hasClass("jstree-open")) { this.close_node(o); } >- else { this.hover_node(this._get_prev(o)); } >- } >- return false; >- }, >- "right" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected; >- if(o && o.length) { >- if(o.hasClass("jstree-closed")) { this.open_node(o); } >- else { this.hover_node(this._get_next(o)); } >- } >- return false; >- }, >- "ctrl+right" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected; >- if(o && o.length) { >- if(o.hasClass("jstree-closed")) { this.open_node(o); } >- else { this.hover_node(this._get_next(o)); } >- } >- return false; >- }, >- "shift+right" : function () { >- var o = this.data.ui.hovered || this.data.ui.last_selected; >- if(o && o.length) { >- if(o.hasClass("jstree-closed")) { this.open_node(o); } >- else { this.hover_node(this._get_next(o)); } >- } >- return false; >- }, >- "space" : function () { >- if(this.data.ui.hovered) { this.data.ui.hovered.children("a:eq(0)").click(); } >- return false; >- }, >- "ctrl+space" : function (event) { >- event.type = "click"; >- if(this.data.ui.hovered) { this.data.ui.hovered.children("a:eq(0)").trigger(event); } >- return false; >- }, >- "shift+space" : function (event) { >- event.type = "click"; >- if(this.data.ui.hovered) { this.data.ui.hovered.children("a:eq(0)").trigger(event); } >- return false; >- }, >- "f2" : function () { this.rename(this.data.ui.hovered || this.data.ui.last_selected); }, >- "del" : function () { this.remove(this.data.ui.hovered || this._get_node(null)); } >- }, >- _fn : { >- enable_hotkeys : function () { >- this.data.hotkeys.enabled = true; >- }, >- disable_hotkeys : function () { >- this.data.hotkeys.enabled = false; >- } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree JSON plugin >- * The JSON data store. Datastores are build by overriding the `load_node` and `_is_loaded` functions. >- */ >-(function ($) { >- $.jstree.plugin("json_data", { >- __init : function() { >- var s = this._get_settings().json_data; >- if(s.progressive_unload) { >- this.get_container().bind("after_close.jstree", function (e, data) { >- data.rslt.obj.children("ul").remove(); >- }); >- } >- }, >- defaults : { >- // `data` can be a function: >- // * accepts two arguments - node being loaded and a callback to pass the result to >- // * will be executed in the current tree's scope & ajax won't be supported >- data : false, >- ajax : false, >- correct_state : true, >- progressive_render : false, >- progressive_unload : false >- }, >- _fn : { >- load_node : function (obj, s_call, e_call) { var _this = this; this.load_node_json(obj, function () { _this.__callback({ "obj" : _this._get_node(obj) }); s_call.call(this); }, e_call); }, >- _is_loaded : function (obj) { >- var s = this._get_settings().json_data; >- obj = this._get_node(obj); >- return obj == -1 || !obj || (!s.ajax && !s.progressive_render && !$.isFunction(s.data)) || obj.is(".jstree-open, .jstree-leaf") || obj.children("ul").children("li").length > 0; >- }, >- refresh : function (obj) { >- obj = this._get_node(obj); >- var s = this._get_settings().json_data; >- if(obj && obj !== -1 && s.progressive_unload && ($.isFunction(s.data) || !!s.ajax)) { >- obj.removeData("jstree_children"); >- } >- return this.__call_old(); >- }, >- load_node_json : function (obj, s_call, e_call) { >- var s = this.get_settings().json_data, d, >- error_func = function () {}, >- success_func = function () {}; >- obj = this._get_node(obj); >- >- if(obj && obj !== -1 && (s.progressive_render || s.progressive_unload) && !obj.is(".jstree-open, .jstree-leaf") && obj.children("ul").children("li").length === 0 && obj.data("jstree_children")) { >- d = this._parse_json(obj.data("jstree_children"), obj); >- if(d) { >- obj.append(d); >- if(!s.progressive_unload) { obj.removeData("jstree_children"); } >- } >- this.clean_node(obj); >- if(s_call) { s_call.call(this); } >- return; >- } >- >- if(obj && obj !== -1) { >- if(obj.data("jstree_is_loading")) { return; } >- else { obj.data("jstree_is_loading",true); } >- } >- switch(!0) { >- case (!s.data && !s.ajax): throw "Neither data nor ajax settings supplied."; >- // function option added here for easier model integration (also supporting async - see callback) >- case ($.isFunction(s.data)): >- s.data.call(this, obj, $.proxy(function (d) { >- d = this._parse_json(d, obj); >- if(!d) { >- if(obj === -1 || !obj) { >- if(s.correct_state) { this.get_container().children("ul").empty(); } >- } >- else { >- obj.children("a.jstree-loading").removeClass("jstree-loading"); >- obj.removeData("jstree_is_loading"); >- if(s.correct_state) { this.correct_state(obj); } >- } >- if(e_call) { e_call.call(this); } >- } >- else { >- if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); } >- else { obj.append(d).children("a.jstree-loading").removeClass("jstree-loading"); obj.removeData("jstree_is_loading"); } >- this.clean_node(obj); >- if(s_call) { s_call.call(this); } >- } >- }, this)); >- break; >- case (!!s.data && !s.ajax) || (!!s.data && !!s.ajax && (!obj || obj === -1)): >- if(!obj || obj == -1) { >- d = this._parse_json(s.data, obj); >- if(d) { >- this.get_container().children("ul").empty().append(d.children()); >- this.clean_node(); >- } >- else { >- if(s.correct_state) { this.get_container().children("ul").empty(); } >- } >- } >- if(s_call) { s_call.call(this); } >- break; >- case (!s.data && !!s.ajax) || (!!s.data && !!s.ajax && obj && obj !== -1): >- error_func = function (x, t, e) { >- var ef = this.get_settings().json_data.ajax.error; >- if(ef) { ef.call(this, x, t, e); } >- if(obj != -1 && obj.length) { >- obj.children("a.jstree-loading").removeClass("jstree-loading"); >- obj.removeData("jstree_is_loading"); >- if(t === "success" && s.correct_state) { this.correct_state(obj); } >- } >- else { >- if(t === "success" && s.correct_state) { this.get_container().children("ul").empty(); } >- } >- if(e_call) { e_call.call(this); } >- }; >- success_func = function (d, t, x) { >- var sf = this.get_settings().json_data.ajax.success; >- if(sf) { d = sf.call(this,d,t,x) || d; } >- if(d === "" || (d && d.toString && d.toString().replace(/^[\s\n]+$/,"") === "") || (!$.isArray(d) && !$.isPlainObject(d))) { >- return error_func.call(this, x, t, ""); >- } >- d = this._parse_json(d, obj); >- if(d) { >- if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); } >- else { obj.append(d).children("a.jstree-loading").removeClass("jstree-loading"); obj.removeData("jstree_is_loading"); } >- this.clean_node(obj); >- if(s_call) { s_call.call(this); } >- } >- else { >- if(obj === -1 || !obj) { >- if(s.correct_state) { >- this.get_container().children("ul").empty(); >- if(s_call) { s_call.call(this); } >- } >- } >- else { >- obj.children("a.jstree-loading").removeClass("jstree-loading"); >- obj.removeData("jstree_is_loading"); >- if(s.correct_state) { >- this.correct_state(obj); >- if(s_call) { s_call.call(this); } >- } >- } >- } >- }; >- s.ajax.context = this; >- s.ajax.error = error_func; >- s.ajax.success = success_func; >- if(!s.ajax.dataType) { s.ajax.dataType = "json"; } >- if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, obj); } >- if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, obj); } >- $.ajax(s.ajax); >- break; >- } >- }, >- _parse_json : function (js, obj, is_callback) { >- var d = false, >- p = this._get_settings(), >- s = p.json_data, >- t = p.core.html_titles, >- tmp, i, j, ul1, ul2; >- >- if(!js) { return d; } >- if(s.progressive_unload && obj && obj !== -1) { >- obj.data("jstree_children", d); >- } >- if($.isArray(js)) { >- d = $(); >- if(!js.length) { return false; } >- for(i = 0, j = js.length; i < j; i++) { >- tmp = this._parse_json(js[i], obj, true); >- if(tmp.length) { d = d.add(tmp); } >- } >- } >- else { >- if(typeof js == "string") { js = { data : js }; } >- if(!js.data && js.data !== "") { return d; } >- d = $("<li />"); >- if(js.attr) { d.attr(js.attr); } >- if(js.metadata) { d.data(js.metadata); } >- if(js.state) { d.addClass("jstree-" + js.state); } >- if(!$.isArray(js.data)) { tmp = js.data; js.data = []; js.data.push(tmp); } >- $.each(js.data, function (i, m) { >- tmp = $("<a />"); >- if($.isFunction(m)) { m = m.call(this, js); } >- if(typeof m == "string") { tmp.attr('href','#')[ t ? "html" : "text" ](m); } >- else { >- if(!m.attr) { m.attr = {}; } >- if(!m.attr.href) { m.attr.href = '#'; } >- tmp.attr(m.attr)[ t ? "html" : "text" ](m.title); >- if(m.language) { tmp.addClass(m.language); } >- } >- tmp.prepend("<ins class='jstree-icon'> </ins>"); >- if(!m.icon && js.icon) { m.icon = js.icon; } >- if(m.icon) { >- if(m.icon.indexOf("/") === -1) { tmp.children("ins").addClass(m.icon); } >- else { tmp.children("ins").css("background","url('" + m.icon + "') center center no-repeat"); } >- } >- d.append(tmp); >- }); >- d.prepend("<ins class='jstree-icon'> </ins>"); >- if(js.children) { >- if(s.progressive_render && js.state !== "open") { >- d.addClass("jstree-closed").data("jstree_children", js.children); >- } >- else { >- if(s.progressive_unload) { d.data("jstree_children", js.children); } >- if($.isArray(js.children) && js.children.length) { >- tmp = this._parse_json(js.children, obj, true); >- if(tmp.length) { >- ul2 = $("<ul />"); >- ul2.append(tmp); >- d.append(ul2); >- } >- } >- } >- } >- } >- if(!is_callback) { >- ul1 = $("<ul />"); >- ul1.append(d); >- d = ul1; >- } >- return d; >- }, >- get_json : function (obj, li_attr, a_attr, is_callback) { >- var result = [], >- s = this._get_settings(), >- _this = this, >- tmp1, tmp2, li, a, t, lang; >- obj = this._get_node(obj); >- if(!obj || obj === -1) { obj = this.get_container().find("> ul > li"); } >- li_attr = $.isArray(li_attr) ? li_attr : [ "id", "class" ]; >- if(!is_callback && this.data.types) { li_attr.push(s.types.type_attr); } >- a_attr = $.isArray(a_attr) ? a_attr : [ ]; >- >- obj.each(function () { >- li = $(this); >- tmp1 = { data : [] }; >- if(li_attr.length) { tmp1.attr = { }; } >- $.each(li_attr, function (i, v) { >- tmp2 = li.attr(v); >- if(tmp2 && tmp2.length && tmp2.replace(/jstree[^ ]*/ig,'').length) { >- tmp1.attr[v] = (" " + tmp2).replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,""); >- } >- }); >- if(li.hasClass("jstree-open")) { tmp1.state = "open"; } >- if(li.hasClass("jstree-closed")) { tmp1.state = "closed"; } >- if(li.data()) { tmp1.metadata = li.data(); } >- a = li.children("a"); >- a.each(function () { >- t = $(this); >- if( >- a_attr.length || >- $.inArray("languages", s.plugins) !== -1 || >- t.children("ins").get(0).style.backgroundImage.length || >- (t.children("ins").get(0).className && t.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').length) >- ) { >- lang = false; >- if($.inArray("languages", s.plugins) !== -1 && $.isArray(s.languages) && s.languages.length) { >- $.each(s.languages, function (l, lv) { >- if(t.hasClass(lv)) { >- lang = lv; >- return false; >- } >- }); >- } >- tmp2 = { attr : { }, title : _this.get_text(t, lang) }; >- $.each(a_attr, function (k, z) { >- tmp2.attr[z] = (" " + (t.attr(z) || "")).replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,""); >- }); >- if($.inArray("languages", s.plugins) !== -1 && $.isArray(s.languages) && s.languages.length) { >- $.each(s.languages, function (k, z) { >- if(t.hasClass(z)) { tmp2.language = z; return true; } >- }); >- } >- if(t.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/^\s+$/ig,"").length) { >- tmp2.icon = t.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,""); >- } >- if(t.children("ins").get(0).style.backgroundImage.length) { >- tmp2.icon = t.children("ins").get(0).style.backgroundImage.replace("url(","").replace(")",""); >- } >- } >- else { >- tmp2 = _this.get_text(t); >- } >- if(a.length > 1) { tmp1.data.push(tmp2); } >- else { tmp1.data = tmp2; } >- }); >- li = li.find("> ul > li"); >- if(li.length) { tmp1.children = _this.get_json(li, li_attr, a_attr, true); } >- result.push(tmp1); >- }); >- return result; >- } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree languages plugin >- * Adds support for multiple language versions in one tree >- * This basically allows for many titles coexisting in one node, but only one of them being visible at any given time >- * This is useful for maintaining the same structure in many languages (hence the name of the plugin) >- */ >-(function ($) { >- $.jstree.plugin("languages", { >- __init : function () { this._load_css(); }, >- defaults : [], >- _fn : { >- set_lang : function (i) { >- var langs = this._get_settings().languages, >- st = false, >- selector = ".jstree-" + this.get_index() + ' a'; >- if(!$.isArray(langs) || langs.length === 0) { return false; } >- if($.inArray(i,langs) == -1) { >- if(!!langs[i]) { i = langs[i]; } >- else { return false; } >- } >- if(i == this.data.languages.current_language) { return true; } >- st = $.vakata.css.get_css(selector + "." + this.data.languages.current_language, false, this.data.languages.language_css); >- if(st !== false) { st.style.display = "none"; } >- st = $.vakata.css.get_css(selector + "." + i, false, this.data.languages.language_css); >- if(st !== false) { st.style.display = ""; } >- this.data.languages.current_language = i; >- this.__callback(i); >- return true; >- }, >- get_lang : function () { >- return this.data.languages.current_language; >- }, >- _get_string : function (key, lang) { >- var langs = this._get_settings().languages, >- s = this._get_settings().core.strings; >- if($.isArray(langs) && langs.length) { >- lang = (lang && $.inArray(lang,langs) != -1) ? lang : this.data.languages.current_language; >- } >- if(s[lang] && s[lang][key]) { return s[lang][key]; } >- if(s[key]) { return s[key]; } >- return key; >- }, >- get_text : function (obj, lang) { >- obj = this._get_node(obj) || this.data.ui.last_selected; >- if(!obj.size()) { return false; } >- var langs = this._get_settings().languages, >- s = this._get_settings().core.html_titles; >- if($.isArray(langs) && langs.length) { >- lang = (lang && $.inArray(lang,langs) != -1) ? lang : this.data.languages.current_language; >- obj = obj.children("a." + lang); >- } >- else { obj = obj.children("a:eq(0)"); } >- if(s) { >- obj = obj.clone(); >- obj.children("INS").remove(); >- return obj.html(); >- } >- else { >- obj = obj.contents().filter(function() { return this.nodeType == 3; })[0]; >- return obj.nodeValue; >- } >- }, >- set_text : function (obj, val, lang) { >- obj = this._get_node(obj) || this.data.ui.last_selected; >- if(!obj.size()) { return false; } >- var langs = this._get_settings().languages, >- s = this._get_settings().core.html_titles, >- tmp; >- if($.isArray(langs) && langs.length) { >- lang = (lang && $.inArray(lang,langs) != -1) ? lang : this.data.languages.current_language; >- obj = obj.children("a." + lang); >- } >- else { obj = obj.children("a:eq(0)"); } >- if(s) { >- tmp = obj.children("INS").clone(); >- obj.html(val).prepend(tmp); >- this.__callback({ "obj" : obj, "name" : val, "lang" : lang }); >- return true; >- } >- else { >- obj = obj.contents().filter(function() { return this.nodeType == 3; })[0]; >- this.__callback({ "obj" : obj, "name" : val, "lang" : lang }); >- return (obj.nodeValue = val); >- } >- }, >- _load_css : function () { >- var langs = this._get_settings().languages, >- str = "/* languages css */", >- selector = ".jstree-" + this.get_index() + ' a', >- ln; >- if($.isArray(langs) && langs.length) { >- this.data.languages.current_language = langs[0]; >- for(ln = 0; ln < langs.length; ln++) { >- str += selector + "." + langs[ln] + " {"; >- if(langs[ln] != this.data.languages.current_language) { str += " display:none; "; } >- str += " } "; >- } >- this.data.languages.language_css = $.vakata.css.add_sheet({ 'str' : str, 'title' : "jstree-languages" }); >- } >- }, >- create_node : function (obj, position, js, callback) { >- var t = this.__call_old(true, obj, position, js, function (t) { >- var langs = this._get_settings().languages, >- a = t.children("a"), >- ln; >- if($.isArray(langs) && langs.length) { >- for(ln = 0; ln < langs.length; ln++) { >- if(!a.is("." + langs[ln])) { >- t.append(a.eq(0).clone().removeClass(langs.join(" ")).addClass(langs[ln])); >- } >- } >- a.not("." + langs.join(", .")).remove(); >- } >- if(callback) { callback.call(this, t); } >- }); >- return t; >- } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree cookies plugin >- * Stores the currently opened/selected nodes in a cookie and then restores them >- * Depends on the jquery.cookie plugin >- */ >-(function ($) { >- $.jstree.plugin("cookies", { >- __init : function () { >- if(typeof $.cookie === "undefined") { throw "jsTree cookie: jQuery cookie plugin not included."; } >- >- var s = this._get_settings().cookies, >- tmp; >- if(!!s.save_loaded) { >- tmp = $.cookie(s.save_loaded); >- if(tmp && tmp.length) { this.data.core.to_load = tmp.split(","); } >- } >- if(!!s.save_opened) { >- tmp = $.cookie(s.save_opened); >- if(tmp && tmp.length) { this.data.core.to_open = tmp.split(","); } >- } >- if(!!s.save_selected) { >- tmp = $.cookie(s.save_selected); >- if(tmp && tmp.length && this.data.ui) { this.data.ui.to_select = tmp.split(","); } >- } >- this.get_container() >- .one( ( this.data.ui ? "reselect" : "reopen" ) + ".jstree", $.proxy(function () { >- this.get_container() >- .bind("open_node.jstree close_node.jstree select_node.jstree deselect_node.jstree", $.proxy(function (e) { >- if(this._get_settings().cookies.auto_save) { this.save_cookie((e.handleObj.namespace + e.handleObj.type).replace("jstree","")); } >- }, this)); >- }, this)); >- }, >- defaults : { >- save_loaded : "jstree_load", >- save_opened : "jstree_open", >- save_selected : "jstree_select", >- auto_save : true, >- cookie_options : {} >- }, >- _fn : { >- save_cookie : function (c) { >- if(this.data.core.refreshing) { return; } >- var s = this._get_settings().cookies; >- if(!c) { // if called manually and not by event >- if(s.save_loaded) { >- this.save_loaded(); >- $.cookie(s.save_loaded, this.data.core.to_load.join(","), s.cookie_options); >- } >- if(s.save_opened) { >- this.save_opened(); >- $.cookie(s.save_opened, this.data.core.to_open.join(","), s.cookie_options); >- } >- if(s.save_selected && this.data.ui) { >- this.save_selected(); >- $.cookie(s.save_selected, this.data.ui.to_select.join(","), s.cookie_options); >- } >- return; >- } >- switch(c) { >- case "open_node": >- case "close_node": >- if(!!s.save_opened) { >- this.save_opened(); >- $.cookie(s.save_opened, this.data.core.to_open.join(","), s.cookie_options); >- } >- if(!!s.save_loaded) { >- this.save_loaded(); >- $.cookie(s.save_loaded, this.data.core.to_load.join(","), s.cookie_options); >- } >- break; >- case "select_node": >- case "deselect_node": >- if(!!s.save_selected && this.data.ui) { >- this.save_selected(); >- $.cookie(s.save_selected, this.data.ui.to_select.join(","), s.cookie_options); >- } >- break; >- } >- } >- } >- }); >- // include cookies by default >- // $.jstree.defaults.plugins.push("cookies"); >-})(jQuery); >-//*/ >- >-/* >- * jsTree sort plugin >- * Sorts items alphabetically (or using any other function) >- */ >-(function ($) { >- $.jstree.plugin("sort", { >- __init : function () { >- this.get_container() >- .bind("load_node.jstree", $.proxy(function (e, data) { >- var obj = this._get_node(data.rslt.obj); >- obj = obj === -1 ? this.get_container().children("ul") : obj.children("ul"); >- this.sort(obj); >- }, this)) >- .bind("rename_node.jstree create_node.jstree create.jstree", $.proxy(function (e, data) { >- this.sort(data.rslt.obj.parent()); >- }, this)) >- .bind("move_node.jstree", $.proxy(function (e, data) { >- var m = data.rslt.np == -1 ? this.get_container() : data.rslt.np; >- this.sort(m.children("ul")); >- }, this)); >- }, >- defaults : function (a, b) { return this.get_text(a) > this.get_text(b) ? 1 : -1; }, >- _fn : { >- sort : function (obj) { >- var s = this._get_settings().sort, >- t = this; >- obj.append($.makeArray(obj.children("li")).sort($.proxy(s, t))); >- obj.find("> li > ul").each(function() { t.sort($(this)); }); >- this.clean_node(obj); >- } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree DND plugin >- * Drag and drop plugin for moving/copying nodes >- */ >-(function ($) { >- var o = false, >- r = false, >- m = false, >- ml = false, >- sli = false, >- sti = false, >- dir1 = false, >- dir2 = false, >- last_pos = false; >- $.vakata.dnd = { >- is_down : false, >- is_drag : false, >- helper : false, >- scroll_spd : 10, >- init_x : 0, >- init_y : 0, >- threshold : 5, >- helper_left : 5, >- helper_top : 10, >- user_data : {}, >- >- drag_start : function (e, data, html) { >- if($.vakata.dnd.is_drag) { $.vakata.drag_stop({}); } >- try { >- e.currentTarget.unselectable = "on"; >- e.currentTarget.onselectstart = function() { return false; }; >- if(e.currentTarget.style) { e.currentTarget.style.MozUserSelect = "none"; } >- } catch(err) { } >- $.vakata.dnd.init_x = e.pageX; >- $.vakata.dnd.init_y = e.pageY; >- $.vakata.dnd.user_data = data; >- $.vakata.dnd.is_down = true; >- $.vakata.dnd.helper = $("<div id='vakata-dragged' />").html(html); //.fadeTo(10,0.25); >- $(document).bind("mousemove", $.vakata.dnd.drag); >- $(document).bind("mouseup", $.vakata.dnd.drag_stop); >- return false; >- }, >- drag : function (e) { >- if(!$.vakata.dnd.is_down) { return; } >- if(!$.vakata.dnd.is_drag) { >- if(Math.abs(e.pageX - $.vakata.dnd.init_x) > 5 || Math.abs(e.pageY - $.vakata.dnd.init_y) > 5) { >- $.vakata.dnd.helper.appendTo("body"); >- $.vakata.dnd.is_drag = true; >- $(document).triggerHandler("drag_start.vakata", { "event" : e, "data" : $.vakata.dnd.user_data }); >- } >- else { return; } >- } >- >- // maybe use a scrolling parent element instead of document? >- if(e.type === "mousemove") { // thought of adding scroll in order to move the helper, but mouse poisition is n/a >- var d = $(document), t = d.scrollTop(), l = d.scrollLeft(); >- if(e.pageY - t < 20) { >- if(sti && dir1 === "down") { clearInterval(sti); sti = false; } >- if(!sti) { dir1 = "up"; sti = setInterval(function () { $(document).scrollTop($(document).scrollTop() - $.vakata.dnd.scroll_spd); }, 150); } >- } >- else { >- if(sti && dir1 === "up") { clearInterval(sti); sti = false; } >- } >- if($(window).height() - (e.pageY - t) < 20) { >- if(sti && dir1 === "up") { clearInterval(sti); sti = false; } >- if(!sti) { dir1 = "down"; sti = setInterval(function () { $(document).scrollTop($(document).scrollTop() + $.vakata.dnd.scroll_spd); }, 150); } >- } >- else { >- if(sti && dir1 === "down") { clearInterval(sti); sti = false; } >- } >- >- if(e.pageX - l < 20) { >- if(sli && dir2 === "right") { clearInterval(sli); sli = false; } >- if(!sli) { dir2 = "left"; sli = setInterval(function () { $(document).scrollLeft($(document).scrollLeft() - $.vakata.dnd.scroll_spd); }, 150); } >- } >- else { >- if(sli && dir2 === "left") { clearInterval(sli); sli = false; } >- } >- if($(window).width() - (e.pageX - l) < 20) { >- if(sli && dir2 === "left") { clearInterval(sli); sli = false; } >- if(!sli) { dir2 = "right"; sli = setInterval(function () { $(document).scrollLeft($(document).scrollLeft() + $.vakata.dnd.scroll_spd); }, 150); } >- } >- else { >- if(sli && dir2 === "right") { clearInterval(sli); sli = false; } >- } >- } >- >- $.vakata.dnd.helper.css({ left : (e.pageX + $.vakata.dnd.helper_left) + "px", top : (e.pageY + $.vakata.dnd.helper_top) + "px" }); >- $(document).triggerHandler("drag.vakata", { "event" : e, "data" : $.vakata.dnd.user_data }); >- }, >- drag_stop : function (e) { >- if(sli) { clearInterval(sli); } >- if(sti) { clearInterval(sti); } >- $(document).unbind("mousemove", $.vakata.dnd.drag); >- $(document).unbind("mouseup", $.vakata.dnd.drag_stop); >- $(document).triggerHandler("drag_stop.vakata", { "event" : e, "data" : $.vakata.dnd.user_data }); >- $.vakata.dnd.helper.remove(); >- $.vakata.dnd.init_x = 0; >- $.vakata.dnd.init_y = 0; >- $.vakata.dnd.user_data = {}; >- $.vakata.dnd.is_down = false; >- $.vakata.dnd.is_drag = false; >- } >- }; >- $(function() { >- var css_string = '#vakata-dragged { display:block; margin:0 0 0 0; padding:4px 4px 4px 24px; position:absolute; top:-2000px; line-height:16px; z-index:10000; } '; >- $.vakata.css.add_sheet({ str : css_string, title : "vakata" }); >- }); >- >- $.jstree.plugin("dnd", { >- __init : function () { >- this.data.dnd = { >- active : false, >- after : false, >- inside : false, >- before : false, >- off : false, >- prepared : false, >- w : 0, >- to1 : false, >- to2 : false, >- cof : false, >- cw : false, >- ch : false, >- i1 : false, >- i2 : false, >- mto : false >- }; >- this.get_container() >- .bind("mouseenter.jstree", $.proxy(function (e) { >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { >- if(this.data.themes) { >- m.attr("class", "jstree-" + this.data.themes.theme); >- if(ml) { ml.attr("class", "jstree-" + this.data.themes.theme); } >- $.vakata.dnd.helper.attr("class", "jstree-dnd-helper jstree-" + this.data.themes.theme); >- } >- //if($(e.currentTarget).find("> ul > li").length === 0) { >- if(e.currentTarget === e.target && $.vakata.dnd.user_data.obj && $($.vakata.dnd.user_data.obj).length && $($.vakata.dnd.user_data.obj).parents(".jstree:eq(0)")[0] !== e.target) { // node should not be from the same tree >- var tr = $.jstree._reference(e.target), dc; >- if(tr.data.dnd.foreign) { >- dc = tr._get_settings().dnd.drag_check.call(this, { "o" : o, "r" : tr.get_container(), is_root : true }); >- if(dc === true || dc.inside === true || dc.before === true || dc.after === true) { >- $.vakata.dnd.helper.children("ins").attr("class","jstree-ok"); >- } >- } >- else { >- tr.prepare_move(o, tr.get_container(), "last"); >- if(tr.check_move()) { >- $.vakata.dnd.helper.children("ins").attr("class","jstree-ok"); >- } >- } >- } >- } >- }, this)) >- .bind("mouseup.jstree", $.proxy(function (e) { >- //if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && $(e.currentTarget).find("> ul > li").length === 0) { >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && e.currentTarget === e.target && $.vakata.dnd.user_data.obj && $($.vakata.dnd.user_data.obj).length && $($.vakata.dnd.user_data.obj).parents(".jstree:eq(0)")[0] !== e.target) { // node should not be from the same tree >- var tr = $.jstree._reference(e.currentTarget), dc; >- if(tr.data.dnd.foreign) { >- dc = tr._get_settings().dnd.drag_check.call(this, { "o" : o, "r" : tr.get_container(), is_root : true }); >- if(dc === true || dc.inside === true || dc.before === true || dc.after === true) { >- tr._get_settings().dnd.drag_finish.call(this, { "o" : o, "r" : tr.get_container(), is_root : true }); >- } >- } >- else { >- tr.move_node(o, tr.get_container(), "last", e[tr._get_settings().dnd.copy_modifier + "Key"]); >- } >- } >- }, this)) >- .bind("mouseleave.jstree", $.proxy(function (e) { >- if(e.relatedTarget && e.relatedTarget.id && e.relatedTarget.id === "jstree-marker-line") { >- return false; >- } >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { >- if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); } >- if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); } >- if(this.data.dnd.to1) { clearTimeout(this.data.dnd.to1); } >- if(this.data.dnd.to2) { clearTimeout(this.data.dnd.to2); } >- if($.vakata.dnd.helper.children("ins").hasClass("jstree-ok")) { >- $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid"); >- } >- } >- }, this)) >- .bind("mousemove.jstree", $.proxy(function (e) { >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { >- var cnt = this.get_container()[0]; >- >- // Horizontal scroll >- if(e.pageX + 24 > this.data.dnd.cof.left + this.data.dnd.cw) { >- if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); } >- this.data.dnd.i1 = setInterval($.proxy(function () { this.scrollLeft += $.vakata.dnd.scroll_spd; }, cnt), 100); >- } >- else if(e.pageX - 24 < this.data.dnd.cof.left) { >- if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); } >- this.data.dnd.i1 = setInterval($.proxy(function () { this.scrollLeft -= $.vakata.dnd.scroll_spd; }, cnt), 100); >- } >- else { >- if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); } >- } >- >- // Vertical scroll >- if(e.pageY + 24 > this.data.dnd.cof.top + this.data.dnd.ch) { >- if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); } >- this.data.dnd.i2 = setInterval($.proxy(function () { this.scrollTop += $.vakata.dnd.scroll_spd; }, cnt), 100); >- } >- else if(e.pageY - 24 < this.data.dnd.cof.top) { >- if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); } >- this.data.dnd.i2 = setInterval($.proxy(function () { this.scrollTop -= $.vakata.dnd.scroll_spd; }, cnt), 100); >- } >- else { >- if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); } >- } >- >- } >- }, this)) >- .bind("scroll.jstree", $.proxy(function (e) { >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && m && ml) { >- m.hide(); >- ml.hide(); >- } >- }, this)) >- .delegate("a", "mousedown.jstree", $.proxy(function (e) { >- if(e.which === 1) { >- this.start_drag(e.currentTarget, e); >- return false; >- } >- }, this)) >- .delegate("a", "mouseenter.jstree", $.proxy(function (e) { >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { >- this.dnd_enter(e.currentTarget); >- } >- }, this)) >- .delegate("a", "mousemove.jstree", $.proxy(function (e) { >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { >- if(!r || !r.length || r.children("a")[0] !== e.currentTarget) { >- this.dnd_enter(e.currentTarget); >- } >- if(typeof this.data.dnd.off.top === "undefined") { this.data.dnd.off = $(e.target).offset(); } >- this.data.dnd.w = (e.pageY - (this.data.dnd.off.top || 0)) % this.data.core.li_height; >- if(this.data.dnd.w < 0) { this.data.dnd.w += this.data.core.li_height; } >- this.dnd_show(); >- } >- }, this)) >- .delegate("a", "mouseleave.jstree", $.proxy(function (e) { >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { >- if(e.relatedTarget && e.relatedTarget.id && e.relatedTarget.id === "jstree-marker-line") { >- return false; >- } >- if(m) { m.hide(); } >- if(ml) { ml.hide(); } >- /* >- var ec = $(e.currentTarget).closest("li"), >- er = $(e.relatedTarget).closest("li"); >- if(er[0] !== ec.prev()[0] && er[0] !== ec.next()[0]) { >- if(m) { m.hide(); } >- if(ml) { ml.hide(); } >- } >- */ >- this.data.dnd.mto = setTimeout( >- (function (t) { return function () { t.dnd_leave(e); }; })(this), >- 0); >- } >- }, this)) >- .delegate("a", "mouseup.jstree", $.proxy(function (e) { >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { >- this.dnd_finish(e); >- } >- }, this)); >- >- $(document) >- .bind("drag_stop.vakata", $.proxy(function () { >- if(this.data.dnd.to1) { clearTimeout(this.data.dnd.to1); } >- if(this.data.dnd.to2) { clearTimeout(this.data.dnd.to2); } >- if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); } >- if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); } >- this.data.dnd.after = false; >- this.data.dnd.before = false; >- this.data.dnd.inside = false; >- this.data.dnd.off = false; >- this.data.dnd.prepared = false; >- this.data.dnd.w = false; >- this.data.dnd.to1 = false; >- this.data.dnd.to2 = false; >- this.data.dnd.i1 = false; >- this.data.dnd.i2 = false; >- this.data.dnd.active = false; >- this.data.dnd.foreign = false; >- if(m) { m.css({ "top" : "-2000px" }); } >- if(ml) { ml.css({ "top" : "-2000px" }); } >- }, this)) >- .bind("drag_start.vakata", $.proxy(function (e, data) { >- if(data.data.jstree) { >- var et = $(data.event.target); >- if(et.closest(".jstree").hasClass("jstree-" + this.get_index())) { >- this.dnd_enter(et); >- } >- } >- }, this)); >- /* >- .bind("keydown.jstree-" + this.get_index() + " keyup.jstree-" + this.get_index(), $.proxy(function(e) { >- if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && !this.data.dnd.foreign) { >- var h = $.vakata.dnd.helper.children("ins"); >- if(e[this._get_settings().dnd.copy_modifier + "Key"] && h.hasClass("jstree-ok")) { >- h.parent().html(h.parent().html().replace(/ \(Copy\)$/, "") + " (Copy)"); >- } >- else { >- h.parent().html(h.parent().html().replace(/ \(Copy\)$/, "")); >- } >- } >- }, this)); */ >- >- >- >- var s = this._get_settings().dnd; >- if(s.drag_target) { >- $(document) >- .delegate(s.drag_target, "mousedown.jstree-" + this.get_index(), $.proxy(function (e) { >- o = e.target; >- $.vakata.dnd.drag_start(e, { jstree : true, obj : e.target }, "<ins class='jstree-icon'></ins>" + $(e.target).text() ); >- if(this.data.themes) { >- if(m) { m.attr("class", "jstree-" + this.data.themes.theme); } >- if(ml) { ml.attr("class", "jstree-" + this.data.themes.theme); } >- $.vakata.dnd.helper.attr("class", "jstree-dnd-helper jstree-" + this.data.themes.theme); >- } >- $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid"); >- var cnt = this.get_container(); >- this.data.dnd.cof = cnt.offset(); >- this.data.dnd.cw = parseInt(cnt.width(),10); >- this.data.dnd.ch = parseInt(cnt.height(),10); >- this.data.dnd.foreign = true; >- e.preventDefault(); >- }, this)); >- } >- if(s.drop_target) { >- $(document) >- .delegate(s.drop_target, "mouseenter.jstree-" + this.get_index(), $.proxy(function (e) { >- if(this.data.dnd.active && this._get_settings().dnd.drop_check.call(this, { "o" : o, "r" : $(e.target), "e" : e })) { >- $.vakata.dnd.helper.children("ins").attr("class","jstree-ok"); >- } >- }, this)) >- .delegate(s.drop_target, "mouseleave.jstree-" + this.get_index(), $.proxy(function (e) { >- if(this.data.dnd.active) { >- $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid"); >- } >- }, this)) >- .delegate(s.drop_target, "mouseup.jstree-" + this.get_index(), $.proxy(function (e) { >- if(this.data.dnd.active && $.vakata.dnd.helper.children("ins").hasClass("jstree-ok")) { >- this._get_settings().dnd.drop_finish.call(this, { "o" : o, "r" : $(e.target), "e" : e }); >- } >- }, this)); >- } >- }, >- defaults : { >- copy_modifier : "ctrl", >- check_timeout : 100, >- open_timeout : 500, >- drop_target : ".jstree-drop", >- drop_check : function (data) { return true; }, >- drop_finish : $.noop, >- drag_target : ".jstree-draggable", >- drag_finish : $.noop, >- drag_check : function (data) { return { after : false, before : false, inside : true }; } >- }, >- _fn : { >- dnd_prepare : function () { >- if(!r || !r.length) { return; } >- this.data.dnd.off = r.offset(); >- if(this._get_settings().core.rtl) { >- this.data.dnd.off.right = this.data.dnd.off.left + r.width(); >- } >- if(this.data.dnd.foreign) { >- var a = this._get_settings().dnd.drag_check.call(this, { "o" : o, "r" : r }); >- this.data.dnd.after = a.after; >- this.data.dnd.before = a.before; >- this.data.dnd.inside = a.inside; >- this.data.dnd.prepared = true; >- return this.dnd_show(); >- } >- this.prepare_move(o, r, "before"); >- this.data.dnd.before = this.check_move(); >- this.prepare_move(o, r, "after"); >- this.data.dnd.after = this.check_move(); >- if(this._is_loaded(r)) { >- this.prepare_move(o, r, "inside"); >- this.data.dnd.inside = this.check_move(); >- } >- else { >- this.data.dnd.inside = false; >- } >- this.data.dnd.prepared = true; >- return this.dnd_show(); >- }, >- dnd_show : function () { >- if(!this.data.dnd.prepared) { return; } >- var o = ["before","inside","after"], >- r = false, >- rtl = this._get_settings().core.rtl, >- pos; >- if(this.data.dnd.w < this.data.core.li_height/3) { o = ["before","inside","after"]; } >- else if(this.data.dnd.w <= this.data.core.li_height*2/3) { >- o = this.data.dnd.w < this.data.core.li_height/2 ? ["inside","before","after"] : ["inside","after","before"]; >- } >- else { o = ["after","inside","before"]; } >- $.each(o, $.proxy(function (i, val) { >- if(this.data.dnd[val]) { >- $.vakata.dnd.helper.children("ins").attr("class","jstree-ok"); >- r = val; >- return false; >- } >- }, this)); >- if(r === false) { $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid"); } >- >- pos = rtl ? (this.data.dnd.off.right - 18) : (this.data.dnd.off.left + 10); >- switch(r) { >- case "before": >- m.css({ "left" : pos + "px", "top" : (this.data.dnd.off.top - 6) + "px" }).show(); >- if(ml) { ml.css({ "left" : (pos + 8) + "px", "top" : (this.data.dnd.off.top - 1) + "px" }).show(); } >- break; >- case "after": >- m.css({ "left" : pos + "px", "top" : (this.data.dnd.off.top + this.data.core.li_height - 6) + "px" }).show(); >- if(ml) { ml.css({ "left" : (pos + 8) + "px", "top" : (this.data.dnd.off.top + this.data.core.li_height - 1) + "px" }).show(); } >- break; >- case "inside": >- m.css({ "left" : pos + ( rtl ? -4 : 4) + "px", "top" : (this.data.dnd.off.top + this.data.core.li_height/2 - 5) + "px" }).show(); >- if(ml) { ml.hide(); } >- break; >- default: >- m.hide(); >- if(ml) { ml.hide(); } >- break; >- } >- last_pos = r; >- return r; >- }, >- dnd_open : function () { >- this.data.dnd.to2 = false; >- this.open_node(r, $.proxy(this.dnd_prepare,this), true); >- }, >- dnd_finish : function (e) { >- if(this.data.dnd.foreign) { >- if(this.data.dnd.after || this.data.dnd.before || this.data.dnd.inside) { >- this._get_settings().dnd.drag_finish.call(this, { "o" : o, "r" : r, "p" : last_pos }); >- } >- } >- else { >- this.dnd_prepare(); >- this.move_node(o, r, last_pos, e[this._get_settings().dnd.copy_modifier + "Key"]); >- } >- o = false; >- r = false; >- m.hide(); >- if(ml) { ml.hide(); } >- }, >- dnd_enter : function (obj) { >- if(this.data.dnd.mto) { >- clearTimeout(this.data.dnd.mto); >- this.data.dnd.mto = false; >- } >- var s = this._get_settings().dnd; >- this.data.dnd.prepared = false; >- r = this._get_node(obj); >- if(s.check_timeout) { >- // do the calculations after a minimal timeout (users tend to drag quickly to the desired location) >- if(this.data.dnd.to1) { clearTimeout(this.data.dnd.to1); } >- this.data.dnd.to1 = setTimeout($.proxy(this.dnd_prepare, this), s.check_timeout); >- } >- else { >- this.dnd_prepare(); >- } >- if(s.open_timeout) { >- if(this.data.dnd.to2) { clearTimeout(this.data.dnd.to2); } >- if(r && r.length && r.hasClass("jstree-closed")) { >- // if the node is closed - open it, then recalculate >- this.data.dnd.to2 = setTimeout($.proxy(this.dnd_open, this), s.open_timeout); >- } >- } >- else { >- if(r && r.length && r.hasClass("jstree-closed")) { >- this.dnd_open(); >- } >- } >- }, >- dnd_leave : function (e) { >- this.data.dnd.after = false; >- this.data.dnd.before = false; >- this.data.dnd.inside = false; >- $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid"); >- m.hide(); >- if(ml) { ml.hide(); } >- if(r && r[0] === e.target.parentNode) { >- if(this.data.dnd.to1) { >- clearTimeout(this.data.dnd.to1); >- this.data.dnd.to1 = false; >- } >- if(this.data.dnd.to2) { >- clearTimeout(this.data.dnd.to2); >- this.data.dnd.to2 = false; >- } >- } >- }, >- start_drag : function (obj, e) { >- o = this._get_node(obj); >- if(this.data.ui && this.is_selected(o)) { o = this._get_node(null, true); } >- var dt = o.length > 1 ? this._get_string("multiple_selection") : this.get_text(o), >- cnt = this.get_container(); >- if(!this._get_settings().core.html_titles) { dt = dt.replace(/</ig,"<").replace(/>/ig,">"); } >- $.vakata.dnd.drag_start(e, { jstree : true, obj : o }, "<ins class='jstree-icon'></ins>" + dt ); >- if(this.data.themes) { >- if(m) { m.attr("class", "jstree-" + this.data.themes.theme); } >- if(ml) { ml.attr("class", "jstree-" + this.data.themes.theme); } >- $.vakata.dnd.helper.attr("class", "jstree-dnd-helper jstree-" + this.data.themes.theme); >- } >- this.data.dnd.cof = cnt.offset(); >- this.data.dnd.cw = parseInt(cnt.width(),10); >- this.data.dnd.ch = parseInt(cnt.height(),10); >- this.data.dnd.active = true; >- } >- } >- }); >- $(function() { >- var css_string = '' + >- '#vakata-dragged ins { display:block; text-decoration:none; width:16px; height:16px; margin:0 0 0 0; padding:0; position:absolute; top:4px; left:4px; ' + >- ' -moz-border-radius:4px; border-radius:4px; -webkit-border-radius:4px; ' + >- '} ' + >- '#vakata-dragged .jstree-ok { background:green; } ' + >- '#vakata-dragged .jstree-invalid { background:red; } ' + >- '#jstree-marker { padding:0; margin:0; font-size:12px; overflow:hidden; height:12px; width:8px; position:absolute; top:-30px; z-index:10001; background-repeat:no-repeat; display:none; background-color:transparent; text-shadow:1px 1px 1px white; color:black; line-height:10px; } ' + >- '#jstree-marker-line { padding:0; margin:0; line-height:0%; font-size:1px; overflow:hidden; height:1px; width:100px; position:absolute; top:-30px; z-index:10000; background-repeat:no-repeat; display:none; background-color:#456c43; ' + >- ' cursor:pointer; border:1px solid #eeeeee; border-left:0; -moz-box-shadow: 0px 0px 2px #666; -webkit-box-shadow: 0px 0px 2px #666; box-shadow: 0px 0px 2px #666; ' + >- ' -moz-border-radius:1px; border-radius:1px; -webkit-border-radius:1px; ' + >- '}' + >- ''; >- $.vakata.css.add_sheet({ str : css_string, title : "jstree" }); >- m = $("<div />").attr({ id : "jstree-marker" }).hide().html("»") >- .bind("mouseleave mouseenter", function (e) { >- m.hide(); >- ml.hide(); >- e.preventDefault(); >- e.stopImmediatePropagation(); >- return false; >- }) >- .appendTo("body"); >- ml = $("<div />").attr({ id : "jstree-marker-line" }).hide() >- .bind("mouseup", function (e) { >- if(r && r.length) { >- r.children("a").trigger(e); >- e.preventDefault(); >- e.stopImmediatePropagation(); >- return false; >- } >- }) >- .bind("mouseleave", function (e) { >- var rt = $(e.relatedTarget); >- if(rt.is(".jstree") || rt.closest(".jstree").length === 0) { >- if(r && r.length) { >- r.children("a").trigger(e); >- m.hide(); >- ml.hide(); >- e.preventDefault(); >- e.stopImmediatePropagation(); >- return false; >- } >- } >- }) >- .appendTo("body"); >- $(document).bind("drag_start.vakata", function (e, data) { >- if(data.data.jstree) { m.show(); if(ml) { ml.show(); } } >- }); >- $(document).bind("drag_stop.vakata", function (e, data) { >- if(data.data.jstree) { m.hide(); if(ml) { ml.hide(); } } >- }); >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree checkbox plugin >- * Inserts checkboxes in front of every node >- * Depends on the ui plugin >- * DOES NOT WORK NICELY WITH MULTITREE DRAG'N'DROP >- */ >-(function ($) { >- $.jstree.plugin("checkbox", { >- __init : function () { >- this.data.checkbox.noui = this._get_settings().checkbox.override_ui; >- if(this.data.ui && this.data.checkbox.noui) { >- this.select_node = this.deselect_node = this.deselect_all = $.noop; >- this.get_selected = this.get_checked; >- } >- >- this.get_container() >- .bind("open_node.jstree create_node.jstree clean_node.jstree refresh.jstree", $.proxy(function (e, data) { >- this._prepare_checkboxes(data.rslt.obj); >- }, this)) >- .bind("loaded.jstree", $.proxy(function (e) { >- this._prepare_checkboxes(); >- }, this)) >- .delegate( (this.data.ui && this.data.checkbox.noui ? "a" : "ins.jstree-checkbox") , "click.jstree", $.proxy(function (e) { >- e.preventDefault(); >- if(this._get_node(e.target).hasClass("jstree-checked")) { this.uncheck_node(e.target); } >- else { this.check_node(e.target); } >- if(this.data.ui && this.data.checkbox.noui) { >- this.save_selected(); >- if(this.data.cookies) { this.save_cookie("select_node"); } >- } >- else { >- e.stopImmediatePropagation(); >- return false; >- } >- }, this)); >- }, >- defaults : { >- override_ui : false, >- two_state : false, >- real_checkboxes : false, >- checked_parent_open : true, >- real_checkboxes_names : function (n) { return [ ("check_" + (n[0].id || Math.ceil(Math.random() * 10000))) , 1]; } >- }, >- __destroy : function () { >- this.get_container() >- .find("input.jstree-real-checkbox").removeClass("jstree-real-checkbox").end() >- .find("ins.jstree-checkbox").remove(); >- }, >- _fn : { >- _checkbox_notify : function (n, data) { >- if(data.checked) { >- this.check_node(n, false); >- } >- }, >- _prepare_checkboxes : function (obj) { >- obj = !obj || obj == -1 ? this.get_container().find("> ul > li") : this._get_node(obj); >- if(obj === false) { return; } // added for removing root nodes >- var c, _this = this, t, ts = this._get_settings().checkbox.two_state, rc = this._get_settings().checkbox.real_checkboxes, rcn = this._get_settings().checkbox.real_checkboxes_names; >- obj.each(function () { >- t = $(this); >- c = t.is("li") && (t.hasClass("jstree-checked") || (rc && t.children(":checked").length)) ? "jstree-checked" : "jstree-unchecked"; >- t.find("li").andSelf().each(function () { >- var $t = $(this), nm; >- $t.children("a" + (_this.data.languages ? "" : ":eq(0)") ).not(":has(.jstree-checkbox)").prepend("<ins class='jstree-checkbox'> </ins>").parent().not(".jstree-checked, .jstree-unchecked").addClass( ts ? "jstree-unchecked" : c ); >- if(rc) { >- if(!$t.children(":checkbox").length) { >- nm = rcn.call(_this, $t); >- $t.prepend("<input type='checkbox' class='jstree-real-checkbox' id='" + nm[0] + "' name='" + nm[0] + "' value='" + nm[1] + "' />"); >- } >- else { >- $t.children(":checkbox").addClass("jstree-real-checkbox"); >- } >- } >- if(!ts) { >- if(c === "jstree-checked" || $t.hasClass("jstree-checked") || $t.children(':checked').length) { >- $t.find("li").andSelf().addClass("jstree-checked").children(":checkbox").prop("checked", true); >- } >- } >- else { >- if($t.hasClass("jstree-checked") || $t.children(':checked').length) { >- $t.addClass("jstree-checked").children(":checkbox").prop("checked", true); >- } >- } >- }); >- }); >- if(!ts) { >- obj.find(".jstree-checked").parent().parent().each(function () { _this._repair_state(this); }); >- } >- }, >- change_state : function (obj, state) { >- obj = this._get_node(obj); >- var coll = false, rc = this._get_settings().checkbox.real_checkboxes; >- if(!obj || obj === -1) { return false; } >- state = (state === false || state === true) ? state : obj.hasClass("jstree-checked"); >- if(this._get_settings().checkbox.two_state) { >- if(state) { >- obj.removeClass("jstree-checked").addClass("jstree-unchecked"); >- if(rc) { obj.children(":checkbox").prop("checked", false); } >- } >- else { >- obj.removeClass("jstree-unchecked").addClass("jstree-checked"); >- if(rc) { obj.children(":checkbox").prop("checked", true); } >- } >- } >- else { >- if(state) { >- coll = obj.find("li").andSelf(); >- if(!coll.filter(".jstree-checked, .jstree-undetermined").length) { return false; } >- coll.removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked"); >- if(rc) { coll.children(":checkbox").prop("checked", false); } >- } >- else { >- coll = obj.find("li").andSelf(); >- if(!coll.filter(".jstree-unchecked, .jstree-undetermined").length) { return false; } >- coll.removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked"); >- if(rc) { coll.children(":checkbox").prop("checked", true); } >- if(this.data.ui) { this.data.ui.last_selected = obj; } >- this.data.checkbox.last_selected = obj; >- } >- obj.parentsUntil(".jstree", "li").each(function () { >- var $this = $(this); >- if(state) { >- if($this.children("ul").children("li.jstree-checked, li.jstree-undetermined").length) { >- $this.parentsUntil(".jstree", "li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined"); >- if(rc) { $this.parentsUntil(".jstree", "li").andSelf().children(":checkbox").prop("checked", false); } >- return false; >- } >- else { >- $this.removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked"); >- if(rc) { $this.children(":checkbox").prop("checked", false); } >- } >- } >- else { >- if($this.children("ul").children("li.jstree-unchecked, li.jstree-undetermined").length) { >- $this.parentsUntil(".jstree", "li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined"); >- if(rc) { $this.parentsUntil(".jstree", "li").andSelf().children(":checkbox").prop("checked", false); } >- return false; >- } >- else { >- $this.removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked"); >- if(rc) { $this.children(":checkbox").prop("checked", true); } >- } >- } >- }); >- } >- if(this.data.ui && this.data.checkbox.noui) { this.data.ui.selected = this.get_checked(); } >- this.__callback(obj); >- return true; >- }, >- check_node : function (obj) { >- if(this.change_state(obj, false)) { >- obj = this._get_node(obj); >- if(this._get_settings().checkbox.checked_parent_open) { >- var t = this; >- obj.parents(".jstree-closed").each(function () { t.open_node(this, false, true); }); >- } >- this.__callback({ "obj" : obj }); >- } >- }, >- uncheck_node : function (obj) { >- if(this.change_state(obj, true)) { this.__callback({ "obj" : this._get_node(obj) }); } >- }, >- check_all : function () { >- var _this = this, >- coll = this._get_settings().checkbox.two_state ? this.get_container_ul().find("li") : this.get_container_ul().children("li"); >- coll.each(function () { >- _this.change_state(this, false); >- }); >- this.__callback(); >- }, >- uncheck_all : function () { >- var _this = this, >- coll = this._get_settings().checkbox.two_state ? this.get_container_ul().find("li") : this.get_container_ul().children("li"); >- coll.each(function () { >- _this.change_state(this, true); >- }); >- this.__callback(); >- }, >- >- is_checked : function(obj) { >- obj = this._get_node(obj); >- return obj.length ? obj.is(".jstree-checked") : false; >- }, >- get_checked : function (obj, get_all) { >- obj = !obj || obj === -1 ? this.get_container() : this._get_node(obj); >- return get_all || this._get_settings().checkbox.two_state ? obj.find(".jstree-checked") : obj.find("> ul > .jstree-checked, .jstree-undetermined > ul > .jstree-checked"); >- }, >- get_unchecked : function (obj, get_all) { >- obj = !obj || obj === -1 ? this.get_container() : this._get_node(obj); >- return get_all || this._get_settings().checkbox.two_state ? obj.find(".jstree-unchecked") : obj.find("> ul > .jstree-unchecked, .jstree-undetermined > ul > .jstree-unchecked"); >- }, >- >- show_checkboxes : function () { this.get_container().children("ul").removeClass("jstree-no-checkboxes"); }, >- hide_checkboxes : function () { this.get_container().children("ul").addClass("jstree-no-checkboxes"); }, >- >- _repair_state : function (obj) { >- obj = this._get_node(obj); >- if(!obj.length) { return; } >- if(this._get_settings().checkbox.two_state) { >- obj.find('li').andSelf().not('.jstree-checked').removeClass('jstree-undetermined').addClass('jstree-unchecked').children(':checkbox').prop('checked', true); >- return; >- } >- var rc = this._get_settings().checkbox.real_checkboxes, >- a = obj.find("> ul > .jstree-checked").length, >- b = obj.find("> ul > .jstree-undetermined").length, >- c = obj.find("> ul > li").length; >- if(c === 0) { if(obj.hasClass("jstree-undetermined")) { this.change_state(obj, false); } } >- else if(a === 0 && b === 0) { this.change_state(obj, true); } >- else if(a === c) { this.change_state(obj, false); } >- else { >- obj.parentsUntil(".jstree","li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined"); >- if(rc) { obj.parentsUntil(".jstree", "li").andSelf().children(":checkbox").prop("checked", false); } >- } >- }, >- reselect : function () { >- if(this.data.ui && this.data.checkbox.noui) { >- var _this = this, >- s = this.data.ui.to_select; >- s = $.map($.makeArray(s), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); }); >- this.deselect_all(); >- $.each(s, function (i, val) { _this.check_node(val); }); >- this.__callback(); >- } >- else { >- this.__call_old(); >- } >- }, >- save_loaded : function () { >- var _this = this; >- this.data.core.to_load = []; >- this.get_container_ul().find("li.jstree-closed.jstree-undetermined").each(function () { >- if(this.id) { _this.data.core.to_load.push("#" + this.id); } >- }); >- } >- } >- }); >- $(function() { >- var css_string = '.jstree .jstree-real-checkbox { display:none; } '; >- $.vakata.css.add_sheet({ str : css_string, title : "jstree" }); >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree XML plugin >- * The XML data store. Datastores are build by overriding the `load_node` and `_is_loaded` functions. >- */ >-(function ($) { >- $.vakata.xslt = function (xml, xsl, callback) { >- var rs = "", xm, xs, processor, support; >- // TODO: IE9 no XSLTProcessor, no document.recalc >- if(document.recalc) { >- xm = document.createElement('xml'); >- xs = document.createElement('xml'); >- xm.innerHTML = xml; >- xs.innerHTML = xsl; >- $("body").append(xm).append(xs); >- setTimeout( (function (xm, xs, callback) { >- return function () { >- callback.call(null, xm.transformNode(xs.XMLDocument)); >- setTimeout( (function (xm, xs) { return function () { $(xm).remove(); $(xs).remove(); }; })(xm, xs), 200); >- }; >- })(xm, xs, callback), 100); >- return true; >- } >- if(typeof window.DOMParser !== "undefined" && typeof window.XMLHttpRequest !== "undefined" && typeof window.XSLTProcessor === "undefined") { >- xml = new DOMParser().parseFromString(xml, "text/xml"); >- xsl = new DOMParser().parseFromString(xsl, "text/xml"); >- // alert(xml.transformNode()); >- // callback.call(null, new XMLSerializer().serializeToString(rs)); >- >- } >- if(typeof window.DOMParser !== "undefined" && typeof window.XMLHttpRequest !== "undefined" && typeof window.XSLTProcessor !== "undefined") { >- processor = new XSLTProcessor(); >- support = $.isFunction(processor.transformDocument) ? (typeof window.XMLSerializer !== "undefined") : true; >- if(!support) { return false; } >- xml = new DOMParser().parseFromString(xml, "text/xml"); >- xsl = new DOMParser().parseFromString(xsl, "text/xml"); >- if($.isFunction(processor.transformDocument)) { >- rs = document.implementation.createDocument("", "", null); >- processor.transformDocument(xml, xsl, rs, null); >- callback.call(null, new XMLSerializer().serializeToString(rs)); >- return true; >- } >- else { >- processor.importStylesheet(xsl); >- rs = processor.transformToFragment(xml, document); >- callback.call(null, $("<div />").append(rs).html()); >- return true; >- } >- } >- return false; >- }; >- var xsl = { >- 'nest' : '<' + '?xml version="1.0" encoding="utf-8" ?>' + >- '<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >' + >- '<xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" standalone="no" indent="no" media-type="text/html" />' + >- '<xsl:template match="/">' + >- ' <xsl:call-template name="nodes">' + >- ' <xsl:with-param name="node" select="/root" />' + >- ' </xsl:call-template>' + >- '</xsl:template>' + >- '<xsl:template name="nodes">' + >- ' <xsl:param name="node" />' + >- ' <ul>' + >- ' <xsl:for-each select="$node/item">' + >- ' <xsl:variable name="children" select="count(./item) > 0" />' + >- ' <li>' + >- ' <xsl:attribute name="class">' + >- ' <xsl:if test="position() = last()">jstree-last </xsl:if>' + >- ' <xsl:choose>' + >- ' <xsl:when test="@state = \'open\'">jstree-open </xsl:when>' + >- ' <xsl:when test="$children or @hasChildren or @state = \'closed\'">jstree-closed </xsl:when>' + >- ' <xsl:otherwise>jstree-leaf </xsl:otherwise>' + >- ' </xsl:choose>' + >- ' <xsl:value-of select="@class" />' + >- ' </xsl:attribute>' + >- ' <xsl:for-each select="@*">' + >- ' <xsl:if test="name() != \'class\' and name() != \'state\' and name() != \'hasChildren\'">' + >- ' <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' + >- ' </xsl:if>' + >- ' </xsl:for-each>' + >- ' <ins class="jstree-icon"><xsl:text> </xsl:text></ins>' + >- ' <xsl:for-each select="content/name">' + >- ' <a>' + >- ' <xsl:attribute name="href">' + >- ' <xsl:choose>' + >- ' <xsl:when test="@href"><xsl:value-of select="@href" /></xsl:when>' + >- ' <xsl:otherwise>#</xsl:otherwise>' + >- ' </xsl:choose>' + >- ' </xsl:attribute>' + >- ' <xsl:attribute name="class"><xsl:value-of select="@lang" /> <xsl:value-of select="@class" /></xsl:attribute>' + >- ' <xsl:attribute name="style"><xsl:value-of select="@style" /></xsl:attribute>' + >- ' <xsl:for-each select="@*">' + >- ' <xsl:if test="name() != \'style\' and name() != \'class\' and name() != \'href\'">' + >- ' <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' + >- ' </xsl:if>' + >- ' </xsl:for-each>' + >- ' <ins>' + >- ' <xsl:attribute name="class">jstree-icon ' + >- ' <xsl:if test="string-length(attribute::icon) > 0 and not(contains(@icon,\'/\'))"><xsl:value-of select="@icon" /></xsl:if>' + >- ' </xsl:attribute>' + >- ' <xsl:if test="string-length(attribute::icon) > 0 and contains(@icon,\'/\')"><xsl:attribute name="style">background:url(<xsl:value-of select="@icon" />) center center no-repeat;</xsl:attribute></xsl:if>' + >- ' <xsl:text> </xsl:text>' + >- ' </ins>' + >- ' <xsl:copy-of select="./child::node()" />' + >- ' </a>' + >- ' </xsl:for-each>' + >- ' <xsl:if test="$children or @hasChildren"><xsl:call-template name="nodes"><xsl:with-param name="node" select="current()" /></xsl:call-template></xsl:if>' + >- ' </li>' + >- ' </xsl:for-each>' + >- ' </ul>' + >- '</xsl:template>' + >- '</xsl:stylesheet>', >- >- 'flat' : '<' + '?xml version="1.0" encoding="utf-8" ?>' + >- '<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >' + >- '<xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" standalone="no" indent="no" media-type="text/xml" />' + >- '<xsl:template match="/">' + >- ' <ul>' + >- ' <xsl:for-each select="//item[not(@parent_id) or @parent_id=0 or not(@parent_id = //item/@id)]">' + /* the last `or` may be removed */ >- ' <xsl:call-template name="nodes">' + >- ' <xsl:with-param name="node" select="." />' + >- ' <xsl:with-param name="is_last" select="number(position() = last())" />' + >- ' </xsl:call-template>' + >- ' </xsl:for-each>' + >- ' </ul>' + >- '</xsl:template>' + >- '<xsl:template name="nodes">' + >- ' <xsl:param name="node" />' + >- ' <xsl:param name="is_last" />' + >- ' <xsl:variable name="children" select="count(//item[@parent_id=$node/attribute::id]) > 0" />' + >- ' <li>' + >- ' <xsl:attribute name="class">' + >- ' <xsl:if test="$is_last = true()">jstree-last </xsl:if>' + >- ' <xsl:choose>' + >- ' <xsl:when test="@state = \'open\'">jstree-open </xsl:when>' + >- ' <xsl:when test="$children or @hasChildren or @state = \'closed\'">jstree-closed </xsl:when>' + >- ' <xsl:otherwise>jstree-leaf </xsl:otherwise>' + >- ' </xsl:choose>' + >- ' <xsl:value-of select="@class" />' + >- ' </xsl:attribute>' + >- ' <xsl:for-each select="@*">' + >- ' <xsl:if test="name() != \'parent_id\' and name() != \'hasChildren\' and name() != \'class\' and name() != \'state\'">' + >- ' <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' + >- ' </xsl:if>' + >- ' </xsl:for-each>' + >- ' <ins class="jstree-icon"><xsl:text> </xsl:text></ins>' + >- ' <xsl:for-each select="content/name">' + >- ' <a>' + >- ' <xsl:attribute name="href">' + >- ' <xsl:choose>' + >- ' <xsl:when test="@href"><xsl:value-of select="@href" /></xsl:when>' + >- ' <xsl:otherwise>#</xsl:otherwise>' + >- ' </xsl:choose>' + >- ' </xsl:attribute>' + >- ' <xsl:attribute name="class"><xsl:value-of select="@lang" /> <xsl:value-of select="@class" /></xsl:attribute>' + >- ' <xsl:attribute name="style"><xsl:value-of select="@style" /></xsl:attribute>' + >- ' <xsl:for-each select="@*">' + >- ' <xsl:if test="name() != \'style\' and name() != \'class\' and name() != \'href\'">' + >- ' <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' + >- ' </xsl:if>' + >- ' </xsl:for-each>' + >- ' <ins>' + >- ' <xsl:attribute name="class">jstree-icon ' + >- ' <xsl:if test="string-length(attribute::icon) > 0 and not(contains(@icon,\'/\'))"><xsl:value-of select="@icon" /></xsl:if>' + >- ' </xsl:attribute>' + >- ' <xsl:if test="string-length(attribute::icon) > 0 and contains(@icon,\'/\')"><xsl:attribute name="style">background:url(<xsl:value-of select="@icon" />) center center no-repeat;</xsl:attribute></xsl:if>' + >- ' <xsl:text> </xsl:text>' + >- ' </ins>' + >- ' <xsl:copy-of select="./child::node()" />' + >- ' </a>' + >- ' </xsl:for-each>' + >- ' <xsl:if test="$children">' + >- ' <ul>' + >- ' <xsl:for-each select="//item[@parent_id=$node/attribute::id]">' + >- ' <xsl:call-template name="nodes">' + >- ' <xsl:with-param name="node" select="." />' + >- ' <xsl:with-param name="is_last" select="number(position() = last())" />' + >- ' </xsl:call-template>' + >- ' </xsl:for-each>' + >- ' </ul>' + >- ' </xsl:if>' + >- ' </li>' + >- '</xsl:template>' + >- '</xsl:stylesheet>' >- }, >- escape_xml = function(string) { >- return string >- .toString() >- .replace(/&/g, '&') >- .replace(/</g, '<') >- .replace(/>/g, '>') >- .replace(/"/g, '"') >- .replace(/'/g, '''); >- }; >- $.jstree.plugin("xml_data", { >- defaults : { >- data : false, >- ajax : false, >- xsl : "flat", >- clean_node : false, >- correct_state : true, >- get_skip_empty : false, >- get_include_preamble : true >- }, >- _fn : { >- load_node : function (obj, s_call, e_call) { var _this = this; this.load_node_xml(obj, function () { _this.__callback({ "obj" : _this._get_node(obj) }); s_call.call(this); }, e_call); }, >- _is_loaded : function (obj) { >- var s = this._get_settings().xml_data; >- obj = this._get_node(obj); >- return obj == -1 || !obj || (!s.ajax && !$.isFunction(s.data)) || obj.is(".jstree-open, .jstree-leaf") || obj.children("ul").children("li").size() > 0; >- }, >- load_node_xml : function (obj, s_call, e_call) { >- var s = this.get_settings().xml_data, >- error_func = function () {}, >- success_func = function () {}; >- >- obj = this._get_node(obj); >- if(obj && obj !== -1) { >- if(obj.data("jstree_is_loading")) { return; } >- else { obj.data("jstree_is_loading",true); } >- } >- switch(!0) { >- case (!s.data && !s.ajax): throw "Neither data nor ajax settings supplied."; >- case ($.isFunction(s.data)): >- s.data.call(this, obj, $.proxy(function (d) { >- this.parse_xml(d, $.proxy(function (d) { >- if(d) { >- d = d.replace(/ ?xmlns="[^"]*"/ig, ""); >- if(d.length > 10) { >- d = $(d); >- if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); } >- else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d); obj.removeData("jstree_is_loading"); } >- if(s.clean_node) { this.clean_node(obj); } >- if(s_call) { s_call.call(this); } >- } >- else { >- if(obj && obj !== -1) { >- obj.children("a.jstree-loading").removeClass("jstree-loading"); >- obj.removeData("jstree_is_loading"); >- if(s.correct_state) { >- this.correct_state(obj); >- if(s_call) { s_call.call(this); } >- } >- } >- else { >- if(s.correct_state) { >- this.get_container().children("ul").empty(); >- if(s_call) { s_call.call(this); } >- } >- } >- } >- } >- }, this)); >- }, this)); >- break; >- case (!!s.data && !s.ajax) || (!!s.data && !!s.ajax && (!obj || obj === -1)): >- if(!obj || obj == -1) { >- this.parse_xml(s.data, $.proxy(function (d) { >- if(d) { >- d = d.replace(/ ?xmlns="[^"]*"/ig, ""); >- if(d.length > 10) { >- d = $(d); >- this.get_container().children("ul").empty().append(d.children()); >- if(s.clean_node) { this.clean_node(obj); } >- if(s_call) { s_call.call(this); } >- } >- } >- else { >- if(s.correct_state) { >- this.get_container().children("ul").empty(); >- if(s_call) { s_call.call(this); } >- } >- } >- }, this)); >- } >- break; >- case (!s.data && !!s.ajax) || (!!s.data && !!s.ajax && obj && obj !== -1): >- error_func = function (x, t, e) { >- var ef = this.get_settings().xml_data.ajax.error; >- if(ef) { ef.call(this, x, t, e); } >- if(obj !== -1 && obj.length) { >- obj.children("a.jstree-loading").removeClass("jstree-loading"); >- obj.removeData("jstree_is_loading"); >- if(t === "success" && s.correct_state) { this.correct_state(obj); } >- } >- else { >- if(t === "success" && s.correct_state) { this.get_container().children("ul").empty(); } >- } >- if(e_call) { e_call.call(this); } >- }; >- success_func = function (d, t, x) { >- d = x.responseText; >- var sf = this.get_settings().xml_data.ajax.success; >- if(sf) { d = sf.call(this,d,t,x) || d; } >- if(d === "" || (d && d.toString && d.toString().replace(/^[\s\n]+$/,"") === "")) { >- return error_func.call(this, x, t, ""); >- } >- this.parse_xml(d, $.proxy(function (d) { >- if(d) { >- d = d.replace(/ ?xmlns="[^"]*"/ig, ""); >- if(d.length > 10) { >- d = $(d); >- if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); } >- else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d); obj.removeData("jstree_is_loading"); } >- if(s.clean_node) { this.clean_node(obj); } >- if(s_call) { s_call.call(this); } >- } >- else { >- if(obj && obj !== -1) { >- obj.children("a.jstree-loading").removeClass("jstree-loading"); >- obj.removeData("jstree_is_loading"); >- if(s.correct_state) { >- this.correct_state(obj); >- if(s_call) { s_call.call(this); } >- } >- } >- else { >- if(s.correct_state) { >- this.get_container().children("ul").empty(); >- if(s_call) { s_call.call(this); } >- } >- } >- } >- } >- }, this)); >- }; >- s.ajax.context = this; >- s.ajax.error = error_func; >- s.ajax.success = success_func; >- if(!s.ajax.dataType) { s.ajax.dataType = "xml"; } >- if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, obj); } >- if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, obj); } >- $.ajax(s.ajax); >- break; >- } >- }, >- parse_xml : function (xml, callback) { >- var s = this._get_settings().xml_data; >- $.vakata.xslt(xml, xsl[s.xsl], callback); >- }, >- get_xml : function (tp, obj, li_attr, a_attr, is_callback) { >- var result = "", >- s = this._get_settings(), >- _this = this, >- tmp1, tmp2, li, a, lang; >- if(!tp) { tp = "flat"; } >- if(!is_callback) { is_callback = 0; } >- obj = this._get_node(obj); >- if(!obj || obj === -1) { obj = this.get_container().find("> ul > li"); } >- li_attr = $.isArray(li_attr) ? li_attr : [ "id", "class" ]; >- if(!is_callback && this.data.types && $.inArray(s.types.type_attr, li_attr) === -1) { li_attr.push(s.types.type_attr); } >- >- a_attr = $.isArray(a_attr) ? a_attr : [ ]; >- >- if(!is_callback) { >- if(s.xml_data.get_include_preamble) { >- result += '<' + '?xml version="1.0" encoding="UTF-8"?' + '>'; >- } >- result += "<root>"; >- } >- obj.each(function () { >- result += "<item"; >- li = $(this); >- $.each(li_attr, function (i, v) { >- var t = li.attr(v); >- if(!s.xml_data.get_skip_empty || typeof t !== "undefined") { >- result += " " + v + "=\"" + escape_xml((" " + (t || "")).replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"")) + "\""; >- } >- }); >- if(li.hasClass("jstree-open")) { result += " state=\"open\""; } >- if(li.hasClass("jstree-closed")) { result += " state=\"closed\""; } >- if(tp === "flat") { result += " parent_id=\"" + escape_xml(is_callback) + "\""; } >- result += ">"; >- result += "<content>"; >- a = li.children("a"); >- a.each(function () { >- tmp1 = $(this); >- lang = false; >- result += "<name"; >- if($.inArray("languages", s.plugins) !== -1) { >- $.each(s.languages, function (k, z) { >- if(tmp1.hasClass(z)) { result += " lang=\"" + escape_xml(z) + "\""; lang = z; return false; } >- }); >- } >- if(a_attr.length) { >- $.each(a_attr, function (k, z) { >- var t = tmp1.attr(z); >- if(!s.xml_data.get_skip_empty || typeof t !== "undefined") { >- result += " " + z + "=\"" + escape_xml((" " + t || "").replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"")) + "\""; >- } >- }); >- } >- if(tmp1.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/^\s+$/ig,"").length) { >- result += ' icon="' + escape_xml(tmp1.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"")) + '"'; >- } >- if(tmp1.children("ins").get(0).style.backgroundImage.length) { >- result += ' icon="' + escape_xml(tmp1.children("ins").get(0).style.backgroundImage.replace("url(","").replace(")","").replace(/'/ig,"").replace(/"/ig,"")) + '"'; >- } >- result += ">"; >- result += "<![CDATA[" + _this.get_text(tmp1, lang) + "]]>"; >- result += "</name>"; >- }); >- result += "</content>"; >- tmp2 = li[0].id || true; >- li = li.find("> ul > li"); >- if(li.length) { tmp2 = _this.get_xml(tp, li, li_attr, a_attr, tmp2); } >- else { tmp2 = ""; } >- if(tp == "nest") { result += tmp2; } >- result += "</item>"; >- if(tp == "flat") { result += tmp2; } >- }); >- if(!is_callback) { result += "</root>"; } >- return result; >- } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree search plugin >- * Enables both sync and async search on the tree >- * DOES NOT WORK WITH JSON PROGRESSIVE RENDER >- */ >-(function ($) { >- $.expr[':'].jstree_contains = function(a,i,m){ >- return (a.textContent || a.innerText || "").toLowerCase().indexOf(m[3].toLowerCase())>=0; >- }; >- $.expr[':'].jstree_title_contains = function(a,i,m) { >- return (a.getAttribute("title") || "").toLowerCase().indexOf(m[3].toLowerCase())>=0; >- }; >- $.jstree.plugin("search", { >- __init : function () { >- this.data.search.str = ""; >- this.data.search.result = $(); >- if(this._get_settings().search.show_only_matches) { >- this.get_container() >- .bind("search.jstree", function (e, data) { >- $(this).children("ul").find("li").hide().removeClass("jstree-last"); >- data.rslt.nodes.parentsUntil(".jstree").andSelf().show() >- .filter("ul").each(function () { $(this).children("li:visible").eq(-1).addClass("jstree-last"); }); >- }) >- .bind("clear_search.jstree", function () { >- $(this).children("ul").find("li").css("display","").end().end().jstree("clean_node", -1); >- }); >- } >- }, >- defaults : { >- ajax : false, >- search_method : "jstree_contains", // for case insensitive - jstree_contains >- show_only_matches : false >- }, >- _fn : { >- search : function (str, skip_async) { >- if($.trim(str) === "") { this.clear_search(); return; } >- var s = this.get_settings().search, >- t = this, >- error_func = function () { }, >- success_func = function () { }; >- this.data.search.str = str; >- >- if(!skip_async && s.ajax !== false && this.get_container_ul().find("li.jstree-closed:not(:has(ul)):eq(0)").length > 0) { >- this.search.supress_callback = true; >- error_func = function () { }; >- success_func = function (d, t, x) { >- var sf = this.get_settings().search.ajax.success; >- if(sf) { d = sf.call(this,d,t,x) || d; } >- this.data.search.to_open = d; >- this._search_open(); >- }; >- s.ajax.context = this; >- s.ajax.error = error_func; >- s.ajax.success = success_func; >- if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, str); } >- if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, str); } >- if(!s.ajax.data) { s.ajax.data = { "search_string" : str }; } >- if(!s.ajax.dataType || /^json/.exec(s.ajax.dataType)) { s.ajax.dataType = "json"; } >- $.ajax(s.ajax); >- return; >- } >- if(this.data.search.result.length) { this.clear_search(); } >- this.data.search.result = this.get_container().find("a" + (this.data.languages ? "." + this.get_lang() : "" ) + ":" + (s.search_method) + "(" + this.data.search.str + ")"); >- this.data.search.result.addClass("jstree-search").parent().parents(".jstree-closed").each(function () { >- t.open_node(this, false, true); >- }); >- this.__callback({ nodes : this.data.search.result, str : str }); >- }, >- clear_search : function (str) { >- this.data.search.result.removeClass("jstree-search"); >- this.__callback(this.data.search.result); >- this.data.search.result = $(); >- }, >- _search_open : function (is_callback) { >- var _this = this, >- done = true, >- current = [], >- remaining = []; >- if(this.data.search.to_open.length) { >- $.each(this.data.search.to_open, function (i, val) { >- if(val == "#") { return true; } >- if($(val).length && $(val).is(".jstree-closed")) { current.push(val); } >- else { remaining.push(val); } >- }); >- if(current.length) { >- this.data.search.to_open = remaining; >- $.each(current, function (i, val) { >- _this.open_node(val, function () { _this._search_open(true); }); >- }); >- done = false; >- } >- } >- if(done) { this.search(this.data.search.str, true); } >- } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree contextmenu plugin >- */ >-(function ($) { >- $.vakata.context = { >- hide_on_mouseleave : false, >- >- cnt : $("<div id='vakata-contextmenu' />"), >- vis : false, >- tgt : false, >- par : false, >- func : false, >- data : false, >- rtl : false, >- show : function (s, t, x, y, d, p, rtl) { >- $.vakata.context.rtl = !!rtl; >- var html = $.vakata.context.parse(s), h, w; >- if(!html) { return; } >- $.vakata.context.vis = true; >- $.vakata.context.tgt = t; >- $.vakata.context.par = p || t || null; >- $.vakata.context.data = d || null; >- $.vakata.context.cnt >- .html(html) >- .css({ "visibility" : "hidden", "display" : "block", "left" : 0, "top" : 0 }); >- >- if($.vakata.context.hide_on_mouseleave) { >- $.vakata.context.cnt >- .one("mouseleave", function(e) { $.vakata.context.hide(); }); >- } >- >- h = $.vakata.context.cnt.height(); >- w = $.vakata.context.cnt.width(); >- if(x + w > $(document).width()) { >- x = $(document).width() - (w + 5); >- $.vakata.context.cnt.find("li > ul").addClass("right"); >- } >- if(y + h > $(document).height()) { >- y = y - (h + t[0].offsetHeight); >- $.vakata.context.cnt.find("li > ul").addClass("bottom"); >- } >- >- $.vakata.context.cnt >- .css({ "left" : x, "top" : y }) >- .find("li:has(ul)") >- .bind("mouseenter", function (e) { >- var w = $(document).width(), >- h = $(document).height(), >- ul = $(this).children("ul").show(); >- if(w !== $(document).width()) { ul.toggleClass("right"); } >- if(h !== $(document).height()) { ul.toggleClass("bottom"); } >- }) >- .bind("mouseleave", function (e) { >- $(this).children("ul").hide(); >- }) >- .end() >- .css({ "visibility" : "visible" }) >- .show(); >- $(document).triggerHandler("context_show.vakata"); >- }, >- hide : function () { >- $.vakata.context.vis = false; >- $.vakata.context.cnt.attr("class","").css({ "visibility" : "hidden" }); >- $(document).triggerHandler("context_hide.vakata"); >- }, >- parse : function (s, is_callback) { >- if(!s) { return false; } >- var str = "", >- tmp = false, >- was_sep = true; >- if(!is_callback) { $.vakata.context.func = {}; } >- str += "<ul>"; >- $.each(s, function (i, val) { >- if(!val) { return true; } >- $.vakata.context.func[i] = val.action; >- if(!was_sep && val.separator_before) { >- str += "<li class='vakata-separator vakata-separator-before'></li>"; >- } >- was_sep = false; >- str += "<li class='" + (val._class || "") + (val._disabled ? " jstree-contextmenu-disabled " : "") + "'><ins "; >- if(val.icon && val.icon.indexOf("/") === -1) { str += " class='" + val.icon + "' "; } >- if(val.icon && val.icon.indexOf("/") !== -1) { str += " style='background:url(" + val.icon + ") center center no-repeat;' "; } >- str += "> </ins><a href='#' rel='" + i + "'>"; >- if(val.submenu) { >- str += "<span style='float:" + ($.vakata.context.rtl ? "left" : "right") + ";'>»</span>"; >- } >- str += val.label + "</a>"; >- if(val.submenu) { >- tmp = $.vakata.context.parse(val.submenu, true); >- if(tmp) { str += tmp; } >- } >- str += "</li>"; >- if(val.separator_after) { >- str += "<li class='vakata-separator vakata-separator-after'></li>"; >- was_sep = true; >- } >- }); >- str = str.replace(/<li class\='vakata-separator vakata-separator-after'\><\/li\>$/,""); >- str += "</ul>"; >- $(document).triggerHandler("context_parse.vakata"); >- return str.length > 10 ? str : false; >- }, >- exec : function (i) { >- if($.isFunction($.vakata.context.func[i])) { >- // if is string - eval and call it! >- $.vakata.context.func[i].call($.vakata.context.data, $.vakata.context.par); >- return true; >- } >- else { return false; } >- } >- }; >- $(function () { >- var css_string = '' + >- '#vakata-contextmenu { display:block; visibility:hidden; left:0; top:-200px; position:absolute; margin:0; padding:0; min-width:180px; background:#ebebeb; border:1px solid silver; z-index:10000; *width:180px; } ' + >- '#vakata-contextmenu ul { min-width:180px; *width:180px; } ' + >- '#vakata-contextmenu ul, #vakata-contextmenu li { margin:0; padding:0; list-style-type:none; display:block; } ' + >- '#vakata-contextmenu li { line-height:20px; min-height:20px; position:relative; padding:0px; } ' + >- '#vakata-contextmenu li a { padding:1px 6px; line-height:17px; display:block; text-decoration:none; margin:1px 1px 0 1px; } ' + >- '#vakata-contextmenu li ins { float:left; width:16px; height:16px; text-decoration:none; margin-right:2px; } ' + >- '#vakata-contextmenu li a:hover, #vakata-contextmenu li.vakata-hover > a { background:gray; color:white; } ' + >- '#vakata-contextmenu li ul { display:none; position:absolute; top:-2px; left:100%; background:#ebebeb; border:1px solid gray; } ' + >- '#vakata-contextmenu .right { right:100%; left:auto; } ' + >- '#vakata-contextmenu .bottom { bottom:-1px; top:auto; } ' + >- '#vakata-contextmenu li.vakata-separator { min-height:0; height:1px; line-height:1px; font-size:1px; overflow:hidden; margin:0 2px; background:silver; /* border-top:1px solid #fefefe; */ padding:0; } '; >- $.vakata.css.add_sheet({ str : css_string, title : "vakata" }); >- $.vakata.context.cnt >- .delegate("a","click", function (e) { e.preventDefault(); }) >- .delegate("a","mouseup", function (e) { >- if(!$(this).parent().hasClass("jstree-contextmenu-disabled") && $.vakata.context.exec($(this).attr("rel"))) { >- $.vakata.context.hide(); >- } >- else { $(this).blur(); } >- }) >- .delegate("a","mouseover", function () { >- $.vakata.context.cnt.find(".vakata-hover").removeClass("vakata-hover"); >- }) >- .appendTo("body"); >- $(document).bind("mousedown", function (e) { if($.vakata.context.vis && !$.contains($.vakata.context.cnt[0], e.target)) { $.vakata.context.hide(); } }); >- if(typeof $.hotkeys !== "undefined") { >- $(document) >- .bind("keydown", "up", function (e) { >- if($.vakata.context.vis) { >- var o = $.vakata.context.cnt.find("ul:visible").last().children(".vakata-hover").removeClass("vakata-hover").prevAll("li:not(.vakata-separator)").first(); >- if(!o.length) { o = $.vakata.context.cnt.find("ul:visible").last().children("li:not(.vakata-separator)").last(); } >- o.addClass("vakata-hover"); >- e.stopImmediatePropagation(); >- e.preventDefault(); >- } >- }) >- .bind("keydown", "down", function (e) { >- if($.vakata.context.vis) { >- var o = $.vakata.context.cnt.find("ul:visible").last().children(".vakata-hover").removeClass("vakata-hover").nextAll("li:not(.vakata-separator)").first(); >- if(!o.length) { o = $.vakata.context.cnt.find("ul:visible").last().children("li:not(.vakata-separator)").first(); } >- o.addClass("vakata-hover"); >- e.stopImmediatePropagation(); >- e.preventDefault(); >- } >- }) >- .bind("keydown", "right", function (e) { >- if($.vakata.context.vis) { >- $.vakata.context.cnt.find(".vakata-hover").children("ul").show().children("li:not(.vakata-separator)").removeClass("vakata-hover").first().addClass("vakata-hover"); >- e.stopImmediatePropagation(); >- e.preventDefault(); >- } >- }) >- .bind("keydown", "left", function (e) { >- if($.vakata.context.vis) { >- $.vakata.context.cnt.find(".vakata-hover").children("ul").hide().children(".vakata-separator").removeClass("vakata-hover"); >- e.stopImmediatePropagation(); >- e.preventDefault(); >- } >- }) >- .bind("keydown", "esc", function (e) { >- $.vakata.context.hide(); >- e.preventDefault(); >- }) >- .bind("keydown", "space", function (e) { >- $.vakata.context.cnt.find(".vakata-hover").last().children("a").click(); >- e.preventDefault(); >- }); >- } >- }); >- >- $.jstree.plugin("contextmenu", { >- __init : function () { >- this.get_container() >- .delegate("a", "contextmenu.jstree", $.proxy(function (e) { >- e.preventDefault(); >- if(!$(e.currentTarget).hasClass("jstree-loading")) { >- this.show_contextmenu(e.currentTarget, e.pageX, e.pageY); >- } >- }, this)) >- .delegate("a", "click.jstree", $.proxy(function (e) { >- if(this.data.contextmenu) { >- $.vakata.context.hide(); >- } >- }, this)) >- .bind("destroy.jstree", $.proxy(function () { >- // TODO: move this to descruct method >- if(this.data.contextmenu) { >- $.vakata.context.hide(); >- } >- }, this)); >- $(document).bind("context_hide.vakata", $.proxy(function () { this.data.contextmenu = false; }, this)); >- }, >- defaults : { >- select_node : false, // requires UI plugin >- show_at_node : true, >- items : { // Could be a function that should return an object like this one >- "create" : { >- "separator_before" : false, >- "separator_after" : true, >- "label" : "Create", >- "action" : function (obj) { this.create(obj); } >- }, >- "rename" : { >- "separator_before" : false, >- "separator_after" : false, >- "label" : "Rename", >- "action" : function (obj) { this.rename(obj); } >- }, >- "remove" : { >- "separator_before" : false, >- "icon" : false, >- "separator_after" : false, >- "label" : "Delete", >- "action" : function (obj) { if(this.is_selected(obj)) { this.remove(); } else { this.remove(obj); } } >- }, >- "ccp" : { >- "separator_before" : true, >- "icon" : false, >- "separator_after" : false, >- "label" : "Edit", >- "action" : false, >- "submenu" : { >- "cut" : { >- "separator_before" : false, >- "separator_after" : false, >- "label" : "Cut", >- "action" : function (obj) { this.cut(obj); } >- }, >- "copy" : { >- "separator_before" : false, >- "icon" : false, >- "separator_after" : false, >- "label" : "Copy", >- "action" : function (obj) { this.copy(obj); } >- }, >- "paste" : { >- "separator_before" : false, >- "icon" : false, >- "separator_after" : false, >- "label" : "Paste", >- "action" : function (obj) { this.paste(obj); } >- } >- } >- } >- } >- }, >- _fn : { >- show_contextmenu : function (obj, x, y) { >- obj = this._get_node(obj); >- var s = this.get_settings().contextmenu, >- a = obj.children("a:visible:eq(0)"), >- o = false, >- i = false; >- if(s.select_node && this.data.ui && !this.is_selected(obj)) { >- this.deselect_all(); >- this.select_node(obj, true); >- } >- if(s.show_at_node || typeof x === "undefined" || typeof y === "undefined") { >- o = a.offset(); >- x = o.left; >- y = o.top + this.data.core.li_height; >- } >- i = obj.data("jstree") && obj.data("jstree").contextmenu ? obj.data("jstree").contextmenu : s.items; >- if($.isFunction(i)) { i = i.call(this, obj); } >- this.data.contextmenu = true; >- $.vakata.context.show(i, a, x, y, this, obj, this._get_settings().core.rtl); >- if(this.data.themes) { $.vakata.context.cnt.attr("class", "jstree-" + this.data.themes.theme + "-context"); } >- } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree types plugin >- * Adds support types of nodes >- * You can set an attribute on each li node, that represents its type. >- * According to the type setting the node may get custom icon/validation rules >- */ >-(function ($) { >- $.jstree.plugin("types", { >- __init : function () { >- var s = this._get_settings().types; >- this.data.types.attach_to = []; >- this.get_container() >- .bind("init.jstree", $.proxy(function () { >- var types = s.types, >- attr = s.type_attr, >- icons_css = "", >- _this = this; >- >- $.each(types, function (i, tp) { >- $.each(tp, function (k, v) { >- if(!/^(max_depth|max_children|icon|valid_children)$/.test(k)) { _this.data.types.attach_to.push(k); } >- }); >- if(!tp.icon) { return true; } >- if( tp.icon.image || tp.icon.position) { >- if(i == "default") { icons_css += '.jstree-' + _this.get_index() + ' a > .jstree-icon { '; } >- else { icons_css += '.jstree-' + _this.get_index() + ' li[' + attr + '="' + i + '"] > a > .jstree-icon { '; } >- if(tp.icon.image) { icons_css += ' background-image:url(' + tp.icon.image + '); '; } >- if(tp.icon.position){ icons_css += ' background-position:' + tp.icon.position + '; '; } >- else { icons_css += ' background-position:0 0; '; } >- icons_css += '} '; >- } >- }); >- if(icons_css !== "") { $.vakata.css.add_sheet({ 'str' : icons_css, title : "jstree-types" }); } >- }, this)) >- .bind("before.jstree", $.proxy(function (e, data) { >- var s, t, >- o = this._get_settings().types.use_data ? this._get_node(data.args[0]) : false, >- d = o && o !== -1 && o.length ? o.data("jstree") : false; >- if(d && d.types && d.types[data.func] === false) { e.stopImmediatePropagation(); return false; } >- if($.inArray(data.func, this.data.types.attach_to) !== -1) { >- if(!data.args[0] || (!data.args[0].tagName && !data.args[0].jquery)) { return; } >- s = this._get_settings().types.types; >- t = this._get_type(data.args[0]); >- if( >- ( >- (s[t] && typeof s[t][data.func] !== "undefined") || >- (s["default"] && typeof s["default"][data.func] !== "undefined") >- ) && this._check(data.func, data.args[0]) === false >- ) { >- e.stopImmediatePropagation(); >- return false; >- } >- } >- }, this)); >- if(is_ie6) { >- this.get_container() >- .bind("load_node.jstree set_type.jstree", $.proxy(function (e, data) { >- var r = data && data.rslt && data.rslt.obj && data.rslt.obj !== -1 ? this._get_node(data.rslt.obj).parent() : this.get_container_ul(), >- c = false, >- s = this._get_settings().types; >- $.each(s.types, function (i, tp) { >- if(tp.icon && (tp.icon.image || tp.icon.position)) { >- c = i === "default" ? r.find("li > a > .jstree-icon") : r.find("li[" + s.type_attr + "='" + i + "'] > a > .jstree-icon"); >- if(tp.icon.image) { c.css("backgroundImage","url(" + tp.icon.image + ")"); } >- c.css("backgroundPosition", tp.icon.position || "0 0"); >- } >- }); >- }, this)); >- } >- }, >- defaults : { >- // defines maximum number of root nodes (-1 means unlimited, -2 means disable max_children checking) >- max_children : -1, >- // defines the maximum depth of the tree (-1 means unlimited, -2 means disable max_depth checking) >- max_depth : -1, >- // defines valid node types for the root nodes >- valid_children : "all", >- >- // whether to use $.data >- use_data : false, >- // where is the type stores (the rel attribute of the LI element) >- type_attr : "rel", >- // a list of types >- types : { >- // the default type >- "default" : { >- "max_children" : -1, >- "max_depth" : -1, >- "valid_children": "all" >- >- // Bound functions - you can bind any other function here (using boolean or function) >- //"select_node" : true >- } >- } >- }, >- _fn : { >- _types_notify : function (n, data) { >- if(data.type && this._get_settings().types.use_data) { >- this.set_type(data.type, n); >- } >- }, >- _get_type : function (obj) { >- obj = this._get_node(obj); >- return (!obj || !obj.length) ? false : obj.attr(this._get_settings().types.type_attr) || "default"; >- }, >- set_type : function (str, obj) { >- obj = this._get_node(obj); >- var ret = (!obj.length || !str) ? false : obj.attr(this._get_settings().types.type_attr, str); >- if(ret) { this.__callback({ obj : obj, type : str}); } >- return ret; >- }, >- _check : function (rule, obj, opts) { >- obj = this._get_node(obj); >- var v = false, t = this._get_type(obj), d = 0, _this = this, s = this._get_settings().types, data = false; >- if(obj === -1) { >- if(!!s[rule]) { v = s[rule]; } >- else { return; } >- } >- else { >- if(t === false) { return; } >- data = s.use_data ? obj.data("jstree") : false; >- if(data && data.types && typeof data.types[rule] !== "undefined") { v = data.types[rule]; } >- else if(!!s.types[t] && typeof s.types[t][rule] !== "undefined") { v = s.types[t][rule]; } >- else if(!!s.types["default"] && typeof s.types["default"][rule] !== "undefined") { v = s.types["default"][rule]; } >- } >- if($.isFunction(v)) { v = v.call(this, obj); } >- if(rule === "max_depth" && obj !== -1 && opts !== false && s.max_depth !== -2 && v !== 0) { >- // also include the node itself - otherwise if root node it is not checked >- obj.children("a:eq(0)").parentsUntil(".jstree","li").each(function (i) { >- // check if current depth already exceeds global tree depth >- if(s.max_depth !== -1 && s.max_depth - (i + 1) <= 0) { v = 0; return false; } >- d = (i === 0) ? v : _this._check(rule, this, false); >- // check if current node max depth is already matched or exceeded >- if(d !== -1 && d - (i + 1) <= 0) { v = 0; return false; } >- // otherwise - set the max depth to the current value minus current depth >- if(d >= 0 && (d - (i + 1) < v || v < 0) ) { v = d - (i + 1); } >- // if the global tree depth exists and it minus the nodes calculated so far is less than `v` or `v` is unlimited >- if(s.max_depth >= 0 && (s.max_depth - (i + 1) < v || v < 0) ) { v = s.max_depth - (i + 1); } >- }); >- } >- return v; >- }, >- check_move : function () { >- if(!this.__call_old()) { return false; } >- var m = this._get_move(), >- s = m.rt._get_settings().types, >- mc = m.rt._check("max_children", m.cr), >- md = m.rt._check("max_depth", m.cr), >- vc = m.rt._check("valid_children", m.cr), >- ch = 0, d = 1, t; >- >- if(vc === "none") { return false; } >- if($.isArray(vc) && m.ot && m.ot._get_type) { >- m.o.each(function () { >- if($.inArray(m.ot._get_type(this), vc) === -1) { d = false; return false; } >- }); >- if(d === false) { return false; } >- } >- if(s.max_children !== -2 && mc !== -1) { >- ch = m.cr === -1 ? this.get_container().find("> ul > li").not(m.o).length : m.cr.find("> ul > li").not(m.o).length; >- if(ch + m.o.length > mc) { return false; } >- } >- if(s.max_depth !== -2 && md !== -1) { >- d = 0; >- if(md === 0) { return false; } >- if(typeof m.o.d === "undefined") { >- // TODO: deal with progressive rendering and async when checking max_depth (how to know the depth of the moved node) >- t = m.o; >- while(t.length > 0) { >- t = t.find("> ul > li"); >- d ++; >- } >- m.o.d = d; >- } >- if(md - m.o.d < 0) { return false; } >- } >- return true; >- }, >- create_node : function (obj, position, js, callback, is_loaded, skip_check) { >- if(!skip_check && (is_loaded || this._is_loaded(obj))) { >- var p = (typeof position == "string" && position.match(/^before|after$/i) && obj !== -1) ? this._get_parent(obj) : this._get_node(obj), >- s = this._get_settings().types, >- mc = this._check("max_children", p), >- md = this._check("max_depth", p), >- vc = this._check("valid_children", p), >- ch; >- if(typeof js === "string") { js = { data : js }; } >- if(!js) { js = {}; } >- if(vc === "none") { return false; } >- if($.isArray(vc)) { >- if(!js.attr || !js.attr[s.type_attr]) { >- if(!js.attr) { js.attr = {}; } >- js.attr[s.type_attr] = vc[0]; >- } >- else { >- if($.inArray(js.attr[s.type_attr], vc) === -1) { return false; } >- } >- } >- if(s.max_children !== -2 && mc !== -1) { >- ch = p === -1 ? this.get_container().find("> ul > li").length : p.find("> ul > li").length; >- if(ch + 1 > mc) { return false; } >- } >- if(s.max_depth !== -2 && md !== -1 && (md - 1) < 0) { return false; } >- } >- return this.__call_old(true, obj, position, js, callback, is_loaded, skip_check); >- } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree HTML plugin >- * The HTML data store. Datastores are build by replacing the `load_node` and `_is_loaded` functions. >- */ >-(function ($) { >- $.jstree.plugin("html_data", { >- __init : function () { >- // this used to use html() and clean the whitespace, but this way any attached data was lost >- this.data.html_data.original_container_html = this.get_container().find(" > ul > li").clone(true); >- // remove white space from LI node - otherwise nodes appear a bit to the right >- this.data.html_data.original_container_html.find("li").andSelf().contents().filter(function() { return this.nodeType == 3; }).remove(); >- }, >- defaults : { >- data : false, >- ajax : false, >- correct_state : true >- }, >- _fn : { >- load_node : function (obj, s_call, e_call) { var _this = this; this.load_node_html(obj, function () { _this.__callback({ "obj" : _this._get_node(obj) }); s_call.call(this); }, e_call); }, >- _is_loaded : function (obj) { >- obj = this._get_node(obj); >- return obj == -1 || !obj || (!this._get_settings().html_data.ajax && !$.isFunction(this._get_settings().html_data.data)) || obj.is(".jstree-open, .jstree-leaf") || obj.children("ul").children("li").size() > 0; >- }, >- load_node_html : function (obj, s_call, e_call) { >- var d, >- s = this.get_settings().html_data, >- error_func = function () {}, >- success_func = function () {}; >- obj = this._get_node(obj); >- if(obj && obj !== -1) { >- if(obj.data("jstree_is_loading")) { return; } >- else { obj.data("jstree_is_loading",true); } >- } >- switch(!0) { >- case ($.isFunction(s.data)): >- s.data.call(this, obj, $.proxy(function (d) { >- if(d && d !== "" && d.toString && d.toString().replace(/^[\s\n]+$/,"") !== "") { >- d = $(d); >- if(!d.is("ul")) { d = $("<ul />").append(d); } >- if(obj == -1 || !obj) { this.get_container().children("ul").empty().append(d.children()).find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'> </ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); } >- else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d).children("ul").find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'> </ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); obj.removeData("jstree_is_loading"); } >- this.clean_node(obj); >- if(s_call) { s_call.call(this); } >- } >- else { >- if(obj && obj !== -1) { >- obj.children("a.jstree-loading").removeClass("jstree-loading"); >- obj.removeData("jstree_is_loading"); >- if(s.correct_state) { >- this.correct_state(obj); >- if(s_call) { s_call.call(this); } >- } >- } >- else { >- if(s.correct_state) { >- this.get_container().children("ul").empty(); >- if(s_call) { s_call.call(this); } >- } >- } >- } >- }, this)); >- break; >- case (!s.data && !s.ajax): >- if(!obj || obj == -1) { >- this.get_container() >- .children("ul").empty() >- .append(this.data.html_data.original_container_html) >- .find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'> </ins>").end() >- .filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); >- this.clean_node(); >- } >- if(s_call) { s_call.call(this); } >- break; >- case (!!s.data && !s.ajax) || (!!s.data && !!s.ajax && (!obj || obj === -1)): >- if(!obj || obj == -1) { >- d = $(s.data); >- if(!d.is("ul")) { d = $("<ul />").append(d); } >- this.get_container() >- .children("ul").empty().append(d.children()) >- .find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'> </ins>").end() >- .filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); >- this.clean_node(); >- } >- if(s_call) { s_call.call(this); } >- break; >- case (!s.data && !!s.ajax) || (!!s.data && !!s.ajax && obj && obj !== -1): >- obj = this._get_node(obj); >- error_func = function (x, t, e) { >- var ef = this.get_settings().html_data.ajax.error; >- if(ef) { ef.call(this, x, t, e); } >- if(obj != -1 && obj.length) { >- obj.children("a.jstree-loading").removeClass("jstree-loading"); >- obj.removeData("jstree_is_loading"); >- if(t === "success" && s.correct_state) { this.correct_state(obj); } >- } >- else { >- if(t === "success" && s.correct_state) { this.get_container().children("ul").empty(); } >- } >- if(e_call) { e_call.call(this); } >- }; >- success_func = function (d, t, x) { >- var sf = this.get_settings().html_data.ajax.success; >- if(sf) { d = sf.call(this,d,t,x) || d; } >- if(d === "" || (d && d.toString && d.toString().replace(/^[\s\n]+$/,"") === "")) { >- return error_func.call(this, x, t, ""); >- } >- if(d) { >- d = $(d); >- if(!d.is("ul")) { d = $("<ul />").append(d); } >- if(obj == -1 || !obj) { this.get_container().children("ul").empty().append(d.children()).find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'> </ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); } >- else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d).children("ul").find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'> </ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); obj.removeData("jstree_is_loading"); } >- this.clean_node(obj); >- if(s_call) { s_call.call(this); } >- } >- else { >- if(obj && obj !== -1) { >- obj.children("a.jstree-loading").removeClass("jstree-loading"); >- obj.removeData("jstree_is_loading"); >- if(s.correct_state) { >- this.correct_state(obj); >- if(s_call) { s_call.call(this); } >- } >- } >- else { >- if(s.correct_state) { >- this.get_container().children("ul").empty(); >- if(s_call) { s_call.call(this); } >- } >- } >- } >- }; >- s.ajax.context = this; >- s.ajax.error = error_func; >- s.ajax.success = success_func; >- if(!s.ajax.dataType) { s.ajax.dataType = "html"; } >- if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, obj); } >- if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, obj); } >- $.ajax(s.ajax); >- break; >- } >- } >- } >- }); >- // include the HTML data plugin by default >- $.jstree.defaults.plugins.push("html_data"); >-})(jQuery); >-//*/ >- >-/* >- * jsTree themeroller plugin >- * Adds support for jQuery UI themes. Include this at the end of your plugins list, also make sure "themes" is not included. >- */ >-(function ($) { >- $.jstree.plugin("themeroller", { >- __init : function () { >- var s = this._get_settings().themeroller; >- this.get_container() >- .addClass("ui-widget-content") >- .addClass("jstree-themeroller") >- .delegate("a","mouseenter.jstree", function (e) { >- if(!$(e.currentTarget).hasClass("jstree-loading")) { >- $(this).addClass(s.item_h); >- } >- }) >- .delegate("a","mouseleave.jstree", function () { >- $(this).removeClass(s.item_h); >- }) >- .bind("init.jstree", $.proxy(function (e, data) { >- data.inst.get_container().find("> ul > li > .jstree-loading > ins").addClass("ui-icon-refresh"); >- this._themeroller(data.inst.get_container().find("> ul > li")); >- }, this)) >- .bind("open_node.jstree create_node.jstree", $.proxy(function (e, data) { >- this._themeroller(data.rslt.obj); >- }, this)) >- .bind("loaded.jstree refresh.jstree", $.proxy(function (e) { >- this._themeroller(); >- }, this)) >- .bind("close_node.jstree", $.proxy(function (e, data) { >- this._themeroller(data.rslt.obj); >- }, this)) >- .bind("delete_node.jstree", $.proxy(function (e, data) { >- this._themeroller(data.rslt.parent); >- }, this)) >- .bind("correct_state.jstree", $.proxy(function (e, data) { >- data.rslt.obj >- .children("ins.jstree-icon").removeClass(s.opened + " " + s.closed + " ui-icon").end() >- .find("> a > ins.ui-icon") >- .filter(function() { >- return this.className.toString() >- .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"") >- .indexOf("ui-icon-") === -1; >- }).removeClass(s.item_open + " " + s.item_clsd).addClass(s.item_leaf || "jstree-no-icon"); >- }, this)) >- .bind("select_node.jstree", $.proxy(function (e, data) { >- data.rslt.obj.children("a").addClass(s.item_a); >- }, this)) >- .bind("deselect_node.jstree deselect_all.jstree", $.proxy(function (e, data) { >- this.get_container() >- .find("a." + s.item_a).removeClass(s.item_a).end() >- .find("a.jstree-clicked").addClass(s.item_a); >- }, this)) >- .bind("dehover_node.jstree", $.proxy(function (e, data) { >- data.rslt.obj.children("a").removeClass(s.item_h); >- }, this)) >- .bind("hover_node.jstree", $.proxy(function (e, data) { >- this.get_container() >- .find("a." + s.item_h).not(data.rslt.obj).removeClass(s.item_h); >- data.rslt.obj.children("a").addClass(s.item_h); >- }, this)) >- .bind("move_node.jstree", $.proxy(function (e, data) { >- this._themeroller(data.rslt.o); >- this._themeroller(data.rslt.op); >- }, this)); >- }, >- __destroy : function () { >- var s = this._get_settings().themeroller, >- c = [ "ui-icon" ]; >- $.each(s, function (i, v) { >- v = v.split(" "); >- if(v.length) { c = c.concat(v); } >- }); >- this.get_container() >- .removeClass("ui-widget-content") >- .find("." + c.join(", .")).removeClass(c.join(" ")); >- }, >- _fn : { >- _themeroller : function (obj) { >- var s = this._get_settings().themeroller; >- obj = !obj || obj == -1 ? this.get_container_ul() : this._get_node(obj).parent(); >- obj >- .find("li.jstree-closed") >- .children("ins.jstree-icon").removeClass(s.opened).addClass("ui-icon " + s.closed).end() >- .children("a").addClass(s.item) >- .children("ins.jstree-icon").addClass("ui-icon") >- .filter(function() { >- return this.className.toString() >- .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"") >- .indexOf("ui-icon-") === -1; >- }).removeClass(s.item_leaf + " " + s.item_open).addClass(s.item_clsd || "jstree-no-icon") >- .end() >- .end() >- .end() >- .end() >- .find("li.jstree-open") >- .children("ins.jstree-icon").removeClass(s.closed).addClass("ui-icon " + s.opened).end() >- .children("a").addClass(s.item) >- .children("ins.jstree-icon").addClass("ui-icon") >- .filter(function() { >- return this.className.toString() >- .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"") >- .indexOf("ui-icon-") === -1; >- }).removeClass(s.item_leaf + " " + s.item_clsd).addClass(s.item_open || "jstree-no-icon") >- .end() >- .end() >- .end() >- .end() >- .find("li.jstree-leaf") >- .children("ins.jstree-icon").removeClass(s.closed + " ui-icon " + s.opened).end() >- .children("a").addClass(s.item) >- .children("ins.jstree-icon").addClass("ui-icon") >- .filter(function() { >- return this.className.toString() >- .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"") >- .indexOf("ui-icon-") === -1; >- }).removeClass(s.item_clsd + " " + s.item_open).addClass(s.item_leaf || "jstree-no-icon"); >- } >- }, >- defaults : { >- "opened" : "ui-icon-triangle-1-se", >- "closed" : "ui-icon-triangle-1-e", >- "item" : "ui-state-default", >- "item_h" : "ui-state-hover", >- "item_a" : "ui-state-active", >- "item_open" : "ui-icon-folder-open", >- "item_clsd" : "ui-icon-folder-collapsed", >- "item_leaf" : "ui-icon-document" >- } >- }); >- $(function() { >- var css_string = '' + >- '.jstree-themeroller .ui-icon { overflow:visible; } ' + >- '.jstree-themeroller a { padding:0 2px; } ' + >- '.jstree-themeroller .jstree-no-icon { display:none; }'; >- $.vakata.css.add_sheet({ str : css_string, title : "jstree" }); >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree unique plugin >- * Forces different names amongst siblings (still a bit experimental) >- * NOTE: does not check language versions (it will not be possible to have nodes with the same title, even in different languages) >- */ >-(function ($) { >- $.jstree.plugin("unique", { >- __init : function () { >- this.get_container() >- .bind("before.jstree", $.proxy(function (e, data) { >- var nms = [], res = true, p, t; >- if(data.func == "move_node") { >- // obj, ref, position, is_copy, is_prepared, skip_check >- if(data.args[4] === true) { >- if(data.args[0].o && data.args[0].o.length) { >- data.args[0].o.children("a").each(function () { nms.push($(this).text().replace(/^\s+/g,"")); }); >- res = this._check_unique(nms, data.args[0].np.find("> ul > li").not(data.args[0].o), "move_node"); >- } >- } >- } >- if(data.func == "create_node") { >- // obj, position, js, callback, is_loaded >- if(data.args[4] || this._is_loaded(data.args[0])) { >- p = this._get_node(data.args[0]); >- if(data.args[1] && (data.args[1] === "before" || data.args[1] === "after")) { >- p = this._get_parent(data.args[0]); >- if(!p || p === -1) { p = this.get_container(); } >- } >- if(typeof data.args[2] === "string") { nms.push(data.args[2]); } >- else if(!data.args[2] || !data.args[2].data) { nms.push(this._get_string("new_node")); } >- else { nms.push(data.args[2].data); } >- res = this._check_unique(nms, p.find("> ul > li"), "create_node"); >- } >- } >- if(data.func == "rename_node") { >- // obj, val >- nms.push(data.args[1]); >- t = this._get_node(data.args[0]); >- p = this._get_parent(t); >- if(!p || p === -1) { p = this.get_container(); } >- res = this._check_unique(nms, p.find("> ul > li").not(t), "rename_node"); >- } >- if(!res) { >- e.stopPropagation(); >- return false; >- } >- }, this)); >- }, >- defaults : { >- error_callback : $.noop >- }, >- _fn : { >- _check_unique : function (nms, p, func) { >- var cnms = []; >- p.children("a").each(function () { cnms.push($(this).text().replace(/^\s+/g,"")); }); >- if(!cnms.length || !nms.length) { return true; } >- cnms = cnms.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(","); >- if((cnms.length + nms.length) != cnms.concat(nms).sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",").length) { >- this._get_settings().unique.error_callback.call(null, nms, p, func); >- return false; >- } >- return true; >- }, >- check_move : function () { >- if(!this.__call_old()) { return false; } >- var p = this._get_move(), nms = []; >- if(p.o && p.o.length) { >- p.o.children("a").each(function () { nms.push($(this).text().replace(/^\s+/g,"")); }); >- return this._check_unique(nms, p.np.find("> ul > li").not(p.o), "check_move"); >- } >- return true; >- } >- } >- }); >-})(jQuery); >-//*/ >- >-/* >- * jsTree wholerow plugin >- * Makes select and hover work on the entire width of the node >- * MAY BE HEAVY IN LARGE DOM >- */ >-(function ($) { >- $.jstree.plugin("wholerow", { >- __init : function () { >- if(!this.data.ui) { throw "jsTree wholerow: jsTree UI plugin not included."; } >- this.data.wholerow.html = false; >- this.data.wholerow.to = false; >- this.get_container() >- .bind("init.jstree", $.proxy(function (e, data) { >- this._get_settings().core.animation = 0; >- }, this)) >- .bind("open_node.jstree create_node.jstree clean_node.jstree loaded.jstree", $.proxy(function (e, data) { >- this._prepare_wholerow_span( data && data.rslt && data.rslt.obj ? data.rslt.obj : -1 ); >- }, this)) >- .bind("search.jstree clear_search.jstree reopen.jstree after_open.jstree after_close.jstree create_node.jstree delete_node.jstree clean_node.jstree", $.proxy(function (e, data) { >- if(this.data.to) { clearTimeout(this.data.to); } >- this.data.to = setTimeout( (function (t, o) { return function() { t._prepare_wholerow_ul(o); }; })(this, data && data.rslt && data.rslt.obj ? data.rslt.obj : -1), 0); >- }, this)) >- .bind("deselect_all.jstree", $.proxy(function (e, data) { >- this.get_container().find(" > .jstree-wholerow .jstree-clicked").removeClass("jstree-clicked " + (this.data.themeroller ? this._get_settings().themeroller.item_a : "" )); >- }, this)) >- .bind("select_node.jstree deselect_node.jstree ", $.proxy(function (e, data) { >- data.rslt.obj.each(function () { >- var ref = data.inst.get_container().find(" > .jstree-wholerow li:visible:eq(" + ( parseInt((($(this).offset().top - data.inst.get_container().offset().top + data.inst.get_container()[0].scrollTop) / data.inst.data.core.li_height),10)) + ")"); >- // ref.children("a")[e.type === "select_node" ? "addClass" : "removeClass"]("jstree-clicked"); >- ref.children("a").attr("class",data.rslt.obj.children("a").attr("class")); >- }); >- }, this)) >- .bind("hover_node.jstree dehover_node.jstree", $.proxy(function (e, data) { >- this.get_container().find(" > .jstree-wholerow .jstree-hovered").removeClass("jstree-hovered " + (this.data.themeroller ? this._get_settings().themeroller.item_h : "" )); >- if(e.type === "hover_node") { >- var ref = this.get_container().find(" > .jstree-wholerow li:visible:eq(" + ( parseInt(((data.rslt.obj.offset().top - this.get_container().offset().top + this.get_container()[0].scrollTop) / this.data.core.li_height),10)) + ")"); >- // ref.children("a").addClass("jstree-hovered"); >- ref.children("a").attr("class",data.rslt.obj.children(".jstree-hovered").attr("class")); >- } >- }, this)) >- .delegate(".jstree-wholerow-span, ins.jstree-icon, li", "click.jstree", function (e) { >- var n = $(e.currentTarget); >- if(e.target.tagName === "A" || (e.target.tagName === "INS" && n.closest("li").is(".jstree-open, .jstree-closed"))) { return; } >- n.closest("li").children("a:visible:eq(0)").click(); >- e.stopImmediatePropagation(); >- }) >- .delegate("li", "mouseover.jstree", $.proxy(function (e) { >- e.stopImmediatePropagation(); >- if($(e.currentTarget).children(".jstree-hovered, .jstree-clicked").length) { return false; } >- this.hover_node(e.currentTarget); >- return false; >- }, this)) >- .delegate("li", "mouseleave.jstree", $.proxy(function (e) { >- if($(e.currentTarget).children("a").hasClass("jstree-hovered").length) { return; } >- this.dehover_node(e.currentTarget); >- }, this)); >- if(is_ie7 || is_ie6) { >- $.vakata.css.add_sheet({ str : ".jstree-" + this.get_index() + " { position:relative; } ", title : "jstree" }); >- } >- }, >- defaults : { >- }, >- __destroy : function () { >- this.get_container().children(".jstree-wholerow").remove(); >- this.get_container().find(".jstree-wholerow-span").remove(); >- }, >- _fn : { >- _prepare_wholerow_span : function (obj) { >- obj = !obj || obj == -1 ? this.get_container().find("> ul > li") : this._get_node(obj); >- if(obj === false) { return; } // added for removing root nodes >- obj.each(function () { >- $(this).find("li").andSelf().each(function () { >- var $t = $(this); >- if($t.children(".jstree-wholerow-span").length) { return true; } >- $t.prepend("<span class='jstree-wholerow-span' style='width:" + ($t.parentsUntil(".jstree","li").length * 18) + "px;'> </span>"); >- }); >- }); >- }, >- _prepare_wholerow_ul : function () { >- var o = this.get_container().children("ul").eq(0), h = o.html(); >- o.addClass("jstree-wholerow-real"); >- if(this.data.wholerow.last_html !== h) { >- this.data.wholerow.last_html = h; >- this.get_container().children(".jstree-wholerow").remove(); >- this.get_container().append( >- o.clone().removeClass("jstree-wholerow-real") >- .wrapAll("<div class='jstree-wholerow' />").parent() >- .width(o.parent()[0].scrollWidth) >- .css("top", (o.height() + ( is_ie7 ? 5 : 0)) * -1 ) >- .find("li[id]").each(function () { this.removeAttribute("id"); }).end() >- ); >- } >- } >- } >- }); >- $(function() { >- var css_string = '' + >- '.jstree .jstree-wholerow-real { position:relative; z-index:1; } ' + >- '.jstree .jstree-wholerow-real li { cursor:pointer; } ' + >- '.jstree .jstree-wholerow-real a { border-left-color:transparent !important; border-right-color:transparent !important; } ' + >- '.jstree .jstree-wholerow { position:relative; z-index:0; height:0; } ' + >- '.jstree .jstree-wholerow ul, .jstree .jstree-wholerow li { width:100%; } ' + >- '.jstree .jstree-wholerow, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow li, .jstree .jstree-wholerow a { margin:0 !important; padding:0 !important; } ' + >- '.jstree .jstree-wholerow, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow li { background:transparent !important; }' + >- '.jstree .jstree-wholerow ins, .jstree .jstree-wholerow span, .jstree .jstree-wholerow input { display:none !important; }' + >- '.jstree .jstree-wholerow a, .jstree .jstree-wholerow a:hover { text-indent:-9999px; !important; width:100%; padding:0 !important; border-right-width:0px !important; border-left-width:0px !important; } ' + >- '.jstree .jstree-wholerow-span { position:absolute; left:0; margin:0px; padding:0; height:18px; border-width:0; padding:0; z-index:0; }'; >- if(is_ff2) { >- css_string += '' + >- '.jstree .jstree-wholerow a { display:block; height:18px; margin:0; padding:0; border:0; } ' + >- '.jstree .jstree-wholerow-real a { border-color:transparent !important; } '; >- } >- if(is_ie7 || is_ie6) { >- css_string += '' + >- '.jstree .jstree-wholerow, .jstree .jstree-wholerow li, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow a { margin:0; padding:0; line-height:18px; } ' + >- '.jstree .jstree-wholerow a { display:block; height:18px; line-height:18px; overflow:hidden; } '; >- } >- $.vakata.css.add_sheet({ str : css_string, title : "jstree" }); >- }); >-})(jQuery); >-//*/ >- >-/* >-* jsTree model plugin >-* This plugin gets jstree to use a class model to retrieve data, creating great dynamism >-*/ >-(function ($) { >- var nodeInterface = ["getChildren","getChildrenCount","getAttr","getName","getProps"], >- validateInterface = function(obj, inter) { >- var valid = true; >- obj = obj || {}; >- inter = [].concat(inter); >- $.each(inter, function (i, v) { >- if(!$.isFunction(obj[v])) { valid = false; return false; } >- }); >- return valid; >- }; >- $.jstree.plugin("model", { >- __init : function () { >- if(!this.data.json_data) { throw "jsTree model: jsTree json_data plugin not included."; } >- this._get_settings().json_data.data = function (n, b) { >- var obj = (n == -1) ? this._get_settings().model.object : n.data("jstree_model"); >- if(!validateInterface(obj, nodeInterface)) { return b.call(null, false); } >- if(this._get_settings().model.async) { >- obj.getChildren($.proxy(function (data) { >- this.model_done(data, b); >- }, this)); >- } >- else { >- this.model_done(obj.getChildren(), b); >- } >- }; >- }, >- defaults : { >- object : false, >- id_prefix : false, >- async : false >- }, >- _fn : { >- model_done : function (data, callback) { >- var ret = [], >- s = this._get_settings(), >- _this = this; >- >- if(!$.isArray(data)) { data = [data]; } >- $.each(data, function (i, nd) { >- var r = nd.getProps() || {}; >- r.attr = nd.getAttr() || {}; >- if(nd.getChildrenCount()) { r.state = "closed"; } >- r.data = nd.getName(); >- if(!$.isArray(r.data)) { r.data = [r.data]; } >- if(_this.data.types && $.isFunction(nd.getType)) { >- r.attr[s.types.type_attr] = nd.getType(); >- } >- if(r.attr.id && s.model.id_prefix) { r.attr.id = s.model.id_prefix + r.attr.id; } >- if(!r.metadata) { r.metadata = { }; } >- r.metadata.jstree_model = nd; >- ret.push(r); >- }); >- callback.call(null, ret); >- } >- } >- }); >-})(jQuery); >-//*/ >- >-})(); >\ No newline at end of file >diff --git a/koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/jstree-3.3.12.min.js b/koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/jstree-3.3.12.min.js >new file mode 100644 >index 0000000000..31d06a7316 >--- /dev/null >+++ b/koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/jstree-3.3.12.min.js >@@ -0,0 +1,6 @@ >+/*! jsTree - v3.3.12 - 2021-09-03 - (MIT) */ >+!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"!=typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a,b){"use strict";if(!a.jstree){var c=0,d=!1,e=!1,f=!1,g=[],h=a("script:last").attr("src"),i=window.document,j=window.setImmediate,k=window.Promise;!j&&k&&(j=function(a,b){k.resolve(b).then(a)}),a.jstree={version:"3.3.12",defaults:{plugins:[]},plugins:{},path:h&&-1!==h.indexOf("/")?h.replace(/\/[^\/]+$/,""):"",idregex:/[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%?`]/g,root:"#"},a.jstree.create=function(b,d){var e=new a.jstree.core(++c),f=d;return d=a.extend(!0,{},a.jstree.defaults,d),f&&f.plugins&&(d.plugins=f.plugins),a.each(d.plugins,function(a,b){"core"!==a&&(e=e.plugin(b,d[b]))}),a(b).data("jstree",e),e.init(b,d),e},a.jstree.destroy=function(){a(".jstree:jstree").jstree("destroy"),a(i).off(".jstree")},a.jstree.core=function(a){this._id=a,this._cnt=0,this._wrk=null,this._data={core:{themes:{name:!1,dots:!1,icons:!1,ellipsis:!1},selected:[],last_error:{},working:!1,worker_queue:[],focused:null}}},a.jstree.reference=function(b){var c=null,d=null;if(!b||!b.id||b.tagName&&b.nodeType||(b=b.id),!d||!d.length)try{d=a(b)}catch(e){}if(!d||!d.length)try{d=a("#"+b.replace(a.jstree.idregex,"\\$&"))}catch(e){}return d&&d.length&&(d=d.closest(".jstree")).length&&(d=d.data("jstree"))?c=d:a(".jstree").each(function(){var d=a(this).data("jstree");return d&&d._model.data[b]?(c=d,!1):void 0}),c},a.fn.jstree=function(c){var d="string"==typeof c,e=Array.prototype.slice.call(arguments,1),f=null;return c!==!0||this.length?(this.each(function(){var g=a.jstree.reference(this),h=d&&g?g[c]:null;return f=d&&h?h.apply(g,e):null,g||d||c!==b&&!a.isPlainObject(c)||a.jstree.create(this,c),(g&&!d||c===!0)&&(f=g||!1),null!==f&&f!==b?!1:void 0}),null!==f&&f!==b?f:this):!1},a.expr.pseudos.jstree=a.expr.createPseudo(function(c){return function(c){return a(c).hasClass("jstree")&&a(c).data("jstree")!==b}}),a.jstree.defaults.core={data:!1,strings:!1,check_callback:!1,error:a.noop,animation:200,multiple:!0,themes:{name:!1,url:!1,dir:!1,dots:!0,icons:!0,ellipsis:!1,stripes:!1,variant:!1,responsive:!1},expand_selected_onload:!0,worker:!0,force_text:!1,dblclick_toggle:!0,loaded_state:!1,restore_focus:!0,compute_elements_positions:!1,keyboard:{"ctrl-space":function(b){b.type="click",a(b.currentTarget).trigger(b)},enter:function(b){b.type="click",a(b.currentTarget).trigger(b)},left:function(b){if(b.preventDefault(),this.is_open(b.currentTarget))this.close_node(b.currentTarget);else{var c=this.get_parent(b.currentTarget);c&&c.id!==a.jstree.root&&this.get_node(c,!0).children(".jstree-anchor").trigger("focus")}},up:function(a){a.preventDefault();var b=this.get_prev_dom(a.currentTarget);b&&b.length&&b.children(".jstree-anchor").trigger("focus")},right:function(b){if(b.preventDefault(),this.is_closed(b.currentTarget))this.open_node(b.currentTarget,function(a){this.get_node(a,!0).children(".jstree-anchor").trigger("focus")});else if(this.is_open(b.currentTarget)){var c=this.get_node(b.currentTarget,!0).children(".jstree-children")[0];c&&a(this._firstChild(c)).children(".jstree-anchor").trigger("focus")}},down:function(a){a.preventDefault();var b=this.get_next_dom(a.currentTarget);b&&b.length&&b.children(".jstree-anchor").trigger("focus")},"*":function(a){this.open_all()},home:function(b){b.preventDefault();var c=this._firstChild(this.get_container_ul()[0]);c&&a(c).children(".jstree-anchor").filter(":visible").trigger("focus")},end:function(a){a.preventDefault(),this.element.find(".jstree-anchor").filter(":visible").last().trigger("focus")},f2:function(a){a.preventDefault(),this.edit(a.currentTarget)}}},a.jstree.core.prototype={plugin:function(b,c){var d=a.jstree.plugins[b];return d?(this._data[b]={},d.prototype=this,new d(c,this)):this},init:function(b,c){this._model={data:{},changed:[],force_full_redraw:!1,redraw_timeout:!1,default_state:{loaded:!0,opened:!1,selected:!1,disabled:!1}},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this.element=a(b).addClass("jstree jstree-"+this._id),this.settings=c,this._data.core.ready=!1,this._data.core.loaded=!1,this._data.core.rtl="rtl"===this.element.css("direction"),this.element[this._data.core.rtl?"addClass":"removeClass"]("jstree-rtl"),this.element.attr("role","tree"),this.settings.core.multiple&&this.element.attr("aria-multiselectable",!0),this.element.attr("tabindex")||this.element.attr("tabindex","0"),this.bind(),this.trigger("init"),this._data.core.original_container_html=this.element.find(" > ul > li").clone(!0),this._data.core.original_container_html.find("li").addBack().contents().filter(function(){return 3===this.nodeType&&(!this.nodeValue||/^\s+$/.test(this.nodeValue))}).remove(),this.element.html("<ul class='jstree-container-ul jstree-children' role='group'><li id='j"+this._id+"_loading' class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='none'><i class='jstree-icon jstree-ocl'></i><a class='jstree-anchor' role='treeitem' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-activedescendant","j"+this._id+"_loading"),this._data.core.li_height=this.get_container_ul().children("li").first().outerHeight()||24,this._data.core.node=this._create_prototype_node(),this.trigger("loading"),this.load_node(a.jstree.root)},destroy:function(a){if(this.trigger("destroy"),this._wrk)try{window.URL.revokeObjectURL(this._wrk),this._wrk=null}catch(b){}a||this.element.empty(),this.teardown()},_create_prototype_node:function(){var a=i.createElement("LI"),b,c;return a.setAttribute("role","none"),b=i.createElement("I"),b.className="jstree-icon jstree-ocl",b.setAttribute("role","presentation"),a.appendChild(b),b=i.createElement("A"),b.className="jstree-anchor",b.setAttribute("href","#"),b.setAttribute("tabindex","-1"),b.setAttribute("role","treeitem"),c=i.createElement("I"),c.className="jstree-icon jstree-themeicon",c.setAttribute("role","presentation"),b.appendChild(c),a.appendChild(b),b=c=null,a},_kbevent_to_func:function(a){var b={8:"Backspace",9:"Tab",13:"Enter",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock",16:"Shift",17:"Ctrl",18:"Alt",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*",173:"-"},c=[];if(a.ctrlKey&&c.push("ctrl"),a.altKey&&c.push("alt"),a.shiftKey&&c.push("shift"),c.push(b[a.which]||a.which),c=c.sort().join("-").toLowerCase(),"shift-shift"===c||"ctrl-ctrl"===c||"alt-alt"===c)return null;var d=this.settings.core.keyboard,e,f;for(e in d)if(d.hasOwnProperty(e)&&(f=e,"-"!==f&&"+"!==f&&(f=f.replace("--","-MINUS").replace("+-","-MINUS").replace("++","-PLUS").replace("-+","-PLUS"),f=f.split(/-|\+/).sort().join("-").replace("MINUS","-").replace("PLUS","+").toLowerCase()),f===c))return d[e];return null},teardown:function(){this.unbind(),this.element.removeClass("jstree").removeData("jstree").find("[class^='jstree']").addBack().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/gi,"")}),this.element=null},bind:function(){var b="",c=null,d=0;this.element.on("dblclick.jstree",function(a){if(a.target.tagName&&"input"===a.target.tagName.toLowerCase())return!0;if(i.selection&&i.selection.empty)i.selection.empty();else if(window.getSelection){var b=window.getSelection();try{b.removeAllRanges(),b.collapse()}catch(c){}}}).on("mousedown.jstree",function(a){a.target===this.element[0]&&(a.preventDefault(),d=+new Date)}.bind(this)).on("mousedown.jstree",".jstree-ocl",function(a){a.preventDefault()}).on("click.jstree",".jstree-ocl",function(a){this.toggle_node(a.target)}.bind(this)).on("dblclick.jstree",".jstree-anchor",function(a){return a.target.tagName&&"input"===a.target.tagName.toLowerCase()?!0:void(this.settings.core.dblclick_toggle&&this.toggle_node(a.target))}.bind(this)).on("click.jstree",".jstree-anchor",function(b){b.preventDefault(),b.currentTarget!==i.activeElement&&a(b.currentTarget).trigger("focus"),this.activate_node(b.currentTarget,b)}.bind(this)).on("keydown.jstree",".jstree-anchor",function(a){if(a.target.tagName&&"input"===a.target.tagName.toLowerCase())return!0;this._data.core.rtl&&(37===a.which?a.which=39:39===a.which&&(a.which=37));var b=this._kbevent_to_func(a);if(b){var c=b.call(this,a);if(c===!1||c===!0)return c}}.bind(this)).on("load_node.jstree",function(b,c){c.status&&(c.node.id!==a.jstree.root||this._data.core.loaded||(this._data.core.loaded=!0,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.trigger("loaded")),this._data.core.ready||setTimeout(function(){if(this.element&&!this.get_container_ul().find(".jstree-loading").length){if(this._data.core.ready=!0,this._data.core.selected.length){if(this.settings.core.expand_selected_onload){var b=[],c,d;for(c=0,d=this._data.core.selected.length;d>c;c++)b=b.concat(this._model.data[this._data.core.selected[c]].parents);for(b=a.vakata.array_unique(b),c=0,d=b.length;d>c;c++)this.open_node(b[c],!1,0)}this.trigger("changed",{action:"ready",selected:this._data.core.selected})}this.trigger("ready")}}.bind(this),0))}.bind(this)).on("keypress.jstree",function(d){if(d.target.tagName&&"input"===d.target.tagName.toLowerCase())return!0;c&&clearTimeout(c),c=setTimeout(function(){b=""},500);var e=String.fromCharCode(d.which).toLowerCase(),f=this.element.find(".jstree-anchor").filter(":visible"),g=f.index(i.activeElement)||0,h=!1;if(b+=e,b.length>1){if(f.slice(g).each(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).trigger("focus"),h=!0,!1):void 0}.bind(this)),h)return;if(f.slice(0,g).each(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).trigger("focus"),h=!0,!1):void 0}.bind(this)),h)return}if(new RegExp("^"+e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")+"+$").test(b)){if(f.slice(g+1).each(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).trigger("focus"),h=!0,!1):void 0}.bind(this)),h)return;if(f.slice(0,g+1).each(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).trigger("focus"),h=!0,!1):void 0}.bind(this)),h)return}}.bind(this)).on("init.jstree",function(){var a=this.settings.core.themes;this._data.core.themes.dots=a.dots,this._data.core.themes.stripes=a.stripes,this._data.core.themes.icons=a.icons,this._data.core.themes.ellipsis=a.ellipsis,this.set_theme(a.name||"default",a.url),this.set_theme_variant(a.variant)}.bind(this)).on("loading.jstree",function(){this[this._data.core.themes.dots?"show_dots":"hide_dots"](),this[this._data.core.themes.icons?"show_icons":"hide_icons"](),this[this._data.core.themes.stripes?"show_stripes":"hide_stripes"](),this[this._data.core.themes.ellipsis?"show_ellipsis":"hide_ellipsis"]()}.bind(this)).on("blur.jstree",".jstree-anchor",function(b){this._data.core.focused=null,a(b.currentTarget).filter(".jstree-hovered").trigger("mouseleave"),this.element.attr("tabindex","0")}.bind(this)).on("focus.jstree",".jstree-anchor",function(b){var c=this.get_node(b.currentTarget);c&&c.id&&(this._data.core.focused=c.id),this.element.find(".jstree-hovered").not(b.currentTarget).trigger("mouseleave"),a(b.currentTarget).trigger("mouseenter"),this.element.attr("tabindex","-1")}.bind(this)).on("focus.jstree",function(){if(+new Date-d>500&&!this._data.core.focused&&this.settings.core.restore_focus){d=0;var a=this.get_node(this.element.attr("aria-activedescendant"),!0);a&&a.find("> .jstree-anchor").trigger("focus")}}.bind(this)).on("mouseenter.jstree",".jstree-anchor",function(a){this.hover_node(a.currentTarget)}.bind(this)).on("mouseleave.jstree",".jstree-anchor",function(a){this.dehover_node(a.currentTarget)}.bind(this))},unbind:function(){this.element.off(".jstree"),a(i).off(".jstree-"+this._id)},trigger:function(a,b){b||(b={}),b.instance=this,this.element.triggerHandler(a.replace(".jstree","")+".jstree",b)},get_container:function(){return this.element},get_container_ul:function(){return this.element.children(".jstree-children").first()},get_string:function(b){var c=this.settings.core.strings;return a.vakata.is_function(c)?c.call(this,b):c&&c[b]?c[b]:b},_firstChild:function(a){a=a?a.firstChild:null;while(null!==a&&1!==a.nodeType)a=a.nextSibling;return a},_nextSibling:function(a){a=a?a.nextSibling:null;while(null!==a&&1!==a.nodeType)a=a.nextSibling;return a},_previousSibling:function(a){a=a?a.previousSibling:null;while(null!==a&&1!==a.nodeType)a=a.previousSibling;return a},get_node:function(b,c){b&&b.id&&(b=b.id),b instanceof a&&b.length&&b[0].id&&(b=b[0].id);var d;try{if(this._model.data[b])b=this._model.data[b];else if("string"==typeof b&&this._model.data[b.replace(/^#/,"")])b=this._model.data[b.replace(/^#/,"")];else if("string"==typeof b&&(d=a("#"+b.replace(a.jstree.idregex,"\\$&"),this.element)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else if((d=this.element.find(b)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else{if(!(d=this.element.find(b)).length||!d.hasClass("jstree"))return!1;b=this._model.data[a.jstree.root]}return c&&(b=b.id===a.jstree.root?this.element:a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)),b}catch(e){return!1}},get_path:function(b,c,d){if(b=b.parents?b:this.get_node(b),!b||b.id===a.jstree.root||!b.parents)return!1;var e,f,g=[];for(g.push(d?b.id:b.text),e=0,f=b.parents.length;f>e;e++)g.push(d?b.parents[e]:this.get_text(b.parents[e]));return g=g.reverse().slice(1),c?g.join(c):g},get_next_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){d=this._firstChild(this.get_container_ul()[0]);while(d&&0===d.offsetHeight)d=this._nextSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}if(b.hasClass("jstree-open")){d=this._firstChild(b.children(".jstree-children")[0]);while(d&&0===d.offsetHeight)d=this._nextSibling(d);if(null!==d)return a(d)}d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return null!==d?a(d):b.parentsUntil(".jstree",".jstree-node").nextAll(".jstree-node:visible").first()},get_prev_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){d=this.get_container_ul()[0].lastChild;while(d&&0===d.offsetHeight)d=this._previousSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);if(null!==d){b=a(d);while(b.hasClass("jstree-open"))b=b.children(".jstree-children").first().children(".jstree-node:visible:last");return b}return d=b[0].parentNode.parentNode,d&&d.className&&-1!==d.className.indexOf("jstree-node")?a(d):!1},get_parent:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.parent:!1},get_children_dom:function(a){return a=this.get_node(a,!0),a[0]===this.element[0]?this.get_container_ul().children(".jstree-node"):a&&a.length?a.children(".jstree-children").children(".jstree-node"):!1},is_parent:function(a){return a=this.get_node(a),a&&(a.state.loaded===!1||a.children.length>0)},is_loaded:function(a){return a=this.get_node(a),a&&a.state.loaded},is_loading:function(a){return a=this.get_node(a),a&&a.state&&a.state.loading},is_open:function(a){return a=this.get_node(a),a&&a.state.opened},is_closed:function(a){return a=this.get_node(a),a&&this.is_parent(a)&&!a.state.opened},is_leaf:function(a){return!this.is_parent(a)},load_node:function(b,c){var d,e,f,g,h;if(a.vakata.is_array(b))return this._load_nodes(b.slice(),c),!0;if(b=this.get_node(b),!b)return c&&c.call(this,b,!1),!1;if(b.state.loaded){for(b.state.loaded=!1,f=0,g=b.parents.length;g>f;f++)this._model.data[b.parents[f]].children_d=a.vakata.array_filter(this._model.data[b.parents[f]].children_d,function(c){return-1===a.inArray(c,b.children_d)});for(d=0,e=b.children_d.length;e>d;d++)this._model.data[b.children_d[d]].state.selected&&(h=!0),delete this._model.data[b.children_d[d]];h&&(this._data.core.selected=a.vakata.array_filter(this._data.core.selected,function(c){return-1===a.inArray(c,b.children_d)})),b.children=[],b.children_d=[],h&&this.trigger("changed",{action:"load_node",node:b,selected:this._data.core.selected})}return b.state.failed=!1,b.state.loading=!0,this.get_node(b,!0).addClass("jstree-loading").attr("aria-busy",!0),this._load_node(b,function(a){b=this._model.data[b.id],b.state.loading=!1,b.state.loaded=a,b.state.failed=!b.state.loaded;var d=this.get_node(b,!0),e=0,f=0,g=this._model.data,h=!1;for(e=0,f=b.children.length;f>e;e++)if(g[b.children[e]]&&!g[b.children[e]].state.hidden){h=!0;break}b.state.loaded&&d&&d.length&&(d.removeClass("jstree-closed jstree-open jstree-leaf"),h?"#"!==b.id&&d.addClass(b.state.opened?"jstree-open":"jstree-closed"):d.addClass("jstree-leaf")),d.removeClass("jstree-loading").attr("aria-busy",!1),this.trigger("load_node",{node:b,status:a}),c&&c.call(this,b,a)}.bind(this)),!0},_load_nodes:function(a,b,c,d){var e=!0,f=function(){this._load_nodes(a,b,!0)},g=this._model.data,h,i,j=[];for(h=0,i=a.length;i>h;h++)g[a[h]]&&(!g[a[h]].state.loaded&&!g[a[h]].state.failed||!c&&d)&&(this.is_loading(a[h])||this.load_node(a[h],f),e=!1);if(e){for(h=0,i=a.length;i>h;h++)g[a[h]]&&g[a[h]].state.loaded&&j.push(a[h]);b&&!b.done&&(b.call(this,j),b.done=!0)}},load_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d=[],e=this._model.data,f=e[b.id].children_d,g,h;for(b.state&&!b.state.loaded&&d.push(b.id),g=0,h=f.length;h>g;g++)e[f[g]]&&e[f[g]].state&&!e[f[g]].state.loaded&&d.push(f[g]);d.length?this._load_nodes(d,function(){this.load_all(b,c)}):(c&&c.call(this,b),this.trigger("load_all",{node:b}))},_load_node:function(b,c){var d=this.settings.core.data,e,f=function g(){return 3!==this.nodeType&&8!==this.nodeType};return d?a.vakata.is_function(d)?d.call(this,b,function(d){d===!1?c.call(this,!1):this["string"==typeof d?"_append_html_data":"_append_json_data"](b,"string"==typeof d?a(a.parseHTML(d)).filter(f):d,function(a){c.call(this,a)})}.bind(this)):"object"==typeof d?d.url?(d=a.extend(!0,{},d),a.vakata.is_function(d.url)&&(d.url=d.url.call(this,b)),a.vakata.is_function(d.data)&&(d.data=d.data.call(this,b)),a.ajax(d).done(function(d,e,g){var h=g.getResponseHeader("Content-Type");return h&&-1!==h.indexOf("json")||"object"==typeof d?this._append_json_data(b,d,function(a){c.call(this,a)}):h&&-1!==h.indexOf("html")||"string"==typeof d?this._append_html_data(b,a(a.parseHTML(d)).filter(f),function(a){c.call(this,a)}):(this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:g})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))}.bind(this)).fail(function(a){this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:a})},c.call(this,!1),this.settings.core.error.call(this,this._data.core.last_error)}.bind(this))):(e=a.vakata.is_array(d)?a.extend(!0,[],d):a.isPlainObject(d)?a.extend(!0,{},d):d,b.id===a.jstree.root?this._append_json_data(b,e,function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_05",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))):"string"==typeof d?b.id===a.jstree.root?this._append_html_data(b,a(a.parseHTML(d)).filter(f),function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_06",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1)):c.call(this,!1):b.id===a.jstree.root?this._append_html_data(b,this._data.core.original_container_html.clone(!0),function(a){c.call(this,a)}):c.call(this,!1)},_node_changed:function(b){b=this.get_node(b),b&&-1===a.inArray(b.id,this._model.changed)&&this._model.changed.push(b.id)},_append_html_data:function(b,c,d){b=this.get_node(b),b.children=[],b.children_d=[];var e=c.is("ul")?c.children():c,f=b.id,g=[],h=[],i=this._model.data,j=i[f],k=this._data.core.selected.length,l,m,n;for(e.each(function(b,c){l=this._parse_model_from_html(a(c),f,j.parents.concat()),l&&(g.push(l),h.push(l),i[l].children_d.length&&(h=h.concat(i[l].children_d)))}.bind(this)),j.children=g,j.children_d=h,m=0,n=j.parents.length;n>m;m++)i[j.parents[m]].children_d=i[j.parents[m]].children_d.concat(h);this.trigger("model",{nodes:h,parent:f}),f!==a.jstree.root?(this._node_changed(f),this.redraw()):(this.get_container_ul().children(".jstree-initial-node").remove(),this.redraw(!0)),this._data.core.selected.length!==k&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)},_append_json_data:function(b,c,d,e){if(null!==this.element){b=this.get_node(b),b.children=[],b.children_d=[],c.d&&(c=c.d,"string"==typeof c&&(c=JSON.parse(c))),a.vakata.is_array(c)||(c=[c]);var f=null,g={df:this._model.default_state,dat:c,par:b.id,m:this._model.data,t_id:this._id,t_cnt:this._cnt,sel:this._data.core.selected},h=this,i=function(a,b){a.data&&(a=a.data);var c=a.dat,d=a.par,e=[],f=[],g=[],i=a.df,j=a.t_id,k=a.t_cnt,l=a.m,m=l[d],n=a.sel,o,p,q,r,s=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=a.id.toString(),f,h,j,k,m={id:e,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in i)i.hasOwnProperty(f)&&(m.state[f]=i[f]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(m.icon=a.data.jstree.icon),(m.icon===b||null===m.icon||""===m.icon)&&(m.icon=!0),a&&a.data&&(m.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(m.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(m.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(m.li_attr[f]=a.li_attr[f]);if(m.li_attr.id||(m.li_attr.id=e),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(m.a_attr[f]=a.a_attr[f]);for(a&&a.children&&a.children===!0&&(m.state.loaded=!1,m.children=[],m.children_d=[]),l[m.id]=m,f=0,h=m.children.length;h>f;f++)j=s(l[m.children[f]],m.id,d),k=l[j],m.children_d.push(j),k.children_d.length&&(m.children_d=m.children_d.concat(k.children_d));return delete a.data,delete a.children,l[m.id].original=a,m.state.selected&&g.push(m.id),m.id},t=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=!1,f,h,m,n,o;do e="j"+j+"_"+ ++k;while(l[e]);o={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in i)i.hasOwnProperty(f)&&(o.state[f]=i[f]);if(a&&a.id&&(o.id=a.id.toString()),a&&a.text&&(o.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(o.icon=a.data.jstree.icon),(o.icon===b||null===o.icon||""===o.icon)&&(o.icon=!0),a&&a.data&&(o.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(o.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(o.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(o.li_attr[f]=a.li_attr[f]);if(o.li_attr.id&&!o.id&&(o.id=o.li_attr.id.toString()),o.id||(o.id=e),o.li_attr.id||(o.li_attr.id=o.id),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(o.a_attr[f]=a.a_attr[f]);if(a&&a.children&&a.children.length){for(f=0,h=a.children.length;h>f;f++)m=t(a.children[f],o.id,d),n=l[m],o.children.push(m),n.children_d.length&&(o.children_d=o.children_d.concat(n.children_d));o.children_d=o.children_d.concat(o.children)}return a&&a.children&&a.children===!0&&(o.state.loaded=!1,o.children=[],o.children_d=[]),delete a.data,delete a.children,o.original=a,l[o.id]=o,o.state.selected&&g.push(o.id),o.id};if(c.length&&c[0].id!==b&&c[0].parent!==b){for(p=0,q=c.length;q>p;p++)c[p].children||(c[p].children=[]),c[p].state||(c[p].state={}),l[c[p].id.toString()]=c[p];for(p=0,q=c.length;q>p;p++)l[c[p].parent.toString()]?(l[c[p].parent.toString()].children.push(c[p].id.toString()),m.children_d.push(c[p].id.toString())):"undefined"!=typeof h&&(h._data.core.last_error={error:"parse",plugin:"core",id:"core_07",reason:"Node with invalid parent",data:JSON.stringify({id:c[p].id.toString(),parent:c[p].parent.toString()})},h.settings.core.error.call(h,h._data.core.last_error));for(p=0,q=m.children.length;q>p;p++)o=s(l[m.children[p]],d,m.parents.concat()),f.push(o),l[o].children_d.length&&(f=f.concat(l[o].children_d));for(p=0,q=m.parents.length;q>p;p++)l[m.parents[p]].children_d=l[m.parents[p]].children_d.concat(f);r={cnt:k,mod:l,sel:n,par:d,dpc:f,add:g}}else{for(p=0,q=c.length;q>p;p++)o=t(c[p],d,m.parents.concat()),o&&(e.push(o),f.push(o),l[o].children_d.length&&(f=f.concat(l[o].children_d)));for(m.children=e,m.children_d=f,p=0,q=m.parents.length;q>p;p++)l[m.parents[p]].children_d=l[m.parents[p]].children_d.concat(f);r={cnt:k,mod:l,sel:n,par:d,dpc:f,add:g}}return"undefined"!=typeof window&&"undefined"!=typeof window.document?r:void postMessage(r)},k=function(b,c){if(null!==this.element){this._cnt=b.cnt;var e,f=this._model.data;for(e in f)f.hasOwnProperty(e)&&f[e].state&&f[e].state.loading&&b.mod[e]&&(b.mod[e].state.loading=!0);if(this._model.data=b.mod,c){var g,i=b.add,k=b.sel,l=this._data.core.selected.slice();if(f=this._model.data,k.length!==l.length||a.vakata.array_unique(k.concat(l)).length!==k.length){for(e=0,g=k.length;g>e;e++)-1===a.inArray(k[e],i)&&-1===a.inArray(k[e],l)&&(f[k[e]].state.selected=!1);for(e=0,g=l.length;g>e;e++)-1===a.inArray(l[e],k)&&(f[l[e]].state.selected=!0)}}b.add.length&&(this._data.core.selected=this._data.core.selected.concat(b.add)),this.trigger("model",{nodes:b.dpc,parent:b.par}),b.par!==a.jstree.root?(this._node_changed(b.par),this.redraw()):this.redraw(!0),b.add.length&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),!c&&j?j(function(){d.call(h,!0)}):d.call(h,!0)}};if(this.settings.core.worker&&window.Blob&&window.URL&&window.Worker)try{null===this._wrk&&(this._wrk=window.URL.createObjectURL(new window.Blob(["self.onmessage = "+i.toString()],{type:"text/javascript"}))),!this._data.core.working||e?(this._data.core.working=!0,f=new window.Worker(this._wrk),f.onmessage=function(a){k.call(this,a.data,!0);try{f.terminate(),f=null}catch(b){}this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1}.bind(this),g.par?f.postMessage(g):this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1):this._data.core.worker_queue.push([b,c,d,!0])}catch(l){k.call(this,i(g),!1),this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1}else k.call(this,i(g),!1)}},_parse_model_from_html:function(c,d,e){e=e?[].concat(e):[],d&&e.unshift(d);var f,g,h=this._model.data,i={id:!1,text:!1,icon:!0,parent:d,parents:e,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1},j,k,l;for(j in this._model.default_state)this._model.default_state.hasOwnProperty(j)&&(i.state[j]=this._model.default_state[j]);if(k=a.vakata.attributes(c,!0),a.each(k,function(b,c){return c=a.vakata.trim(c),c.length?(i.li_attr[b]=c,void("id"===b&&(i.id=c.toString()))):!0}),k=c.children("a").first(),k.length&&(k=a.vakata.attributes(k,!0),a.each(k,function(b,c){c=a.vakata.trim(c),c.length&&(i.a_attr[b]=c)})),k=c.children("a").first().length?c.children("a").first().clone():c.clone(),k.children("ins, i, ul").remove(),k=k.html(),k=a("<div></div>").html(k),i.text=this.settings.core.force_text?k.text():k.html(),k=c.data(),i.data=k?a.extend(!0,{},k):null,i.state.opened=c.hasClass("jstree-open"),i.state.selected=c.children("a").hasClass("jstree-clicked"),i.state.disabled=c.children("a").hasClass("jstree-disabled"),i.data&&i.data.jstree)for(j in i.data.jstree)i.data.jstree.hasOwnProperty(j)&&(i.state[j]=i.data.jstree[j]);k=c.children("a").children(".jstree-themeicon"),k.length&&(i.icon=k.hasClass("jstree-themeicon-hidden")?!1:k.attr("rel")),i.state.icon!==b&&(i.icon=i.state.icon),(i.icon===b||null===i.icon||""===i.icon)&&(i.icon=!0),k=c.children("ul").children("li");do l="j"+this._id+"_"+ ++this._cnt;while(h[l]);return i.id=i.li_attr.id?i.li_attr.id.toString():l,k.length?(k.each(function(b,c){f=this._parse_model_from_html(a(c),i.id,e),g=this._model.data[f],i.children.push(f),g.children_d.length&&(i.children_d=i.children_d.concat(g.children_d))}.bind(this)),i.children_d=i.children_d.concat(i.children)):c.hasClass("jstree-closed")&&(i.state.loaded=!1),i.li_attr["class"]&&(i.li_attr["class"]=i.li_attr["class"].replace("jstree-closed","").replace("jstree-open","")),i.a_attr["class"]&&(i.a_attr["class"]=i.a_attr["class"].replace("jstree-clicked","").replace("jstree-disabled","")),h[i.id]=i,i.state.selected&&this._data.core.selected.push(i.id),i.id},_parse_model_from_flat_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=a.id.toString(),f=this._model.data,g=this._model.default_state,h,i,j,k,l={id:e,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(h in g)g.hasOwnProperty(h)&&(l.state[h]=g[h]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(l.icon=a.data.jstree.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0),a&&a.data&&(l.data=a.data,a.data.jstree))for(h in a.data.jstree)a.data.jstree.hasOwnProperty(h)&&(l.state[h]=a.data.jstree[h]);if(a&&"object"==typeof a.state)for(h in a.state)a.state.hasOwnProperty(h)&&(l.state[h]=a.state[h]);if(a&&"object"==typeof a.li_attr)for(h in a.li_attr)a.li_attr.hasOwnProperty(h)&&(l.li_attr[h]=a.li_attr[h]);if(l.li_attr.id||(l.li_attr.id=e),a&&"object"==typeof a.a_attr)for(h in a.a_attr)a.a_attr.hasOwnProperty(h)&&(l.a_attr[h]=a.a_attr[h]);for(a&&a.children&&a.children===!0&&(l.state.loaded=!1,l.children=[],l.children_d=[]),f[l.id]=l,h=0,i=l.children.length;i>h;h++)j=this._parse_model_from_flat_json(f[l.children[h]],l.id,d),k=f[j],l.children_d.push(j),k.children_d.length&&(l.children_d=l.children_d.concat(k.children_d));return delete a.data,delete a.children,f[l.id].original=a,l.state.selected&&this._data.core.selected.push(l.id),l.id},_parse_model_from_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=!1,f,g,h,i,j=this._model.data,k=this._model.default_state,l;do e="j"+this._id+"_"+ ++this._cnt;while(j[e]);l={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in k)k.hasOwnProperty(f)&&(l.state[f]=k[f]);if(a&&a.id&&(l.id=a.id.toString()),a&&a.text&&(l.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(l.icon=a.data.jstree.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0), >+a&&a.data&&(l.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(l.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(l.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(l.li_attr[f]=a.li_attr[f]);if(l.li_attr.id&&!l.id&&(l.id=l.li_attr.id.toString()),l.id||(l.id=e),l.li_attr.id||(l.li_attr.id=l.id),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(l.a_attr[f]=a.a_attr[f]);if(a&&a.children&&a.children.length){for(f=0,g=a.children.length;g>f;f++)h=this._parse_model_from_json(a.children[f],l.id,d),i=j[h],l.children.push(h),i.children_d.length&&(l.children_d=l.children_d.concat(i.children_d));l.children_d=l.children.concat(l.children_d)}return a&&a.children&&a.children===!0&&(l.state.loaded=!1,l.children=[],l.children_d=[]),delete a.data,delete a.children,l.original=a,j[l.id]=l,l.state.selected&&this._data.core.selected.push(l.id),l.id},_redraw:function(){var b=this._model.force_full_redraw?this._model.data[a.jstree.root].children.concat([]):this._model.changed.concat([]),c=i.createElement("UL"),d,e,f,g=this._data.core.focused;for(e=0,f=b.length;f>e;e++)d=this.redraw_node(b[e],!0,this._model.force_full_redraw),d&&this._model.force_full_redraw&&c.appendChild(d);this._model.force_full_redraw&&(c.className=this.get_container_ul()[0].className,c.setAttribute("role","group"),this.element.empty().append(c)),null!==g&&this.settings.core.restore_focus&&(d=this.get_node(g,!0),d&&d.length&&d.children(".jstree-anchor")[0]!==i.activeElement?d.children(".jstree-anchor").trigger("focus"):this._data.core.focused=null),this._model.force_full_redraw=!1,this._model.changed=[],this.trigger("redraw",{nodes:b})},redraw:function(a){a&&(this._model.force_full_redraw=!0),this._redraw()},draw_children:function(b){var c=this.get_node(b),d=!1,e=!1,f=!1,g=i;if(!c)return!1;if(c.id===a.jstree.root)return this.redraw(!0);if(b=this.get_node(b,!0),!b||!b.length)return!1;if(b.children(".jstree-children").remove(),b=b[0],c.children.length&&c.state.loaded){for(f=g.createElement("UL"),f.setAttribute("role","group"),f.className="jstree-children",d=0,e=c.children.length;e>d;d++)f.appendChild(this.redraw_node(c.children[d],!0,!0));b.appendChild(f)}},redraw_node:function(b,c,d,e){var f=this.get_node(b),g=!1,h=!1,j=!1,k=!1,l=!1,m=!1,n="",o=i,p=this._model.data,q=!1,r=!1,s=null,t=0,u=0,v=!1,w=!1;if(!f)return!1;if(f.id===a.jstree.root)return this.redraw(!0);if(c=c||0===f.children.length,b=i.querySelector?this.element[0].querySelector("#"+(-1!=="0123456789".indexOf(f.id[0])?"\\3"+f.id[0]+" "+f.id.substr(1).replace(a.jstree.idregex,"\\$&"):f.id.replace(a.jstree.idregex,"\\$&"))):i.getElementById(f.id))b=a(b),d||(g=b.parent().parent()[0],g===this.element[0]&&(g=null),h=b.index()),c||!f.children.length||b.children(".jstree-children").length||(c=!0),c||(j=b.children(".jstree-children")[0]),q=b.children(".jstree-anchor")[0]===i.activeElement,b.remove();else if(c=!0,!d){if(g=f.parent!==a.jstree.root?a("#"+f.parent.replace(a.jstree.idregex,"\\$&"),this.element)[0]:null,!(null===g||g&&p[f.parent].state.opened))return!1;h=a.inArray(f.id,null===g?p[a.jstree.root].children:p[f.parent].children)}b=this._data.core.node.cloneNode(!0),n="jstree-node ";for(k in f.li_attr)if(f.li_attr.hasOwnProperty(k)){if("id"===k)continue;"class"!==k?b.setAttribute(k,f.li_attr[k]):n+=f.li_attr[k]}for(f.a_attr.id||(f.a_attr.id=f.id+"_anchor"),b.childNodes[1].setAttribute("aria-selected",!!f.state.selected),b.childNodes[1].setAttribute("aria-level",f.parents.length),this.settings.core.compute_elements_positions&&(b.childNodes[1].setAttribute("aria-setsize",p[f.parent].children.length),b.childNodes[1].setAttribute("aria-posinset",p[f.parent].children.indexOf(f.id)+1)),f.state.disabled&&b.childNodes[1].setAttribute("aria-disabled",!0),k=0,l=f.children.length;l>k;k++)if(!p[f.children[k]].state.hidden){v=!0;break}if(null!==f.parent&&p[f.parent]&&!f.state.hidden&&(k=a.inArray(f.id,p[f.parent].children),w=f.id,-1!==k))for(k++,l=p[f.parent].children.length;l>k;k++)if(p[p[f.parent].children[k]].state.hidden||(w=p[f.parent].children[k]),w!==f.id)break;f.state.hidden&&(n+=" jstree-hidden"),f.state.loading&&(n+=" jstree-loading"),f.state.loaded&&!v?n+=" jstree-leaf":(n+=f.state.opened&&f.state.loaded?" jstree-open":" jstree-closed",b.childNodes[1].setAttribute("aria-expanded",f.state.opened&&f.state.loaded)),w===f.id&&(n+=" jstree-last"),b.id=f.id,b.className=n,n=(f.state.selected?" jstree-clicked":"")+(f.state.disabled?" jstree-disabled":"");for(l in f.a_attr)if(f.a_attr.hasOwnProperty(l)){if("href"===l&&"#"===f.a_attr[l])continue;"class"!==l?b.childNodes[1].setAttribute(l,f.a_attr[l]):n+=" "+f.a_attr[l]}if(n.length&&(b.childNodes[1].className="jstree-anchor "+n),(f.icon&&f.icon!==!0||f.icon===!1)&&(f.icon===!1?b.childNodes[1].childNodes[0].className+=" jstree-themeicon-hidden":-1===f.icon.indexOf("/")&&-1===f.icon.indexOf(".")?b.childNodes[1].childNodes[0].className+=" "+f.icon+" jstree-themeicon-custom":(b.childNodes[1].childNodes[0].style.backgroundImage='url("'+f.icon+'")',b.childNodes[1].childNodes[0].style.backgroundPosition="center center",b.childNodes[1].childNodes[0].style.backgroundSize="auto",b.childNodes[1].childNodes[0].className+=" jstree-themeicon-custom")),this.settings.core.force_text?b.childNodes[1].appendChild(o.createTextNode(f.text)):b.childNodes[1].innerHTML+=f.text,c&&f.children.length&&(f.state.opened||e)&&f.state.loaded){for(m=o.createElement("UL"),m.setAttribute("role","group"),m.className="jstree-children",k=0,l=f.children.length;l>k;k++)m.appendChild(this.redraw_node(f.children[k],c,!0));b.appendChild(m)}if(j&&b.appendChild(j),!d){for(g||(g=this.element[0]),k=0,l=g.childNodes.length;l>k;k++)if(g.childNodes[k]&&g.childNodes[k].className&&-1!==g.childNodes[k].className.indexOf("jstree-children")){s=g.childNodes[k];break}s||(s=o.createElement("UL"),s.setAttribute("role","group"),s.className="jstree-children",g.appendChild(s)),g=s,h<g.childNodes.length?g.insertBefore(b,g.childNodes[h]):g.appendChild(b),q&&(t=this.element[0].scrollTop,u=this.element[0].scrollLeft,b.childNodes[1].focus(),this.element[0].scrollTop=t,this.element[0].scrollLeft=u)}return f.state.opened&&!f.state.loaded&&(f.state.opened=!1,setTimeout(function(){this.open_node(f.id,!1,0)}.bind(this),0)),b},open_node:function(c,d,e){var f,g,h,i;if(a.vakata.is_array(c)){for(c=c.slice(),f=0,g=c.length;g>f;f++)this.open_node(c[f],d,e);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(e=e===b?this.settings.core.animation:e,this.is_closed(c)?this.is_loaded(c)?(h=this.get_node(c,!0),i=this,h.length&&(e&&h.children(".jstree-children").length&&h.children(".jstree-children").stop(!0,!0),c.children.length&&!this._firstChild(h.children(".jstree-children")[0])&&this.draw_children(c),e?(this.trigger("before_open",{node:c}),h.children(".jstree-children").css("display","none").end().removeClass("jstree-closed").addClass("jstree-open").children(".jstree-anchor").attr("aria-expanded",!0).end().children(".jstree-children").stop(!0,!0).slideDown(e,function(){this.style.display="",i.element&&i.trigger("after_open",{node:c})})):(this.trigger("before_open",{node:c}),h[0].className=h[0].className.replace("jstree-closed","jstree-open"),h[0].childNodes[1].setAttribute("aria-expanded",!0))),c.state.opened=!0,d&&d.call(this,c,!0),h.length||this.trigger("before_open",{node:c}),this.trigger("open_node",{node:c}),e&&h.length||this.trigger("after_open",{node:c}),!0):this.is_loading(c)?setTimeout(function(){this.open_node(c,d,e)}.bind(this),500):void this.load_node(c,function(a,b){return b?this.open_node(a,d,e):d?d.call(this,a,!1):!1}):(d&&d.call(this,c,!1),!1)):!1},_open_to:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c,d,e=b.parents;for(c=0,d=e.length;d>c;c+=1)c!==a.jstree.root&&this.open_node(e[c],!1,0);return a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)},close_node:function(c,d){var e,f,g,h;if(a.vakata.is_array(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.close_node(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?this.is_closed(c)?!1:(d=d===b?this.settings.core.animation:d,g=this,h=this.get_node(c,!0),c.state.opened=!1,this.trigger("close_node",{node:c}),void(h.length?d?h.children(".jstree-children").attr("style","display:block !important").end().removeClass("jstree-open").addClass("jstree-closed").children(".jstree-anchor").attr("aria-expanded",!1).end().children(".jstree-children").stop(!0,!0).slideUp(d,function(){this.style.display="",h.children(".jstree-children").remove(),g.element&&g.trigger("after_close",{node:c})}):(h[0].className=h[0].className.replace("jstree-open","jstree-closed"),h.children(".jstree-anchor").attr("aria-expanded",!1),h.children(".jstree-children").remove(),this.trigger("after_close",{node:c})):this.trigger("after_close",{node:c}))):!1},toggle_node:function(b){var c,d;if(a.vakata.is_array(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.toggle_node(b[c]);return!0}return this.is_closed(b)?this.open_node(b):this.is_open(b)?this.close_node(b):void 0},open_all:function(b,c,d){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var e=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0),f,g,h;if(!e.length){for(f=0,g=b.children_d.length;g>f;f++)this.is_closed(this._model.data[b.children_d[f]])&&(this._model.data[b.children_d[f]].state.opened=!0);return this.trigger("open_all",{node:b})}d=d||e,h=this,e=this.is_closed(b)?e.find(".jstree-closed").addBack():e.find(".jstree-closed"),e.each(function(){h.open_node(this,function(a,b){b&&this.is_parent(a)&&this.open_all(a,c,d)},c||0)}),0===d.find(".jstree-closed").length&&this.trigger("open_all",{node:this.get_node(d)})},close_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0),e=this,f,g;for(d.length&&(d=this.is_open(b)?d.find(".jstree-open").addBack():d.find(".jstree-open"),a(d.get().reverse()).each(function(){e.close_node(this,c||0)})),f=0,g=b.children_d.length;g>f;f++)this._model.data[b.children_d[f]].state.opened=!1;this.trigger("close_all",{node:b})},is_disabled:function(a){return a=this.get_node(a),a&&a.state&&a.state.disabled},enable_node:function(b){var c,d;if(a.vakata.is_array(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!1,this.get_node(b,!0).children(".jstree-anchor").removeClass("jstree-disabled").attr("aria-disabled",!1),void this.trigger("enable_node",{node:b})):!1},disable_node:function(b){var c,d;if(a.vakata.is_array(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!0,this.get_node(b,!0).children(".jstree-anchor").addClass("jstree-disabled").attr("aria-disabled",!0),void this.trigger("disable_node",{node:b})):!1},is_hidden:function(a){return a=this.get_node(a),a.state.hidden===!0},hide_node:function(b,c){var d,e;if(a.vakata.is_array(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.hide_node(b[d],!0);return c||this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden||(b.state.hidden=!0,this._node_changed(b.parent),c||this.redraw(),this.trigger("hide_node",{node:b}))):!1},show_node:function(b,c){var d,e;if(a.vakata.is_array(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.show_node(b[d],!0);return c||this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden&&(b.state.hidden=!1,this._node_changed(b.parent),c||this.redraw(),this.trigger("show_node",{node:b}))):!1},hide_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&!d[c].state.hidden&&(d[c].state.hidden=!0,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("hide_all",{nodes:e}),e},show_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&d[c].state.hidden&&(d[c].state.hidden=!1,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("show_all",{nodes:e}),e},activate_node:function(a,c){if(this.is_disabled(a))return!1;if(c&&"object"==typeof c||(c={}),this._data.core.last_clicked=this._data.core.last_clicked&&this._data.core.last_clicked.id!==b?this.get_node(this._data.core.last_clicked.id):null,this._data.core.last_clicked&&!this._data.core.last_clicked.state.selected&&(this._data.core.last_clicked=null),!this._data.core.last_clicked&&this._data.core.selected.length&&(this._data.core.last_clicked=this.get_node(this._data.core.selected[this._data.core.selected.length-1])),this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&(!c.shiftKey||this._data.core.last_clicked&&this.get_parent(a)&&this.get_parent(a)===this._data.core.last_clicked.parent))if(c.shiftKey){var d=this.get_node(a).id,e=this._data.core.last_clicked.id,f=this.get_node(this._data.core.last_clicked.parent).children,g=!1,h,i;for(h=0,i=f.length;i>h;h+=1)f[h]===d&&(g=!g),f[h]===e&&(g=!g),this.is_disabled(f[h])||!g&&f[h]!==d&&f[h]!==e?this.deselect_node(f[h],!0,c):this.is_hidden(f[h])||this.select_node(f[h],!0,!1,c);this.trigger("changed",{action:"select_node",node:this.get_node(a),selected:this._data.core.selected,event:c})}else this.is_selected(a)?this.deselect_node(a,!1,c):this.select_node(a,!1,!1,c);else!this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&this.is_selected(a)?this.deselect_node(a,!1,c):(this.deselect_all(!0),this.select_node(a,!1,!1,c),this._data.core.last_clicked=this.get_node(a));this.trigger("activate_node",{node:this.get_node(a),event:c})},hover_node:function(a){if(a=this.get_node(a,!0),!a||!a.length||a.children(".jstree-hovered").length)return!1;var b=this.element.find(".jstree-hovered"),c=this.element;b&&b.length&&this.dehover_node(b),a.children(".jstree-anchor").addClass("jstree-hovered"),this.trigger("hover_node",{node:this.get_node(a)}),setTimeout(function(){c.attr("aria-activedescendant",a[0].id)},0)},dehover_node:function(a){return a=this.get_node(a,!0),a&&a.length&&a.children(".jstree-hovered").length?(a.children(".jstree-anchor").removeClass("jstree-hovered"),void this.trigger("dehover_node",{node:this.get_node(a)})):!1},select_node:function(b,c,d,e){var f,g,h,i;if(a.vakata.is_array(b)){for(b=b.slice(),g=0,h=b.length;h>g;g++)this.select_node(b[g],c,d,e);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.selected||(b.state.selected=!0,this._data.core.selected.push(b.id),d||(f=this._open_to(b)),f&&f.length&&f.children(".jstree-anchor").addClass("jstree-clicked").attr("aria-selected",!0),this.trigger("select_node",{node:b,selected:this._data.core.selected,event:e}),c||this.trigger("changed",{action:"select_node",node:b,selected:this._data.core.selected,event:e})))):!1},deselect_node:function(b,c,d){var e,f,g;if(a.vakata.is_array(b)){for(b=b.slice(),e=0,f=b.length;f>e;e++)this.deselect_node(b[e],c,d);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(g=this.get_node(b,!0),void(b.state.selected&&(b.state.selected=!1,this._data.core.selected=a.vakata.array_remove_item(this._data.core.selected,b.id),g.length&&g.children(".jstree-anchor").removeClass("jstree-clicked").attr("aria-selected",!1),this.trigger("deselect_node",{node:b,selected:this._data.core.selected,event:d}),c||this.trigger("changed",{action:"deselect_node",node:b,selected:this._data.core.selected,event:d})))):!1},select_all:function(b){var c=this._data.core.selected.concat([]),d,e;for(this._data.core.selected=this._model.data[a.jstree.root].children_d.concat(),d=0,e=this._data.core.selected.length;e>d;d++)this._model.data[this._data.core.selected[d]]&&(this._model.data[this._data.core.selected[d]].state.selected=!0);this.redraw(!0),this.trigger("select_all",{selected:this._data.core.selected}),b||this.trigger("changed",{action:"select_all",selected:this._data.core.selected,old_selection:c})},deselect_all:function(a){var b=this._data.core.selected.concat([]),c,d;for(c=0,d=this._data.core.selected.length;d>c;c++)this._model.data[this._data.core.selected[c]]&&(this._model.data[this._data.core.selected[c]].state.selected=!1);this._data.core.selected=[],this.element.find(".jstree-clicked").removeClass("jstree-clicked").attr("aria-selected",!1),this.trigger("deselect_all",{selected:this._data.core.selected,node:b}),a||this.trigger("changed",{action:"deselect_all",selected:this._data.core.selected,old_selection:b})},is_selected:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.selected:!1},get_selected:function(b){return b?a.map(this._data.core.selected,function(a){return this.get_node(a)}.bind(this)):this._data.core.selected.slice()},get_top_selected:function(b){var c=this.get_selected(!0),d={},e,f,g,h;for(e=0,f=c.length;f>e;e++)d[c[e].id]=c[e];for(e=0,f=c.length;f>e;e++)for(g=0,h=c[e].children_d.length;h>g;g++)d[c[e].children_d[g]]&&delete d[c[e].children_d[g]];c=[];for(e in d)d.hasOwnProperty(e)&&c.push(e);return b?a.map(c,function(a){return this.get_node(a)}.bind(this)):c},get_bottom_selected:function(b){var c=this.get_selected(!0),d=[],e,f;for(e=0,f=c.length;f>e;e++)c[e].children.length||d.push(c[e].id);return b?a.map(d,function(a){return this.get_node(a)}.bind(this)):d},get_state:function(){var b={core:{open:[],loaded:[],scroll:{left:this.element.scrollLeft(),top:this.element.scrollTop()},selected:[]}},c;for(c in this._model.data)this._model.data.hasOwnProperty(c)&&c!==a.jstree.root&&(this._model.data[c].state.loaded&&this.settings.core.loaded_state&&b.core.loaded.push(c),this._model.data[c].state.opened&&b.core.open.push(c),this._model.data[c].state.selected&&b.core.selected.push(c));return b},set_state:function(c,d){if(c){if(c.core&&c.core.selected&&c.core.initial_selection===b&&(c.core.initial_selection=this._data.core.selected.concat([]).sort().join(",")),c.core){var e,f,g,h,i;if(c.core.loaded)return this.settings.core.loaded_state&&a.vakata.is_array(c.core.loaded)&&c.core.loaded.length?this._load_nodes(c.core.loaded,function(a){delete c.core.loaded,this.set_state(c,d)}):(delete c.core.loaded,this.set_state(c,d)),!1;if(c.core.open)return a.vakata.is_array(c.core.open)&&c.core.open.length?this._load_nodes(c.core.open,function(a){this.open_node(a,!1,0),delete c.core.open,this.set_state(c,d)}):(delete c.core.open,this.set_state(c,d)),!1;if(c.core.scroll)return c.core.scroll&&c.core.scroll.left!==b&&this.element.scrollLeft(c.core.scroll.left),c.core.scroll&&c.core.scroll.top!==b&&this.element.scrollTop(c.core.scroll.top),delete c.core.scroll,this.set_state(c,d),!1;if(c.core.selected)return h=this,(c.core.initial_selection===b||c.core.initial_selection===this._data.core.selected.concat([]).sort().join(","))&&(this.deselect_all(),a.each(c.core.selected,function(a,b){h.select_node(b,!1,!0)})),delete c.core.initial_selection,delete c.core.selected,this.set_state(c,d),!1;for(i in c)c.hasOwnProperty(i)&&"core"!==i&&-1===a.inArray(i,this.settings.plugins)&&delete c[i];if(a.isEmptyObject(c.core))return delete c.core,this.set_state(c,d),!1}return a.isEmptyObject(c)?(c=null,d&&d.call(this),this.trigger("set_state"),!1):!0}return!1},refresh:function(b,c){this._data.core.state=c===!0?{}:this.get_state(),c&&a.vakata.is_function(c)&&(this._data.core.state=c.call(this,this._data.core.state)),this._cnt=0,this._model.data={},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this._data.core.selected=[],this._data.core.last_clicked=null,this._data.core.focused=null;var d=this.get_container_ul()[0].className;b||(this.element.html("<ul class='"+d+"' role='group'><li class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='none' id='j"+this._id+"_loading'><i class='jstree-icon jstree-ocl'></i><a class='jstree-anchor' role='treeitem' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-activedescendant","j"+this._id+"_loading")),this.load_node(a.jstree.root,function(b,c){c&&(this.get_container_ul()[0].className=d,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.set_state(a.extend(!0,{},this._data.core.state),function(){this.trigger("refresh")})),this._data.core.state=null})},refresh_node:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c=[],d=[],e=this._data.core.selected.concat([]);d.push(b.id),b.state.opened===!0&&c.push(b.id),this.get_node(b,!0).find(".jstree-open").each(function(){d.push(this.id),c.push(this.id)}),this._load_nodes(d,function(a){this.open_node(c,!1,0),this.select_node(e),this.trigger("refresh_node",{node:b,nodes:a})}.bind(this),!1,!0)},set_id:function(b,c){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var d,e,f=this._model.data,g=b.id;for(c=c.toString(),f[b.parent].children[a.inArray(b.id,f[b.parent].children)]=c,d=0,e=b.parents.length;e>d;d++)f[b.parents[d]].children_d[a.inArray(b.id,f[b.parents[d]].children_d)]=c;for(d=0,e=b.children.length;e>d;d++)f[b.children[d]].parent=c;for(d=0,e=b.children_d.length;e>d;d++)f[b.children_d[d]].parents[a.inArray(b.id,f[b.children_d[d]].parents)]=c;return d=a.inArray(b.id,this._data.core.selected),-1!==d&&(this._data.core.selected[d]=c),d=this.get_node(b.id,!0),d&&(d.attr("id",c),this.element.attr("aria-activedescendant")===b.id&&this.element.attr("aria-activedescendant",c)),delete f[b.id],b.id=c,b.li_attr.id=c,f[c]=b,this.trigger("set_id",{node:b,"new":b.id,old:g}),!0},get_text:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.text:!1},set_text:function(b,c){var d,e;if(a.vakata.is_array(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.set_text(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.text=c,this.get_node(b,!0).length&&this.redraw_node(b.id),this.trigger("set_text",{obj:b,text:c}),!0):!1},get_json:function(b,c,d){if(b=this.get_node(b||a.jstree.root),!b)return!1;c&&c.flat&&!d&&(d=[]);var e={id:b.id,text:b.text,icon:this.get_icon(b),li_attr:a.extend(!0,{},b.li_attr),a_attr:a.extend(!0,{},b.a_attr),state:{},data:c&&c.no_data?!1:a.extend(!0,a.vakata.is_array(b.data)?[]:{},b.data)},f,g;if(c&&c.flat?e.parent=b.parent:e.children=[],c&&c.no_state)delete e.state;else for(f in b.state)b.state.hasOwnProperty(f)&&(e.state[f]=b.state[f]);if(c&&c.no_li_attr&&delete e.li_attr,c&&c.no_a_attr&&delete e.a_attr,c&&c.no_id&&(delete e.id,e.li_attr&&e.li_attr.id&&delete e.li_attr.id,e.a_attr&&e.a_attr.id&&delete e.a_attr.id),c&&c.flat&&b.id!==a.jstree.root&&d.push(e),!c||!c.no_children)for(f=0,g=b.children.length;g>f;f++)c&&c.flat?this.get_json(b.children[f],c,d):e.children.push(this.get_json(b.children[f],c));return c&&c.flat?d:b.id===a.jstree.root?e.children:e},create_node:function(c,d,e,f,g){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return!1;if(e=e===b?"last":e,!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(c))return this.load_node(c,function(){this.create_node(c,d,e,f,!0)});d||(d={text:this.get_string("New node")}),d="string"==typeof d?{text:d}:a.extend(!0,{},d),d.text===b&&(d.text=this.get_string("New node"));var h,i,j,k;switch(c.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":h=this.get_node(c.parent),e=a.inArray(c.id,h.children),c=h;break;case"after":h=this.get_node(c.parent),e=a.inArray(c.id,h.children)+1,c=h;break;case"inside":case"first":e=0;break;case"last":e=c.children.length;break;default:e||(e=0)}if(e>c.children.length&&(e=c.children.length),d.id||(d.id=!0),!this.check("create_node",d,c,e))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(d.id===!0&&delete d.id,d=this._parse_model_from_json(d,c.id,c.parents.concat()),!d)return!1;for(h=this.get_node(d),i=[],i.push(d),i=i.concat(h.children_d),this.trigger("model",{nodes:i,parent:c.id}),c.children_d=c.children_d.concat(i),j=0,k=c.parents.length;k>j;j++)this._model.data[c.parents[j]].children_d=this._model.data[c.parents[j]].children_d.concat(i);for(d=h,h=[],j=0,k=c.children.length;k>j;j++)h[j>=e?j+1:j]=c.children[j];return h[e]=d.id,c.children=h,this.redraw_node(c,!0),this.trigger("create_node",{node:this.get_node(d),parent:c.id,position:e}),f&&f.call(this,this.get_node(d)),d.id},rename_node:function(b,c){var d,e,f;if(a.vakata.is_array(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.rename_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=b.text,this.check("rename_node",b,this.get_parent(b),c)?(this.set_text(b,c),this.trigger("rename_node",{node:b,text:c,old:f}),!0):(this.settings.core.error.call(this,this._data.core.last_error),!1)):!1},delete_node:function(b){var c,d,e,f,g,h,i,j,k,l,m,n;if(a.vakata.is_array(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.delete_node(b[c]);return!0}if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;if(e=this.get_node(b.parent),f=a.inArray(b.id,e.children),l=!1,!this.check("delete_node",b,e,f))return this.settings.core.error.call(this,this._data.core.last_error),!1;for(-1!==f&&(e.children=a.vakata.array_remove(e.children,f)),g=b.children_d.concat([]),g.push(b.id),h=0,i=b.parents.length;i>h;h++)this._model.data[b.parents[h]].children_d=a.vakata.array_filter(this._model.data[b.parents[h]].children_d,function(b){return-1===a.inArray(b,g)});for(j=0,k=g.length;k>j;j++)if(this._model.data[g[j]].state.selected){l=!0;break}for(l&&(this._data.core.selected=a.vakata.array_filter(this._data.core.selected,function(b){return-1===a.inArray(b,g)})),this.trigger("delete_node",{node:b,parent:e.id}),l&&this.trigger("changed",{action:"delete_node",node:b,selected:this._data.core.selected,parent:e.id}),j=0,k=g.length;k>j;j++)delete this._model.data[g[j]];return-1!==a.inArray(this._data.core.focused,g)&&(this._data.core.focused=null,m=this.element[0].scrollTop,n=this.element[0].scrollLeft,e.id===a.jstree.root?this._model.data[a.jstree.root].children[0]&&this.get_node(this._model.data[a.jstree.root].children[0],!0).children(".jstree-anchor").triger("focus"):this.get_node(e,!0).children(".jstree-anchor").trigger("focus"),this.element[0].scrollTop=m,this.element[0].scrollLeft=n),this.redraw_node(e,!0),!0},check:function(b,c,d,e,f){c=c&&c.id?c:this.get_node(c),d=d&&d.id?d:this.get_node(d);var g=b.match(/^move_node|copy_node|create_node$/i)?d:c,h=this.settings.core.check_callback;if("move_node"===b||"copy_node"===b){if(!(f&&f.is_multi||"move_node"!==b||a.inArray(c.id,d.children)!==e))return this._data.core.last_error={error:"check",plugin:"core",id:"core_08",reason:"Moving node to its current position",data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1;if(!(f&&f.is_multi||c.id!==d.id&&("move_node"!==b||a.inArray(c.id,d.children)!==e)&&-1===a.inArray(d.id,c.children_d)))return this._data.core.last_error={error:"check",plugin:"core",id:"core_01",reason:"Moving parent inside child",data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1}return g&&g.data&&(g=g.data),g&&g.functions&&(g.functions[b]===!1||g.functions[b]===!0)?(g.functions[b]===!1&&(this._data.core.last_error={error:"check",plugin:"core",id:"core_02",reason:"Node data prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})}),g.functions[b]):h===!1||a.vakata.is_function(h)&&h.call(this,b,c,d,e,f)===!1||h&&h[b]===!1?(this._data.core.last_error={error:"check",plugin:"core",id:"core_03",reason:"User config for core.check_callback prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1):!0},last_error:function(){return this._data.core.last_error},move_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t,u,v,w;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.move_node(c,d,e,f,!0,!1,i)});if(a.vakata.is_array(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(r=this.move_node(c[j],d,e,f,g,!1,i))&&(d=r,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;if(l=(c.parent||a.jstree.root).toString(),n=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,o=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),p=!o||!o._id||this._id!==o._id,m=o&&o._id&&l&&o._model.data[l]&&o._model.data[l].children?a.inArray(c.id,o._model.data[l].children):-1,o&&o._id&&(c=o._model.data[c.id]),p)return(r=this.copy_node(c,d,e,f,g,!1,i))?(o&&o.delete_node(c),r):!1;switch(d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,n.children);break;case"after":e=a.inArray(d.id,n.children)+1;break;case"inside":case"first":e=0;break;case"last":e=n.children.length;break;default:e||(e=0)}if(e>n.children.length&&(e=n.children.length),!this.check("move_node",c,n,e,{core:!0,origin:i,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(c.parent===n.id){for(q=n.children.concat(),r=a.inArray(c.id,q),-1!==r&&(q=a.vakata.array_remove(q,r),e>r&&e--),r=[],s=0,t=q.length;t>s;s++)r[s>=e?s+1:s]=q[s];r[e]=c.id,n.children=r,this._node_changed(n.id),this.redraw(n.id===a.jstree.root)}else{for(r=c.children_d.concat(),r.push(c.id),s=0,t=c.parents.length;t>s;s++){for(q=[],w=o._model.data[c.parents[s]].children_d,u=0,v=w.length;v>u;u++)-1===a.inArray(w[u],r)&&q.push(w[u]);o._model.data[c.parents[s]].children_d=q}for(o._model.data[l].children=a.vakata.array_remove_item(o._model.data[l].children,c.id),s=0,t=n.parents.length;t>s;s++)this._model.data[n.parents[s]].children_d=this._model.data[n.parents[s]].children_d.concat(r);for(q=[],s=0,t=n.children.length;t>s;s++)q[s>=e?s+1:s]=n.children[s];for(q[e]=c.id,n.children=q,n.children_d.push(c.id),n.children_d=n.children_d.concat(c.children_d),c.parent=n.id,r=n.parents.concat(),r.unshift(n.id),w=c.parents.length,c.parents=r,r=r.concat(),s=0,t=c.children_d.length;t>s;s++)this._model.data[c.children_d[s]].parents=this._model.data[c.children_d[s]].parents.slice(0,-1*w),Array.prototype.push.apply(this._model.data[c.children_d[s]].parents,r);(l===a.jstree.root||n.id===a.jstree.root)&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||(this._node_changed(l),this._node_changed(n.id)),h||this.redraw()}return f&&f.call(this,c,n,e),this.trigger("move_node",{node:c,parent:n.id,position:e,old_parent:l,old_position:m,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id,old_instance:o,new_instance:this}),c.id},copy_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.copy_node(c,d,e,f,!0,!1,i)});if(a.vakata.is_array(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(m=this.copy_node(c[j],d,e,f,g,!0,i))&&(d=m,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;switch(q=(c.parent||a.jstree.root).toString(),r=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,s=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),t=!s||!s._id||this._id!==s._id,s&&s._id&&(c=s._model.data[c.id]),d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,r.children);break;case"after":e=a.inArray(d.id,r.children)+1;break;case"inside":case"first":e=0;break;case"last":e=r.children.length;break;default:e||(e=0)}if(e>r.children.length&&(e=r.children.length),!this.check("copy_node",c,r,e,{core:!0,origin:i,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(p=s?s.get_json(c,{no_id:!0,no_data:!0,no_state:!0}):c,!p)return!1;if(p.id===!0&&delete p.id,p=this._parse_model_from_json(p,r.id,r.parents.concat()), >+!p)return!1;for(m=this.get_node(p),c&&c.state&&c.state.loaded===!1&&(m.state.loaded=!1),l=[],l.push(p),l=l.concat(m.children_d),this.trigger("model",{nodes:l,parent:r.id}),n=0,o=r.parents.length;o>n;n++)this._model.data[r.parents[n]].children_d=this._model.data[r.parents[n]].children_d.concat(l);for(l=[],n=0,o=r.children.length;o>n;n++)l[n>=e?n+1:n]=r.children[n];return l[e]=m.id,r.children=l,r.children_d.push(m.id),r.children_d=r.children_d.concat(m.children_d),r.id===a.jstree.root&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||this._node_changed(r.id),h||this.redraw(r.id===a.jstree.root),f&&f.call(this,m,r,e),this.trigger("copy_node",{node:m,original:c,parent:r.id,position:e,old_parent:q,old_position:s&&s._id&&q&&s._model.data[q]&&s._model.data[q].children?a.inArray(c.id,s._model.data[q].children):-1,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id,old_instance:s,new_instance:this}),m.id},cut:function(b){if(b||(b=this._data.core.selected.concat()),a.vakata.is_array(b)||(b=[b]),!b.length)return!1;var c=[],g,h,i;for(h=0,i=b.length;i>h;h++)g=this.get_node(b[h]),g&&g.id&&g.id!==a.jstree.root&&c.push(g);return c.length?(d=c,f=this,e="move_node",void this.trigger("cut",{node:b})):!1},copy:function(b){if(b||(b=this._data.core.selected.concat()),a.vakata.is_array(b)||(b=[b]),!b.length)return!1;var c=[],g,h,i;for(h=0,i=b.length;i>h;h++)g=this.get_node(b[h]),g&&g.id&&g.id!==a.jstree.root&&c.push(g);return c.length?(d=c,f=this,e="copy_node",void this.trigger("copy",{node:b})):!1},get_buffer:function(){return{mode:e,node:d,inst:f}},can_paste:function(){return e!==!1&&d!==!1},paste:function(a,b){return a=this.get_node(a),a&&e&&e.match(/^(copy_node|move_node)$/)&&d?(this[e](d,a,b,!1,!1,!1,f)&&this.trigger("paste",{parent:a.id,node:d,mode:e}),d=!1,e=!1,void(f=!1)):!1},clear_buffer:function(){d=!1,e=!1,f=!1,this.trigger("clear_buffer")},edit:function(b,c,d){var e,f,g,h,j,k,l,m,n,o=!1;return(b=this.get_node(b))?this.check("edit",b,this.get_parent(b))?(n=b,c="string"==typeof c?c:b.text,this.set_text(b,""),b=this._open_to(b),n.text=c,e=this._data.core.rtl,f=this.element.width(),this._data.core.focused=n.id,g=b.children(".jstree-anchor").trigger("focus"),h=a("<span></span>"),j=c,k=a("<div></div>",{css:{position:"absolute",top:"-200px",left:e?"0px":"-1000px",visibility:"hidden"}}).appendTo(i.body),l=a("<input />",{value:j,"class":"jstree-rename-input",css:{padding:"0",border:"1px solid silver","box-sizing":"border-box",display:"inline-block",height:this._data.core.li_height+"px",lineHeight:this._data.core.li_height+"px",width:"150px"},blur:function(c){c.stopImmediatePropagation(),c.preventDefault();var e=h.children(".jstree-rename-input"),f=e.val(),i=this.settings.core.force_text,m;""===f&&(f=j),k.remove(),h.replaceWith(g),h.remove(),j=i?j:a("<div></div>").append(a.parseHTML(j)).html(),b=this.get_node(b),this.set_text(b,j),m=!!this.rename_node(b,i?a("<div></div>").text(f).text():a("<div></div>").append(a.parseHTML(f)).html()),m||this.set_text(b,j),this._data.core.focused=n.id,setTimeout(function(){var a=this.get_node(n.id,!0);a.length&&(this._data.core.focused=n.id,a.children(".jstree-anchor").trigger("focus"))}.bind(this),0),d&&d.call(this,n,m,o,f),l=null}.bind(this),keydown:function(a){var b=a.which;27===b&&(o=!0,this.value=j),(27===b||13===b||37===b||38===b||39===b||40===b||32===b)&&a.stopImmediatePropagation(),(27===b||13===b)&&(a.preventDefault(),this.blur())},click:function(a){a.stopImmediatePropagation()},mousedown:function(a){a.stopImmediatePropagation()},keyup:function(a){l.width(Math.min(k.text("pW"+this.value).width(),f))},keypress:function(a){return 13===a.which?!1:void 0}}),m={fontFamily:g.css("fontFamily")||"",fontSize:g.css("fontSize")||"",fontWeight:g.css("fontWeight")||"",fontStyle:g.css("fontStyle")||"",fontStretch:g.css("fontStretch")||"",fontVariant:g.css("fontVariant")||"",letterSpacing:g.css("letterSpacing")||"",wordSpacing:g.css("wordSpacing")||""},h.attr("class",g.attr("class")).append(g.contents().clone()).append(l),g.replaceWith(h),k.css(m),l.css(m).width(Math.min(k.text("pW"+l[0].value).width(),f))[0].select(),void a(i).one("mousedown.jstree touchstart.jstree dnd_start.vakata",function(b){l&&b.target!==l&&a(l).trigger("blur")})):(this.settings.core.error.call(this,this._data.core.last_error),!1):!1},set_theme:function(b,c){if(!b)return!1;if(c===!0){var d=this.settings.core.themes.dir;d||(d=a.jstree.path+"/themes"),c=d+"/"+b+"/style.css"}c&&-1===a.inArray(c,g)&&(a("head").append('<link rel="stylesheet" href="'+c+'" type="text/css" />'),g.push(c)),this._data.core.themes.name&&this.element.removeClass("jstree-"+this._data.core.themes.name),this._data.core.themes.name=b,this.element.addClass("jstree-"+b),this.element[this.settings.core.themes.responsive?"addClass":"removeClass"]("jstree-"+b+"-responsive"),this.trigger("set_theme",{theme:b})},get_theme:function(){return this._data.core.themes.name},set_theme_variant:function(a){this._data.core.themes.variant&&this.element.removeClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant),this._data.core.themes.variant=a,a&&this.element.addClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant)},get_theme_variant:function(){return this._data.core.themes.variant},show_stripes:function(){this._data.core.themes.stripes=!0,this.get_container_ul().addClass("jstree-striped"),this.trigger("show_stripes")},hide_stripes:function(){this._data.core.themes.stripes=!1,this.get_container_ul().removeClass("jstree-striped"),this.trigger("hide_stripes")},toggle_stripes:function(){this._data.core.themes.stripes?this.hide_stripes():this.show_stripes()},show_dots:function(){this._data.core.themes.dots=!0,this.get_container_ul().removeClass("jstree-no-dots"),this.trigger("show_dots")},hide_dots:function(){this._data.core.themes.dots=!1,this.get_container_ul().addClass("jstree-no-dots"),this.trigger("hide_dots")},toggle_dots:function(){this._data.core.themes.dots?this.hide_dots():this.show_dots()},show_icons:function(){this._data.core.themes.icons=!0,this.get_container_ul().removeClass("jstree-no-icons"),this.trigger("show_icons")},hide_icons:function(){this._data.core.themes.icons=!1,this.get_container_ul().addClass("jstree-no-icons"),this.trigger("hide_icons")},toggle_icons:function(){this._data.core.themes.icons?this.hide_icons():this.show_icons()},show_ellipsis:function(){this._data.core.themes.ellipsis=!0,this.get_container_ul().addClass("jstree-ellipsis"),this.trigger("show_ellipsis")},hide_ellipsis:function(){this._data.core.themes.ellipsis=!1,this.get_container_ul().removeClass("jstree-ellipsis"),this.trigger("hide_ellipsis")},toggle_ellipsis:function(){this._data.core.themes.ellipsis?this.hide_ellipsis():this.show_ellipsis()},set_icon:function(c,d){var e,f,g,h;if(a.vakata.is_array(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.set_icon(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(h=c.icon,c.icon=d===!0||null===d||d===b||""===d?!0:d,g=this.get_node(c,!0).children(".jstree-anchor").children(".jstree-themeicon"),d===!1?(g.removeClass("jstree-themeicon-custom "+h).css("background","").removeAttr("rel"),this.hide_icon(c)):d===!0||null===d||d===b||""===d?(g.removeClass("jstree-themeicon-custom "+h).css("background","").removeAttr("rel"),h===!1&&this.show_icon(c)):-1===d.indexOf("/")&&-1===d.indexOf(".")?(g.removeClass(h).css("background",""),g.addClass(d+" jstree-themeicon-custom").attr("rel",d),h===!1&&this.show_icon(c)):(g.removeClass(h).css("background",""),g.addClass("jstree-themeicon-custom").css("background","url('"+d+"') center center no-repeat").attr("rel",d),h===!1&&this.show_icon(c)),!0):!1},get_icon:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.icon:!1},hide_icon:function(b){var c,d;if(a.vakata.is_array(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.hide_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(b.icon=!1,this.get_node(b,!0).children(".jstree-anchor").children(".jstree-themeicon").addClass("jstree-themeicon-hidden"),!0):!1},show_icon:function(b){var c,d,e;if(a.vakata.is_array(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.show_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(e=this.get_node(b,!0),b.icon=e.length?e.children(".jstree-anchor").children(".jstree-themeicon").attr("rel"):!0,b.icon||(b.icon=!0),e.children(".jstree-anchor").children(".jstree-themeicon").removeClass("jstree-themeicon-hidden"),!0):!1}},a.vakata={},a.vakata.attributes=function(b,c){b=a(b)[0];var d=c?{}:[];return b&&b.attributes&&a.each(b.attributes,function(b,e){-1===a.inArray(e.name.toLowerCase(),["style","contenteditable","hasfocus","tabindex"])&&null!==e.value&&""!==a.vakata.trim(e.value)&&(c?d[e.name]=e.value:d.push(e.name))}),d},a.vakata.array_unique=function(a){var c=[],d,e,f,g={};for(d=0,f=a.length;f>d;d++)g[a[d]]===b&&(c.push(a[d]),g[a[d]]=!0);return c},a.vakata.array_remove=function(a,b){return a.splice(b,1),a},a.vakata.array_remove_item=function(b,c){var d=a.inArray(c,b);return-1!==d?a.vakata.array_remove(b,d):b},a.vakata.array_filter=function(a,b,c,d,e){if(a.filter)return a.filter(b,c);d=[];for(e in a)~~e+""==e+""&&e>=0&&b.call(c,a[e],+e,a)&&d.push(a[e]);return d},a.vakata.trim=function(a){return String.prototype.trim?String.prototype.trim.call(a.toString()):a.toString().replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},a.vakata.is_function=function(a){return"function"==typeof a&&"number"!=typeof a.nodeType},a.vakata.is_array=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},Function.prototype.bind||(Function.prototype.bind=function(){var a=this,b=arguments[0],c=Array.prototype.slice.call(arguments,1);if("function"!=typeof a)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");return function(){var d=c.concat(Array.prototype.slice.call(arguments));return a.apply(b,d)}}),a.jstree.plugins.changed=function(a,b){var c=[];this.trigger=function(a,d){var e,f;if(d||(d={}),"changed"===a.replace(".jstree","")){d.changed={selected:[],deselected:[]};var g={};for(e=0,f=c.length;f>e;e++)g[c[e]]=1;for(e=0,f=d.selected.length;f>e;e++)g[d.selected[e]]?g[d.selected[e]]=2:d.changed.selected.push(d.selected[e]);for(e=0,f=c.length;f>e;e++)1===g[c[e]]&&d.changed.deselected.push(c[e]);c=d.selected.slice()}b.trigger.call(this,a,d)},this.refresh=function(a,d){return c=[],b.refresh.apply(this,arguments)}};var l=i.createElement("I");l.className="jstree-icon jstree-checkbox",l.setAttribute("role","presentation"),a.jstree.defaults.checkbox={visible:!0,three_state:!0,whole_node:!0,keep_selected_style:!0,cascade:"",tie_selection:!0,cascade_to_disabled:!0,cascade_to_hidden:!0},a.jstree.plugins.checkbox=function(c,d){this.bind=function(){d.bind.call(this),this._data.checkbox.uto=!1,this._data.checkbox.selected=[],this.settings.checkbox.three_state&&(this.settings.checkbox.cascade="up+down+undetermined"),this.element.on("init.jstree",function(){this._data.checkbox.visible=this.settings.checkbox.visible,this.settings.checkbox.keep_selected_style||this.element.addClass("jstree-checkbox-no-clicked"),this.settings.checkbox.tie_selection&&this.element.addClass("jstree-checkbox-selection")}.bind(this)).on("loading.jstree",function(){this[this._data.checkbox.visible?"show_checkboxes":"hide_checkboxes"]()}.bind(this)),-1!==this.settings.checkbox.cascade.indexOf("undetermined")&&this.element.on("changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree",function(){this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(this._undetermined.bind(this),50)}.bind(this)),this.settings.checkbox.tie_selection||this.element.on("model.jstree",function(a,b){var c=this._model.data,d=c[b.parent],e=b.nodes,f,g;for(f=0,g=e.length;g>f;f++)c[e[f]].state.checked=c[e[f]].state.checked||c[e[f]].original&&c[e[f]].original.state&&c[e[f]].original.state.checked,c[e[f]].state.checked&&this._data.checkbox.selected.push(e[f])}.bind(this)),(-1!==this.settings.checkbox.cascade.indexOf("up")||-1!==this.settings.checkbox.cascade.indexOf("down"))&&this.element.on("model.jstree",function(b,c){var d=this._model.data,e=d[c.parent],f=c.nodes,g=[],h,i,j,k,l,m,n=this.settings.checkbox.cascade,o=this.settings.checkbox.tie_selection;if(-1!==n.indexOf("down"))if(e.state[o?"selected":"checked"]){for(i=0,j=f.length;j>i;i++)d[f[i]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(f)}else for(i=0,j=f.length;j>i;i++)if(d[f[i]].state[o?"selected":"checked"]){for(k=0,l=d[f[i]].children_d.length;l>k;k++)d[d[f[i]].children_d[k]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(d[f[i]].children_d)}if(-1!==n.indexOf("up")){for(i=0,j=e.children_d.length;j>i;i++)d[e.children_d[i]].children.length||g.push(d[e.children_d[i]].parent);for(g=a.vakata.array_unique(g),k=0,l=g.length;l>k;k++){e=d[g[k]];while(e&&e.id!==a.jstree.root){for(h=0,i=0,j=e.children.length;j>i;i++)h+=d[e.children[i]].state[o?"selected":"checked"];if(h!==j)break;e.state[o?"selected":"checked"]=!0,this._data[o?"core":"checkbox"].selected.push(e.id),m=this.get_node(e,!0),m&&m.length&&m.attr("aria-selected",!0).children(".jstree-anchor").addClass(o?"jstree-clicked":"jstree-checked"),e=this.get_node(e.parent)}}}this._data[o?"core":"checkbox"].selected=a.vakata.array_unique(this._data[o?"core":"checkbox"].selected)}.bind(this)).on(this.settings.checkbox.tie_selection?"select_node.jstree":"check_node.jstree",function(b,c){var d=this,e=c.node,f=this._model.data,g=this.get_node(e.parent),h,i,j,k,l=this.settings.checkbox.cascade,m=this.settings.checkbox.tie_selection,n={},o=this._data[m?"core":"checkbox"].selected;for(h=0,i=o.length;i>h;h++)n[o[h]]=!0;if(-1!==l.indexOf("down")){var p=this._cascade_new_checked_state(e.id,!0),q=e.children_d.concat(e.id);for(h=0,i=q.length;i>h;h++)p.indexOf(q[h])>-1?n[q[h]]=!0:delete n[q[h]]}if(-1!==l.indexOf("up"))while(g&&g.id!==a.jstree.root){for(j=0,h=0,i=g.children.length;i>h;h++)j+=f[g.children[h]].state[m?"selected":"checked"];if(j!==i)break;g.state[m?"selected":"checked"]=!0,n[g.id]=!0,k=this.get_node(g,!0),k&&k.length&&k.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),g=this.get_node(g.parent)}o=[];for(h in n)n.hasOwnProperty(h)&&o.push(h);this._data[m?"core":"checkbox"].selected=o}.bind(this)).on(this.settings.checkbox.tie_selection?"deselect_all.jstree":"uncheck_all.jstree",function(b,c){var d=this.get_node(a.jstree.root),e=this._model.data,f,g,h;for(f=0,g=d.children_d.length;g>f;f++)h=e[d.children_d[f]],h&&h.original&&h.original.state&&h.original.state.undetermined&&(h.original.state.undetermined=!1)}.bind(this)).on(this.settings.checkbox.tie_selection?"deselect_node.jstree":"uncheck_node.jstree",function(b,c){var d=this,e=c.node,f=this.get_node(e,!0),g,h,i,j=this.settings.checkbox.cascade,k=this.settings.checkbox.tie_selection,l=this._data[k?"core":"checkbox"].selected,m={},n=[],o=e.children_d.concat(e.id);if(-1!==j.indexOf("down")){var p=this._cascade_new_checked_state(e.id,!1);l=a.vakata.array_filter(l,function(a){return-1===o.indexOf(a)||p.indexOf(a)>-1})}if(-1!==j.indexOf("up")&&-1===l.indexOf(e.id)){for(g=0,h=e.parents.length;h>g;g++)i=this._model.data[e.parents[g]],i.state[k?"selected":"checked"]=!1,i&&i.original&&i.original.state&&i.original.state.undetermined&&(i.original.state.undetermined=!1),i=this.get_node(e.parents[g],!0),i&&i.length&&i.attr("aria-selected",!1).children(".jstree-anchor").removeClass(k?"jstree-clicked":"jstree-checked");l=a.vakata.array_filter(l,function(a){return-1===e.parents.indexOf(a)})}this._data[k?"core":"checkbox"].selected=l}.bind(this)),-1!==this.settings.checkbox.cascade.indexOf("up")&&this.element.on("delete_node.jstree",function(b,c){var d=this.get_node(c.parent),e=this._model.data,f,g,h,i,j=this.settings.checkbox.tie_selection;while(d&&d.id!==a.jstree.root&&!d.state[j?"selected":"checked"]){for(h=0,f=0,g=d.children.length;g>f;f++)h+=e[d.children[f]].state[j?"selected":"checked"];if(!(g>0&&h===g))break;d.state[j?"selected":"checked"]=!0,this._data[j?"core":"checkbox"].selected.push(d.id),i=this.get_node(d,!0),i&&i.length&&i.attr("aria-selected",!0).children(".jstree-anchor").addClass(j?"jstree-clicked":"jstree-checked"),d=this.get_node(d.parent)}}.bind(this)).on("move_node.jstree",function(b,c){var d=c.is_multi,e=c.old_parent,f=this.get_node(c.parent),g=this._model.data,h,i,j,k,l,m=this.settings.checkbox.tie_selection;if(!d){h=this.get_node(e);while(h&&h.id!==a.jstree.root&&!h.state[m?"selected":"checked"]){for(i=0,j=0,k=h.children.length;k>j;j++)i+=g[h.children[j]].state[m?"selected":"checked"];if(!(k>0&&i===k))break;h.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),h=this.get_node(h.parent)}}h=f;while(h&&h.id!==a.jstree.root){for(i=0,j=0,k=h.children.length;k>j;j++)i+=g[h.children[j]].state[m?"selected":"checked"];if(i===k)h.state[m?"selected":"checked"]||(h.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"));else{if(!h.state[m?"selected":"checked"])break;h.state[m?"selected":"checked"]=!1,this._data[m?"core":"checkbox"].selected=a.vakata.array_remove_item(this._data[m?"core":"checkbox"].selected,h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!1).children(".jstree-anchor").removeClass(m?"jstree-clicked":"jstree-checked")}h=this.get_node(h.parent)}}.bind(this))},this.get_undetermined=function(c){if(-1===this.settings.checkbox.cascade.indexOf("undetermined"))return[];var d,e,f,g,h={},i=this._model.data,j=this.settings.checkbox.tie_selection,k=this._data[j?"core":"checkbox"].selected,l=[],m=this,n=[];for(d=0,e=k.length;e>d;d++)if(i[k[d]]&&i[k[d]].parents)for(f=0,g=i[k[d]].parents.length;g>f;f++){if(h[i[k[d]].parents[f]]!==b)break;i[k[d]].parents[f]!==a.jstree.root&&(h[i[k[d]].parents[f]]=!0,l.push(i[k[d]].parents[f]))}for(this.element.find(".jstree-closed").not(":has(.jstree-children)").each(function(){var c=m.get_node(this),j;if(c)if(c.state.loaded){for(d=0,e=c.children_d.length;e>d;d++)if(j=i[c.children_d[d]],!j.state.loaded&&j.original&&j.original.state&&j.original.state.undetermined&&j.original.state.undetermined===!0)for(h[j.id]===b&&j.id!==a.jstree.root&&(h[j.id]=!0,l.push(j.id)),f=0,g=j.parents.length;g>f;f++)h[j.parents[f]]===b&&j.parents[f]!==a.jstree.root&&(h[j.parents[f]]=!0,l.push(j.parents[f]))}else if(c.original&&c.original.state&&c.original.state.undetermined&&c.original.state.undetermined===!0)for(h[c.id]===b&&c.id!==a.jstree.root&&(h[c.id]=!0,l.push(c.id)),f=0,g=c.parents.length;g>f;f++)h[c.parents[f]]===b&&c.parents[f]!==a.jstree.root&&(h[c.parents[f]]=!0,l.push(c.parents[f]))}),d=0,e=l.length;e>d;d++)i[l[d]].state[j?"selected":"checked"]||n.push(c?i[l[d]]:l[d]);return n},this._undetermined=function(){if(null!==this.element){var a=this.get_undetermined(!1),b,c,d;for(this.element.find(".jstree-undetermined").removeClass("jstree-undetermined"),b=0,c=a.length;c>b;b++)d=this.get_node(a[b],!0),d&&d.length&&d.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-undetermined")}},this.redraw_node=function(a,b,c,e){if(a=d.redraw_node.apply(this,arguments)){var f,g,h=null,i=null;for(f=0,g=a.childNodes.length;g>f;f++)if(a.childNodes[f]&&a.childNodes[f].className&&-1!==a.childNodes[f].className.indexOf("jstree-anchor")){h=a.childNodes[f];break}h&&(!this.settings.checkbox.tie_selection&&this._model.data[a.id].state.checked&&(h.className+=" jstree-checked"),i=l.cloneNode(!1),this._model.data[a.id].state.checkbox_disabled&&(i.className+=" jstree-checkbox-disabled"),h.insertBefore(i,h.childNodes[0]))}return c||-1===this.settings.checkbox.cascade.indexOf("undetermined")||(this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(this._undetermined.bind(this),50)),a},this.show_checkboxes=function(){this._data.core.themes.checkboxes=!0,this.get_container_ul().removeClass("jstree-no-checkboxes")},this.hide_checkboxes=function(){this._data.core.themes.checkboxes=!1,this.get_container_ul().addClass("jstree-no-checkboxes")},this.toggle_checkboxes=function(){this._data.core.themes.checkboxes?this.hide_checkboxes():this.show_checkboxes()},this.is_undetermined=function(b){b=this.get_node(b);var c=this.settings.checkbox.cascade,d,e,f=this.settings.checkbox.tie_selection,g=this._data[f?"core":"checkbox"].selected,h=this._model.data;if(!b||b.state[f?"selected":"checked"]===!0||-1===c.indexOf("undetermined")||-1===c.indexOf("down")&&-1===c.indexOf("up"))return!1;if(!b.state.loaded&&b.original.state.undetermined===!0)return!0;for(d=0,e=b.children_d.length;e>d;d++)if(-1!==a.inArray(b.children_d[d],g)||!h[b.children_d[d]].state.loaded&&h[b.children_d[d]].original.state.undetermined)return!0;return!1},this.disable_checkbox=function(b){var c,d,e;if(a.vakata.is_array(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled||(b.state.checkbox_disabled=!0,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-checkbox-disabled"),this.trigger("disable_checkbox",{node:b})))):!1},this.enable_checkbox=function(b){var c,d,e;if(a.vakata.is_array(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled&&(b.state.checkbox_disabled=!1,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").removeClass("jstree-checkbox-disabled"),this.trigger("enable_checkbox",{node:b})))):!1},this.activate_node=function(b,c){return a(c.target).hasClass("jstree-checkbox-disabled")?!1:(this.settings.checkbox.tie_selection&&(this.settings.checkbox.whole_node||a(c.target).hasClass("jstree-checkbox"))&&(c.ctrlKey=!0),this.settings.checkbox.tie_selection||!this.settings.checkbox.whole_node&&!a(c.target).hasClass("jstree-checkbox")?d.activate_node.call(this,b,c):this.is_disabled(b)?!1:(this.is_checked(b)?this.uncheck_node(b,c):this.check_node(b,c),void this.trigger("activate_node",{node:this.get_node(b)})))},this._cascade_new_checked_state=function(a,b){var c=this,d=this.settings.checkbox.tie_selection,e=this._model.data[a],f=[],g=[],h,i,j;if(!this.settings.checkbox.cascade_to_disabled&&e.state.disabled||!this.settings.checkbox.cascade_to_hidden&&e.state.hidden)j=this.get_checked_descendants(a),e.state[d?"selected":"checked"]&&j.push(e.id),f=f.concat(j);else{if(e.children)for(h=0,i=e.children.length;i>h;h++){var k=e.children[h];j=c._cascade_new_checked_state(k,b),f=f.concat(j),j.indexOf(k)>-1&&g.push(k)}var l=c.get_node(e,!0),m=g.length>0&&g.length<e.children.length;e.original&&e.original.state&&e.original.state.undetermined&&(e.original.state.undetermined=m),m?(e.state[d?"selected":"checked"]=!1,l.attr("aria-selected",!1).children(".jstree-anchor").removeClass(d?"jstree-clicked":"jstree-checked")):b&&g.length===e.children.length?(e.state[d?"selected":"checked"]=b,f.push(e.id),l.attr("aria-selected",!0).children(".jstree-anchor").addClass(d?"jstree-clicked":"jstree-checked")):(e.state[d?"selected":"checked"]=!1,l.attr("aria-selected",!1).children(".jstree-anchor").removeClass(d?"jstree-clicked":"jstree-checked"))}return f},this.get_checked_descendants=function(b){var c=this,d=c.settings.checkbox.tie_selection,e=c._model.data[b];return a.vakata.array_filter(e.children_d,function(a){return c._model.data[a].state[d?"selected":"checked"]})},this.check_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.select_node(b,!1,!0,c);var d,e,f,g;if(a.vakata.is_array(b)){for(b=b.slice(),e=0,f=b.length;f>e;e++)this.check_node(b[e],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(d=this.get_node(b,!0),void(b.state.checked||(b.state.checked=!0,this._data.checkbox.selected.push(b.id),d&&d.length&&d.children(".jstree-anchor").addClass("jstree-checked"),this.trigger("check_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.uncheck_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.deselect_node(b,!1,c);var d,e,f;if(a.vakata.is_array(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.uncheck_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.checked&&(b.state.checked=!1,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,b.id),f.length&&f.children(".jstree-anchor").removeClass("jstree-checked"),this.trigger("uncheck_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.check_all=function(){if(this.settings.checkbox.tie_selection)return this.select_all();var b=this._data.checkbox.selected.concat([]),c,d;for(this._data.checkbox.selected=this._model.data[a.jstree.root].children_d.concat(),c=0,d=this._data.checkbox.selected.length;d>c;c++)this._model.data[this._data.checkbox.selected[c]]&&(this._model.data[this._data.checkbox.selected[c]].state.checked=!0);this.redraw(!0),this.trigger("check_all",{selected:this._data.checkbox.selected})},this.uncheck_all=function(){if(this.settings.checkbox.tie_selection)return this.deselect_all();var a=this._data.checkbox.selected.concat([]),b,c;for(b=0,c=this._data.checkbox.selected.length;c>b;b++)this._model.data[this._data.checkbox.selected[b]]&&(this._model.data[this._data.checkbox.selected[b]].state.checked=!1);this._data.checkbox.selected=[],this.element.find(".jstree-checked").removeClass("jstree-checked"),this.trigger("uncheck_all",{selected:this._data.checkbox.selected,node:a})},this.is_checked=function(b){return this.settings.checkbox.tie_selection?this.is_selected(b):(b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.checked:!1)},this.get_checked=function(b){return this.settings.checkbox.tie_selection?this.get_selected(b):b?a.map(this._data.checkbox.selected,function(a){return this.get_node(a)}.bind(this)):this._data.checkbox.selected.slice()},this.get_top_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_top_selected(b);var c=this.get_checked(!0),d={},e,f,g,h;for(e=0,f=c.length;f>e;e++)d[c[e].id]=c[e];for(e=0,f=c.length;f>e;e++)for(g=0,h=c[e].children_d.length;h>g;g++)d[c[e].children_d[g]]&&delete d[c[e].children_d[g]];c=[];for(e in d)d.hasOwnProperty(e)&&c.push(e);return b?a.map(c,function(a){return this.get_node(a)}.bind(this)):c},this.get_bottom_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_bottom_selected(b);var c=this.get_checked(!0),d=[],e,f;for(e=0,f=c.length;f>e;e++)c[e].children.length||d.push(c[e].id);return b?a.map(d,function(a){return this.get_node(a)}.bind(this)):d},this.load_node=function(b,c){var e,f,g,h,i,j;if(!a.vakata.is_array(b)&&!this.settings.checkbox.tie_selection&&(j=this.get_node(b),j&&j.state.loaded))for(e=0,f=j.children_d.length;f>e;e++)this._model.data[j.children_d[e]].state.checked&&(i=!0,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,j.children_d[e]));return d.load_node.apply(this,arguments)},this.get_state=function(){var a=d.get_state.apply(this,arguments);return this.settings.checkbox.tie_selection?a:(a.checkbox=this._data.checkbox.selected.slice(),a)},this.set_state=function(b,c){var e=d.set_state.apply(this,arguments);if(e&&b.checkbox){if(!this.settings.checkbox.tie_selection){this.uncheck_all();var f=this;a.each(b.checkbox,function(a,b){f.check_node(b)})}return delete b.checkbox,this.set_state(b,c),!1}return e},this.refresh=function(a,b){return this.settings.checkbox.tie_selection&&(this._data.checkbox.selected=[]),d.refresh.apply(this,arguments)}},a.jstree.defaults.conditionalselect=function(){return!0},a.jstree.plugins.conditionalselect=function(a,b){this.activate_node=function(a,c){return this.settings.conditionalselect.call(this,this.get_node(a),c)?b.activate_node.call(this,a,c):void 0}},a.jstree.defaults.contextmenu={select_node:!0,show_at_node:!0,items:function(b,c){return{create:{separator_before:!1,separator_after:!0,_disabled:!1,label:"Create",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.create_node(d,{},"last",function(a){try{c.edit(a)}catch(b){setTimeout(function(){c.edit(a)},0)}})}},rename:{separator_before:!1,separator_after:!1,_disabled:!1,label:"Rename",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.edit(d)}},remove:{separator_before:!1,icon:!1,separator_after:!1,_disabled:!1,label:"Delete",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.delete_node(c.get_selected()):c.delete_node(d)}},ccp:{separator_before:!0,icon:!1,separator_after:!1,label:"Edit",action:!1,submenu:{cut:{separator_before:!1,separator_after:!1,label:"Cut",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.cut(c.get_top_selected()):c.cut(d)}},copy:{separator_before:!1,icon:!1,separator_after:!1,label:"Copy",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.copy(c.get_top_selected()):c.copy(d)}},paste:{separator_before:!1,icon:!1,_disabled:function(b){return!a.jstree.reference(b.reference).can_paste()},separator_after:!1,label:"Paste",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.paste(d)}}}}}}},a.jstree.plugins.contextmenu=function(c,d){this.bind=function(){d.bind.call(this);var b=0,c=null,e,f;this.element.on("init.jstree loading.jstree ready.jstree",function(){this.get_container_ul().addClass("jstree-contextmenu")}.bind(this)).on("contextmenu.jstree",".jstree-anchor",function(a,d){"input"!==a.target.tagName.toLowerCase()&&(a.preventDefault(),b=a.ctrlKey?+new Date:0,(d||c)&&(b=+new Date+1e4),c&&clearTimeout(c),this.is_loading(a.currentTarget)||this.show_contextmenu(a.currentTarget,a.pageX,a.pageY,a))}.bind(this)).on("click.jstree",".jstree-anchor",function(c){this._data.contextmenu.visible&&(!b||+new Date-b>250)&&a.vakata.context.hide(),b=0}.bind(this)).on("touchstart.jstree",".jstree-anchor",function(b){b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(e=b.originalEvent.changedTouches[0].clientX,f=b.originalEvent.changedTouches[0].clientY,c=setTimeout(function(){a(b.currentTarget).trigger("contextmenu",!0)},750))}).on("touchmove.vakata.jstree",function(b){c&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(Math.abs(e-b.originalEvent.changedTouches[0].clientX)>10||Math.abs(f-b.originalEvent.changedTouches[0].clientY)>10)&&(clearTimeout(c),a.vakata.context.hide())}).on("touchend.vakata.jstree",function(a){c&&clearTimeout(c)}),a(i).on("context_hide.vakata.jstree",function(b,c){this._data.contextmenu.visible=!1,a(c.reference).removeClass("jstree-context")}.bind(this))},this.teardown=function(){this._data.contextmenu.visible&&a.vakata.context.hide(),a(i).off("context_hide.vakata.jstree"),d.teardown.call(this)},this.show_contextmenu=function(c,d,e,f){if(c=this.get_node(c),!c||c.id===a.jstree.root)return!1;var g=this.settings.contextmenu,h=this.get_node(c,!0),i=h.children(".jstree-anchor"),j=!1,k=!1;(g.show_at_node||d===b||e===b)&&(j=i.offset(),d=j.left,e=j.top+this._data.core.li_height),this.settings.contextmenu.select_node&&!this.is_selected(c)&&this.activate_node(c,f),k=g.items,a.vakata.is_function(k)&&(k=k.call(this,c,function(a){this._show_contextmenu(c,d,e,a)}.bind(this))),a.isPlainObject(k)&&this._show_contextmenu(c,d,e,k)},this._show_contextmenu=function(b,c,d,e){ >+var f=this.get_node(b,!0),g=f.children(".jstree-anchor");a(i).one("context_show.vakata.jstree",function(b,c){var d="jstree-contextmenu jstree-"+this.get_theme()+"-contextmenu";a(c.element).addClass(d),g.addClass("jstree-context")}.bind(this)),this._data.contextmenu.visible=!0,a.vakata.context.show(g,{x:c,y:d},e),this.trigger("show_contextmenu",{node:b,x:c,y:d})}},function(a){var b=!1,c={element:!1,reference:!1,position_x:0,position_y:0,items:[],html:"",is_visible:!1};a.vakata.context={settings:{hide_onmouseleave:0,icons:!0},_trigger:function(b){a(i).triggerHandler("context_"+b+".vakata",{reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}})},_execute:function(b){return b=c.items[b],b&&(!b._disabled||a.vakata.is_function(b._disabled)&&!b._disabled({item:b,reference:c.reference,element:c.element}))&&b.action?b.action.call(null,{item:b,reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}}):!1},_parse:function(b,d){if(!b)return!1;d||(c.html="",c.items=[]);var e="",f=!1,g;return d&&(e+="<ul>"),a.each(b,function(b,d){return d?(c.items.push(d),!f&&d.separator_before&&(e+="<li class='vakata-context-separator'><a href='#' "+(a.vakata.context.settings.icons?"":'class="vakata-context-no-icons"')+"> </a></li>"),f=!1,e+="<li class='"+(d._class||"")+(d._disabled===!0||a.vakata.is_function(d._disabled)&&d._disabled({item:d,reference:c.reference,element:c.element})?" vakata-contextmenu-disabled ":"")+"' "+(d.shortcut?" data-shortcut='"+d.shortcut+"' ":"")+">",e+="<a href='#' rel='"+(c.items.length-1)+"' "+(d.title?"title='"+d.title+"'":"")+">",a.vakata.context.settings.icons&&(e+="<i ",d.icon&&(e+=-1!==d.icon.indexOf("/")||-1!==d.icon.indexOf(".")?" style='background:url(\""+d.icon+"\") center center no-repeat' ":" class='"+d.icon+"' "),e+="></i><span class='vakata-contextmenu-sep'> </span>"),e+=(a.vakata.is_function(d.label)?d.label({item:b,reference:c.reference,element:c.element}):d.label)+(d.shortcut?' <span class="vakata-contextmenu-shortcut vakata-contextmenu-shortcut-'+d.shortcut+'">'+(d.shortcut_label||"")+"</span>":"")+"</a>",d.submenu&&(g=a.vakata.context._parse(d.submenu,!0),g&&(e+=g)),e+="</li>",void(d.separator_after&&(e+="<li class='vakata-context-separator'><a href='#' "+(a.vakata.context.settings.icons?"":'class="vakata-context-no-icons"')+"> </a></li>",f=!0))):!0}),e=e.replace(/<li class\='vakata-context-separator'\><\/li\>$/,""),d&&(e+="</ul>"),d||(c.html=e,a.vakata.context._trigger("parse")),e.length>10?e:!1},_show_submenu:function(c){if(c=a(c),c.length&&c.children("ul").length){var d=c.children("ul"),e=c.offset().left,f=e+c.outerWidth(),g=c.offset().top,h=d.width(),i=d.height(),j=a(window).width()+a(window).scrollLeft(),k=a(window).height()+a(window).scrollTop();b?c[f-(h+10+c.outerWidth())<0?"addClass":"removeClass"]("vakata-context-left"):c[f+h>j&&e>j-f?"addClass":"removeClass"]("vakata-context-right"),g+i+10>k&&d.css("bottom","-1px"),c.hasClass("vakata-context-right")?h>e&&d.css("margin-right",e-h):h>j-f&&d.css("margin-left",j-f-h),d.show()}},show:function(d,e,f){var g,h,j,k,l,m,n,o,p=!0;switch(c.element&&c.element.length&&c.element.width(""),p){case!e&&!d:return!1;case!!e&&!!d:c.reference=d,c.position_x=e.x,c.position_y=e.y;break;case!e&&!!d:c.reference=d,g=d.offset(),c.position_x=g.left+d.outerHeight(),c.position_y=g.top;break;case!!e&&!d:c.position_x=e.x,c.position_y=e.y}d&&!f&&a(d).data("vakata_contextmenu")&&(f=a(d).data("vakata_contextmenu")),a.vakata.context._parse(f)&&c.element.html(c.html),c.items.length&&(c.element.appendTo(i.body),h=c.element,j=c.position_x,k=c.position_y,l=h.width(),m=h.height(),n=a(window).width()+a(window).scrollLeft(),o=a(window).height()+a(window).scrollTop(),b&&(j-=h.outerWidth()-a(d).outerWidth(),j<a(window).scrollLeft()+20&&(j=a(window).scrollLeft()+20)),j+l+20>n&&(j=n-(l+20)),k+m+20>o&&(k=o-(m+20)),c.element.css({left:j,top:k}).show().find("a").first().trigger("focus").parent().addClass("vakata-context-hover"),c.is_visible=!0,a.vakata.context._trigger("show"))},hide:function(){c.is_visible&&(c.element.hide().find("ul").hide().end().find(":focus").trigger("blur").end().detach(),c.is_visible=!1,a.vakata.context._trigger("hide"))}},a(function(){b="rtl"===a(i.body).css("direction");var d=!1;c.element=a("<ul class='vakata-context'></ul>"),c.element.on("mouseenter","li",function(b){b.stopImmediatePropagation(),a.contains(this,b.relatedTarget)||(d&&clearTimeout(d),c.element.find(".vakata-context-hover").removeClass("vakata-context-hover").end(),a(this).siblings().find("ul").hide().end().end().parentsUntil(".vakata-context","li").addBack().addClass("vakata-context-hover"),a.vakata.context._show_submenu(this))}).on("mouseleave","li",function(b){a.contains(this,b.relatedTarget)||a(this).find(".vakata-context-hover").addBack().removeClass("vakata-context-hover")}).on("mouseleave",function(b){a(this).find(".vakata-context-hover").removeClass("vakata-context-hover"),a.vakata.context.settings.hide_onmouseleave&&(d=setTimeout(function(b){return function(){a.vakata.context.hide()}}(this),a.vakata.context.settings.hide_onmouseleave))}).on("click","a",function(b){b.preventDefault(),a(this).trigger("blur").parent().hasClass("vakata-context-disabled")||a.vakata.context._execute(a(this).attr("rel"))===!1||a.vakata.context.hide()}).on("keydown","a",function(b){var d=null;switch(b.which){case 13:case 32:b.type="click",b.preventDefault(),a(b.currentTarget).trigger(b);break;case 37:c.is_visible&&(c.element.find(".vakata-context-hover").last().closest("li").first().find("ul").hide().find(".vakata-context-hover").removeClass("vakata-context-hover").end().end().children("a").trigger("focus"),b.stopImmediatePropagation(),b.preventDefault());break;case 38:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").prevAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").last()),d.addClass("vakata-context-hover").children("a").trigger("focus"),b.stopImmediatePropagation(),b.preventDefault());break;case 39:c.is_visible&&(c.element.find(".vakata-context-hover").last().children("ul").show().children("li:not(.vakata-context-separator)").removeClass("vakata-context-hover").first().addClass("vakata-context-hover").children("a").trigger("focus"),b.stopImmediatePropagation(),b.preventDefault());break;case 40:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").nextAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").first()),d.addClass("vakata-context-hover").children("a").trigger("focus"),b.stopImmediatePropagation(),b.preventDefault());break;case 27:a.vakata.context.hide(),b.preventDefault()}}).on("keydown",function(a){a.preventDefault();var b=c.element.find(".vakata-contextmenu-shortcut-"+a.which).parent();b.parent().not(".vakata-context-disabled")&&b.trigger("click")}),a(i).on("mousedown.vakata.jstree",function(b){c.is_visible&&c.element[0]!==b.target&&!a.contains(c.element[0],b.target)&&a.vakata.context.hide()}).on("context_show.vakata.jstree",function(a,d){c.element.find("li:has(ul)").children("a").addClass("vakata-context-parent"),b&&c.element.addClass("vakata-context-rtl").css("direction","rtl"),c.element.find("ul").hide().end()})})}(a),a.jstree.defaults.dnd={copy:!0,open_timeout:500,is_draggable:!0,check_while_dragging:!0,always_copy:!1,inside_pos:0,drag_selection:!0,touch:!0,large_drop_target:!1,large_drag_target:!1,use_html5:!1};var m,n;a.jstree.plugins.dnd=function(b,c){this.init=function(a,b){c.init.call(this,a,b),this.settings.dnd.use_html5=this.settings.dnd.use_html5&&"draggable"in i.createElement("span")},this.bind=function(){c.bind.call(this),this.element.on(this.settings.dnd.use_html5?"dragstart.jstree":"mousedown.jstree touchstart.jstree",this.settings.dnd.large_drag_target?".jstree-node":".jstree-anchor",function(b){if(this.settings.dnd.large_drag_target&&a(b.target).closest(".jstree-node")[0]!==b.currentTarget)return!0;if("touchstart"===b.type&&(!this.settings.dnd.touch||"selected"===this.settings.dnd.touch&&!a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").hasClass("jstree-clicked")))return!0;var c=this.get_node(b.target),d=this.is_selected(c)&&this.settings.dnd.drag_selection?this.get_top_selected().length:1,e=d>1?d+" "+this.get_string("nodes"):this.get_text(b.currentTarget);if(this.settings.core.force_text&&(e=a.vakata.html.escape(e)),c&&c.id&&c.id!==a.jstree.root&&(1===b.which||"touchstart"===b.type||"dragstart"===b.type)&&(this.settings.dnd.is_draggable===!0||a.vakata.is_function(this.settings.dnd.is_draggable)&&this.settings.dnd.is_draggable.call(this,d>1?this.get_top_selected(!0):[c],b))){if(m={jstree:!0,origin:this,obj:this.get_node(c,!0),nodes:d>1?this.get_top_selected():[c.id]},n=b.currentTarget,!this.settings.dnd.use_html5)return this.element.trigger("mousedown.jstree"),a.vakata.dnd.start(b,m,'<div id="jstree-dnd" class="jstree-'+this.get_theme()+" jstree-"+this.get_theme()+"-"+this.get_theme_variant()+" "+(this.settings.core.themes.responsive?" jstree-dnd-responsive":"")+'"><i class="jstree-icon jstree-er"></i>'+e+'<ins class="jstree-copy">+</ins></div>');a.vakata.dnd._trigger("start",b,{helper:a(),element:n,data:m})}}.bind(this)),this.settings.dnd.use_html5&&this.element.on("dragover.jstree",function(b){return b.preventDefault(),a.vakata.dnd._trigger("move",b,{helper:a(),element:n,data:m}),!1}).on("drop.jstree",function(b){return b.preventDefault(),a.vakata.dnd._trigger("stop",b,{helper:a(),element:n,data:m}),!1}.bind(this))},this.redraw_node=function(a,b,d,e){if(a=c.redraw_node.apply(this,arguments),a&&this.settings.dnd.use_html5)if(this.settings.dnd.large_drag_target)a.setAttribute("draggable",!0);else{var f,g,h=null;for(f=0,g=a.childNodes.length;g>f;f++)if(a.childNodes[f]&&a.childNodes[f].className&&-1!==a.childNodes[f].className.indexOf("jstree-anchor")){h=a.childNodes[f];break}h&&h.setAttribute("draggable",!0)}return a}},a(function(){var c=!1,d=!1,e=!1,f=!1,g=a('<div id="jstree-marker"> </div>').hide();a(i).on("dragover.vakata.jstree",function(b){n&&a.vakata.dnd._trigger("move",b,{helper:a(),element:n,data:m})}).on("drop.vakata.jstree",function(b){n&&(a.vakata.dnd._trigger("stop",b,{helper:a(),element:n,data:m}),n=null,m=null)}).on("dnd_start.vakata.jstree",function(a,b){c=!1,e=!1,b&&b.data&&b.data.jstree&&g.appendTo(i.body)}).on("dnd_move.vakata.jstree",function(h,i){var j=i.event.target!==e.target;if(f&&(!i.event||"dragover"!==i.event.type||j)&&clearTimeout(f),i&&i.data&&i.data.jstree&&(!i.event.target.id||"jstree-marker"!==i.event.target.id)){e=i.event;var k=a.jstree.reference(i.event.target),l=!1,m=!1,n=!1,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F;if(k&&k._data&&k._data.dnd)if(g.attr("class","jstree-"+k.get_theme()+(k.settings.core.themes.responsive?" jstree-dnd-responsive":"")),D=i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey)),i.helper.children().attr("class","jstree-"+k.get_theme()+" jstree-"+k.get_theme()+"-"+k.get_theme_variant()+" "+(k.settings.core.themes.responsive?" jstree-dnd-responsive":"")).find(".jstree-copy").first()[D?"show":"hide"](),i.event.target!==k.element[0]&&i.event.target!==k.get_container_ul()[0]||0!==k.get_container_ul().children().length){if(l=k.settings.dnd.large_drop_target?a(i.event.target).closest(".jstree-node").children(".jstree-anchor"):a(i.event.target).closest(".jstree-anchor"),l&&l.length&&l.parent().is(".jstree-closed, .jstree-open, .jstree-leaf")&&(m=l.offset(),n=(i.event.pageY!==b?i.event.pageY:i.event.originalEvent.pageY)-m.top,r=l.outerHeight(),u=r/3>n?["b","i","a"]:n>r-r/3?["a","i","b"]:n>r/2?["i","a","b"]:["i","b","a"],a.each(u,function(b,e){switch(e){case"b":p=m.left-6,q=m.top,s=k.get_parent(l),t=l.parent().index(),F="jstree-below";break;case"i":B=k.settings.dnd.inside_pos,C=k.get_node(l.parent()),p=m.left-2,q=m.top+r/2+1,s=C.id,t="first"===B?0:"last"===B?C.children.length:Math.min(B,C.children.length),F="jstree-inside";break;case"a":p=m.left-6,q=m.top+r,s=k.get_parent(l),t=l.parent().index()+1,F="jstree-above"}for(v=!0,w=0,x=i.data.nodes.length;x>w;w++)if(y=i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey))?"copy_node":"move_node",z=t,"move_node"===y&&"a"===e&&i.data.origin&&i.data.origin===k&&s===k.get_parent(i.data.nodes[w])&&(A=k.get_node(s),z>a.inArray(i.data.nodes[w],A.children)&&(z-=1)),v=v&&(k&&k.settings&&k.settings.dnd&&k.settings.dnd.check_while_dragging===!1||k.check(y,i.data.origin&&i.data.origin!==k?i.data.origin.get_node(i.data.nodes[w]):i.data.nodes[w],s,z,{dnd:!0,ref:k.get_node(l.parent()),pos:e,origin:i.data.origin,is_multi:i.data.origin&&i.data.origin!==k,is_foreign:!i.data.origin})),!v){k&&k.last_error&&(d=k.last_error());break}return"i"===e&&l.parent().is(".jstree-closed")&&k.settings.dnd.open_timeout&&(!i.event||"dragover"!==i.event.type||j)&&(f&&clearTimeout(f),f=setTimeout(function(a,b){return function(){a.open_node(b)}}(k,l),k.settings.dnd.open_timeout)),v?(E=k.get_node(s,!0),E.hasClass(".jstree-dnd-parent")||(a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),E.addClass("jstree-dnd-parent")),c={ins:k,par:s,pos:"i"!==e||"last"!==B||0!==t||k.is_loaded(C)?t:"last"},g.css({left:p+"px",top:q+"px"}).show(),g.removeClass("jstree-above jstree-inside jstree-below").addClass(F),i.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect=D?"copy":"move"),d={},u=!0,!1):void 0}),u===!0))return}else{for(v=!0,w=0,x=i.data.nodes.length;x>w;w++)if(v=v&&k.check(i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey))?"copy_node":"move_node",i.data.origin&&i.data.origin!==k?i.data.origin.get_node(i.data.nodes[w]):i.data.nodes[w],a.jstree.root,"last",{dnd:!0,ref:k.get_node(a.jstree.root),pos:"i",origin:i.data.origin,is_multi:i.data.origin&&i.data.origin!==k,is_foreign:!i.data.origin}),!v)break;if(v)return c={ins:k,par:a.jstree.root,pos:"last"},g.hide(),i.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),void(i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect=D?"copy":"move"))}a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),c=!1,i.helper.find(".jstree-icon").removeClass("jstree-ok").addClass("jstree-er"),i.event.originalEvent&&i.event.originalEvent.dataTransfer,g.hide()}}).on("dnd_scroll.vakata.jstree",function(a,b){b&&b.data&&b.data.jstree&&(g.hide(),c=!1,e=!1,b.helper.find(".jstree-icon").first().removeClass("jstree-ok").addClass("jstree-er"))}).on("dnd_stop.vakata.jstree",function(b,h){if(a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),f&&clearTimeout(f),h&&h.data&&h.data.jstree){g.hide().detach();var i,j,k=[];if(c){for(i=0,j=h.data.nodes.length;j>i;i++)k[i]=h.data.origin?h.data.origin.get_node(h.data.nodes[i]):h.data.nodes[i];c.ins[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(h.event.metaKey||h.event.ctrlKey))?"copy_node":"move_node"](k,c.par,c.pos,!1,!1,!1,h.data.origin)}else i=a(h.event.target).closest(".jstree"),i.length&&d&&d.error&&"check"===d.error&&(i=i.jstree(!0),i&&i.settings.core.error.call(this,d));e=!1,c=!1}}).on("keyup.jstree keydown.jstree",function(b,h){h=a.vakata.dnd._get(),h&&h.data&&h.data.jstree&&("keyup"===b.type&&27===b.which?(f&&clearTimeout(f),c=!1,d=!1,e=!1,f=!1,g.hide().detach(),a.vakata.dnd._clean()):(h.helper.find(".jstree-copy").first()[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(b.metaKey||b.ctrlKey))?"show":"hide"](),e&&(e.metaKey=b.metaKey,e.ctrlKey=b.ctrlKey,a.vakata.dnd._trigger("move",e))))})}),function(a){a.vakata.html={div:a("<div></div>"),escape:function(b){return a.vakata.html.div.text(b).html()},strip:function(b){return a.vakata.html.div.empty().append(a.parseHTML(b)).text()}};var c={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1};a.vakata.dnd={settings:{scroll_speed:10,scroll_proximity:20,helper_left:5,helper_top:10,threshold:5,threshold_touch:10},_trigger:function(c,d,e){e===b&&(e=a.vakata.dnd._get()),e.event=d,a(i).triggerHandler("dnd_"+c+".vakata",e)},_get:function(){return{data:c.data,element:c.element,helper:c.helper}},_clean:function(){c.helper&&c.helper.remove(),c.scroll_i&&(clearInterval(c.scroll_i),c.scroll_i=!1),c={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1},n=null,a(i).off("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(i).off("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop)},_scroll:function(b){if(!c.scroll_e||!c.scroll_l&&!c.scroll_t)return c.scroll_i&&(clearInterval(c.scroll_i),c.scroll_i=!1),!1;if(!c.scroll_i)return c.scroll_i=setInterval(a.vakata.dnd._scroll,100),!1;if(b===!0)return!1;var d=c.scroll_e.scrollTop(),e=c.scroll_e.scrollLeft();c.scroll_e.scrollTop(d+c.scroll_t*a.vakata.dnd.settings.scroll_speed),c.scroll_e.scrollLeft(e+c.scroll_l*a.vakata.dnd.settings.scroll_speed),(d!==c.scroll_e.scrollTop()||e!==c.scroll_e.scrollLeft())&&a.vakata.dnd._trigger("scroll",c.scroll_e)},start:function(b,d,e){"touchstart"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_drag&&a.vakata.dnd.stop({});try{b.currentTarget.unselectable="on",b.currentTarget.onselectstart=function(){return!1},b.currentTarget.style&&(b.currentTarget.style.touchAction="none",b.currentTarget.style.msTouchAction="none",b.currentTarget.style.MozUserSelect="none")}catch(f){}return c.init_x=b.pageX,c.init_y=b.pageY,c.data=d,c.is_down=!0,c.element=b.currentTarget,c.target=b.target,c.is_touch="touchstart"===b.type,e!==!1&&(c.helper=a("<div id='vakata-dnd'></div>").html(e).css({display:"block",margin:"0",padding:"0",position:"absolute",top:"-2000px",lineHeight:"16px",zIndex:"10000"})),a(i).on("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(i).on("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop),!1},drag:function(b){if("touchmove"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_down){if(!c.is_drag){if(!(Math.abs(b.pageX-c.init_x)>(c.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)||Math.abs(b.pageY-c.init_y)>(c.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)))return;c.helper&&(c.helper.appendTo(i.body),c.helper_w=c.helper.outerWidth()),c.is_drag=!0,a(c.target).one("click.vakata",!1),a.vakata.dnd._trigger("start",b)}var d=!1,e=!1,f=!1,g=!1,h=!1,j=!1,k=!1,l=!1,m=!1,n=!1;return c.scroll_t=0,c.scroll_l=0,c.scroll_e=!1,a(a(b.target).parentsUntil("body").addBack().get().reverse()).filter(function(){return/^auto|scroll$/.test(a(this).css("overflow"))&&(this.scrollHeight>this.offsetHeight||this.scrollWidth>this.offsetWidth)}).each(function(){var d=a(this),e=d.offset();return this.scrollHeight>this.offsetHeight&&(e.top+d.height()-b.pageY<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=1),b.pageY-e.top<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=-1)),this.scrollWidth>this.offsetWidth&&(e.left+d.width()-b.pageX<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=1),b.pageX-e.left<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=-1)),c.scroll_t||c.scroll_l?(c.scroll_e=a(this),!1):void 0}),c.scroll_e||(d=a(i),e=a(window),f=d.height(),g=e.height(),h=d.width(),j=e.width(),k=d.scrollTop(),l=d.scrollLeft(),f>g&&b.pageY-k<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=-1),f>g&&g-(b.pageY-k)<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=1),h>j&&b.pageX-l<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=-1),h>j&&j-(b.pageX-l)<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=1),(c.scroll_t||c.scroll_l)&&(c.scroll_e=d)),c.scroll_e&&a.vakata.dnd._scroll(!0),c.helper&&(m=parseInt(b.pageY+a.vakata.dnd.settings.helper_top,10),n=parseInt(b.pageX+a.vakata.dnd.settings.helper_left,10),f&&m+25>f&&(m=f-50),h&&n+c.helper_w>h&&(n=h-(c.helper_w+2)),c.helper.css({left:n+"px",top:m+"px"})),a.vakata.dnd._trigger("move",b),!1}},stop:function(b){if("touchend"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_drag)b.target!==c.target&&a(c.target).off("click.vakata"),a.vakata.dnd._trigger("stop",b);else if("touchend"===b.type&&b.target===c.target){var d=setTimeout(function(){a(b.target).trigger("click")},100);a(b.target).one("click",function(){d&&clearTimeout(d)})}return a.vakata.dnd._clean(),!1}}}(a),a.jstree.defaults.massload=null,a.jstree.plugins.massload=function(b,c){this.init=function(a,b){this._data.massload={},c.init.call(this,a,b)},this._load_nodes=function(b,d,e,f){var g=this.settings.massload,h=[],i=this._model.data,j,k,l;if(!e){for(j=0,k=b.length;k>j;j++)(!i[b[j]]||!i[b[j]].state.loaded&&!i[b[j]].state.failed||f)&&(h.push(b[j]),l=this.get_node(b[j],!0),l&&l.length&&l.addClass("jstree-loading").attr("aria-busy",!0));if(this._data.massload={},h.length){if(a.vakata.is_function(g))return g.call(this,h,function(a){var g,h;if(a)for(g in a)a.hasOwnProperty(g)&&(this._data.massload[g]=a[g]);for(g=0,h=b.length;h>g;g++)l=this.get_node(b[g],!0),l&&l.length&&l.removeClass("jstree-loading").attr("aria-busy",!1);c._load_nodes.call(this,b,d,e,f)}.bind(this));if("object"==typeof g&&g&&g.url)return g=a.extend(!0,{},g),a.vakata.is_function(g.url)&&(g.url=g.url.call(this,h)),a.vakata.is_function(g.data)&&(g.data=g.data.call(this,h)),a.ajax(g).done(function(a,g,h){var i,j;if(a)for(i in a)a.hasOwnProperty(i)&&(this._data.massload[i]=a[i]);for(i=0,j=b.length;j>i;i++)l=this.get_node(b[i],!0),l&&l.length&&l.removeClass("jstree-loading").attr("aria-busy",!1);c._load_nodes.call(this,b,d,e,f)}.bind(this)).fail(function(a){c._load_nodes.call(this,b,d,e,f)}.bind(this))}}return c._load_nodes.call(this,b,d,e,f)},this._load_node=function(b,d){var e=this._data.massload[b.id],f=null,g;return e?(f=this["string"==typeof e?"_append_html_data":"_append_json_data"](b,"string"==typeof e?a(a.parseHTML(e)).filter(function(){return 3!==this.nodeType}):e,function(a){d.call(this,a)}),g=this.get_node(b.id,!0),g&&g.length&&g.removeClass("jstree-loading").attr("aria-busy",!1),delete this._data.massload[b.id],f):c._load_node.call(this,b,d)}},a.jstree.defaults.search={ajax:!1,fuzzy:!1,case_sensitive:!1,show_only_matches:!1,show_only_matches_children:!1,close_opened_onclear:!0,search_leaves_only:!1,search_callback:!1},a.jstree.plugins.search=function(c,d){this.bind=function(){d.bind.call(this),this._data.search.str="",this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=!1,this._data.search.smc=!1,this._data.search.hdn=[],this.element.on("search.jstree",function(b,c){if(this._data.search.som&&c.res.length){var d=this._model.data,e,f,g=[],h,i;for(e=0,f=c.res.length;f>e;e++)if(d[c.res[e]]&&!d[c.res[e]].state.hidden&&(g.push(c.res[e]),g=g.concat(d[c.res[e]].parents),this._data.search.smc))for(h=0,i=d[c.res[e]].children_d.length;i>h;h++)d[d[c.res[e]].children_d[h]]&&!d[d[c.res[e]].children_d[h]].state.hidden&&g.push(d[c.res[e]].children_d[h]);g=a.vakata.array_remove_item(a.vakata.array_unique(g),a.jstree.root),this._data.search.hdn=this.hide_all(!0),this.show_node(g,!0),this.redraw(!0)}}.bind(this)).on("clear_search.jstree",function(a,b){this._data.search.som&&b.res.length&&(this.show_node(this._data.search.hdn,!0),this.redraw(!0))}.bind(this))},this.search=function(c,d,e,f,g,h){if(c===!1||""===a.vakata.trim(c.toString()))return this.clear_search();f=this.get_node(f),f=f&&f.id?f.id:null,c=c.toString();var i=this.settings.search,j=i.ajax?i.ajax:!1,k=this._model.data,l=null,m=[],n=[],o,p;if(this._data.search.res.length&&!g&&this.clear_search(),e===b&&(e=i.show_only_matches),h===b&&(h=i.show_only_matches_children),!d&&j!==!1)return a.vakata.is_function(j)?j.call(this,c,function(b){b&&b.d&&(b=b.d),this._load_nodes(a.vakata.is_array(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g,h)})}.bind(this),f):(j=a.extend({},j),j.data||(j.data={}),j.data.str=c,f&&(j.data.inside=f),this._data.search.lastRequest&&this._data.search.lastRequest.abort(),this._data.search.lastRequest=a.ajax(j).fail(function(){this._data.core.last_error={error:"ajax",plugin:"search",id:"search_01",reason:"Could not load search parents",data:JSON.stringify(j)},this.settings.core.error.call(this,this._data.core.last_error)}.bind(this)).done(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.vakata.is_array(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g,h)})}.bind(this)),this._data.search.lastRequest);if(g||(this._data.search.str=c,this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=e,this._data.search.smc=h),l=new a.vakata.search(c,!0,{caseSensitive:i.case_sensitive,fuzzy:i.fuzzy}),a.each(k[f?f:a.jstree.root].children_d,function(a,b){var d=k[b];d.text&&!d.state.hidden&&(!i.search_leaves_only||d.state.loaded&&0===d.children.length)&&(i.search_callback&&i.search_callback.call(this,c,d)||!i.search_callback&&l.search(d.text).isMatch)&&(m.push(b),n=n.concat(d.parents))}),m.length){for(n=a.vakata.array_unique(n),o=0,p=n.length;p>o;o++)n[o]!==a.jstree.root&&k[n[o]]&&this.open_node(n[o],null,0)===!0&&this._data.search.opn.push(n[o]);g?(this._data.search.dom=this._data.search.dom.add(a(this.element[0].querySelectorAll("#"+a.map(m,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #")))),this._data.search.res=a.vakata.array_unique(this._data.search.res.concat(m))):(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(m,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.res=m),this._data.search.dom.children(".jstree-anchor").addClass("jstree-search")}this.trigger("search",{nodes:this._data.search.dom,str:c,res:this._data.search.res,show_only_matches:e})},this.clear_search=function(){this.settings.search.close_opened_onclear&&this.close_node(this._data.search.opn,0),this.trigger("clear_search",{nodes:this._data.search.dom,str:this._data.search.str,res:this._data.search.res}),this._data.search.res.length&&(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(this._data.search.res,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.dom.children(".jstree-anchor").removeClass("jstree-search")),this._data.search.str="",this._data.search.res=[],this._data.search.opn=[],this._data.search.dom=a()},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments),b&&-1!==a.inArray(b.id,this._data.search.res)){var g,h,i=null;for(g=0,h=b.childNodes.length;h>g;g++)if(b.childNodes[g]&&b.childNodes[g].className&&-1!==b.childNodes[g].className.indexOf("jstree-anchor")){i=b.childNodes[g];break}i&&(i.className+=" jstree-search")}return b}},function(a){a.vakata.search=function(b,c,d){d=d||{},d=a.extend({},a.vakata.search.defaults,d),d.fuzzy!==!1&&(d.fuzzy=!0),b=d.caseSensitive?b:b.toLowerCase();var e=d.location,f=d.distance,g=d.threshold,h=b.length,i,j,k,l;return h>32&&(d.fuzzy=!1),d.fuzzy&&(i=1<<h-1,j=function(){var a={},c=0;for(c=0;h>c;c++)a[b.charAt(c)]=0;for(c=0;h>c;c++)a[b.charAt(c)]|=1<<h-c-1;return a}(),k=function(a,b){var c=a/h,d=Math.abs(e-b);return f?c+d/f:d?1:c}),l=function(a){if(a=d.caseSensitive?a:a.toLowerCase(),b===a||-1!==a.indexOf(b))return{isMatch:!0,score:0};if(!d.fuzzy)return{isMatch:!1,score:1};var c,f,l=a.length,m=g,n=a.indexOf(b,e),o,p,q=h+l,r,s,t,u,v,w=1,x=[];for(-1!==n&&(m=Math.min(k(0,n),m),n=a.lastIndexOf(b,e+h),-1!==n&&(m=Math.min(k(0,n),m))),n=-1,c=0;h>c;c++){o=0,p=q;while(p>o)k(c,e+p)<=m?o=p:q=p,p=Math.floor((q-o)/2+o);for(q=p,s=Math.max(1,e-p+1),t=Math.min(e+p,l)+h,u=new Array(t+2),u[t+1]=(1<<c)-1,f=t;f>=s;f--)if(v=j[a.charAt(f-1)],0===c?u[f]=(u[f+1]<<1|1)&v:u[f]=(u[f+1]<<1|1)&v|((r[f+1]|r[f])<<1|1)|r[f+1],u[f]&i&&(w=k(c,f-1),m>=w)){if(m=w,n=f-1,x.push(n),!(n>e))break;s=Math.max(1,2*e-n)}if(k(c+1,e)>m)break;r=u}return{isMatch:n>=0,score:w}},c===!0?{search:l}:l(c)},a.vakata.search.defaults={location:0,distance:100,threshold:.6,fuzzy:!1,caseSensitive:!1}}(a),a.jstree.defaults.sort=function(a,b){return this.get_text(a)>this.get_text(b)?1:-1},a.jstree.plugins.sort=function(a,b){this.bind=function(){b.bind.call(this),this.element.on("model.jstree",function(a,b){this.sort(b.parent,!0)}.bind(this)).on("rename_node.jstree create_node.jstree",function(a,b){this.sort(b.parent||b.node.parent,!1),this.redraw_node(b.parent||b.node.parent,!0)}.bind(this)).on("move_node.jstree copy_node.jstree",function(a,b){this.sort(b.parent,!1),this.redraw_node(b.parent,!0)}.bind(this))},this.sort=function(a,b){var c,d;if(a=this.get_node(a),a&&a.children&&a.children.length&&(a.children.sort(this.settings.sort.bind(this)),b))for(c=0,d=a.children_d.length;d>c;c++)this.sort(a.children_d[c],!1)}};var o=!1;a.jstree.defaults.state={key:"jstree",events:"changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree",ttl:!1,filter:!1,preserve_loaded:!1},a.jstree.plugins.state=function(b,c){this.bind=function(){c.bind.call(this);var a=function(){this.element.on(this.settings.state.events,function(){o&&clearTimeout(o),o=setTimeout(function(){this.save_state()}.bind(this),100)}.bind(this)),this.trigger("state_ready")}.bind(this);this.element.on("ready.jstree",function(b,c){this.element.one("restore_state.jstree",a),this.restore_state()||a()}.bind(this))},this.save_state=function(){var b=this.get_state();this.settings.state.preserve_loaded||delete b.core.loaded;var c={state:b,ttl:this.settings.state.ttl,sec:+new Date};a.vakata.storage.set(this.settings.state.key,JSON.stringify(c))},this.restore_state=function(){var b=a.vakata.storage.get(this.settings.state.key);if(b)try{b=JSON.parse(b)}catch(c){return!1}return b&&b.ttl&&b.sec&&+new Date-b.sec>b.ttl?!1:(b&&b.state&&(b=b.state),b&&a.vakata.is_function(this.settings.state.filter)&&(b=this.settings.state.filter.call(this,b)),b?(this.settings.state.preserve_loaded||delete b.core.loaded,this.element.one("set_state.jstree",function(c,d){d.instance.trigger("restore_state",{state:a.extend(!0,{},b)})}),this.set_state(b),!0):!1)},this.clear_state=function(){return a.vakata.storage.del(this.settings.state.key)}},function(a,b){a.vakata.storage={set:function(a,b){return window.localStorage.setItem(a,b)},get:function(a){return window.localStorage.getItem(a)},del:function(a){return window.localStorage.removeItem(a)}}}(a),a.jstree.defaults.types={ >+"default":{}},a.jstree.defaults.types[a.jstree.root]={},a.jstree.plugins.types=function(c,d){this.init=function(c,e){var f,g;if(e&&e.types&&e.types["default"])for(f in e.types)if("default"!==f&&f!==a.jstree.root&&e.types.hasOwnProperty(f))for(g in e.types["default"])e.types["default"].hasOwnProperty(g)&&e.types[f][g]===b&&(e.types[f][g]=e.types["default"][g]);d.init.call(this,c,e),this._model.data[a.jstree.root].type=a.jstree.root},this.refresh=function(b,c){d.refresh.call(this,b,c),this._model.data[a.jstree.root].type=a.jstree.root},this.bind=function(){this.element.on("model.jstree",function(c,d){var e=this._model.data,f=d.nodes,g=this.settings.types,h,i,j="default",k;for(h=0,i=f.length;i>h;h++){if(j="default",e[f[h]].original&&e[f[h]].original.type&&g[e[f[h]].original.type]&&(j=e[f[h]].original.type),e[f[h]].data&&e[f[h]].data.jstree&&e[f[h]].data.jstree.type&&g[e[f[h]].data.jstree.type]&&(j=e[f[h]].data.jstree.type),e[f[h]].type=j,e[f[h]].icon===!0&&g[j].icon!==b&&(e[f[h]].icon=g[j].icon),g[j].li_attr!==b&&"object"==typeof g[j].li_attr)for(k in g[j].li_attr)if(g[j].li_attr.hasOwnProperty(k)){if("id"===k)continue;e[f[h]].li_attr[k]===b?e[f[h]].li_attr[k]=g[j].li_attr[k]:"class"===k&&(e[f[h]].li_attr["class"]=g[j].li_attr["class"]+" "+e[f[h]].li_attr["class"])}if(g[j].a_attr!==b&&"object"==typeof g[j].a_attr)for(k in g[j].a_attr)if(g[j].a_attr.hasOwnProperty(k)){if("id"===k)continue;e[f[h]].a_attr[k]===b?e[f[h]].a_attr[k]=g[j].a_attr[k]:"href"===k&&"#"===e[f[h]].a_attr[k]?e[f[h]].a_attr.href=g[j].a_attr.href:"class"===k&&(e[f[h]].a_attr["class"]=g[j].a_attr["class"]+" "+e[f[h]].a_attr["class"])}}e[a.jstree.root].type=a.jstree.root}.bind(this)),d.bind.call(this)},this.get_json=function(b,c,e){var f,g,h=this._model.data,i=c?a.extend(!0,{},c,{no_id:!1}):{},j=d.get_json.call(this,b,i,e);if(j===!1)return!1;if(a.vakata.is_array(j))for(f=0,g=j.length;g>f;f++)j[f].type=j[f].id&&h[j[f].id]&&h[j[f].id].type?h[j[f].id].type:"default",c&&c.no_id&&(delete j[f].id,j[f].li_attr&&j[f].li_attr.id&&delete j[f].li_attr.id,j[f].a_attr&&j[f].a_attr.id&&delete j[f].a_attr.id);else j.type=j.id&&h[j.id]&&h[j.id].type?h[j.id].type:"default",c&&c.no_id&&(j=this._delete_ids(j));return j},this._delete_ids=function(b){if(a.vakata.is_array(b)){for(var c=0,d=b.length;d>c;c++)b[c]=this._delete_ids(b[c]);return b}return delete b.id,b.li_attr&&b.li_attr.id&&delete b.li_attr.id,b.a_attr&&b.a_attr.id&&delete b.a_attr.id,b.children&&a.vakata.is_array(b.children)&&(b.children=this._delete_ids(b.children)),b},this.check=function(c,e,f,g,h){if(d.check.call(this,c,e,f,g,h)===!1)return!1;e=e&&e.id?e:this.get_node(e),f=f&&f.id?f:this.get_node(f);var i=e&&e.id?h&&h.origin?h.origin:a.jstree.reference(e.id):null,j,k,l,m;switch(i=i&&i._model&&i._model.data?i._model.data:null,c){case"create_node":case"move_node":case"copy_node":if("move_node"!==c||-1===a.inArray(e.id,f.children)){if(j=this.get_rules(f),j.max_children!==b&&-1!==j.max_children&&j.max_children===f.children.length)return this._data.core.last_error={error:"check",plugin:"types",id:"types_01",reason:"max_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(j.valid_children!==b&&-1!==j.valid_children&&-1===a.inArray(e.type||"default",j.valid_children))return this._data.core.last_error={error:"check",plugin:"types",id:"types_02",reason:"valid_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(i&&e.children_d&&e.parents){for(k=0,l=0,m=e.children_d.length;m>l;l++)k=Math.max(k,i[e.children_d[l]].parents.length);k=k-e.parents.length+1}(0>=k||k===b)&&(k=1);do{if(j.max_depth!==b&&-1!==j.max_depth&&j.max_depth<k)return this._data.core.last_error={error:"check",plugin:"types",id:"types_03",reason:"max_depth prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;f=this.get_node(f.parent),j=this.get_rules(f),k++}while(f)}}return!0},this.get_rules=function(a){if(a=this.get_node(a),!a)return!1;var c=this.get_type(a,!0);return c.max_depth===b&&(c.max_depth=-1),c.max_children===b&&(c.max_children=-1),c.valid_children===b&&(c.valid_children=-1),c},this.get_type=function(b,c){return b=this.get_node(b),b?c?a.extend({type:b.type},this.settings.types[b.type]):b.type:!1},this.set_type=function(c,d){var e=this._model.data,f,g,h,i,j,k,l,m;if(a.vakata.is_array(c)){for(c=c.slice(),g=0,h=c.length;h>g;g++)this.set_type(c[g],d);return!0}if(f=this.settings.types,c=this.get_node(c),!f[d]||!c)return!1;if(l=this.get_node(c,!0),l&&l.length&&(m=l.children(".jstree-anchor")),i=c.type,j=this.get_icon(c),c.type=d,(j===!0||!f[i]||f[i].icon!==b&&j===f[i].icon)&&this.set_icon(c,f[d].icon!==b?f[d].icon:!0),f[i]&&f[i].li_attr!==b&&"object"==typeof f[i].li_attr)for(k in f[i].li_attr)if(f[i].li_attr.hasOwnProperty(k)){if("id"===k)continue;"class"===k?(e[c.id].li_attr["class"]=(e[c.id].li_attr["class"]||"").replace(f[i].li_attr[k],""),l&&l.removeClass(f[i].li_attr[k])):e[c.id].li_attr[k]===f[i].li_attr[k]&&(e[c.id].li_attr[k]=null,l&&l.removeAttr(k))}if(f[i]&&f[i].a_attr!==b&&"object"==typeof f[i].a_attr)for(k in f[i].a_attr)if(f[i].a_attr.hasOwnProperty(k)){if("id"===k)continue;"class"===k?(e[c.id].a_attr["class"]=(e[c.id].a_attr["class"]||"").replace(f[i].a_attr[k],""),m&&m.removeClass(f[i].a_attr[k])):e[c.id].a_attr[k]===f[i].a_attr[k]&&("href"===k?(e[c.id].a_attr[k]="#",m&&m.attr("href","#")):(delete e[c.id].a_attr[k],m&&m.removeAttr(k)))}if(f[d].li_attr!==b&&"object"==typeof f[d].li_attr)for(k in f[d].li_attr)if(f[d].li_attr.hasOwnProperty(k)){if("id"===k)continue;e[c.id].li_attr[k]===b?(e[c.id].li_attr[k]=f[d].li_attr[k],l&&("class"===k?l.addClass(f[d].li_attr[k]):l.attr(k,f[d].li_attr[k]))):"class"===k&&(e[c.id].li_attr["class"]=f[d].li_attr[k]+" "+e[c.id].li_attr["class"],l&&l.addClass(f[d].li_attr[k]))}if(f[d].a_attr!==b&&"object"==typeof f[d].a_attr)for(k in f[d].a_attr)if(f[d].a_attr.hasOwnProperty(k)){if("id"===k)continue;e[c.id].a_attr[k]===b?(e[c.id].a_attr[k]=f[d].a_attr[k],m&&("class"===k?m.addClass(f[d].a_attr[k]):m.attr(k,f[d].a_attr[k]))):"href"===k&&"#"===e[c.id].a_attr[k]?(e[c.id].a_attr.href=f[d].a_attr.href,m&&m.attr("href",f[d].a_attr.href)):"class"===k&&(e[c.id].a_attr["class"]=f[d].a_attr["class"]+" "+e[c.id].a_attr["class"],m&&m.addClass(f[d].a_attr[k]))}return!0}},a.jstree.defaults.unique={case_sensitive:!1,trim_whitespace:!1,duplicate:function(a,b){return a+" ("+b+")"}},a.jstree.plugins.unique=function(c,d){this.check=function(b,c,e,f,g){if(d.check.call(this,b,c,e,f,g)===!1)return!1;if(c=c&&c.id?c:this.get_node(c),e=e&&e.id?e:this.get_node(e),!e||!e.children)return!0;var h="rename_node"===b?f:c.text,i=[],j=this.settings.unique.case_sensitive,k=this.settings.unique.trim_whitespace,l=this._model.data,m,n,o;for(m=0,n=e.children.length;n>m;m++)o=l[e.children[m]].text,j||(o=o.toLowerCase()),k&&(o=o.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),i.push(o);switch(j||(h=h.toLowerCase()),k&&(h=h.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),b){case"delete_node":return!0;case"rename_node":return o=c.text||"",j||(o=o.toLowerCase()),k&&(o=o.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),m=-1===a.inArray(h,i)||c.text&&o===h,m||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_01",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),m;case"create_node":return m=-1===a.inArray(h,i),m||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_04",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),m;case"copy_node":return m=-1===a.inArray(h,i),m||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_02",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),m;case"move_node":return m=c.parent===e.id&&(!g||!g.is_multi)||-1===a.inArray(h,i),m||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_03",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),m}return!0},this.create_node=function(c,e,f,g,h){if(!e||e.text===b){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return d.create_node.call(this,c,e,f,g,h);if(f=f===b?"last":f,!f.toString().match(/^(before|after)$/)&&!h&&!this.is_loaded(c))return d.create_node.call(this,c,e,f,g,h);e||(e={});var i,j,k,l,m,n=this._model.data,o=this.settings.unique.case_sensitive,p=this.settings.unique.trim_whitespace,q=this.settings.unique.duplicate,r;for(j=i=this.get_string("New node"),k=[],l=0,m=c.children.length;m>l;l++)r=n[c.children[l]].text,o||(r=r.toLowerCase()),p&&(r=r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),k.push(r);l=1,r=j,o||(r=r.toLowerCase()),p&&(r=r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""));while(-1!==a.inArray(r,k))j=q.call(this,i,++l).toString(),r=j,o||(r=r.toLowerCase()),p&&(r=r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""));e.text=j}return d.create_node.call(this,c,e,f,g,h)}};var p=i.createElement("DIV");if(p.setAttribute("unselectable","on"),p.setAttribute("role","presentation"),p.className="jstree-wholerow",p.innerHTML=" ",a.jstree.plugins.wholerow=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("ready.jstree set_state.jstree",function(){this.hide_dots()}.bind(this)).on("init.jstree loading.jstree ready.jstree",function(){this.get_container_ul().addClass("jstree-wholerow-ul")}.bind(this)).on("deselect_all.jstree",function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked")}.bind(this)).on("changed.jstree",function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked");var c=!1,d,e;for(d=0,e=b.selected.length;e>d;d++)c=this.get_node(b.selected[d],!0),c&&c.length&&c.children(".jstree-wholerow").addClass("jstree-wholerow-clicked")}.bind(this)).on("open_node.jstree",function(a,b){this.get_node(b.node,!0).find(".jstree-clicked").parent().children(".jstree-wholerow").addClass("jstree-wholerow-clicked")}.bind(this)).on("hover_node.jstree dehover_node.jstree",function(a,b){"hover_node"===a.type&&this.is_disabled(b.node)||this.get_node(b.node,!0).children(".jstree-wholerow")["hover_node"===a.type?"addClass":"removeClass"]("jstree-wholerow-hovered")}.bind(this)).on("contextmenu.jstree",".jstree-wholerow",function(b){if(this._data.contextmenu){b.preventDefault();var c=a.Event("contextmenu",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey,pageX:b.pageX,pageY:b.pageY});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c)}}.bind(this)).on("click.jstree",".jstree-wholerow",function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).trigger("focus")}).on("dblclick.jstree",".jstree-wholerow",function(b){b.stopImmediatePropagation();var c=a.Event("dblclick",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).trigger("focus")}).on("click.jstree",".jstree-leaf > .jstree-ocl",function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).trigger("focus")}.bind(this)).on("mouseover.jstree",".jstree-wholerow, .jstree-icon",function(a){return a.stopImmediatePropagation(),this.is_disabled(a.currentTarget)||this.hover_node(a.currentTarget),!1}.bind(this)).on("mouseleave.jstree",".jstree-node",function(a){this.dehover_node(a.currentTarget)}.bind(this))},this.teardown=function(){this.settings.wholerow&&this.element.find(".jstree-wholerow").remove(),c.teardown.call(this)},this.redraw_node=function(b,d,e,f){if(b=c.redraw_node.apply(this,arguments)){var g=p.cloneNode(!0);-1!==a.inArray(b.id,this._data.core.selected)&&(g.className+=" jstree-wholerow-clicked"),this._data.core.focused&&this._data.core.focused===b.id&&(g.className+=" jstree-wholerow-hovered"),b.insertBefore(g,b.childNodes[0])}return b}},window.customElements&&Object&&Object.create){var q=Object.create(HTMLElement.prototype);q.createdCallback=function(){var b={core:{},plugins:[]},c;for(c in a.jstree.plugins)a.jstree.plugins.hasOwnProperty(c)&&this.attributes[c]&&(b.plugins.push(c),this.getAttribute(c)&&JSON.parse(this.getAttribute(c))&&(b[c]=JSON.parse(this.getAttribute(c))));for(c in a.jstree.defaults.core)a.jstree.defaults.core.hasOwnProperty(c)&&this.attributes[c]&&(b.core[c]=JSON.parse(this.getAttribute(c))||this.getAttribute(c));a(this).jstree(b)};try{window.customElements.define("vakata-jstree",function(){},{prototype:q})}catch(r){}}}}); >\ No newline at end of file >diff --git a/koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/themes/default/32px.png b/koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/themes/default/32px.png >new file mode 100644 >index 0000000000000000000000000000000000000000..ca6af206777a87fb9d27dccf2184934065ceeae8 >GIT binary patch >literal 5660 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 > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/themes/default/40px.png b/koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/themes/default/40px.png >new file mode 100644 >index 0000000000000000000000000000000000000000..2a3fcb9dfacf4e82a4c3ac3a6cd1650af966fc29 >GIT binary patch >literal 2215 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 >GnSTO{AtE3E > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/themes/default/style.css b/koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/themes/default/style.css >new file mode 100644 >index 0000000000..b50e6a2c53 >--- /dev/null >+++ b/koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/themes/default/style.css >@@ -0,0 +1,1106 @@ >+/* jsTree default theme */ >+.jstree-node, >+.jstree-children, >+.jstree-container-ul { >+ display: block; >+ margin: 0; >+ padding: 0; >+ list-style-type: none; >+ list-style-image: none; >+} >+.jstree-node { >+ white-space: nowrap; >+} >+.jstree-anchor { >+ display: inline-block; >+ color: black; >+ white-space: nowrap; >+ padding: 0 4px 0 1px; >+ margin: 0; >+ vertical-align: top; >+} >+.jstree-anchor:focus { >+ outline: 0; >+} >+.jstree-anchor, >+.jstree-anchor:link, >+.jstree-anchor:visited, >+.jstree-anchor:hover, >+.jstree-anchor:active { >+ text-decoration: none; >+ color: inherit; >+} >+.jstree-icon { >+ display: inline-block; >+ text-decoration: none; >+ margin: 0; >+ padding: 0; >+ vertical-align: top; >+ text-align: center; >+} >+.jstree-icon:empty { >+ display: inline-block; >+ text-decoration: none; >+ margin: 0; >+ padding: 0; >+ vertical-align: top; >+ text-align: center; >+} >+.jstree-ocl { >+ cursor: pointer; >+} >+.jstree-leaf > .jstree-ocl { >+ cursor: default; >+} >+.jstree .jstree-open > .jstree-children { >+ display: block; >+} >+.jstree .jstree-closed > .jstree-children, >+.jstree .jstree-leaf > .jstree-children { >+ display: none; >+} >+.jstree-anchor > .jstree-themeicon { >+ margin-right: 2px; >+} >+.jstree-no-icons .jstree-themeicon, >+.jstree-anchor > .jstree-themeicon-hidden { >+ display: none; >+} >+.jstree-hidden, >+.jstree-node.jstree-hidden { >+ display: none; >+} >+.jstree-rtl .jstree-anchor { >+ padding: 0 1px 0 4px; >+} >+.jstree-rtl .jstree-anchor > .jstree-themeicon { >+ margin-left: 2px; >+ margin-right: 0; >+} >+.jstree-rtl .jstree-node { >+ margin-left: 0; >+} >+.jstree-rtl .jstree-container-ul > .jstree-node { >+ margin-right: 0; >+} >+.jstree-wholerow-ul { >+ position: relative; >+ display: inline-block; >+ min-width: 100%; >+} >+.jstree-wholerow-ul .jstree-leaf > .jstree-ocl { >+ cursor: pointer; >+} >+.jstree-wholerow-ul .jstree-anchor, >+.jstree-wholerow-ul .jstree-icon { >+ position: relative; >+} >+.jstree-wholerow-ul .jstree-wholerow { >+ width: 100%; >+ cursor: pointer; >+ position: absolute; >+ left: 0; >+ -webkit-user-select: none; >+ -moz-user-select: none; >+ -ms-user-select: none; >+ user-select: none; >+} >+.jstree-contextmenu .jstree-anchor { >+ -webkit-user-select: none; >+ /* disable selection/Copy of UIWebView */ >+ -webkit-touch-callout: none; >+ /* disable the IOS popup when long-press on a link */ >+ user-select: none; >+} >+.vakata-context { >+ display: none; >+} >+.vakata-context, >+.vakata-context ul { >+ margin: 0; >+ padding: 2px; >+ position: absolute; >+ background: #f5f5f5; >+ border: 1px solid #979797; >+ box-shadow: 2px 2px 2px #999999; >+} >+.vakata-context ul { >+ list-style: none; >+ left: 100%; >+ margin-top: -2.7em; >+ margin-left: -4px; >+} >+.vakata-context .vakata-context-right ul { >+ left: auto; >+ right: 100%; >+ margin-left: auto; >+ margin-right: -4px; >+} >+.vakata-context li { >+ list-style: none; >+} >+.vakata-context li > a { >+ display: block; >+ padding: 0 2em 0 2em; >+ text-decoration: none; >+ width: auto; >+ color: black; >+ white-space: nowrap; >+ line-height: 2.4em; >+ text-shadow: 1px 1px 0 white; >+ border-radius: 1px; >+} >+.vakata-context li > a:hover { >+ position: relative; >+ background-color: #e8eff7; >+ box-shadow: 0 0 2px #0a6aa1; >+} >+.vakata-context li > a.vakata-context-parent { >+ background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw=="); >+ background-position: right center; >+ background-repeat: no-repeat; >+} >+.vakata-context li > a:focus { >+ outline: 0; >+} >+.vakata-context .vakata-context-no-icons { >+ margin-left: 0; >+} >+.vakata-context .vakata-context-hover > a { >+ position: relative; >+ background-color: #e8eff7; >+ box-shadow: 0 0 2px #0a6aa1; >+} >+.vakata-context .vakata-context-separator > a, >+.vakata-context .vakata-context-separator > a:hover { >+ background: white; >+ border: 0; >+ border-top: 1px solid #e2e3e3; >+ height: 1px; >+ min-height: 1px; >+ max-height: 1px; >+ padding: 0; >+ margin: 0 0 0 2.4em; >+ border-left: 1px solid #e0e0e0; >+ text-shadow: 0 0 0 transparent; >+ box-shadow: 0 0 0 transparent; >+ border-radius: 0; >+} >+.vakata-context .vakata-contextmenu-disabled a, >+.vakata-context .vakata-contextmenu-disabled a:hover { >+ color: silver; >+ background-color: transparent; >+ border: 0; >+ box-shadow: 0 0 0; >+} >+.vakata-context .vakata-contextmenu-disabled > a > i { >+ filter: grayscale(100%); >+} >+.vakata-context li > a > i { >+ text-decoration: none; >+ display: inline-block; >+ width: 2.4em; >+ height: 2.4em; >+ background: transparent; >+ margin: 0 0 0 -2em; >+ vertical-align: top; >+ text-align: center; >+ line-height: 2.4em; >+} >+.vakata-context li > a > i:empty { >+ width: 2.4em; >+ line-height: 2.4em; >+} >+.vakata-context li > a .vakata-contextmenu-sep { >+ display: inline-block; >+ width: 1px; >+ height: 2.4em; >+ background: white; >+ margin: 0 0.5em 0 0; >+ border-left: 1px solid #e2e3e3; >+} >+.vakata-context .vakata-contextmenu-shortcut { >+ font-size: 0.8em; >+ color: silver; >+ opacity: 0.5; >+ display: none; >+} >+.vakata-context-rtl ul { >+ left: auto; >+ right: 100%; >+ margin-left: auto; >+ margin-right: -4px; >+} >+.vakata-context-rtl li > a.vakata-context-parent { >+ background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7"); >+ background-position: left center; >+ background-repeat: no-repeat; >+} >+.vakata-context-rtl .vakata-context-separator > a { >+ margin: 0 2.4em 0 0; >+ border-left: 0; >+ border-right: 1px solid #e2e3e3; >+} >+.vakata-context-rtl .vakata-context-left ul { >+ right: auto; >+ left: 100%; >+ margin-left: -4px; >+ margin-right: auto; >+} >+.vakata-context-rtl li > a > i { >+ margin: 0 -2em 0 0; >+} >+.vakata-context-rtl li > a .vakata-contextmenu-sep { >+ margin: 0 0 0 0.5em; >+ border-left-color: white; >+ background: #e2e3e3; >+} >+#jstree-marker { >+ position: absolute; >+ top: 0; >+ left: 0; >+ margin: -5px 0 0 0; >+ padding: 0; >+ border-right: 0; >+ border-top: 5px solid transparent; >+ border-bottom: 5px solid transparent; >+ border-left: 5px solid; >+ width: 0; >+ height: 0; >+ font-size: 0; >+ line-height: 0; >+} >+#jstree-dnd { >+ line-height: 16px; >+ margin: 0; >+ padding: 4px; >+} >+#jstree-dnd .jstree-icon, >+#jstree-dnd .jstree-copy { >+ display: inline-block; >+ text-decoration: none; >+ margin: 0 2px 0 0; >+ padding: 0; >+ width: 16px; >+ height: 16px; >+} >+#jstree-dnd .jstree-ok { >+ background: green; >+} >+#jstree-dnd .jstree-er { >+ background: red; >+} >+#jstree-dnd .jstree-copy { >+ margin: 0 2px 0 2px; >+} >+.jstree-default .jstree-node, >+.jstree-default .jstree-icon { >+ background-repeat: no-repeat; >+ background-color: transparent; >+} >+.jstree-default .jstree-anchor, >+.jstree-default .jstree-animated, >+.jstree-default .jstree-wholerow { >+ transition: background-color 0.15s, box-shadow 0.15s; >+} >+.jstree-default .jstree-hovered { >+ background: #e7f4f9; >+ border-radius: 2px; >+ box-shadow: inset 0 0 1px #cccccc; >+} >+.jstree-default .jstree-context { >+ background: #e7f4f9; >+ border-radius: 2px; >+ box-shadow: inset 0 0 1px #cccccc; >+} >+.jstree-default .jstree-clicked { >+ background: #beebff; >+ border-radius: 2px; >+ box-shadow: inset 0 0 1px #999999; >+} >+.jstree-default .jstree-no-icons .jstree-anchor > .jstree-themeicon { >+ display: none; >+} >+.jstree-default .jstree-disabled { >+ background: transparent; >+ color: #666666; >+} >+.jstree-default .jstree-disabled.jstree-hovered { >+ background: transparent; >+ box-shadow: none; >+} >+.jstree-default .jstree-disabled.jstree-clicked { >+ background: #efefef; >+} >+.jstree-default .jstree-disabled > .jstree-icon { >+ opacity: 0.8; >+ filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale"); >+ /* Firefox 10+ */ >+ filter: gray; >+ /* IE6-9 */ >+ -webkit-filter: grayscale(100%); >+ /* Chrome 19+ & Safari 6+ */ >+} >+.jstree-default .jstree-search { >+ font-style: italic; >+ color: #8b0000; >+ font-weight: bold; >+} >+.jstree-default .jstree-no-checkboxes .jstree-checkbox { >+ display: none !important; >+} >+.jstree-default.jstree-checkbox-no-clicked .jstree-clicked { >+ background: transparent; >+ box-shadow: none; >+} >+.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered { >+ background: #e7f4f9; >+} >+.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked { >+ background: transparent; >+} >+.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered { >+ background: #e7f4f9; >+} >+.jstree-default > .jstree-striped { >+ min-width: 100%; >+ display: inline-block; >+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat; >+} >+.jstree-default > .jstree-wholerow-ul .jstree-hovered, >+.jstree-default > .jstree-wholerow-ul .jstree-clicked { >+ background: transparent; >+ box-shadow: none; >+ border-radius: 0; >+} >+.jstree-default .jstree-wholerow { >+ -moz-box-sizing: border-box; >+ -webkit-box-sizing: border-box; >+ box-sizing: border-box; >+} >+.jstree-default .jstree-wholerow-hovered { >+ background: #e7f4f9; >+} >+.jstree-default .jstree-wholerow-clicked { >+ background: #beebff; >+ background: -webkit-linear-gradient(top, #beebff 0%, #a8e4ff 100%); >+ background: linear-gradient(to bottom, #beebff 0%, #a8e4ff 100%); >+} >+.jstree-default .jstree-node { >+ min-height: 24px; >+ line-height: 24px; >+ margin-left: 24px; >+ min-width: 24px; >+} >+.jstree-default .jstree-anchor { >+ line-height: 24px; >+ height: 24px; >+} >+.jstree-default .jstree-icon { >+ width: 24px; >+ height: 24px; >+ line-height: 24px; >+} >+.jstree-default .jstree-icon:empty { >+ width: 24px; >+ height: 24px; >+ line-height: 24px; >+} >+.jstree-default.jstree-rtl .jstree-node { >+ margin-right: 24px; >+} >+.jstree-default .jstree-wholerow { >+ height: 24px; >+} >+.jstree-default .jstree-node, >+.jstree-default .jstree-icon { >+ background-image: url("32px.png"); >+} >+.jstree-default .jstree-node { >+ background-position: -292px -4px; >+ background-repeat: repeat-y; >+} >+.jstree-default .jstree-last { >+ background: transparent; >+} >+.jstree-default .jstree-open > .jstree-ocl { >+ background-position: -132px -4px; >+} >+.jstree-default .jstree-closed > .jstree-ocl { >+ background-position: -100px -4px; >+} >+.jstree-default .jstree-leaf > .jstree-ocl { >+ background-position: -68px -4px; >+} >+.jstree-default .jstree-themeicon { >+ background-position: -260px -4px; >+} >+.jstree-default > .jstree-no-dots .jstree-node, >+.jstree-default > .jstree-no-dots .jstree-leaf > .jstree-ocl { >+ background: transparent; >+} >+.jstree-default > .jstree-no-dots .jstree-open > .jstree-ocl { >+ background-position: -36px -4px; >+} >+.jstree-default > .jstree-no-dots .jstree-closed > .jstree-ocl { >+ background-position: -4px -4px; >+} >+.jstree-default .jstree-disabled { >+ background: transparent; >+} >+.jstree-default .jstree-disabled.jstree-hovered { >+ background: transparent; >+} >+.jstree-default .jstree-disabled.jstree-clicked { >+ background: #efefef; >+} >+.jstree-default .jstree-checkbox { >+ background-position: -164px -4px; >+} >+.jstree-default .jstree-checkbox:hover { >+ background-position: -164px -36px; >+} >+.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, >+.jstree-default .jstree-checked > .jstree-checkbox { >+ background-position: -228px -4px; >+} >+.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, >+.jstree-default .jstree-checked > .jstree-checkbox:hover { >+ background-position: -228px -36px; >+} >+.jstree-default .jstree-anchor > .jstree-undetermined { >+ background-position: -196px -4px; >+} >+.jstree-default .jstree-anchor > .jstree-undetermined:hover { >+ background-position: -196px -36px; >+} >+.jstree-default .jstree-checkbox-disabled { >+ opacity: 0.8; >+ filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale"); >+ /* Firefox 10+ */ >+ filter: gray; >+ /* IE6-9 */ >+ -webkit-filter: grayscale(100%); >+ /* Chrome 19+ & Safari 6+ */ >+} >+.jstree-default > .jstree-striped { >+ background-size: auto 48px; >+} >+.jstree-default.jstree-rtl .jstree-node { >+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); >+ background-position: 100% 1px; >+ background-repeat: repeat-y; >+} >+.jstree-default.jstree-rtl .jstree-last { >+ background: transparent; >+} >+.jstree-default.jstree-rtl .jstree-open > .jstree-ocl { >+ background-position: -132px -36px; >+} >+.jstree-default.jstree-rtl .jstree-closed > .jstree-ocl { >+ background-position: -100px -36px; >+} >+.jstree-default.jstree-rtl .jstree-leaf > .jstree-ocl { >+ background-position: -68px -36px; >+} >+.jstree-default.jstree-rtl > .jstree-no-dots .jstree-node, >+.jstree-default.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { >+ background: transparent; >+} >+.jstree-default.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { >+ background-position: -36px -36px; >+} >+.jstree-default.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { >+ background-position: -4px -36px; >+} >+.jstree-default .jstree-themeicon-custom { >+ background-color: transparent; >+ background-image: none; >+ background-position: 0 0; >+} >+.jstree-default > .jstree-container-ul .jstree-loading > .jstree-ocl { >+ background: url("throbber.gif") center center no-repeat; >+} >+.jstree-default .jstree-file { >+ background: url("32px.png") -100px -68px no-repeat; >+} >+.jstree-default .jstree-folder { >+ background: url("32px.png") -260px -4px no-repeat; >+} >+.jstree-default > .jstree-container-ul > .jstree-node { >+ margin-left: 0; >+ margin-right: 0; >+} >+#jstree-dnd.jstree-default { >+ line-height: 24px; >+ padding: 0 4px; >+} >+#jstree-dnd.jstree-default .jstree-ok, >+#jstree-dnd.jstree-default .jstree-er { >+ background-image: url("32px.png"); >+ background-repeat: no-repeat; >+ background-color: transparent; >+} >+#jstree-dnd.jstree-default i { >+ background: transparent; >+ width: 24px; >+ height: 24px; >+ line-height: 24px; >+} >+#jstree-dnd.jstree-default .jstree-ok { >+ background-position: -4px -68px; >+} >+#jstree-dnd.jstree-default .jstree-er { >+ background-position: -36px -68px; >+} >+.jstree-default .jstree-ellipsis { >+ overflow: hidden; >+} >+.jstree-default .jstree-ellipsis .jstree-anchor { >+ width: calc(100% - 29px); >+ text-overflow: ellipsis; >+ overflow: hidden; >+} >+.jstree-default.jstree-rtl .jstree-node { >+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); >+} >+.jstree-default.jstree-rtl .jstree-last { >+ background: transparent; >+} >+.jstree-default-small .jstree-node { >+ min-height: 18px; >+ line-height: 18px; >+ margin-left: 18px; >+ min-width: 18px; >+} >+.jstree-default-small .jstree-anchor { >+ line-height: 18px; >+ height: 18px; >+} >+.jstree-default-small .jstree-icon { >+ width: 18px; >+ height: 18px; >+ line-height: 18px; >+} >+.jstree-default-small .jstree-icon:empty { >+ width: 18px; >+ height: 18px; >+ line-height: 18px; >+} >+.jstree-default-small.jstree-rtl .jstree-node { >+ margin-right: 18px; >+} >+.jstree-default-small .jstree-wholerow { >+ height: 18px; >+} >+.jstree-default-small .jstree-node, >+.jstree-default-small .jstree-icon { >+ background-image: url("32px.png"); >+} >+.jstree-default-small .jstree-node { >+ background-position: -295px -7px; >+ background-repeat: repeat-y; >+} >+.jstree-default-small .jstree-last { >+ background: transparent; >+} >+.jstree-default-small .jstree-open > .jstree-ocl { >+ background-position: -135px -7px; >+} >+.jstree-default-small .jstree-closed > .jstree-ocl { >+ background-position: -103px -7px; >+} >+.jstree-default-small .jstree-leaf > .jstree-ocl { >+ background-position: -71px -7px; >+} >+.jstree-default-small .jstree-themeicon { >+ background-position: -263px -7px; >+} >+.jstree-default-small > .jstree-no-dots .jstree-node, >+.jstree-default-small > .jstree-no-dots .jstree-leaf > .jstree-ocl { >+ background: transparent; >+} >+.jstree-default-small > .jstree-no-dots .jstree-open > .jstree-ocl { >+ background-position: -39px -7px; >+} >+.jstree-default-small > .jstree-no-dots .jstree-closed > .jstree-ocl { >+ background-position: -7px -7px; >+} >+.jstree-default-small .jstree-disabled { >+ background: transparent; >+} >+.jstree-default-small .jstree-disabled.jstree-hovered { >+ background: transparent; >+} >+.jstree-default-small .jstree-disabled.jstree-clicked { >+ background: #efefef; >+} >+.jstree-default-small .jstree-checkbox { >+ background-position: -167px -7px; >+} >+.jstree-default-small .jstree-checkbox:hover { >+ background-position: -167px -39px; >+} >+.jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, >+.jstree-default-small .jstree-checked > .jstree-checkbox { >+ background-position: -231px -7px; >+} >+.jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, >+.jstree-default-small .jstree-checked > .jstree-checkbox:hover { >+ background-position: -231px -39px; >+} >+.jstree-default-small .jstree-anchor > .jstree-undetermined { >+ background-position: -199px -7px; >+} >+.jstree-default-small .jstree-anchor > .jstree-undetermined:hover { >+ background-position: -199px -39px; >+} >+.jstree-default-small .jstree-checkbox-disabled { >+ opacity: 0.8; >+ filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale"); >+ /* Firefox 10+ */ >+ filter: gray; >+ /* IE6-9 */ >+ -webkit-filter: grayscale(100%); >+ /* Chrome 19+ & Safari 6+ */ >+} >+.jstree-default-small > .jstree-striped { >+ background-size: auto 36px; >+} >+.jstree-default-small.jstree-rtl .jstree-node { >+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); >+ background-position: 100% 1px; >+ background-repeat: repeat-y; >+} >+.jstree-default-small.jstree-rtl .jstree-last { >+ background: transparent; >+} >+.jstree-default-small.jstree-rtl .jstree-open > .jstree-ocl { >+ background-position: -135px -39px; >+} >+.jstree-default-small.jstree-rtl .jstree-closed > .jstree-ocl { >+ background-position: -103px -39px; >+} >+.jstree-default-small.jstree-rtl .jstree-leaf > .jstree-ocl { >+ background-position: -71px -39px; >+} >+.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-node, >+.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { >+ background: transparent; >+} >+.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { >+ background-position: -39px -39px; >+} >+.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { >+ background-position: -7px -39px; >+} >+.jstree-default-small .jstree-themeicon-custom { >+ background-color: transparent; >+ background-image: none; >+ background-position: 0 0; >+} >+.jstree-default-small > .jstree-container-ul .jstree-loading > .jstree-ocl { >+ background: url("throbber.gif") center center no-repeat; >+} >+.jstree-default-small .jstree-file { >+ background: url("32px.png") -103px -71px no-repeat; >+} >+.jstree-default-small .jstree-folder { >+ background: url("32px.png") -263px -7px no-repeat; >+} >+.jstree-default-small > .jstree-container-ul > .jstree-node { >+ margin-left: 0; >+ margin-right: 0; >+} >+#jstree-dnd.jstree-default-small { >+ line-height: 18px; >+ padding: 0 4px; >+} >+#jstree-dnd.jstree-default-small .jstree-ok, >+#jstree-dnd.jstree-default-small .jstree-er { >+ background-image: url("32px.png"); >+ background-repeat: no-repeat; >+ background-color: transparent; >+} >+#jstree-dnd.jstree-default-small i { >+ background: transparent; >+ width: 18px; >+ height: 18px; >+ line-height: 18px; >+} >+#jstree-dnd.jstree-default-small .jstree-ok { >+ background-position: -7px -71px; >+} >+#jstree-dnd.jstree-default-small .jstree-er { >+ background-position: -39px -71px; >+} >+.jstree-default-small .jstree-ellipsis { >+ overflow: hidden; >+} >+.jstree-default-small .jstree-ellipsis .jstree-anchor { >+ width: calc(100% - 23px); >+ text-overflow: ellipsis; >+ overflow: hidden; >+} >+.jstree-default-small.jstree-rtl .jstree-node { >+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); >+} >+.jstree-default-small.jstree-rtl .jstree-last { >+ background: transparent; >+} >+.jstree-default-large .jstree-node { >+ min-height: 32px; >+ line-height: 32px; >+ margin-left: 32px; >+ min-width: 32px; >+} >+.jstree-default-large .jstree-anchor { >+ line-height: 32px; >+ height: 32px; >+} >+.jstree-default-large .jstree-icon { >+ width: 32px; >+ height: 32px; >+ line-height: 32px; >+} >+.jstree-default-large .jstree-icon:empty { >+ width: 32px; >+ height: 32px; >+ line-height: 32px; >+} >+.jstree-default-large.jstree-rtl .jstree-node { >+ margin-right: 32px; >+} >+.jstree-default-large .jstree-wholerow { >+ height: 32px; >+} >+.jstree-default-large .jstree-node, >+.jstree-default-large .jstree-icon { >+ background-image: url("32px.png"); >+} >+.jstree-default-large .jstree-node { >+ background-position: -288px 0px; >+ background-repeat: repeat-y; >+} >+.jstree-default-large .jstree-last { >+ background: transparent; >+} >+.jstree-default-large .jstree-open > .jstree-ocl { >+ background-position: -128px 0px; >+} >+.jstree-default-large .jstree-closed > .jstree-ocl { >+ background-position: -96px 0px; >+} >+.jstree-default-large .jstree-leaf > .jstree-ocl { >+ background-position: -64px 0px; >+} >+.jstree-default-large .jstree-themeicon { >+ background-position: -256px 0px; >+} >+.jstree-default-large > .jstree-no-dots .jstree-node, >+.jstree-default-large > .jstree-no-dots .jstree-leaf > .jstree-ocl { >+ background: transparent; >+} >+.jstree-default-large > .jstree-no-dots .jstree-open > .jstree-ocl { >+ background-position: -32px 0px; >+} >+.jstree-default-large > .jstree-no-dots .jstree-closed > .jstree-ocl { >+ background-position: 0px 0px; >+} >+.jstree-default-large .jstree-disabled { >+ background: transparent; >+} >+.jstree-default-large .jstree-disabled.jstree-hovered { >+ background: transparent; >+} >+.jstree-default-large .jstree-disabled.jstree-clicked { >+ background: #efefef; >+} >+.jstree-default-large .jstree-checkbox { >+ background-position: -160px 0px; >+} >+.jstree-default-large .jstree-checkbox:hover { >+ background-position: -160px -32px; >+} >+.jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, >+.jstree-default-large .jstree-checked > .jstree-checkbox { >+ background-position: -224px 0px; >+} >+.jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, >+.jstree-default-large .jstree-checked > .jstree-checkbox:hover { >+ background-position: -224px -32px; >+} >+.jstree-default-large .jstree-anchor > .jstree-undetermined { >+ background-position: -192px 0px; >+} >+.jstree-default-large .jstree-anchor > .jstree-undetermined:hover { >+ background-position: -192px -32px; >+} >+.jstree-default-large .jstree-checkbox-disabled { >+ opacity: 0.8; >+ filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale"); >+ /* Firefox 10+ */ >+ filter: gray; >+ /* IE6-9 */ >+ -webkit-filter: grayscale(100%); >+ /* Chrome 19+ & Safari 6+ */ >+} >+.jstree-default-large > .jstree-striped { >+ background-size: auto 64px; >+} >+.jstree-default-large.jstree-rtl .jstree-node { >+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); >+ background-position: 100% 1px; >+ background-repeat: repeat-y; >+} >+.jstree-default-large.jstree-rtl .jstree-last { >+ background: transparent; >+} >+.jstree-default-large.jstree-rtl .jstree-open > .jstree-ocl { >+ background-position: -128px -32px; >+} >+.jstree-default-large.jstree-rtl .jstree-closed > .jstree-ocl { >+ background-position: -96px -32px; >+} >+.jstree-default-large.jstree-rtl .jstree-leaf > .jstree-ocl { >+ background-position: -64px -32px; >+} >+.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-node, >+.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { >+ background: transparent; >+} >+.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { >+ background-position: -32px -32px; >+} >+.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { >+ background-position: 0px -32px; >+} >+.jstree-default-large .jstree-themeicon-custom { >+ background-color: transparent; >+ background-image: none; >+ background-position: 0 0; >+} >+.jstree-default-large > .jstree-container-ul .jstree-loading > .jstree-ocl { >+ background: url("throbber.gif") center center no-repeat; >+} >+.jstree-default-large .jstree-file { >+ background: url("32px.png") -96px -64px no-repeat; >+} >+.jstree-default-large .jstree-folder { >+ background: url("32px.png") -256px 0px no-repeat; >+} >+.jstree-default-large > .jstree-container-ul > .jstree-node { >+ margin-left: 0; >+ margin-right: 0; >+} >+#jstree-dnd.jstree-default-large { >+ line-height: 32px; >+ padding: 0 4px; >+} >+#jstree-dnd.jstree-default-large .jstree-ok, >+#jstree-dnd.jstree-default-large .jstree-er { >+ background-image: url("32px.png"); >+ background-repeat: no-repeat; >+ background-color: transparent; >+} >+#jstree-dnd.jstree-default-large i { >+ background: transparent; >+ width: 32px; >+ height: 32px; >+ line-height: 32px; >+} >+#jstree-dnd.jstree-default-large .jstree-ok { >+ background-position: 0px -64px; >+} >+#jstree-dnd.jstree-default-large .jstree-er { >+ background-position: -32px -64px; >+} >+.jstree-default-large .jstree-ellipsis { >+ overflow: hidden; >+} >+.jstree-default-large .jstree-ellipsis .jstree-anchor { >+ width: calc(100% - 37px); >+ text-overflow: ellipsis; >+ overflow: hidden; >+} >+.jstree-default-large.jstree-rtl .jstree-node { >+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); >+} >+.jstree-default-large.jstree-rtl .jstree-last { >+ background: transparent; >+} >+@media (max-width: 768px) { >+ #jstree-dnd.jstree-dnd-responsive { >+ line-height: 40px; >+ font-weight: bold; >+ font-size: 1.1em; >+ text-shadow: 1px 1px white; >+ } >+ #jstree-dnd.jstree-dnd-responsive > i { >+ background: transparent; >+ width: 40px; >+ height: 40px; >+ } >+ #jstree-dnd.jstree-dnd-responsive > .jstree-ok { >+ background-image: url("40px.png"); >+ background-position: 0 -200px; >+ background-size: 120px 240px; >+ } >+ #jstree-dnd.jstree-dnd-responsive > .jstree-er { >+ background-image: url("40px.png"); >+ background-position: -40px -200px; >+ background-size: 120px 240px; >+ } >+ #jstree-marker.jstree-dnd-responsive { >+ border-left-width: 10px; >+ border-top-width: 10px; >+ border-bottom-width: 10px; >+ margin-top: -10px; >+ } >+} >+@media (max-width: 768px) { >+ .jstree-default-responsive { >+ /* >+ .jstree-open > .jstree-ocl, >+ .jstree-closed > .jstree-ocl { border-radius:20px; background-color:white; } >+ */ >+ } >+ .jstree-default-responsive .jstree-icon { >+ background-image: url("40px.png"); >+ } >+ .jstree-default-responsive .jstree-node, >+ .jstree-default-responsive .jstree-leaf > .jstree-ocl { >+ background: transparent; >+ } >+ .jstree-default-responsive .jstree-node { >+ min-height: 40px; >+ line-height: 40px; >+ margin-left: 40px; >+ min-width: 40px; >+ white-space: nowrap; >+ } >+ .jstree-default-responsive .jstree-anchor { >+ line-height: 40px; >+ height: 40px; >+ } >+ .jstree-default-responsive .jstree-icon, >+ .jstree-default-responsive .jstree-icon:empty { >+ width: 40px; >+ height: 40px; >+ line-height: 40px; >+ } >+ .jstree-default-responsive > .jstree-container-ul > .jstree-node { >+ margin-left: 0; >+ } >+ .jstree-default-responsive.jstree-rtl .jstree-node { >+ margin-left: 0; >+ margin-right: 40px; >+ background: transparent; >+ } >+ .jstree-default-responsive.jstree-rtl .jstree-container-ul > .jstree-node { >+ margin-right: 0; >+ } >+ .jstree-default-responsive .jstree-ocl, >+ .jstree-default-responsive .jstree-themeicon, >+ .jstree-default-responsive .jstree-checkbox { >+ background-size: 120px 240px; >+ } >+ .jstree-default-responsive .jstree-leaf > .jstree-ocl, >+ .jstree-default-responsive.jstree-rtl .jstree-leaf > .jstree-ocl { >+ background: transparent; >+ } >+ .jstree-default-responsive .jstree-open > .jstree-ocl { >+ background-position: 0 0 !important; >+ } >+ .jstree-default-responsive .jstree-closed > .jstree-ocl { >+ background-position: 0 -40px !important; >+ } >+ .jstree-default-responsive.jstree-rtl .jstree-closed > .jstree-ocl { >+ background-position: -40px 0 !important; >+ } >+ .jstree-default-responsive .jstree-themeicon { >+ background-position: -40px -40px; >+ } >+ .jstree-default-responsive .jstree-checkbox, >+ .jstree-default-responsive .jstree-checkbox:hover { >+ background-position: -40px -80px; >+ } >+ .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, >+ .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, >+ .jstree-default-responsive .jstree-checked > .jstree-checkbox, >+ .jstree-default-responsive .jstree-checked > .jstree-checkbox:hover { >+ background-position: 0 -80px; >+ } >+ .jstree-default-responsive .jstree-anchor > .jstree-undetermined, >+ .jstree-default-responsive .jstree-anchor > .jstree-undetermined:hover { >+ background-position: 0 -120px; >+ } >+ .jstree-default-responsive .jstree-anchor { >+ font-weight: bold; >+ font-size: 1.1em; >+ text-shadow: 1px 1px white; >+ } >+ .jstree-default-responsive > .jstree-striped { >+ background: transparent; >+ } >+ .jstree-default-responsive .jstree-wholerow { >+ border-top: 1px solid rgba(255, 255, 255, 0.7); >+ border-bottom: 1px solid rgba(64, 64, 64, 0.2); >+ background: #ebebeb; >+ height: 40px; >+ } >+ .jstree-default-responsive .jstree-wholerow-hovered { >+ background: #e7f4f9; >+ } >+ .jstree-default-responsive .jstree-wholerow-clicked { >+ background: #beebff; >+ } >+ .jstree-default-responsive .jstree-children .jstree-last > .jstree-wholerow { >+ box-shadow: inset 0 -6px 3px -5px #666666; >+ } >+ .jstree-default-responsive .jstree-children .jstree-open > .jstree-wholerow { >+ box-shadow: inset 0 6px 3px -5px #666666; >+ border-top: 0; >+ } >+ .jstree-default-responsive .jstree-children .jstree-open + .jstree-open { >+ box-shadow: none; >+ } >+ .jstree-default-responsive .jstree-node, >+ .jstree-default-responsive .jstree-icon, >+ .jstree-default-responsive .jstree-node > .jstree-ocl, >+ .jstree-default-responsive .jstree-themeicon, >+ .jstree-default-responsive .jstree-checkbox { >+ background-image: url("40px.png"); >+ background-size: 120px 240px; >+ } >+ .jstree-default-responsive .jstree-node { >+ background-position: -80px 0; >+ background-repeat: repeat-y; >+ } >+ .jstree-default-responsive .jstree-last { >+ background: transparent; >+ } >+ .jstree-default-responsive .jstree-leaf > .jstree-ocl { >+ background-position: -40px -120px; >+ } >+ .jstree-default-responsive .jstree-last > .jstree-ocl { >+ background-position: -40px -160px; >+ } >+ .jstree-default-responsive .jstree-themeicon-custom { >+ background-color: transparent; >+ background-image: none; >+ background-position: 0 0; >+ } >+ .jstree-default-responsive .jstree-file { >+ background: url("40px.png") 0 -160px no-repeat; >+ background-size: 120px 240px; >+ } >+ .jstree-default-responsive .jstree-folder { >+ background: url("40px.png") -40px -40px no-repeat; >+ background-size: 120px 240px; >+ } >+ .jstree-default-responsive > .jstree-container-ul > .jstree-node { >+ margin-left: 0; >+ margin-right: 0; >+ } >+} >diff --git a/koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/themes/default/style.min.css b/koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/themes/default/style.min.css >new file mode 100644 >index 0000000000..0c6897a98f >--- /dev/null >+++ b/koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/themes/default/style.min.css >@@ -0,0 +1 @@ >+.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:black;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-hidden,.jstree-node.jstree-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jstree-contextmenu .jstree-anchor{-webkit-user-select:none;-webkit-touch-callout:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none}.vakata-context li>a{display:block;padding:0 2em 0 2em;text-decoration:none;width:auto;color:black;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 white;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==");background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-no-icons{margin-left:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:white;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context .vakata-contextmenu-disabled>a>i{filter:grayscale(100%)}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:transparent;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:white;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7");background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:white;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px 0 2px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-animated,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #cccccc}.jstree-default .jstree-context{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #cccccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{background:transparent;color:#666666}.jstree-default .jstree-disabled.jstree-hovered{background:transparent;box-shadow:none}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:bold}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none !important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:transparent;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:transparent}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{min-width:100%;display:inline-block;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat}.jstree-default>.jstree-wholerow-ul .jstree-hovered,.jstree-default>.jstree-wholerow-ul .jstree-clicked{background:transparent;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-webkit-linear-gradient(top, #beebff 0, #a8e4ff 100%);background:linear-gradient(to bottom, #beebff 0, #a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px}.jstree-default .jstree-wholerow{height:24px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-image:url("32px.png")}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-last{background:transparent}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-node,.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled{background:transparent}.jstree-default .jstree-disabled.jstree-hovered{background:transparent}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-last{background:transparent}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url("throbber.gif") center center no-repeat}.jstree-default .jstree-file{background:url("32px.png") -100px -68px no-repeat}.jstree-default .jstree-folder{background:url("32px.png") -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-ok,#jstree-dnd.jstree-default .jstree-er{background-image:url("32px.png");background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:transparent;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default .jstree-ellipsis{overflow:hidden}.jstree-default .jstree-ellipsis .jstree-anchor{width:calc(100% - 29px);text-overflow:ellipsis;overflow:hidden}.jstree-default.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==")}.jstree-default.jstree-rtl .jstree-last{background:transparent}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-node,.jstree-default-small .jstree-icon{background-image:url("32px.png")}.jstree-default-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-last{background:transparent}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-node,.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled{background:transparent}.jstree-default-small .jstree-disabled.jstree-hovered{background:transparent}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-last{background:transparent}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url("throbber.gif") center center no-repeat}.jstree-default-small .jstree-file{background:url("32px.png") -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url("32px.png") -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-ok,#jstree-dnd.jstree-default-small .jstree-er{background-image:url("32px.png");background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:transparent;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small .jstree-ellipsis{overflow:hidden}.jstree-default-small .jstree-ellipsis .jstree-anchor{width:calc(100% - 23px);text-overflow:ellipsis;overflow:hidden}.jstree-default-small.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==")}.jstree-default-small.jstree-rtl .jstree-last{background:transparent}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-node,.jstree-default-large .jstree-icon{background-image:url("32px.png")}.jstree-default-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-last{background:transparent}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-node,.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled{background:transparent}.jstree-default-large .jstree-disabled.jstree-hovered{background:transparent}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-last{background:transparent}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url("throbber.gif") center center no-repeat}.jstree-default-large .jstree-file{background:url("32px.png") -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url("32px.png") -256px 0 no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-ok,#jstree-dnd.jstree-default-large .jstree-er{background-image:url("32px.png");background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:transparent;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large .jstree-ellipsis{overflow:hidden}.jstree-default-large .jstree-ellipsis .jstree-anchor{width:calc(100% - 37px);text-overflow:ellipsis;overflow:hidden}.jstree-default-large.jstree-rtl .jstree-node{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==")}.jstree-default-large.jstree-rtl .jstree-last{background:transparent}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:bold;font-size:1.1em;text-shadow:1px 1px white}#jstree-dnd.jstree-dnd-responsive>i{background:transparent;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url("40px.png");background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url("40px.png");background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width:768px){.jstree-default-responsive .jstree-icon{background-image:url("40px.png")}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:transparent}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:transparent}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0 !important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px !important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0 !important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive .jstree-anchor{font-weight:bold;font-size:1.1em;text-shadow:1px 1px white}.jstree-default-responsive>.jstree-striped{background:transparent}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,0.7);border-bottom:1px solid rgba(64,64,64,0.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-image:url("40px.png");background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:transparent}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url("40px.png") 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url("40px.png") -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}} >\ No newline at end of file >diff --git a/koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/themes/default/throbber.gif b/koha-tmpl/opac-tmpl/lib/jquery/plugins/jstree/themes/default/throbber.gif >new file mode 100644 >index 0000000000000000000000000000000000000000..cf06c1ad0f00be54b10f73e03c11d182d411fad1 >GIT binary patch >literal 1464 >zcmZvceN0nV9EQ&=r=^8TFHo@{ANQ70%LFN(7Ima80;R!PL9rm3)*-a&w4%<Ah`XhH >zln%8519W6-3v7`P0&Hf^IM)IqC2o8<hRRIUIGu4xjZx5SW5tX`m;HavdCzm+=XbKQ >zGX<$C6rkW41GrqS^73*3fI^|Ta^(t>$!u$DOG!y_yWJ*}DKj&Z!{KyycdONE2;suQ >z0>0oY%h;NiE|O;?tl@hho}Kt#A?am%R7ds{W5+Z{)R=0oO1J-@s(6j&K*>RXzl3BT >zzyL9xm7Yix2%*;PtW~c(I@)n*B9Lt|nX$@5x^P+w+`!wx60-9`uo!Bs<$^EHs<m+f >zrA($25|%b{am|>)-UfnV9p;}KqjClm$MVbM$&>WbPV&ij*ka|M=U@<pN?R9CXCB18 >z5Jo|w9>X9sGyLDa1jBO)0C&2bFU5^USyT%ow`Y6z3+!yPy*Q>C*G{34S5-7|bGDZQ >z;p6Czucr+YRHzuORgJ5K?Gb~I)~a}v9rie@5~I_JSG?&Y0H19O93PH4T#q0ADD;!P >zk^f0VJ^TO`dJ=PNij?y~;w)~e*CcK*ZY52{2MQ$)2O(_;C7G%3Zo-!*0`gZhYhSL< >znt;k5!N~ERdLn<Q!hWeK({?i%QmLd@T@4(dg+zV)br&Ob?&GmM_S=AquMA+3+Zny= >zy9CSHrcn4I6nU6D!(F~{g^h|uo$Q7+ckz5HrK9$-NMQ_*GIiI?uvqjh?Q$(qM!DIE >zKMLnreU)@M63~3V%3M+ZlbBXH9vV*T=g!7{Gx(gf#7AAK)z1@{fjaBN7KL9l9GjiS >z$vpC|QuB-)HEI>RmTxxns-8=KZykgLf4(wI<ScVGrKQtF&8f04!r0<{(vpizlAJ`z >z@aXhf7{8^H7g6?&JAb2EXK-$w88PEX3rE&(3?2uo<QAsGSf?UqUEl>kTqMjv3H^P0 >z0}wE)29!5I&o+~aFX!~k)T{b<Nj8?<L5NbqHq-c2KD&!7n%pu{!Xioi<my0Q(uzn8 >zX@Bsk6H8=o2n*m2PjkSc2++{SX0PgMNK#rtnvbDiWDsqhkc`G6N2Zxx^m~<>i(Dhe >zIH87(qxAGc0w`-lB2B++2#J?l`gGWV+B}h2SM(t^bWT#g9<I0+pC+h^Udr?EA^`Dt >zvS>>Fcs52mlk>PRPILR$oj*LlzNE<g0tI%ngi6#no*tNMZna{#@H$NXT>nI}n!K<3 >z)<EBFDy*y8y)JJa>aPyCTC2f!DRM}V09yub^?|M=!+Y@mELj`_)TX%OO>kCHio!~( >znD>rK?x{ZA<6qyz3f`ZjI~5!kK{oSzRuM%1ivpD2V-;hMHZiNKhH-%|h?1H9lphlk >zFgW#r;6}N_Nt!r84^6u^hv5%Xq^WPf0T0|iW8f(hZ6Nk)qHY$>y?>U{G)$G{h>Nyn >zpO@v$E*p6=g#Y1VcDTfCbn@Au-m=SF<FG!u;0EeT9z4Smcq6p*5*CkI9h-Al+Zv{S >zQKLM{t4w~tJp=xA=XG~WaSFFHJEBX+mLu2f88mTj9rdYyhkFxING46yP1;HscfGu_ >ztmw!*D*~qL`?gUUS~wHhG{4if-LAwW4q~Xn{1ZvbK=XE`ErP<8+#%Se%l)iC<jvPy >zDz4C-ol9Jv59sS}G1!mi&Vfo7GNK8&U)|e!7cE#F<@wJ(3kIlyrT^C2nZeR&`|a&6 >r6~`h|M)HeUvfil<p+vH>xmH%8-f*3fsjN8kedp=8=<vaf0IdHT8g}jH > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/d.gif b/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/d.gif >deleted file mode 100644 >index 6eb0004ce3544f9973ddbd5a2c450fc0e1a354b1..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 3003 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 > >diff --git a/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/d.png b/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/d.png >deleted file mode 100644 >index 275daeca2d6ae2ba9cf59bd23a194d13a35a825d..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 7535 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 >FV1ky2eG>ox > >diff --git a/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/dot_for_ie.gif b/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/dot_for_ie.gif >deleted file mode 100644 >index c0cc5fda7cfb9539720de442a3caca9c9a3fc4cb..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 43 >vcmZ?wbhEHbWMW`qXkcKFla>7c|G(l-7DfgJMg|=QAOOiQFfqBrF<1it%E1S( > >diff --git a/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/style.css b/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/style.css >deleted file mode 100644 >index 9fbab0e882..0000000000 >--- a/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/style.css >+++ /dev/null >@@ -1,77 +0,0 @@ >-/* >- * jsTree classic theme 1.0 >- * Supported features: dots/no-dots, icons/no-icons, focused, loading >- * Supported plugins: ui (hovered, clicked), checkbox, contextmenu, search >- */ >- >-.jstree-classic li, >-.jstree-classic ins { background-image:url("d.png"); background-repeat:no-repeat; background-color:transparent; } >-.jstree-classic li { background-position:-90px 0; background-repeat:repeat-y; } >-.jstree-classic li.jstree-last { background:transparent; } >-.jstree-classic .jstree-open > ins { background-position:-72px 0; } >-.jstree-classic .jstree-closed > ins { background-position:-54px 0; } >-.jstree-classic .jstree-leaf > ins { background-position:-36px 0; } >- >-.jstree-classic .jstree-hovered { background:#e7f4f9; border:1px solid #e7f4f9; padding:0 2px 0 1px; } >-.jstree-classic .jstree-clicked { background:navy; border:1px solid navy; padding:0 2px 0 1px; color:white; } >-.jstree-classic a .jstree-icon { background-position:-56px -19px; } >-.jstree-classic .jstree-open > a .jstree-icon { background-position:-56px -36px; } >-.jstree-classic a.jstree-loading .jstree-icon { background:url("throbber.gif") center center no-repeat !important; } >- >-.jstree-classic.jstree-focused { background:white; } >- >-.jstree-classic .jstree-no-dots li, >-.jstree-classic .jstree-no-dots .jstree-leaf > ins { background:transparent; } >-.jstree-classic .jstree-no-dots .jstree-open > ins { background-position:-18px 0; } >-.jstree-classic .jstree-no-dots .jstree-closed > ins { background-position:0 0; } >- >-.jstree-classic .jstree-no-icons a .jstree-icon { display:none; } >- >-.jstree-classic .jstree-search { font-style:italic; } >- >-.jstree-classic .jstree-no-icons .jstree-checkbox { display:inline-block; } >-.jstree-classic .jstree-no-checkboxes .jstree-checkbox { display:none !important; } >-.jstree-classic .jstree-checked > a > .jstree-checkbox { background-position:-38px -19px; } >-.jstree-classic .jstree-unchecked > a > .jstree-checkbox { background-position:-2px -19px; } >-.jstree-classic .jstree-undetermined > a > .jstree-checkbox { background-position:-20px -19px; } >-.jstree-classic .jstree-checked > a > .jstree-checkbox:hover { background-position:-38px -37px; } >-.jstree-classic .jstree-unchecked > a > .jstree-checkbox:hover { background-position:-2px -37px; } >-.jstree-classic .jstree-undetermined > a > .jstree-checkbox:hover { background-position:-20px -37px; } >- >-#vakata-dragged.jstree-classic ins { background:transparent !important; } >-#vakata-dragged.jstree-classic .jstree-ok { background:url("d.png") -2px -53px no-repeat !important; } >-#vakata-dragged.jstree-classic .jstree-invalid { background:url("d.png") -18px -53px no-repeat !important; } >-#jstree-marker.jstree-classic { background:url("d.png") -41px -57px no-repeat !important; text-indent:-100px; } >- >-.jstree-classic a.jstree-search { color:aqua; } >-.jstree-classic .jstree-locked a { color:silver; cursor:default; } >- >-#vakata-contextmenu.jstree-classic-context, >-#vakata-contextmenu.jstree-classic-context li ul { background:#f0f0f0; border:1px solid #979797; -moz-box-shadow: 1px 1px 2px #999; -webkit-box-shadow: 1px 1px 2px #999; box-shadow: 1px 1px 2px #999; } >-#vakata-contextmenu.jstree-classic-context li { } >-#vakata-contextmenu.jstree-classic-context a { color:black; } >-#vakata-contextmenu.jstree-classic-context a:hover, >-#vakata-contextmenu.jstree-classic-context .vakata-hover > a { padding:0 5px; background:#e8eff7; border:1px solid #aecff7; color:black; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; } >-#vakata-contextmenu.jstree-classic-context li.jstree-contextmenu-disabled a, >-#vakata-contextmenu.jstree-classic-context li.jstree-contextmenu-disabled a:hover { color:silver; background:transparent; border:0; padding:1px 4px; } >-#vakata-contextmenu.jstree-classic-context li.vakata-separator { background:white; border-top:1px solid #e0e0e0; margin:0; } >-#vakata-contextmenu.jstree-classic-context li ul { margin-left:-4px; } >- >-/* IE6 BEGIN */ >-.jstree-classic li, >-.jstree-classic ins, >-#vakata-dragged.jstree-classic .jstree-invalid, >-#vakata-dragged.jstree-classic .jstree-ok, >-#jstree-marker.jstree-classic { _background-image:url("d.gif"); } >-.jstree-classic .jstree-open ins { _background-position:-72px 0; } >-.jstree-classic .jstree-closed ins { _background-position:-54px 0; } >-.jstree-classic .jstree-leaf ins { _background-position:-36px 0; } >-.jstree-classic .jstree-open a ins.jstree-icon { _background-position:-56px -36px; } >-.jstree-classic .jstree-closed a ins.jstree-icon { _background-position:-56px -19px; } >-.jstree-classic .jstree-leaf a ins.jstree-icon { _background-position:-56px -19px; } >-#vakata-contextmenu.jstree-classic-context ins { _display:none; } >-#vakata-contextmenu.jstree-classic-context li { _zoom:1; } >-.jstree-classic .jstree-undetermined a .jstree-checkbox { _background-position:-20px -19px; } >-.jstree-classic .jstree-checked a .jstree-checkbox { _background-position:-38px -19px; } >-.jstree-classic .jstree-unchecked a .jstree-checkbox { _background-position:-2px -19px; } >-/* IE6 END */ >\ No newline at end of file >diff --git a/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/throbber.gif b/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/throbber.gif >deleted file mode 100644 >index 5b33f7e54f4e55b6b8774d86d96895db9af044b4..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 1849 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 >EAHN$8j{pDw > >-- >2.20.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 11873
:
129857
| 130411 |
130412
|
130418
|
130419