fancytree-rails 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +18 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +50 -0
- data/Rakefile +1 -0
- data/fancytree-rails.gemspec +27 -0
- data/lib/fancytree-rails.rb +1 -0
- data/lib/fancytree/rails.rb +7 -0
- data/lib/fancytree/rails/engine.rb +4 -0
- data/lib/fancytree/rails/version.rb +6 -0
- data/vendor/assets/javascripts/fancytree.js +2 -0
- data/vendor/assets/javascripts/fancytree/jquery.fancytree-all.js +5366 -0
- data/vendor/assets/javascripts/fancytree/jquery.fancytree-all.min.js +6 -0
- data/vendor/assets/javascripts/fancytree/jquery.fancytree-all.min.js.map +1 -0
- data/vendor/assets/javascripts/fancytree/jquery.fancytree.js +3715 -0
- data/vendor/assets/javascripts/fancytree/jquery.fancytree.min.js +6 -0
- data/vendor/assets/javascripts/fancytree/jquery.fancytree.min.js.map +1 -0
- data/vendor/assets/stylesheets/skin-awesome/ui.fancytree.css +272 -0
- data/vendor/assets/stylesheets/skin-lion/icons.gif +0 -0
- data/vendor/assets/stylesheets/skin-lion/loading.gif +0 -0
- data/vendor/assets/stylesheets/skin-lion/ui.fancytree-org.css +460 -0
- data/vendor/assets/stylesheets/skin-lion/ui.fancytree.css +453 -0
- data/vendor/assets/stylesheets/skin-themeroller/icons.gif +0 -0
- data/vendor/assets/stylesheets/skin-themeroller/loading.gif +0 -0
- data/vendor/assets/stylesheets/skin-themeroller/ui.fancytree-org.css +505 -0
- data/vendor/assets/stylesheets/skin-themeroller/ui.fancytree.css +505 -0
- data/vendor/assets/stylesheets/skin-vista/icons.gif +0 -0
- data/vendor/assets/stylesheets/skin-vista/loading.gif +0 -0
- data/vendor/assets/stylesheets/skin-vista/ui.fancytree-org.css +610 -0
- data/vendor/assets/stylesheets/skin-vista/ui.fancytree.css +459 -0
- data/vendor/assets/stylesheets/skin-win7/icons.gif +0 -0
- data/vendor/assets/stylesheets/skin-win7/loading.gif +0 -0
- data/vendor/assets/stylesheets/skin-win7/ui.fancytree-org.css +592 -0
- data/vendor/assets/stylesheets/skin-win7/ui.fancytree.css +523 -0
- data/vendor/assets/stylesheets/skin-win8/icons.gif +0 -0
- data/vendor/assets/stylesheets/skin-win8/loading.gif +0 -0
- data/vendor/assets/stylesheets/skin-win8/ui.fancytree-org.css +602 -0
- data/vendor/assets/stylesheets/skin-win8/ui.fancytree.css +470 -0
- data/vendor/assets/stylesheets/skin-xp/icons-rtl.gif +0 -0
- data/vendor/assets/stylesheets/skin-xp/icons.gif +0 -0
- data/vendor/assets/stylesheets/skin-xp/loading.gif +0 -0
- data/vendor/assets/stylesheets/skin-xp/ui.fancytree-org.css +578 -0
- data/vendor/assets/stylesheets/skin-xp/ui.fancytree.css +450 -0
- data/vendor/assets/stylesheets/skin-xp/vline-rtl.gif +0 -0
- data/vendor/assets/stylesheets/skin-xp/vline.gif +0 -0
- data/vendor/assets/stylesheets/ui.fancytree.css +3 -0
- metadata +166 -0
@@ -0,0 +1,6 @@
|
|
1
|
+
/*! jQuery Fancytree Plugin - v2.0.0-5 - 2013-12-23 10:12
|
2
|
+
* https://github.com/mar10/fancytree
|
3
|
+
* Copyright (c) 2013 Martin Wendt; Licensed MIT */
|
4
|
+
!function(a,b,c,d){"use strict";function e(b){b=b||"",a.error("Not implemented: "+b)}function f(b,c){b||(c=c?": "+c:"",a.error("Assertion failed"+c))}function g(a,c){var d,e,f=b.console?b.console[a]:null;if(f)if(f.apply)f.apply(b.console,c);else{for(e="",d=0;d<c.length;d++)e+=c[d];f(e)}}function h(b){var c,d,e,f=a.map(a.trim(b).split("."),function(a){return parseInt(a,10)}),g=a.map(Array.prototype.slice.call(arguments,1),function(a){return parseInt(a,10)});for(c=0;c<g.length;c++)if(d=f[c]||0,e=g[c]||0,d!==e)return d>e;return!0}function i(a,b,c,d,e){var f=function(){var c=b[a],f=d[a],g=b.ext[e],h=function(){return c.apply(b,arguments)};return function(){var a=b._local,c=b._super;try{return b._local=g,b._super=h,f.apply(b,arguments)}finally{b._local=a,b._super=c}}}();return f}function j(b,c,d,e){for(var f in d)"function"==typeof d[f]?"function"==typeof b[f]?b[f]=i(f,b,c,d,e):"_"===f.charAt(0)?b.ext[e][f]=i(f,b,c,d,e):a.error("Could not override tree."+f+". Use prefix '_' to create tree."+e+"._"+f):"options"!==f&&(b.ext[e][f]=d[f])}function k(b,c){return b===d?a.Deferred(function(){this.resolve()}).promise():a.Deferred(function(){this.resolveWith(b,c)}).promise()}function l(b,c){return b===d?a.Deferred(function(){this.reject()}).promise():a.Deferred(function(){this.rejectWith(b,c)}).promise()}function m(a,b){return function(){a.resolveWith(b)}}function n(a){return a=a.toLowerCase(),function(b){return b.title.toLowerCase().indexOf(a)>=0}}function o(b,c){var d,e,g,h;for(this.parent=b,this.tree=b.tree,this.ul=null,this.li=null,this.isStatusNode=!1,this.data={},d=0,e=u.length;e>d;d++)g=u[d],this[g]=c[g];c.data&&a.extend(this.data,c.data);for(g in c)v[g]||a.isFunction(c[g])||w[g]||(this.data[g]=c[g]);null==this.key&&(this.key="_"+r._nextNodeKey++),c.active&&(f(null===this.tree.activeNode,"only one active node allowed"),this.tree.activeNode=this),this.children=null,h=c.children,h&&h.length&&this._setChildren(h)}function p(b){this.widget=b,this.$div=b.element,this.options=b.options,this.ext={},this.data={},this._id=a.ui.fancytree._nextId++,this._ns=".fancytree-"+this._id,this.activeNode=null,this.focusNode=null,this._hasFocus=null,this.lastSelectedNode=null,this.systemFocusElement=null,this.statusClassPropName="span",this.ariaPropName="li",this.nodeContainerAttrName="li",this.$div.find(">ul.fancytree-container").remove();var c,d={tree:this};this.rootNode=new o(d,{title:"root",key:"root_"+this._id,children:null}),this.rootNode.parent=null,c=a("<ul>",{"class":"ui-fancytree fancytree-container"}).appendTo(this.$div),this.$container=c,this.rootNode.ul=c[0],null==this.options.debugLevel&&(this.options.debugLevel=r.debugLevel),this.$container.attr("tabindex",this.options.tabbable?"0":"-1"),this.options.aria&&this.$container.attr("role","tree").attr("aria-multiselectable",!0)}if(a.ui.fancytree&&a.ui.fancytree.version)return a.ui.fancytree.warn("Fancytree: ignored duplicate include"),void 0;var q,r=null,s="active expanded focus folder lazy selected unselectable".split(" "),t={},u="expanded extraClasses folder hideCheckbox key lazy selected title tooltip unselectable".split(" "),v={},w={active:!0,children:!0,data:!0,focus:!0};for(q=0;q<s.length;q++)t[s[q]]=!0;for(q=0;q<u.length;q++)v[u[q]]=!0;o.prototype={_findDirectChild:function(a){var b,c,d=this.children;if(d)if("string"==typeof a){for(b=0,c=d.length;c>b;b++)if(d[b].key===a)return d[b]}else{if("number"==typeof a)return this.children[a];if(a.parent===this)return a}return null},_setChildren:function(a){f(a&&(!this.children||0===this.children.length),"only init supported"),this.children=[];for(var b=0,c=a.length;c>b;b++)this.children.push(new o(this,a[b]))},addChildren:function(b,c){var d,e,g,h=null,i=[];for(a.isPlainObject(b)&&(b=[b]),this.children||(this.children=[]),d=0,e=b.length;e>d;d++)i.push(new o(this,b[d]));return h=i[0],null==c?this.children=this.children.concat(i):(c=this._findDirectChild(c),g=a.inArray(c,this.children),f(g>=0,"insertBefore must be an existing child"),this.children.splice.apply(this.children,[g,0].concat(i))),(!this.parent||this.parent.ul||this.tr)&&this.render(),3===this.tree.options.selectMode&&this.fixSelection3FromEndNodes(),h},addNode:function(a,b){switch((b===d||"over"===b)&&(b="child"),b){case"after":return this.getParent().addChildren(a,this.getNextSibling());case"before":return this.getParent().addChildren(a,this);case"child":case"over":return this.addChildren(a)}f(!1,"Invalid mode: "+b)},applyPatch:function(b){if(null===b)return this.remove(),k(this);var c,d,e,f={children:!0,expanded:!0,parent:!0};for(c in b)e=b[c],f[c]||a.isFunction(e)||(v[c]?this[c]=e:this.data[c]=e);return b.hasOwnProperty("children")&&(this.removeChildren(),b.children&&this._setChildren(b.children)),this.isVisible()&&(this.renderTitle(),this.renderStatus()),d=b.hasOwnProperty("expanded")?this.setExpanded(b.expanded):k(this)},collapseSiblings:function(){return this.tree._callHook("nodeCollapseSiblings",this)},copyTo:function(a,b,c){return a.addNode(this.toDict(!0,c),b)},countChildren:function(a){var b,c,d,e=this.children;if(!e)return 0;if(d=e.length,a!==!1)for(b=0,c=d;c>b;b++)d+=e[b].countChildren();return d},debug:function(){this.tree.options.debugLevel>=2&&(Array.prototype.unshift.call(arguments,this.toString()),g("debug",arguments))},discard:function(){return this.lazy&&a.isArray(this.children)?(this.removeChildren(),this.setExpanded(!1)):void 0},findAll:function(b){b=a.isFunction(b)?b:n(b);var c=[];return this.visit(function(a){b(a)&&c.push(a)}),c},findFirst:function(b){b=a.isFunction(b)?b:n(b);var c=null;return this.visit(function(a){return b(a)?(c=a,!1):void 0}),c},_changeSelectStatusAttrs:function(a){var b=!1;switch(a){case!1:b=this.selected||this.partsel,this.selected=!1,this.partsel=!1;break;case!0:b=!this.selected||!this.partsel,this.selected=!0,this.partsel=!0;break;case d:b=this.selected||!this.partsel,this.selected=!1,this.partsel=!0;break;default:f(!1,"invalid state: "+a)}return this.debug("fixSelection3AfterLoad() _changeSelectStatusAttrs()",a,b),b&&this.renderStatus(),b},fixSelection3AfterClick:function(){var a=this.isSelected();this.visit(function(b){b._changeSelectStatusAttrs(a)}),this.fixSelection3FromEndNodes()},fixSelection3FromEndNodes:function(){function a(b){var c,e,f,g,h,i,j,k=b.children;if(k){for(i=!0,j=!1,c=0,e=k.length;e>c;c++)f=k[c],g=a(f),g!==!1&&(j=!0),g!==!0&&(i=!1);h=i?!0:j?d:!1}else h=!!b.selected;return b._changeSelectStatusAttrs(h),h}f(3===this.tree.options.selectMode,"expected selectMode 3"),a(this),this.visitParents(function(a){var b,c,e,f,g=a.children,h=!0,i=!1;for(b=0,c=g.length;c>b;b++)e=g[b],(e.selected||e.partsel)&&(i=!0),e.unselectable||e.selected||(h=!1);f=h?!0:i?d:!1,a._changeSelectStatusAttrs(f)})},fromDict:function(b){for(var c in b)v[c]?this[c]=b[c]:"data"===c?a.extend(this.data,b.data):a.isFunction(b[c])||w[c]||(this.data[c]=b[c]);b.children?(this.removeChildren(),this.addChildren(b.children)):this.renderTitle()},getChildren:function(){return this.hasChildren()===d?d:this.children},getFirstChild:function(){return this.children?this.children[0]:null},getIndex:function(){return a.inArray(this,this.parent.children)},getIndexHier:function(b){b=b||".";var c=[];return a.each(this.getParentList(!1,!0),function(a,b){c.push(b.getIndex()+1)}),c.join(b)},getKeyPath:function(a){var b=[],c=this.tree.options.keyPathSeparator;return this.visitParents(function(a){a.parent&&b.unshift(a.key)},!a),c+b.join(c)},getLastChild:function(){return this.children?this.children[this.children.length-1]:null},getLevel:function(){for(var a=0,b=this.parent;b;)a++,b=b.parent;return a},getNextSibling:function(){if(this.parent){var a,b,c=this.parent.children;for(a=0,b=c.length-1;b>a;a++)if(c[a]===this)return c[a+1]}return null},getParent:function(){return this.parent},getParentList:function(a,b){for(var c=[],d=b?this:this.parent;d;)(a||d.parent)&&c.unshift(d),d=d.parent;return c},getPrevSibling:function(){if(this.parent){var a,b,c=this.parent.children;for(a=1,b=c.length;b>a;a++)if(c[a]===this)return c[a-1]}return null},hasChildren:function(){return this.lazy?null==this.children?d:0===this.children.length?!1:1===this.children.length&&this.children[0].isStatusNode?d:!0:!!this.children},hasFocus:function(){return this.tree.hasFocus()&&this.tree.focusNode===this},isActive:function(){return this.tree.activeNode===this},isChildOf:function(a){return this.parent&&this.parent===a},isDescendantOf:function(a){if(!a||a.tree!==this.tree)return!1;for(var b=this.parent;b;){if(b===a)return!0;b=b.parent}return!1},isExpanded:function(){return!!this.expanded},isFirstSibling:function(){var a=this.parent;return!a||a.children[0]===this},isFolder:function(){return!!this.folder},isLastSibling:function(){var a=this.parent;return!a||a.children[a.children.length-1]===this},isLazy:function(){return!!this.lazy},isLoading:function(){e()},isRoot:function(){return this.tree.rootNode===this},isSelected:function(){return!!this.selected},isVisible:function(){var a,b,c=this.getParentList(!1,!1);for(a=0,b=c.length;b>a;a++)if(!c[a].expanded)return!1;return!0},makeVisible:function(){var a,b,c=this.getParentList(!1,!1);for(a=0,b=c.length;b>a;a++)c[a].setExpanded(!0)},moveTo:function(b,c,e){(c===d||"over"===c)&&(c="child");var g,h=this.parent,i="child"===c?b:b.parent;if(this!==b){if(!this.parent)throw"Cannot move system root";if(i.isDescendantOf(this))throw"Cannot move a node to it's own descendant";if(1===this.parent.children.length?(this.parent.children=this.parent.lazy?[]:null,this.parent.expanded=!1):(g=a.inArray(this,this.parent.children),f(g>=0),this.parent.children.splice(g,1)),this.parent=i,i.hasChildren())switch(c){case"child":i.children.push(this);break;case"before":g=a.inArray(b,i.children),f(g>=0),i.children.splice(g,0,this);break;case"after":g=a.inArray(b,i.children),f(g>=0),i.children.splice(g+1,0,this);break;default:throw"Invalid mode "+c}else i.children=[this];e&&b.visit(e,!0),this.tree!==b.tree&&(this.warn("Cross-tree moveTo is experimantal!"),this.visit(function(a){a.tree=b.tree},!0)),i.expanded||h.ul.removeChild(this.li),h.isDescendantOf(i)||h.render(),i.isDescendantOf(h)||i===h||i.render()}},navigate:function(b,c){function d(a){return a?(a.makeVisible(),c===!1?a.setFocus():a.setActive()):void 0}var e,f,g=!0,h=a.ui.keyCode,i=null;switch(b){case h.BACKSPACE:this.parent&&this.parent.parent&&d(this.parent);break;case h.LEFT:this.expanded?(this.setExpanded(!1),d(this)):this.parent&&this.parent.parent&&d(this.parent);break;case h.RIGHT:this.expanded||!this.children&&!this.lazy?this.children&&this.children.length&&d(this.children[0]):(this.setExpanded(),d(this));break;case h.UP:for(i=this.getPrevSibling();i&&i.expanded&&i.children&&i.children.length;)i=i.children[i.children.length-1];!i&&this.parent&&this.parent.parent&&(i=this.parent),d(i);break;case h.DOWN:if(this.expanded&&this.children&&this.children.length)i=this.children[0];else for(f=this.getParentList(!1,!0),e=f.length-1;e>=0&&!(i=f[e].getNextSibling());e--);d(i);break;default:g=!1}},lazyLoad:function(b){(b||this.hasChildren()===d)&&this.discard(),f(!a.isArray(this.children));var c=this.tree._triggerNodeEvent("lazyload",this);return f("boolean"!=typeof c,"lazyload event must return source in data.result"),this.tree._callHook("nodeLoadChildren",this,c)},render:function(a,b){return this.tree._callHook("nodeRender",this,a,b)},renderTitle:function(){return this.tree._callHook("nodeRenderTitle",this)},renderStatus:function(){return this.tree._callHook("nodeRenderStatus",this)},remove:function(){return this.parent.removeChild(this)},removeChild:function(a){return this.tree._callHook("nodeRemoveChild",this,a)},removeChildren:function(){return this.tree._callHook("nodeRemoveChildren",this)},scheduleAction:function(a,b){this.tree.timer&&clearTimeout(this.tree.timer),this.tree.timer=null;var c=this;switch(a){case"cancel":break;case"expand":this.tree.timer=setTimeout(function(){c.tree.debug("setTimeout: trigger expand"),c.setExpanded(!0)},b);break;case"activate":this.tree.timer=setTimeout(function(){c.tree.debug("setTimeout: trigger activate"),c.setActive(!0)},b);break;default:throw"Invalid mode "+a}},scrollIntoView:function(b,c){b=b===!0?{duration:200,queue:!1}:b;var d,e=new a.Deferred,f=a(this.span).position().top,g=a(this.span).height(),h=this.tree.$container,i=h[0].scrollTop,j=Math.max(0,h.innerHeight()-h[0].clientHeight),k=h.height()-j,l=null;return 0>f?l=i+f:f+g>k&&(l=i+f-k+g,c&&(d=c?a(c.span).position().top:0,f-d>k&&(l=i+f))),null!==l?b?h.animate({scrollTop:l},b):(h[0].scrollTop=l,e.resolveWith(this)):e.resolveWith(this),e.promise()},setActive:function(a){return this.tree._callHook("nodeSetActive",this,a)},setExpanded:function(a){return this.tree._callHook("nodeSetExpanded",this,a)},setFocus:function(a){return this.tree._callHook("nodeSetFocus",this,a)},setSelected:function(a){return this.tree._callHook("nodeSetSelected",this,a)},setTitle:function(a){this.title=a,this.renderTitle()},sortChildren:function(a,b){var c,d,e=this.children;if(e){if(a=a||function(a,b){var c=a.title.toLowerCase(),d=b.title.toLowerCase();return c===d?0:c>d?1:-1},e.sort(a),b)for(c=0,d=e.length;d>c;c++)e[c].children&&e[c].sortChildren(a,"$norender$");"$norender$"!==b&&this.render()}},toDict:function(b,c){var d,e,f,g={},h=this;if(a.each(u,function(a,b){(h[b]||h[b]===!1)&&(g[b]=h[b])}),a.isEmptyObject(this.data)||(g.data=a.extend({},this.data),a.isEmptyObject(g.data)&&delete g.data),c&&c(g),b&&this.hasChildren())for(g.children=[],d=0,e=this.children.length;e>d;d++)f=this.children[d],f.isStatusNode||g.children.push(f.toDict(!0,c));return g},toggleExpanded:function(){return this.tree._callHook("nodeToggleExpanded",this)},toggleSelected:function(){return this.tree._callHook("nodeToggleSelected",this)},toString:function(){return"<FancytreeNode(#"+this.key+", '"+this.title+"')>"},visit:function(a,b){var c,d,e=!0,f=this.children;if(b===!0&&(e=a(this),e===!1||"skip"===e))return e;if(f)for(c=0,d=f.length;d>c&&(e=f[c].visit(a,!0),e!==!1);c++);return e},visitParents:function(a,b){if(b&&a(this)===!1)return!1;for(var c=this.parent;c;){if(a(c)===!1)return!1;c=c.parent}return!0},warn:function(){Array.prototype.unshift.call(arguments,this.toString()),g("warn",arguments)}},p.prototype={_makeHookContext:function(b,c,e){var f,g;return b.node!==d?(c&&b.originalEvent!==c&&a.error("invalid args"),f=b):b.tree?(g=b.tree,f={node:b,tree:g,widget:g.widget,options:g.widget.options,originalEvent:c}):b.widget?f={node:null,tree:b,widget:b.widget,options:b.widget.options,originalEvent:c}:a.error("invalid args"),e&&a.extend(f,e),f},_callHook:function(b,c){var d=this._makeHookContext(c),e=this[b],f=Array.prototype.slice.call(arguments,2);return a.isFunction(e)||a.error("_callHook('"+b+"') is not a function"),f.unshift(d),e.apply(this,f)},activateKey:function(a){var b=this.getNodeByKey(a);return b?b.setActive():this.activeNode&&this.activeNode.setActive(!1),b},applyPatch:function(b){var c,d,e,g,h,i,j=b.length,k=[];for(d=0;j>d;d++)e=b[d],f(2===e.length,"patchList must be an array of length-2-arrays"),g=e[0],h=e[1],i=null===g?this.rootNode:this.getNodeByKey(g),i?(c=new a.Deferred,k.push(c),i.applyPatch(h).always(m(c,i))):this.warn("could not find node with key '"+g+"'");return a.when.apply(a,k).promise()},count:function(){return this.rootNode.countChildren()},debug:function(){this.options.debugLevel>=2&&(Array.prototype.unshift.call(arguments,this.toString()),g("debug",arguments))},generateFormElements:function(b,c){var d,e=b!==!1?"ft_"+this._id:b,f=c!==!1?"ft_"+this._id+"_active":c,g="fancytree_result_"+this._id,h=this.$container.find("div#"+g);h.length?h.empty():h=a("<div>",{id:g}).hide().appendTo(this.$container),e&&(d=this.getSelectedNodes(3===this.options.selectMode),a.each(d,function(b,c){h.append(a("<input>",{type:"checkbox",name:e,value:c.key,checked:!0}))})),f&&this.activeNode&&h.append(a("<input>",{type:"radio",name:f,value:this.activeNode.key,checked:!0}))},getActiveNode:function(){return this.activeNode},getFirstChild:function(){return this.rootNode.getFirstChild()},getFocusNode:function(){return this.focusNode},getNodeByKey:function(a,b){var d,e;return!b&&(d=c.getElementById(this.options.idPrefix+a))?d.ftnode?d.ftnode:null:(b=b||this.rootNode,e=null,b.visit(function(b){return b.key===a?(e=b,!1):void 0},!0),e)},getSelectedNodes:function(a){var b=[];return this.rootNode.visit(function(c){return c.selected&&(b.push(c),a===!0)?"skip":void 0}),b},hasFocus:function(){return!!this._hasFocus},info:function(){this.options.debugLevel>=1&&(Array.prototype.unshift.call(arguments,this.toString()),g("info",arguments))},loadKeyPath:function(b,c,e){function f(a,b,d){c.call(r,b,"loading"),b.lazyLoad().done(function(){r.loadKeyPath.call(r,l[a],c,b).always(m(d,r))}).fail(function(){r.warn("loadKeyPath: error loading: "+a+" (parent: "+p+")"),c.call(r,b,"error"),d.reject()})}var g,h,i,j,k,l,n,o,p=e||this.rootNode,q=this.options.keyPathSeparator,r=this;for(a.isArray(b)||(b=[b]),l={},i=0;i<b.length;i++)for(j=b[i],j.charAt(0)===q&&(j=j.substr(1)),o=j.split(q);o.length;){if(k=o.shift(),n=p._findDirectChild(k),!n){this.warn("loadKeyPath: key not found: "+k+" (parent: "+p+")"),c.call(this,k,"error");break}if(0===o.length){c.call(this,n,"ok");break}if(n.lazy&&n.hasChildren()===d){c.call(this,n,"loaded"),l[k]?l[k].push(o.join(q)):l[k]=[o.join(q)];break}c.call(this,n,"loaded"),p=n}g=[];for(k in l)n=p._findDirectChild(k),h=new a.Deferred,g.push(h),f(k,n,h);return a.when.apply(a,g).promise()},nodeClick:function(a){var b,c,d=a.originalEvent,e=a.targetType,f=a.node;if("expander"===e)this._callHook("nodeToggleExpanded",a);else if("checkbox"===e)this._callHook("nodeToggleSelected",a),this._callHook("nodeSetFocus",a,!0);else{if(c=!1,b=!0,f.folder)switch(a.options.clickFolderMode){case 2:c=!0,b=!1;break;case 3:b=!0,c=!0}b&&(this.nodeSetFocus(a),this._callHook("nodeSetActive",a,!0)),c&&this._callHook("nodeToggleExpanded",a)}"a"===d.target.localName&&"fancytree-title"===d.target.className&&d.preventDefault()},nodeCollapseSiblings:function(a){var b,c,d,e=a.node;if(e.parent)for(b=e.parent.children,c=0,d=b.length;d>c;c++)b[c]!==e&&b[c].expanded&&this._callHook("nodeSetExpanded",b[c],!1)},nodeDblclick:function(a){"title"===a.targetType&&4===a.options.clickFolderMode&&this._callHook("nodeToggleExpanded",a),"title"===a.targetType&&a.originalEvent.preventDefault()},nodeKeydown:function(b){var c,d=b.originalEvent,e=b.node,f=b.tree,g=b.options,h=!0,i=!(d.ctrlKey||!g.autoActivate),j=a.ui.keyCode;switch(e||(this.rootNode.getFirstChild().setFocus(),e=b.node=this.focusNode,e.debug("Keydown force focus on first node")),d.which){case j.NUMPAD_ADD:case 187:f.nodeSetExpanded(b,!0);break;case j.NUMPAD_SUBTRACT:case 189:f.nodeSetExpanded(b,!1);break;case j.SPACE:g.checkbox?f.nodeToggleSelected(b):f.nodeSetActive(b,!0);break;case j.ENTER:f.nodeSetActive(b,!0);break;case j.BACKSPACE:case j.LEFT:case j.RIGHT:case j.UP:case j.DOWN:c=e.navigate(d.which,i);break;default:h=!1}h&&d.preventDefault()},nodeLoadChildren:function(b,c){var d,e,g=b.tree,h=b.node;return a.isFunction(c)&&(c=c()),c.url&&(d=a.extend({},b.options.ajax,c),d.debugDelay?(e=d.debugDelay,a.isArray(e)&&(e=e[0]+Math.random()*(e[1]-e[0])),h.debug("nodeLoadChildren waiting debug delay "+Math.round(e)+"ms"),d.debugDelay=!1,c=a.Deferred(function(b){setTimeout(function(){a.ajax(d).done(function(){b.resolveWith(this,arguments)}).fail(function(){b.rejectWith(this,arguments)})},e)})):c=a.ajax(d),c=c.pipe(function(c){var d;return"string"==typeof c&&a.error("Ajax request returned a string (did you get the JSON dataType wrong?)."),b.options.postProcess?(d=g._triggerNodeEvent("postProcess",b,b.originalEvent,{response:c,dataType:this.dataType}),c=a.isArray(d)?d:c):c&&c.hasOwnProperty("d")&&b.options.enableAspx&&(c="string"==typeof c.d?a.parseJSON(c.d):c.d),c},function(a,b,c){return g._makeHookContext(h,null,{error:a,args:Array.prototype.slice.call(arguments),message:c,details:a.status+": "+c})})),a.isFunction(c.promise)&&(g.nodeSetStatus(b,"loading"),c.done(function(){g.nodeSetStatus(b,"ok")}).fail(function(a){var c;c=a.node&&a.error&&a.message?a:g._makeHookContext(h,null,{error:a,args:Array.prototype.slice.call(arguments),message:a?a.message||a.toString():""}),g._triggerNodeEvent("loaderror",c,null),g.nodeSetStatus(b,"error",c.message,c.details)})),a.when(c).done(function(b){var c;a.isPlainObject(b)&&(f(a.isArray(b.children),"source must contain (or be) an array of children"),f(h.isRoot(),"source may only be an object for root nodes"),c=b,b=b.children,delete c.children,a.extend(g.data,c)),f(a.isArray(b),"expected array of children"),h._setChildren(b),h.parent&&g._triggerNodeEvent("loadChildren",h)})},nodeLoadKeyPath:function(){},nodeMakeVisible:function(a){var b,c,d=a.node.getParentList(!1,!1);for(b=0,c=d.length;c>b;b++)d[b].setExpanded(!0)},nodeRemoveChild:function(b,c){var d,e=b.node,g=b.options,h=a.extend({},b,{node:c}),i=e.children;return r.debug("nodeRemoveChild()",e.toString(),c.toString()),1===i.length?(f(c===i[0]),this.nodeRemoveChildren(b)):(this.activeNode&&(c===this.activeNode||this.activeNode.isDescendantOf(c))&&this.activeNode.setActive(!1),this.focusNode&&(c===this.focusNode||this.focusNode.isDescendantOf(c))&&(this.focusNode=null),this.nodeRemoveMarkup(h),this.nodeRemoveChildren(h),d=a.inArray(c,i),f(d>=0),c.visit(function(a){a.parent=null},!0),g.removeNode&&g.removeNode.call(b.tree,{type:"removeNode"},h),i.splice(d,1),void 0)},nodeRemoveChildMarkup:function(b){var c=b.node;r.debug("nodeRemoveChildMarkup()",c.toString()),c.ul&&(a(c.ul).remove(),c.visit(function(a){a.li=a.ul=null}),c.ul=null)},nodeRemoveChildren:function(b){var c,e=b.node,f=e.children,g=b.options;r.debug("nodeRemoveChildren()",e.toString()),f&&(this.activeNode&&this.activeNode.isDescendantOf(e)&&this.activeNode.setActive(!1),this.focusNode&&this.focusNode.isDescendantOf(e)&&(this.focusNode=null),this.nodeRemoveChildMarkup(b),c=a.extend({},b),e.visit(function(a){a.parent=null,g.removeNode&&(c.node=a,g.removeNode.call(b.tree,{type:"removeNode"},c))}),e.children=d,this.nodeRenderStatus(b))},nodeRemoveMarkup:function(b){var c=b.node;r.debug("nodeRemoveMarkup()",c.toString()),c.li&&(a(c.li).remove(),c.li=null),this.nodeRemoveChildMarkup(b)},nodeRender:function(b,d,e,g,h){var i,j,k,l,m,n,o=b.node,p=b.tree,q=b.options,r=q.aria,s=!1,t=o.parent,u=!t,v=o.children;if(u||t.ul){if(f(u||t.ul,"parent UL must exist"),u||(o.li&&(d||o.li.parentNode!==o.parent.ul)&&(o.li.parentNode!==o.parent.ul&&this.warn("unlink "+o+" (must be child of "+o.parent+")"),this.nodeRemoveMarkup(b)),o.li||(s=!0,o.li=c.createElement("li"),o.li.ftnode=o,o.key&&q.generateIds&&(o.li.id=q.idPrefix+o.key),o.span=c.createElement("span"),o.span.className="fancytree-node",r&&a(o.span).attr("aria-labelledby","ftal_"+o.key),o.li.appendChild(o.span),this.nodeRenderTitle(b),q.createNode&&q.createNode.call(p,{type:"createNode"},b)),q.renderNode&&q.renderNode.call(p,{type:"renderNode"},b)),v){if(u||o.expanded||e===!0){for(o.ul||(o.ul=c.createElement("ul"),(g===!0&&!h||!o.expanded)&&(o.ul.style.display="none"),r&&a(o.ul).attr("role","group"),o.li?o.li.appendChild(o.ul):o.tree.$div.append(o.ul)),l=0,m=v.length;m>l;l++)n=a.extend({},b,{node:v[l]}),this.nodeRender(n,d,e,!1,!0);for(i=o.ul.firstChild,l=0,m=v.length-1;m>l;l++)j=v[l],k=i.ftnode,j!==k?(o.debug("_fixOrder: mismatch at index "+l+": "+j+" != "+k),o.ul.insertBefore(j.li,k.li)):i=i.nextSibling}}else o.ul&&(this.warn("remove child markup for "+o),this.nodeRemoveChildMarkup(b));u||(this.nodeRenderStatus(b),s&&t.ul.appendChild(o.li))}},nodeRenderTitle:function(a,b){var c,e,f,g,h,i=a.node,j=a.tree,k=a.options,l=k.aria,m=i.getLevel(),n=[],o=i.data.icon;b!==d&&(i.title=b),i.span&&(m<k.minExpandLevel?m>1&&(l?n.push("<span role='button' class='fancytree-expander'></span>"):n.push("<span class='fancytree-expander'></span>")):l?n.push("<span role='button' class='fancytree-expander'></span>"):n.push("<span class='fancytree-expander'></span>"),k.checkbox&&i.hideCheckbox!==!0&&!i.isStatusNode&&(l?n.push("<span role='checkbox' class='fancytree-checkbox'></span>"):n.push("<span class='fancytree-checkbox'></span>")),g=l?" role='img'":"",o&&"string"==typeof o?(e="/"===o.charAt(0)?o:k.imagePath+o,n.push("<img src='"+e+"' alt='' />")):i.data.iconclass?n.push("<span "+g+" class='fancytree-custom-icon"+" "+i.data.iconclass+"'></span>"):(o===!0||o!==!1&&k.icons!==!1)&&n.push("<span "+g+" class='fancytree-icon'></span>"),f="",k.renderTitle&&(f=k.renderTitle.call(j,{type:"renderTitle"},a)||""),f||(h=i.tooltip?" title='"+i.tooltip.replace(/\"/g,""")+"'":"",c=l?" id='ftal_"+i.key+"'":"",g=l?" role='treeitem'":"",f="<span "+g+" class='fancytree-title'"+c+h+">"+i.title+"</span>"),n.push(f),i.span.innerHTML=n.join(""))},nodeRenderStatus:function(b){var c=b.node,d=b.tree,e=b.options,f=c.hasChildren(),g=c.isLastSibling(),h=e.aria,i=a(c.span).find(".fancytree-title"),j=e._classNames,k=[],l=c[d.statusClassPropName];l&&(k.push(j.node),d.activeNode===c&&k.push(j.active),d.focusNode===c?(k.push(j.focused),h&&i.attr("aria-activedescendant",!0)):h&&i.removeAttr("aria-activedescendant"),c.expanded?(k.push(j.expanded),h&&i.attr("aria-expanded",!0)):h&&i.removeAttr("aria-expanded"),c.folder&&k.push(j.folder),f!==!1&&k.push(j.hasChildren),g&&k.push(j.lastsib),c.lazy&&null==c.children&&k.push(j.lazy),c.partsel&&k.push(j.partsel),c.selected?(k.push(j.selected),h&&i.attr("aria-selected",!0)):h&&i.attr("aria-selected",!1),c.extraClasses&&k.push(c.extraClasses),f===!1?k.push(j.combinedExpanderPrefix+"n"+(g?"l":"")):k.push(j.combinedExpanderPrefix+(c.expanded?"e":"c")+(c.lazy&&null==c.children?"d":"")+(g?"l":"")),k.push(j.combinedIconPrefix+(c.expanded?"e":"c")+(c.folder?"f":"")),l.className=k.join(" "),c.li&&(c.li.className=g?j.lastsib:""))},nodeSetActive:function(b,c){var d,e=b.node,g=b.tree,h=b.options,i=e===g.activeNode;return c=c!==!1,e.debug("nodeSetActive",c),i===c?k(e):c&&this._triggerNodeEvent("beforeActivate",e,b.originalEvent)===!1?l(e,["rejected"]):(c?(g.activeNode&&(f(g.activeNode!==e,"node was active (inconsistency)"),d=a.extend({},b,{node:g.activeNode}),g.nodeSetActive(d,!1),f(null===g.activeNode,"deactivate was out of sync?")),h.activeVisible&&g.nodeMakeVisible(b),g.activeNode=e,g.nodeRenderStatus(b),g.nodeSetFocus(b),g._triggerNodeEvent("activate",e)):(f(g.activeNode===e,"node was not active (inconsistency)"),g.activeNode=null,this.nodeRenderStatus(b),b.tree._triggerNodeEvent("deactivate",e)),void 0)},nodeSetExpanded:function(b,c){var e,f,g,h,i,j,m=b.node,n=b.tree,o=b.options;if(c=c!==!1,m.debug("nodeSetExpanded("+c+")"),m.expanded&&c||!m.expanded&&!c)return m.debug("nodeSetExpanded("+c+"): nothing to do"),k(m);if(c&&!m.lazy&&!m.hasChildren())return l(m,["empty"]);if(!c&&m.getLevel()<o.minExpandLevel)return l(m,["locked"]);if(this._triggerNodeEvent("beforeExpand",m,b.originalEvent)===!1)return l(m,["rejected"]);if(f=new a.Deferred,c&&!m.expanded&&o.autoCollapse){i=m.getParentList(!1,!0),j=o.autoCollapse;try{for(o.autoCollapse=!1,g=0,h=i.length;h>g;g++)this._callHook("nodeCollapseSiblings",i[g])}finally{o.autoCollapse=j}}return f.done(function(){b.tree._triggerNodeEvent(c?"expand":"collapse",b),o.autoScroll&&m.getLastChild().scrollIntoView(!0,m)}),e=function(d){var e,f,g,h;if(m.expanded=c,n._callHook("nodeRender",b,!1,!1,!0),m.ul)if(g="none"!==m.ul.style.display,h=!!m.expanded,g===h)m.warn("nodeSetExpanded: UL.style.display already set");else{if(o.fx)return e=o.fx.duration||200,f=o.fx.easing,m.debug("nodeSetExpanded: animate start..."),a(m.ul).animate(o.fx,e,f,function(){m.debug("nodeSetExpanded: animate done"),d()}),void 0;m.ul.style.display=m.expanded||!parent?"":"none"}d()},c&&m.lazy&&m.hasChildren()===d?(m.debug("nodeSetExpanded: load start..."),m.lazyLoad().done(function(){m.debug("nodeSetExpanded: load done"),f.notifyWith&&f.notifyWith(m,["loaded"]),e(function(){f.resolveWith(m)})}).fail(function(a){e(function(){f.rejectWith(m,["load failed ("+a+")"])})})):e(function(){f.resolveWith(m)}),m.debug("nodeSetExpanded: returns"),f.promise()},nodeSetFocus:function(b,c){b.node.debug("nodeSetFocus("+c+")");var d,e=b.tree,f=b.node;if(c=c!==!1,e.focusNode){if(e.focusNode===f&&c)return f.debug("nodeSetFocus("+c+"): nothing to do"),void 0;d=a.extend({},b,{node:e.focusNode}),e.focusNode=null,this._triggerNodeEvent("blur",d),this._callHook("nodeRenderStatus",d)}c&&(this.hasFocus()||(f.debug("nodeSetFocus: forcing container focus"),this._callHook("treeSetFocus",b,!0,!0)),this.nodeMakeVisible(b),e.focusNode=f,this._triggerNodeEvent("focus",b),b.options.autoScroll&&f.scrollIntoView(),this._callHook("nodeRenderStatus",b))},nodeSetSelected:function(a,b){var c=a.node,d=a.tree,e=a.options;if(b=b!==!1,c.debug("nodeSetSelected("+b+")",a),!c.unselectable){if(c.selected&&b||!c.selected&&!b)return!!c.selected;if(this._triggerNodeEvent("beforeSelect",c,a.originalEvent)===!1)return!!c.selected;b&&1===e.selectMode?d.lastSelectedNode&&d.lastSelectedNode.setSelected(!1):3===e.selectMode&&(c.selected=b,c.fixSelection3AfterClick()),c.selected=b,this.nodeRenderStatus(a),d.lastSelectedNode=b?c:null,d._triggerNodeEvent("select",a)}},nodeSetStatus:function(b,c,d,e){var f,g,h=b.node,i=b.tree,j=b.options._classNames;switch(f=function(){var a=h.children?h.children[0]:null;if(a&&a.isStatusNode){try{h.ul&&(h.ul.removeChild(a.li),a.li=null)}catch(b){}1===h.children.length?h.children=[]:h.children.shift()}},g=function(b){var c=h.children?h.children[0]:null;return c&&c.isStatusNode?(a.extend(c,b),i._callHook("nodeRender",c)):(b.key="_statusNode",h._setChildren([b]),h.children[0].isStatusNode=!0,i.render()),h.children[0]},c){case"ok":f(),a(h.span).removeClass(j.loading),a(h.span).removeClass(j.error);break;case"loading":a(h.span).removeClass(j.error),a(h.span).addClass(j.loading),h.parent||g({title:i.options.strings.loading+(d?" ("+d+") ":""),tooltip:e,extraClasses:"fancytree-statusnode-wait"});break;case"error":a(h.span).removeClass(j.loading),a(h.span).addClass(j.error),g({title:i.options.strings.loadError+(d?" ("+d+") ":""),tooltip:e,extraClasses:"fancytree-statusnode-error"});break;default:a.error("invalid status "+c)}},nodeToggleExpanded:function(a){return this.nodeSetExpanded(a,!a.node.expanded)},nodeToggleSelected:function(a){return this.nodeSetSelected(a,!a.node.selected)},treeClear:function(a){var b=a.tree;b.activeNode=null,b.focusNode=null,b.$div.find(">ul.fancytree-container").empty(),b.rootNode.children=null},treeCreate:function(){},treeDestroy:function(){},treeInit:function(a){this.treeLoad(a)},treeLoad:function(b,c){var d,f,g,h=b.tree,i=b.widget.element,j=a.extend({},b,{node:this.rootNode});if(h.rootNode.children&&this.treeClear(b),c=c||this.options.source)"string"==typeof c&&e();else switch(d=i.data("type")||"html"){case"html":f=i.find(">ul:first"),f.addClass("ui-fancytree-source ui-helper-hidden"),c=a.ui.fancytree.parseHtml(f);break;case"json":c=a.parseJSON(i.text()),c.children&&(c.title&&(h.title=c.title),c=c.children);break;default:a.error("Invalid data-type: "+d)}return g=this.nodeLoadChildren(j,c).done(function(){h.render(),3===b.options.selectMode&&h.rootNode.fixSelection3FromEndNodes(),h._triggerTreeEvent("init",!0)}).fail(function(){h.render(),h._triggerTreeEvent("init",!1)})},treeSetFocus:function(a,b,c){b=b!==!1,this.debug("treeSetFocus("+b+"), _calledByNodeSetFocus: "+c),this.debug(" focusNode: "+this.focusNode),this.debug(" activeNode: "+this.activeNode),b!==this.hasFocus()&&(this._hasFocus=b,this.$container.toggleClass("fancytree-treefocus",b),this._triggerTreeEvent(b?"focusTree":"blurTree"))},reactivate:function(a){var b=this.activeNode;b&&(this.activeNode=null,b.setActive(),a&&b.setFocus())},reload:function(a){return this._callHook("treeClear",this),this._callHook("treeLoad",this,a)},render:function(a,b){return this.rootNode.render(a,b)},setFocus:function(a){return this._callHook("treeSetFocus",this,a)},toDict:function(a,b){var c=this.rootNode.toDict(!0,b);return a?c:c.children},toString:function(){return"<Fancytree(#"+this._id+")>"},_triggerNodeEvent:function(a,b,c,e){var f=this._makeHookContext(b,c,e),g=this.widget._trigger(a,c,f);
|
5
|
+
return g!==!1&&f.result!==d?f.result:g},_triggerTreeEvent:function(a,b){var c=this._makeHookContext(this,b),e=this.widget._trigger(a,b,c);return e!==!1&&c.result!==d?c.result:e},visit:function(a){return this.rootNode.visit(a,!1)},warn:function(){Array.prototype.unshift.call(arguments,this.toString()),g("warn",arguments)}},a.widget("ui.fancytree",{options:{activeVisible:!0,ajax:{type:"GET",cache:!1,dataType:"json"},aria:!1,autoActivate:!0,autoCollapse:!1,autoScroll:!1,checkbox:!1,clickFolderMode:4,debugLevel:null,disabled:!1,enableAspx:!0,extensions:[],fx:{height:"toggle",duration:200},generateIds:!1,icons:!0,idPrefix:"ft_",keyboard:!0,keyPathSeparator:"/",minExpandLevel:1,selectMode:2,strings:{loading:"Loading…",loadError:"Load error!"},tabbable:!0,_classNames:{node:"fancytree-node",folder:"fancytree-folder",combinedExpanderPrefix:"fancytree-exp-",combinedIconPrefix:"fancytree-ico-",hasChildren:"fancytree-has-children",active:"fancytree-active",selected:"fancytree-selected",expanded:"fancytree-expanded",lazy:"fancytree-lazy",focused:"fancytree-focused",partsel:"fancytree-partsel",lastsib:"fancytree-lastsib",loading:"fancytree-loading",error:"fancytree-error"},lazyload:null,postProcess:null},_create:function(){this.tree=new p(this),this.$source=this.source||"json"===this.element.data("type")?this.element:this.element.find(">ul:first");var b,c,e,g=this.options.extensions,h=this.tree;for(e=0;e<g.length;e++)c=g[e],b=a.ui.fancytree._extensions[c],b||a.error("Could not apply extension '"+c+"' (it is not registered, did you forget to include it?)"),this.tree.options[c]=a.extend(!0,{},b.options,this.tree.options[c]),f(this.tree.ext[c]===d,"Extension name must not exist as Fancytree.ext attribute: '"+c+"'"),this.tree.ext[c]={},j(this.tree,h,b,c),h=b;this.tree._callHook("treeCreate",this.tree)},_init:function(){this.tree._callHook("treeInit",this.tree),this._bind()},_setOption:function(b,c){var d=!0,e=!1;switch(b){case"aria":case"checkbox":case"icons":case"minExpandLevel":case"tabbable":this.tree._callHook("treeCreate",this.tree),e=!0;break;case"source":d=!1,this.tree._callHook("treeLoad",this.tree,c)}this.tree.debug("set option "+b+"="+c+" <"+typeof c+">"),d&&a.Widget.prototype._setOption.apply(this,arguments),e&&this.tree.render(!0,!1)},destroy:function(){this._unbind(),this.tree._callHook("treeDestroy",this.tree),this.tree.$div.find(">ul.fancytree-container").remove(),this.$source&&this.$source.removeClass("ui-helper-hidden"),a.Widget.prototype.destroy.call(this)},_unbind:function(){var b=this.tree._ns;this.element.unbind(b),this.tree.$container.unbind(b),a(c).unbind(b)},_bind:function(){var a=this,b=this.options,c=this.tree,d=c._ns;this._unbind(),c.$container.on("focusin"+d+" focusout"+d,function(a){var b=r.getNode(a),d="focusin"===a.type;b?c._callHook("nodeSetFocus",b,d):c._callHook("treeSetFocus",c,d)}).on("selectstart"+d,"span.fancytree-title",function(a){a.preventDefault()}).on("keydown"+d,function(a){if(b.disabled||b.keyboard===!1)return!0;var d,e=c.focusNode,f=c._makeHookContext(e||c,a),g=c.phase;try{return c.phase="userEvent",d=e?c._triggerNodeEvent("keydown",e,a):c._triggerTreeEvent("keydown",a),"preventNav"===d?d=!0:d!==!1&&(d=c._callHook("nodeKeydown",f)),d}finally{c.phase=g}}).on("click"+d+" dblclick"+d,function(c){if(b.disabled)return!0;var d,e=r.getEventTarget(c),f=e.node,g=a.tree,h=g.phase;if(!f)return!0;d=g._makeHookContext(f,c);try{switch(g.phase="userEvent",c.type){case"click":return d.targetType=e.type,g._triggerNodeEvent("click",d,c)===!1?!1:g._callHook("nodeClick",d);case"dblclick":return d.targetType=e.type,g._triggerNodeEvent("dblclick",d,c)===!1?!1:g._callHook("nodeDblclick",d)}}finally{g.phase=h}})},getActiveNode:function(){return this.tree.activeNode},getNodeByKey:function(a){return this.tree.getNodeByKey(a)},getRootNode:function(){return this.tree.rootNode},getTree:function(){return this.tree}}),r=a.ui.fancytree,a.extend(a.ui.fancytree,{version:"2.0.0-5",buildType:"release",debugLevel:1,_nextId:1,_nextNodeKey:1,_extensions:{},_FancytreeClass:p,_FancytreeNodeClass:o,jquerySupports:{positionMyOfs:h(a.ui.version,1,9)},assert:function(a,b){return f(a,b)},debug:function(){a.ui.fancytree.debugLevel>=2&&g("log",arguments)},error:function(){g("error",arguments)},getEventTargetType:function(a){return this.getEventTarget(a).type},getEventTarget:function(a){var b=a&&a.target?a.target.className:"",c={node:this.getNode(a.target),type:d};return/\bfancytree-title\b/.test(b)?c.type="title":/\bfancytree-expander\b/.test(b)?c.type=c.node.hasChildren()===!1?"prefix":"expander":/\bfancytree-checkbox\b/.test(b)?c.type="checkbox":/\bfancytree-icon\b/.test(b)?c.type="icon":/\bfancytree-node\b/.test(b)&&(c.type="title"),c},getNode:function(a){if(a instanceof o)return a;for(a.selector!==d?a=a[0]:a.originalEvent!==d&&(a=a.target);a;){if(a.ftnode)return a.ftnode;a=a.parentNode}return null},info:function(){a.ui.fancytree.debugLevel>=1&&g("info",arguments)},parseHtml:function(b){var c,e,f,g,h,i,j,k=b.find(">li"),l=[];return k.each(function(){var k,m,n=a(this),o=n.find(">span:first",this),p=o.length?null:n.find(">a:first"),q={tooltip:null,data:{}};for(o.length?q.title=o.html():p&&p.length?(q.title=p.html(),q.data.href=p.attr("href"),q.data.target=p.attr("target"),q.tooltip=p.attr("title")):(q.title=n.html(),g=q.title.search(/<ul/i),g>=0&&(q.title=q.title.substring(0,g))),q.title=a.trim(q.title),e=0,f=s.length;f>e;e++)q[s[e]]=d;for(i=this.className.split(" "),c=[],e=0,f=i.length;f>e;e++)j=i[e],t[j]?q[j]=!0:c.push(j);q.extraClasses=c.join(" "),h=n.attr("title"),h&&(q.tooltip=h),h=n.attr("id"),h&&(q.key=h),k=n.data(),k&&!a.isEmptyObject(k)&&(m=k.json,delete k.json,a.extend(q.data,k),m&&a.extend(q.data,m)),b=n.find(">ul:first"),q.children=b.length?a.ui.fancytree.parseHtml(b):q.lazy?d:null,l.push(q)}),l},registerExtension:function(b,c){a.ui.fancytree._extensions[b]=c},warn:function(){g("warn",arguments)}})}(jQuery,window,document);
|
6
|
+
//# sourceMappingURL=jquery.fancytree.min.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"build/jquery.fancytree.min.js","sources":["jquery.fancytree.js"],"names":["$","window","document","undefined","_raiseNotImplemented","msg","error","_assert","cond","consoleApply","method","args","i","s","fn","console","apply","length","isVersionAtLeast","dottedVersion","v","t","verParts","map","trim","split","e","parseInt","testParts","Array","prototype","slice","call","arguments","_makeVirtualFunction","methodName","tree","base","extension","extName","proxy","prevFunc","baseFunc","_local","ext","_super","prevLocal","prevSuper","_subclassObject","attrName","charAt","_getResolvedPromise","context","argArray","Deferred","this","resolve","promise","resolveWith","_getRejectedPromise","reject","rejectWith","_makeResolveFunc","deferred","_makeNodeTitleMatcher","toLowerCase","node","title","indexOf","FancytreeNode","parent","obj","l","name","cl","ul","li","isStatusNode","data","NODE_ATTRS","extend","NODE_ATTR_MAP","isFunction","NONE_NODE_DATA_MAP","key","FT","_nextNodeKey","active","activeNode","children","_setChildren","Fancytree","widget","$div","element","options","_id","ui","fancytree","_nextId","_ns","focusNode","_hasFocus","lastSelectedNode","systemFocusElement","statusClassPropName","ariaPropName","nodeContainerAttrName","find","remove","$ul","fakeParent","rootNode","class","appendTo","$container","debugLevel","attr","tabbable","aria","version","warn","CLASS_ATTRS","CLASS_ATTR_MAP","focus","_findDirectChild","ptr","push","addChildren","insertBefore","pos","firstNode","nodeList","isPlainObject","concat","inArray","splice","tr","render","selectMode","fixSelection3FromEndNodes","addNode","mode","getParent","getNextSibling","applyPatch","patch","IGNORE_MAP","expanded","hasOwnProperty","removeChildren","isVisible","renderTitle","renderStatus","setExpanded","collapseSiblings","_callHook","copyTo","toDict","countChildren","deep","n","debug","unshift","toString","discard","lazy","isArray","findAll","match","res","visit","findFirst","_changeSelectStatusAttrs","state","changed","selected","partsel","fixSelection3AfterClick","flag","isSelected","_walk","child","allSelected","someSelected","visitParents","unselectable","fromDict","dict","getChildren","hasChildren","getFirstChild","getIndex","getIndexHier","separator","each","getParentList","o","join","getKeyPath","excludeSelf","path","sep","keyPathSeparator","getLastChild","getLevel","level","dtn","ac","includeRoot","includeSelf","getPrevSibling","hasFocus","isActive","isChildOf","otherNode","isDescendantOf","p","isExpanded","isFirstSibling","isFolder","folder","isLastSibling","isLazy","isLoading","isRoot","parents","makeVisible","moveTo","targetNode","prevParent","targetParent","removeChild","navigate","where","activate","_goto","setFocus","setActive","handled","KC","keyCode","sib","BACKSPACE","LEFT","RIGHT","UP","DOWN","lazyLoad","source","_triggerNodeEvent","force","childNode","scheduleAction","ms","timer","clearTimeout","self","setTimeout","scrollIntoView","effects","topNode","duration","queue","topNodeY","dfd","nodeY","span","position","top","nodeHeight","height","scrollTop","horzScrollHeight","Math","max","innerHeight","clientHeight","containerHeight","newScrollTop","animate","setSelected","setTitle","sortChildren","cmp","a","b","x","y","sort","recursive","callback","isEmptyObject","toggleExpanded","toggleSelected","_makeHookContext","originalEvent","extra","ctx","funcName","contextObject","activateKey","getNodeByKey","patchList","p2","patchCount","deferredList","always","when","count","generateFormElements","selectedName","activeName","id","$result","empty","hide","getSelectedNodes","idx","append","type","value","checked","getActiveNode","getFocusNode","searchRoot","el","getElementById","idPrefix","ftnode","stopOnParents","info","loadKeyPath","keyPathList","_rootNode","__lazyload","done","loadMap","fail","root","segList","substr","shift","nodeClick","expand","event","targetType","clickFolderMode","nodeSetFocus","target","localName","className","preventDefault","nodeCollapseSiblings","nodeDblclick","nodeKeydown","opts","ctrlKey","autoActivate","which","NUMPAD_ADD","nodeSetExpanded","NUMPAD_SUBTRACT","SPACE","checkbox","nodeToggleSelected","nodeSetActive","ENTER","nodeLoadChildren","ajax","delay","url","debugDelay","random","round","pipe","postProcess","response","dataType","enableAspx","d","parseJSON","jqXHR","textStatus","errorThrown","message","details","status","nodeSetStatus","ctxErr","metaData","nodeLoadKeyPath","nodeMakeVisible","nodeRemoveChild","subCtx","nodeRemoveChildren","nodeRemoveMarkup","removeNode","nodeRemoveChildMarkup","nodeRenderStatus","nodeRender","collapsed","_recursive","childLI","childNode1","childNode2","firstTime","isRootNode","parentNode","createElement","generateIds","appendChild","nodeRenderTitle","createNode","renderNode","style","display","firstChild","nextSibling","imageSrc","nodeTitle","role","tooltip","ares","icon","minExpandLevel","hideCheckbox","imagePath","iconclass","icons","replace","innerHTML","isLastSib","$ariaElem","cn","_classNames","cnList","statusElem","focused","removeAttr","lastsib","extraClasses","combinedExpanderPrefix","combinedIconPrefix","activeVisible","_afterLoad","prevAC","autoCollapse","autoScroll","easing","fx","notifyWith","errMsg","ctx2","nodeSetSelected","_clearStatusNode","_setStatusNode","removeClass","loading","addClass","strings","loadError","nodeToggleExpanded","treeClear","treeCreate","treeDestroy","treeInit","treeLoad","rootCtx","parseHtml","text","_triggerTreeEvent","treeSetFocus","_calledByNodeSetFocus","toggleClass","reactivate","reload","_trigger","result","cache","disabled","extensions","keyboard","lazyload","_create","$source","_extensions","_init","_bind","_setOption","callDefault","rerender","Widget","destroy","_unbind","ns","unbind","that","on","getNode","prevPhase","phase","et","getEventTarget","getRootNode","getTree","buildType","_FancytreeClass","_FancytreeNodeClass","jquerySupports","positionMyOfs","assert","getEventTargetType","tcn","test","selector","iPos","tmp","classes","$children","allData","jsonData","$li","$liSpan","$liA","html","href","search","substring","json","registerExtension","definition","jQuery"],"mappings":"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"}
|
@@ -0,0 +1,272 @@
|
|
1
|
+
/*!
|
2
|
+
* Fancytree "awesome" skin.
|
3
|
+
*
|
4
|
+
* DON'T EDIT THE CSS FILE DIRECTLY, since it is automatically generated from
|
5
|
+
* the LESS templates.
|
6
|
+
*/
|
7
|
+
/*******************************************************************************
|
8
|
+
* Common Styles for Fancytree Skins.
|
9
|
+
*
|
10
|
+
* This section is automatically generated from the `skin-common.less` template.
|
11
|
+
******************************************************************************/
|
12
|
+
/*------------------------------------------------------------------------------
|
13
|
+
* Helpers
|
14
|
+
*----------------------------------------------------------------------------*/
|
15
|
+
.ui-helper-hidden {
|
16
|
+
display: none;
|
17
|
+
}
|
18
|
+
/*------------------------------------------------------------------------------
|
19
|
+
* Container and UL / LI
|
20
|
+
*----------------------------------------------------------------------------*/
|
21
|
+
ul.fancytree-container {
|
22
|
+
font-family: tahoma, arial, helvetica;
|
23
|
+
font-size: 10pt;
|
24
|
+
white-space: nowrap;
|
25
|
+
padding: 3px;
|
26
|
+
margin: 0;
|
27
|
+
background-color: white;
|
28
|
+
border: 1px dotted gray;
|
29
|
+
overflow: auto;
|
30
|
+
height: 100%;
|
31
|
+
}
|
32
|
+
ul.fancytree-container ul {
|
33
|
+
padding: 0 0 0 16px;
|
34
|
+
margin: 0;
|
35
|
+
}
|
36
|
+
ul.fancytree-container li {
|
37
|
+
list-style-image: none;
|
38
|
+
list-style-position: outside;
|
39
|
+
list-style-type: none;
|
40
|
+
-moz-background-clip: border;
|
41
|
+
-moz-background-inline-policy: continuous;
|
42
|
+
-moz-background-origin: padding;
|
43
|
+
background-attachment: scroll;
|
44
|
+
background-color: transparent;
|
45
|
+
background-position: 0em 0em;
|
46
|
+
background-repeat: repeat-y;
|
47
|
+
background-image: none;
|
48
|
+
margin: 0;
|
49
|
+
padding: 1px 0 0 0;
|
50
|
+
}
|
51
|
+
ul.fancytree-container li.fancytree-lastsib {
|
52
|
+
background-image: none;
|
53
|
+
}
|
54
|
+
ul.fancytree-no-connector > li {
|
55
|
+
background-image: none;
|
56
|
+
}
|
57
|
+
.ui-fancytree-disabled ul.fancytree-container {
|
58
|
+
opacity: 0.5;
|
59
|
+
background-color: silver;
|
60
|
+
}
|
61
|
+
/*------------------------------------------------------------------------------
|
62
|
+
* Common icon definitions
|
63
|
+
*----------------------------------------------------------------------------*/
|
64
|
+
span.fancytree-empty,
|
65
|
+
span.fancytree-vline,
|
66
|
+
span.fancytree-expander,
|
67
|
+
span.fancytree-icon,
|
68
|
+
span.fancytree-checkbox,
|
69
|
+
span.fancytree-radio,
|
70
|
+
span.fancytree-drag-helper-img,
|
71
|
+
#fancytree-drop-marker {
|
72
|
+
width: 1em;
|
73
|
+
height: 1em;
|
74
|
+
display: inline-block;
|
75
|
+
vertical-align: top;
|
76
|
+
background-repeat: no-repeat;
|
77
|
+
background-position: left;
|
78
|
+
background-image: url("icons.gif");
|
79
|
+
background-position: 0em 0em;
|
80
|
+
}
|
81
|
+
/* Used by iconclass option */
|
82
|
+
span.fancytree-custom-icon {
|
83
|
+
display: inline-block;
|
84
|
+
}
|
85
|
+
/* Used by 'icon' node option: */
|
86
|
+
.fancytree-container img {
|
87
|
+
width: 1em;
|
88
|
+
height: 1em;
|
89
|
+
margin-left: 0.5em;
|
90
|
+
vertical-align: top;
|
91
|
+
border-style: none;
|
92
|
+
}
|
93
|
+
/*------------------------------------------------------------------------------
|
94
|
+
* Expander icon
|
95
|
+
*
|
96
|
+
* Note: IE6 doesn't correctly evaluate multiples class names,
|
97
|
+
* so we create combined class names that can be used in the CSS.
|
98
|
+
*
|
99
|
+
* Prefix: fancytree-exp-
|
100
|
+
* 1st character: 'e': expanded, 'c': collapsed, 'n': no children
|
101
|
+
* 2nd character (optional): 'd': lazy (Delayed)
|
102
|
+
* 3rd character (optional): 'l': Last sibling
|
103
|
+
*----------------------------------------------------------------------------*/
|
104
|
+
span.fancytree-expander {
|
105
|
+
cursor: pointer;
|
106
|
+
}
|
107
|
+
.fancytree-exp-n span.fancytree-expander,
|
108
|
+
.fancytree-exp-nl span.fancytree-expander {
|
109
|
+
background-image: none;
|
110
|
+
cursor: default;
|
111
|
+
}
|
112
|
+
.fancytree-loading span.fancytree-expander {
|
113
|
+
background-image: url("loading.gif");
|
114
|
+
}
|
115
|
+
/*------------------------------------------------------------------------------
|
116
|
+
* Checkbox icon
|
117
|
+
*----------------------------------------------------------------------------*/
|
118
|
+
span.fancytree-checkbox {
|
119
|
+
margin-left: 0.5em;
|
120
|
+
}
|
121
|
+
/*------------------------------------------------------------------------------
|
122
|
+
* Radiobutton icon
|
123
|
+
* This is a customization, that may be activated by overriding the 'checkbox'
|
124
|
+
* class name as 'fancytree-radio' in the tree options.
|
125
|
+
*----------------------------------------------------------------------------*/
|
126
|
+
.fancytree-radio span.fancytree-checkbox {
|
127
|
+
margin-left: 0.5em;
|
128
|
+
}
|
129
|
+
/*------------------------------------------------------------------------------
|
130
|
+
* Node type icon
|
131
|
+
* Note: IE6 doesn't correctly evaluate multiples class names,
|
132
|
+
* so we create combined class names that can be used in the CSS.
|
133
|
+
*
|
134
|
+
* Prefix: fancytree-ico-
|
135
|
+
* 1st character: 'e': expanded, 'c': collapsed
|
136
|
+
* 2nd character (optional): 'f': folder
|
137
|
+
*----------------------------------------------------------------------------*/
|
138
|
+
span.fancytree-icon {
|
139
|
+
margin-left: 0.5em;
|
140
|
+
}
|
141
|
+
/* Documents */
|
142
|
+
/* Folders */
|
143
|
+
/* Status node icons */
|
144
|
+
.fancytree-statusnode-wait span.fancytree-icon {
|
145
|
+
background-image: url("loading.gif");
|
146
|
+
}
|
147
|
+
/*------------------------------------------------------------------------------
|
148
|
+
* Node titles and highlighting
|
149
|
+
*----------------------------------------------------------------------------*/
|
150
|
+
span.fancytree-node {
|
151
|
+
display: inline-block;
|
152
|
+
width: 100%;
|
153
|
+
}
|
154
|
+
span.fancytree-title {
|
155
|
+
display: inline-block;
|
156
|
+
padding-left: 3px;
|
157
|
+
padding-right: 3px;
|
158
|
+
color: black;
|
159
|
+
vertical-align: top;
|
160
|
+
margin: 0px;
|
161
|
+
margin-left: 3px;
|
162
|
+
cursor: pointer;
|
163
|
+
}
|
164
|
+
/*------------------------------------------------------------------------------
|
165
|
+
* Drag'n'drop support
|
166
|
+
*----------------------------------------------------------------------------*/
|
167
|
+
div.fancytree-drag-helper a {
|
168
|
+
border: 1px solid gray;
|
169
|
+
background-color: white;
|
170
|
+
padding-left: 5px;
|
171
|
+
padding-right: 5px;
|
172
|
+
opacity: 0.8;
|
173
|
+
}
|
174
|
+
div.fancytree-drag-helper.fancytree-drop-reject {
|
175
|
+
border-color: red;
|
176
|
+
}
|
177
|
+
/*** Drop marker icon *********************************************************/
|
178
|
+
#fancytree-drop-marker {
|
179
|
+
width: 2em;
|
180
|
+
position: absolute;
|
181
|
+
margin: 0;
|
182
|
+
}
|
183
|
+
#fancytree-drop-marker.fancytree-drop-after,
|
184
|
+
#fancytree-drop-marker.fancytree-drop-before {
|
185
|
+
width: 4em;
|
186
|
+
}
|
187
|
+
/*** Source node while dragging ***********************************************/
|
188
|
+
span.fancytree-drag-source {
|
189
|
+
background-color: #e0e0e0;
|
190
|
+
}
|
191
|
+
span.fancytree-drag-source span.fancytree.title {
|
192
|
+
color: gray;
|
193
|
+
}
|
194
|
+
/*** Target node while dragging cursor is over it *****************************/
|
195
|
+
span.fancytree-drop-target.fancytree-drop-accept a {
|
196
|
+
background-color: #3169C6 !important;
|
197
|
+
color: white !important;
|
198
|
+
/* @ IE6 */
|
199
|
+
text-decoration: none;
|
200
|
+
}
|
201
|
+
/*------------------------------------------------------------------------------
|
202
|
+
* 'table' extension
|
203
|
+
*----------------------------------------------------------------------------*/
|
204
|
+
table.fancytree-ext-table {
|
205
|
+
border-collapse: collapse;
|
206
|
+
}
|
207
|
+
/*------------------------------------------------------------------------------
|
208
|
+
* 'columnview' extension
|
209
|
+
*----------------------------------------------------------------------------*/
|
210
|
+
table.fancytree-ext-columnview tbody tr td {
|
211
|
+
position: relative;
|
212
|
+
border: 1px solid gray;
|
213
|
+
vertical-align: top;
|
214
|
+
overflow: auto;
|
215
|
+
}
|
216
|
+
table.fancytree-ext-columnview tbody tr td > ul {
|
217
|
+
padding: 0;
|
218
|
+
}
|
219
|
+
table.fancytree-ext-columnview tbody tr td > ul li {
|
220
|
+
list-style-image: none;
|
221
|
+
list-style-position: outside;
|
222
|
+
list-style-type: none;
|
223
|
+
-moz-background-clip: border;
|
224
|
+
-moz-background-inline-policy: continuous;
|
225
|
+
-moz-background-origin: padding;
|
226
|
+
background-attachment: scroll;
|
227
|
+
background-color: transparent;
|
228
|
+
background-position: 0em 0em;
|
229
|
+
background-repeat: repeat-y;
|
230
|
+
background-image: none;
|
231
|
+
/* no v-lines */
|
232
|
+
margin: 0;
|
233
|
+
padding: 1px 0 0 0;
|
234
|
+
}
|
235
|
+
table.fancytree-ext-columnview span.fancytree-node {
|
236
|
+
position: relative;
|
237
|
+
/* allow positioning of embedded spans */
|
238
|
+
}
|
239
|
+
table.fancytree-ext-columnview span.fancytree-node.fancytree-expanded {
|
240
|
+
background-color: #CBE8F6;
|
241
|
+
}
|
242
|
+
table.fancytree-ext-columnview .fancytree-has-children span.fancytree-cv-right {
|
243
|
+
position: absolute;
|
244
|
+
right: 3px;
|
245
|
+
}
|
246
|
+
/*------------------------------------------------------------------------------
|
247
|
+
* 'filter' extension
|
248
|
+
*----------------------------------------------------------------------------*/
|
249
|
+
.fancytree-ext-filter span.fancytree-node span.fancytree-title {
|
250
|
+
color: silver;
|
251
|
+
font-weight: lighter;
|
252
|
+
}
|
253
|
+
.fancytree-ext-filter span.fancytree-node.fancytree-submatch span.fancytree-title {
|
254
|
+
color: black;
|
255
|
+
font-weight: normal;
|
256
|
+
}
|
257
|
+
.fancytree-ext-filter span.fancytree-node.fancytree-match span.fancytree-title {
|
258
|
+
color: black;
|
259
|
+
font-weight: bold;
|
260
|
+
}
|
261
|
+
/*******************************************************************************
|
262
|
+
* Styles specific to this skin.
|
263
|
+
*
|
264
|
+
* This section is automatically generated from the `ui-fancytree.less` template.
|
265
|
+
******************************************************************************/
|
266
|
+
ul.fancytree-container ul {
|
267
|
+
padding: 0.3em 0 0 1em;
|
268
|
+
margin: 0;
|
269
|
+
}
|
270
|
+
.fancytree-container {
|
271
|
+
border: 5px solid green;
|
272
|
+
}
|
Binary file
|
Binary file
|
@@ -0,0 +1,460 @@
|
|
1
|
+
/*******************************************************************************
|
2
|
+
* Tree container
|
3
|
+
|
4
|
+
Lion colors:
|
5
|
+
gray highlight bar: #D4D4D4
|
6
|
+
blue highlight-bar and -border #3875D7
|
7
|
+
|
8
|
+
|
9
|
+
*/
|
10
|
+
.ui-helper-hidden {
|
11
|
+
display: none;
|
12
|
+
}
|
13
|
+
|
14
|
+
.fancytree-container
|
15
|
+
{
|
16
|
+
font-family: tahoma, arial, helvetica;
|
17
|
+
font-size: 10pt; /* font size should not be too big */
|
18
|
+
white-space: nowrap;
|
19
|
+
padding: 3px;
|
20
|
+
margin: 0; /* issue 201 */
|
21
|
+
background-color: white;
|
22
|
+
border: 1px dotted gray;
|
23
|
+
overflow: auto;
|
24
|
+
height: 100%; /* issue 263 */
|
25
|
+
}
|
26
|
+
|
27
|
+
ul.fancytree-container ul
|
28
|
+
{
|
29
|
+
padding: 0 0 0 16px;
|
30
|
+
margin: 0;
|
31
|
+
}
|
32
|
+
|
33
|
+
ul.fancytree-container li
|
34
|
+
{
|
35
|
+
list-style-image: none;
|
36
|
+
list-style-position: outside;
|
37
|
+
list-style-type: none;
|
38
|
+
-moz-background-clip:border;
|
39
|
+
-moz-background-inline-policy: continuous;
|
40
|
+
-moz-background-origin: padding;
|
41
|
+
background-attachment: scroll;
|
42
|
+
background-color: transparent;
|
43
|
+
background-position: 0 0;
|
44
|
+
background-repeat: repeat-y;
|
45
|
+
background-image: none; /* no v-lines */
|
46
|
+
|
47
|
+
margin:0;
|
48
|
+
padding:1px 0 0 0;
|
49
|
+
}
|
50
|
+
/* Suppress lines for last child node */
|
51
|
+
ul.fancytree-container li.fancytree-lastsib
|
52
|
+
{
|
53
|
+
background-image: none;
|
54
|
+
}
|
55
|
+
/* Suppress lines if level is fixed expanded (option minExpandLevel) */
|
56
|
+
ul.fancytree-no-connector > li
|
57
|
+
{
|
58
|
+
background-image: none;
|
59
|
+
}
|
60
|
+
|
61
|
+
/* Style, when control is disabled */
|
62
|
+
.ui-fancytree-disabled ul.fancytree-container
|
63
|
+
{
|
64
|
+
opacity: 0.5;
|
65
|
+
/* filter: alpha(opacity=50); /* Yields a css warning */
|
66
|
+
background-color: silver;
|
67
|
+
}
|
68
|
+
|
69
|
+
|
70
|
+
/*******************************************************************************
|
71
|
+
* Common icon definitions
|
72
|
+
*/
|
73
|
+
span.fancytree-empty,
|
74
|
+
span.fancytree-vline,
|
75
|
+
/*span.fancytree-connector,*/
|
76
|
+
span.fancytree-expander,
|
77
|
+
span.fancytree-icon,
|
78
|
+
span.fancytree-checkbox,
|
79
|
+
span.fancytree-radio,
|
80
|
+
span.fancytree-drag-helper-img,
|
81
|
+
#fancytree-drop-marker
|
82
|
+
{
|
83
|
+
width: 16px;
|
84
|
+
height: 16px;
|
85
|
+
display: inline-block; /* Required to make a span sizable */
|
86
|
+
vertical-align: top;
|
87
|
+
background-repeat: no-repeat;
|
88
|
+
background-position: left;
|
89
|
+
background-image: url("icons.gif");
|
90
|
+
background-position: 0 0;
|
91
|
+
}
|
92
|
+
/** Used by iconclass option */
|
93
|
+
span.fancytree-custom-icon {
|
94
|
+
display: inline-block;
|
95
|
+
}
|
96
|
+
/** Used by 'icon' node option: */
|
97
|
+
.fancytree-container img
|
98
|
+
{
|
99
|
+
width: 16px;
|
100
|
+
height: 16px;
|
101
|
+
margin-left: 3px;
|
102
|
+
vertical-align: top;
|
103
|
+
border-style: none;
|
104
|
+
}
|
105
|
+
|
106
|
+
|
107
|
+
/*******************************************************************************
|
108
|
+
* Lines and connectors
|
109
|
+
*/
|
110
|
+
/* span.fancytree-connector
|
111
|
+
{
|
112
|
+
background-image: none;
|
113
|
+
}
|
114
|
+
*/
|
115
|
+
/*******************************************************************************
|
116
|
+
* Expander icon
|
117
|
+
* Note: IE6 doesn't correctly evaluate multiples class names,
|
118
|
+
* so we create combined class names that can be used in the CSS.
|
119
|
+
*
|
120
|
+
* Prefix: fancytree-exp-
|
121
|
+
* 1st character: 'e': expanded, 'c': collapsed, 'n': no children
|
122
|
+
* 2nd character (optional): 'd': lazy (Delayed)
|
123
|
+
* 3rd character (optional): 'l': Last sibling
|
124
|
+
*/
|
125
|
+
|
126
|
+
span.fancytree-expander
|
127
|
+
{
|
128
|
+
background-position: 0px -80px;
|
129
|
+
cursor: pointer;
|
130
|
+
}
|
131
|
+
span.fancytree-expander:hover { background-position: -16px -80px; }
|
132
|
+
.fancytree-exp-n span.fancytree-expander:hover /* Collapsed, not delayed, not last sibling */
|
133
|
+
{
|
134
|
+
background-position: -16px -80px;
|
135
|
+
}
|
136
|
+
.fancytree-exp-cl span.fancytree-expander /* Collapsed, not delayed, last sibling */
|
137
|
+
{
|
138
|
+
}
|
139
|
+
.fancytree-exp-cd span.fancytree-expander /* Collapsed, delayed, not last sibling */
|
140
|
+
{
|
141
|
+
}
|
142
|
+
.fancytree-exp-cdl span.fancytree-expander /* Collapsed, delayed, last sibling */
|
143
|
+
{
|
144
|
+
}
|
145
|
+
.fancytree-exp-e span.fancytree-expander, /* Expanded, not delayed, not last sibling */
|
146
|
+
.fancytree-exp-ed span.fancytree-expander, /* Expanded, delayed, not last sibling */
|
147
|
+
.fancytree-exp-el span.fancytree-expander, /* Expanded, not delayed, last sibling */
|
148
|
+
.fancytree-exp-edl span.fancytree-expander /* Expanded, delayed, last sibling */
|
149
|
+
{
|
150
|
+
background-position: -32px -80px;
|
151
|
+
}
|
152
|
+
.fancytree-exp-e span.fancytree-expander:hover, /* Expanded, not delayed, not last sibling */
|
153
|
+
.fancytree-exp-ed span.fancytree-expander:hover, /* Expanded, delayed, not last sibling */
|
154
|
+
.fancytree-exp-el span.fancytree-expander:hover, /* Expanded, not delayed, last sibling */
|
155
|
+
.fancytree-exp-edl span.fancytree-expander:hover /* Expanded, delayed, last sibling */
|
156
|
+
{
|
157
|
+
background-position: -48px -80px;
|
158
|
+
}
|
159
|
+
.fancytree-loading span.fancytree-expander /* 'Loading' status overrides all others */
|
160
|
+
{
|
161
|
+
background-position: 0 0;
|
162
|
+
background-image: url("loading.gif");
|
163
|
+
}
|
164
|
+
|
165
|
+
.fancytree-exp-n span.fancytree-expander, /* Connector instead of expander, if node has no children */
|
166
|
+
.fancytree-exp-nl span.fancytree-expander
|
167
|
+
{
|
168
|
+
background-image: none;
|
169
|
+
cursor: default;
|
170
|
+
}
|
171
|
+
|
172
|
+
|
173
|
+
/*******************************************************************************
|
174
|
+
* Checkbox icon
|
175
|
+
*/
|
176
|
+
span.fancytree-checkbox {
|
177
|
+
margin-left: 3px;
|
178
|
+
background-position: 0px -32px;
|
179
|
+
}
|
180
|
+
span.fancytree-checkbox:hover { background-position: -16px -32px; }
|
181
|
+
.fancytree-partsel span.fancytree-checkbox { background-position: -64px -32px; }
|
182
|
+
.fancytree-partsel span.fancytree-checkbox:hover { background-position: -80px -32px; }
|
183
|
+
.fancytree-selected span.fancytree-checkbox { background-position: -32px -32px; }
|
184
|
+
.fancytree-selected span.fancytree-checkbox:hover { background-position: -48px -32px; }
|
185
|
+
|
186
|
+
/*******************************************************************************
|
187
|
+
* Radiobutton icon
|
188
|
+
*/
|
189
|
+
.fancytree-radio span.fancytree-checkbox {
|
190
|
+
margin-left: 3px;
|
191
|
+
background-position: 0px -48px;
|
192
|
+
}
|
193
|
+
.fancytree-radio span.fancytree-checkbox:hover { background-position: -16px -48px; }
|
194
|
+
.fancytree-radio .fancytree-partsel span.fancytree-checkbox { background-position: -64px -48px; }
|
195
|
+
.fancytree-radio .fancytree-partsel span.fancytree-checkbox:hover { background-position: -80px -48px; }
|
196
|
+
.fancytree-radio .fancytree-selected span.fancytree-checkbox { background-position: -32px -48px; }
|
197
|
+
.fancytree-radio .fancytree-selected span.fancytree-checkbox:hover { background-position: -48px -48px; }
|
198
|
+
|
199
|
+
/*******************************************************************************
|
200
|
+
* Node type icon
|
201
|
+
* Note: IE6 doesn't correctly evaluate multiples class names,
|
202
|
+
* so we create combined class names that can be used in the CSS.
|
203
|
+
*
|
204
|
+
* Prefix: fancytree-ico-
|
205
|
+
* 1st character: 'e': expanded, 'c': collapsed
|
206
|
+
* 2nd character (optional): 'f': folder
|
207
|
+
*/
|
208
|
+
span.fancytree-icon /* Default icon */
|
209
|
+
{
|
210
|
+
margin-left: 3px;
|
211
|
+
background-position: 0px 0px;
|
212
|
+
}
|
213
|
+
.fancytree-ico-cf span.fancytree-icon { background-position: 0px -16px; } /* Collapsed Folder */
|
214
|
+
.fancytree-ico-ef span.fancytree-icon { background-position: -64px -16px; } /* Expanded Folder */
|
215
|
+
.fancytree-statusnode-wait span.fancytree-icon { background-image: url("loading.gif"); } /* Status node icons */
|
216
|
+
.fancytree-statusnode-error span.fancytree-icon { background-position: 0px -112px; }
|
217
|
+
|
218
|
+
/*******************************************************************************
|
219
|
+
* Node titles
|
220
|
+
*/
|
221
|
+
.fancytree-title {
|
222
|
+
display: inline-block; /* Better alignment, when title contains <br> */
|
223
|
+
padding-left: 3px;
|
224
|
+
padding-right: 3px; /* Otherwise italic font will be outside bounds */
|
225
|
+
color: black; /* inherit doesn't work on IE */
|
226
|
+
vertical-align: top;
|
227
|
+
margin: 0px;
|
228
|
+
margin-left: 3px;
|
229
|
+
/* border: 1px solid white; /* reserve some space for status borders (Note: 'transparent' would not work in IE6) */
|
230
|
+
border: 1px solid transparent; /* reserve some space for status borders */
|
231
|
+
border-radius: 0;
|
232
|
+
text-decoration: none;
|
233
|
+
cursor: pointer;
|
234
|
+
}
|
235
|
+
span.fancytree-focused .fancytree-title {
|
236
|
+
outline: 1px dotted black;
|
237
|
+
/*color: white;*/
|
238
|
+
}
|
239
|
+
span.fancytree-selected .fancytree-title,
|
240
|
+
span.fancytree-active .fancytree-title {
|
241
|
+
background-color: #D4D4D4; /*gray*/
|
242
|
+
}
|
243
|
+
span.fancytree-selected .fancytree-title {
|
244
|
+
font-style: italic;
|
245
|
+
}
|
246
|
+
.fancytree-treefocus span.fancytree-selected .fancytree-title,
|
247
|
+
.fancytree-treefocus span.fancytree-active .fancytree-title {
|
248
|
+
color: white;
|
249
|
+
background-color: #3875D7; /*blue*/
|
250
|
+
}
|
251
|
+
|
252
|
+
/*******************************************************************************
|
253
|
+
* 'table' extension
|
254
|
+
*/
|
255
|
+
|
256
|
+
/*
|
257
|
+
table.fancytree-ext-table {
|
258
|
+
border-collapse: collapse;
|
259
|
+
width: 100%;
|
260
|
+
}
|
261
|
+
table.fancytree-ext-table tbody tr:nth-child(even){
|
262
|
+
background-color: #f4f4f8;
|
263
|
+
}
|
264
|
+
table.fancytree-ext-table tbody tr td {
|
265
|
+
border: 1px solid lightgray;
|
266
|
+
}
|
267
|
+
*/
|
268
|
+
table.fancytree-ext-table {
|
269
|
+
border-collapse: collapse;
|
270
|
+
}
|
271
|
+
table.fancytree-ext-table tbody tr.fancytree-focused {
|
272
|
+
background-color: #99DEFD;
|
273
|
+
}
|
274
|
+
table.fancytree-ext-table tbody tr.fancytree-active {
|
275
|
+
background-color: royalblue;
|
276
|
+
}
|
277
|
+
table.fancytree-ext-table tbody tr.fancytree-selected {
|
278
|
+
background-color: #99FDDE;
|
279
|
+
}
|
280
|
+
|
281
|
+
/*******************************************************************************
|
282
|
+
* 'columnview' extension
|
283
|
+
*/
|
284
|
+
|
285
|
+
/*
|
286
|
+
table.fancytree-ext-columnview {
|
287
|
+
border-collapse: collapse;
|
288
|
+
width: 100%;
|
289
|
+
}
|
290
|
+
*/
|
291
|
+
table.fancytree-ext-columnview td >ul
|
292
|
+
{
|
293
|
+
padding: 0;
|
294
|
+
}
|
295
|
+
table.fancytree-ext-columnview td >ul li
|
296
|
+
{
|
297
|
+
list-style-image: none;
|
298
|
+
list-style-position: outside;
|
299
|
+
list-style-type: none;
|
300
|
+
-moz-background-clip:border;
|
301
|
+
-moz-background-inline-policy: continuous;
|
302
|
+
-moz-background-origin: padding;
|
303
|
+
background-attachment: scroll;
|
304
|
+
background-color: transparent;
|
305
|
+
background-position: 0 0;
|
306
|
+
background-repeat: repeat-y;
|
307
|
+
background-image: none; /* no v-lines */
|
308
|
+
|
309
|
+
margin: 0;
|
310
|
+
padding: 1px 0 0 0;
|
311
|
+
}
|
312
|
+
/*
|
313
|
+
table.fancytree-ext-columnview tbody tr[0] {
|
314
|
+
height: 200px;
|
315
|
+
}
|
316
|
+
*/
|
317
|
+
table.fancytree-ext-columnview tbody tr td {
|
318
|
+
border: 1px solid gray;
|
319
|
+
vertical-align: top;
|
320
|
+
overflow: auto;
|
321
|
+
}
|
322
|
+
table.fancytree-ext-columnview span.fancytree-node {
|
323
|
+
display: inline-block;
|
324
|
+
position: relative; /* allow positioning of embedded spans*/
|
325
|
+
width: 100%;
|
326
|
+
}
|
327
|
+
table.fancytree-ext-columnview span.fancytree-node a{
|
328
|
+
border: 1px solid transparent;
|
329
|
+
background-color: transparent;
|
330
|
+
}
|
331
|
+
table.fancytree-ext-columnview span.fancytree-node.fancytree-expanded {
|
332
|
+
background-color: #ccc;
|
333
|
+
}
|
334
|
+
table.fancytree-ext-columnview span.fancytree-node.fancytree-active {
|
335
|
+
background-color: royalblue;
|
336
|
+
}
|
337
|
+
table.fancytree-ext-columnview span.fancytree-cv-right {
|
338
|
+
background-position: 0px -80px;
|
339
|
+
position: absolute;
|
340
|
+
right: 3px;
|
341
|
+
}
|
342
|
+
|
343
|
+
|
344
|
+
/*******************************************************************************
|
345
|
+
* 'filter' extension
|
346
|
+
*/
|
347
|
+
.fancytree-ext-filter .fancytree-node .fancytree-title {
|
348
|
+
color: silver;
|
349
|
+
font-weight: lighter;
|
350
|
+
}
|
351
|
+
.fancytree-ext-filter .fancytree-node.fancytree-submatch .fancytree-title {
|
352
|
+
color: black;
|
353
|
+
font-weight: normal;
|
354
|
+
}
|
355
|
+
.fancytree-ext-filter .fancytree-node.fancytree-match .fancytree-title {
|
356
|
+
color: black;
|
357
|
+
font-weight: bold;
|
358
|
+
}
|
359
|
+
|
360
|
+
|
361
|
+
/*******************************************************************************
|
362
|
+
* Drag'n'drop support
|
363
|
+
*/
|
364
|
+
|
365
|
+
/*** Helper object ************************************************************/
|
366
|
+
div.fancytree-drag-helper
|
367
|
+
{
|
368
|
+
}
|
369
|
+
div.fancytree-drag-helper a
|
370
|
+
{
|
371
|
+
border: 1px solid gray;
|
372
|
+
background-color: white;
|
373
|
+
padding-left: 5px;
|
374
|
+
padding-right: 5px;
|
375
|
+
opacity: 0.8;
|
376
|
+
}
|
377
|
+
span.fancytree-drag-helper-img
|
378
|
+
{
|
379
|
+
/*
|
380
|
+
position: relative;
|
381
|
+
left: -16px;
|
382
|
+
*/
|
383
|
+
}
|
384
|
+
div.fancytree-drag-helper /*.fancytree-drop-accept*/
|
385
|
+
{
|
386
|
+
/* border-color: green;
|
387
|
+
background-color: red;*/
|
388
|
+
}
|
389
|
+
div.fancytree-drop-accept span.fancytree-drag-helper-img
|
390
|
+
{
|
391
|
+
background-position: -32px -112px;
|
392
|
+
}
|
393
|
+
div.fancytree-drag-helper.fancytree-drop-reject
|
394
|
+
{
|
395
|
+
border-color: red;
|
396
|
+
}
|
397
|
+
div.fancytree-drop-reject span.fancytree-drag-helper-img
|
398
|
+
{
|
399
|
+
background-position: -16px -112px;
|
400
|
+
}
|
401
|
+
|
402
|
+
/*** Drop marker icon *********************************************************/
|
403
|
+
|
404
|
+
#fancytree-drop-marker
|
405
|
+
{
|
406
|
+
width: 24px;
|
407
|
+
position: absolute;
|
408
|
+
background-position: 0 -128px;
|
409
|
+
margin: 0;
|
410
|
+
}
|
411
|
+
#fancytree-drop-marker.fancytree-drop-after,
|
412
|
+
#fancytree-drop-marker.fancytree-drop-before
|
413
|
+
{
|
414
|
+
width:64px;
|
415
|
+
background-position: 0 -144px;
|
416
|
+
}
|
417
|
+
#fancytree-drop-marker.fancytree-drop-copy
|
418
|
+
{
|
419
|
+
background-position: -64px -128px;
|
420
|
+
}
|
421
|
+
#fancytree-drop-marker.fancytree-drop-move
|
422
|
+
{
|
423
|
+
background-position: -64px -128px;
|
424
|
+
}
|
425
|
+
|
426
|
+
/*** Source node while dragging ***********************************************/
|
427
|
+
|
428
|
+
span.fancytree-drag-source
|
429
|
+
{
|
430
|
+
/* border: 1px dotted gray; */
|
431
|
+
background-color: #e0e0e0;
|
432
|
+
}
|
433
|
+
span.fancytree-drag-source a
|
434
|
+
{
|
435
|
+
color: gray;
|
436
|
+
}
|
437
|
+
|
438
|
+
/*** Target node while dragging cursor is over it *****************************/
|
439
|
+
|
440
|
+
span.fancytree-drop-target
|
441
|
+
{
|
442
|
+
/*border: 1px solid gray;*/
|
443
|
+
}
|
444
|
+
span.fancytree-drop-target a
|
445
|
+
{
|
446
|
+
}
|
447
|
+
span.fancytree-drop-target.fancytree-drop-accept a
|
448
|
+
{
|
449
|
+
/*border: 1px solid green;*/
|
450
|
+
background-color: #3169C6 !important;
|
451
|
+
color: white !important; /* @ IE6 */
|
452
|
+
text-decoration: none;
|
453
|
+
}
|
454
|
+
span.fancytree-drop-target.fancytree-drop-reject
|
455
|
+
{
|
456
|
+
/*border: 1px solid red;*/
|
457
|
+
}
|
458
|
+
span.fancytree-drop-target.fancytree-drop-after a
|
459
|
+
{
|
460
|
+
}
|