Browse Source

removed jstree + added integration of react sidebarleft component

Skylsmoi 8 years ago
parent
commit
ec82cb629a

+ 3 - 3
tracim/tracim/config/app_cfg.py View File

@@ -7,10 +7,10 @@ This file complements development/deployment.ini.
7 7
 Please note that **all the argument values are strings**. If you want to
8 8
 convert them into boolean, for example, you should use the
9 9
 :func:`paste.deploy.converters.asbool` function, as in::
10
-    
10
+
11 11
     from paste.deploy.converters import asbool
12 12
     setting = asbool(global_conf.get('the_setting'))
13
- 
13
+
14 14
 """
15 15
 import imp
16 16
 import importlib
@@ -79,7 +79,7 @@ base_config['templating.genshi.name_constant_patch'] = True
79 79
 
80 80
 # Configure the authentication backend
81 81
 
82
-# YOU MUST CHANGE THIS VALUE IN PRODUCTION TO SECURE YOUR APP 
82
+# YOU MUST CHANGE THIS VALUE IN PRODUCTION TO SECURE YOUR APP
83 83
 base_config.sa_auth.cookie_secret = "3283411b-1904-4554-b0e1-883863b53080"
84 84
 
85 85
 # INFO - This is the way to specialize the resetpassword email properties

+ 43 - 0
tracim/tracim/public/assets/css/dashboard.css View File

@@ -760,3 +760,46 @@ div.mce-fullscreen {
760 760
     padding: 0 15px;
761 761
   }
762 762
 }
763
+
764
+/* start rules that will be overriden by theme builder */
765
+.textMenuClickedBgColor {
766
+  background: #beebff;
767
+}
768
+.textMenuClickedColor {
769
+  color: #333;
770
+}
771
+.textMenuBgColor-hover {
772
+  background-color: #e7f4f9;
773
+}
774
+.textMenuColor-hover {
775
+  color: #333;
776
+}
777
+/* end rules that will be overriden by theme builder */
778
+
779
+.sidebarleft {
780
+  margin: 20px 0 0 0;
781
+  font-size:
782
+}
783
+.sidebarleft__menu {
784
+  overflow: hidden;
785
+}
786
+.sidebarleft__menu__item {
787
+  cursor: pointer;
788
+}
789
+.sidebarleft__menu__item__name {
790
+  padding: 2px 0;
791
+}
792
+.sidebarleft__menu__item__expandpicto > i {
793
+  margin-right: 5px;
794
+}
795
+.sidebarleft__menu__item__link > i {
796
+  margin-right: 5px;
797
+  font-size: 15px;
798
+}
799
+.sidebarleft__menu__item__link, a:hover {
800
+  color: inherit;
801
+}
802
+.sidebarleft__menu__item__link:hover {
803
+  text-decoration: none;
804
+}
805
+

File diff suppressed because it is too large
+ 0 - 6743
tracim/tracim/public/assets/jstree/jstree.js


File diff suppressed because it is too large
+ 0 - 5
tracim/tracim/public/assets/jstree/jstree.min.js


File diff suppressed because it is too large
+ 0 - 4
tracim/tracim/public/assets/jstree/libs/jquery.js


+ 0 - 36
tracim/tracim/public/assets/jstree/libs/require.js View File

@@ -1,36 +0,0 @@
1
-/*
2
- RequireJS 2.1.9 Copyright (c) 2010-2012, The Dojo Foundation All Rights Reserved.
3
- Available via the MIT or new BSD license.
4
- see: http://github.com/jrburke/requirejs for details
5
-*/
6
-var requirejs,require,define;
7
-(function(Z){function H(b){return"[object Function]"===L.call(b)}function I(b){return"[object Array]"===L.call(b)}function y(b,c){if(b){var e;for(e=0;e<b.length&&(!b[e]||!c(b[e],e,b));e+=1);}}function M(b,c){if(b){var e;for(e=b.length-1;-1<e&&(!b[e]||!c(b[e],e,b));e-=1);}}function t(b,c){return ga.call(b,c)}function l(b,c){return t(b,c)&&b[c]}function F(b,c){for(var e in b)if(t(b,e)&&c(b[e],e))break}function Q(b,c,e,h){c&&F(c,function(c,j){if(e||!t(b,j))h&&"string"!==typeof c?(b[j]||(b[j]={}),Q(b[j],
8
-c,e,h)):b[j]=c});return b}function u(b,c){return function(){return c.apply(b,arguments)}}function aa(b){throw b;}function ba(b){if(!b)return b;var c=Z;y(b.split("."),function(b){c=c[b]});return c}function A(b,c,e,h){c=Error(c+"\nhttp://requirejs.org/docs/errors.html#"+b);c.requireType=b;c.requireModules=h;e&&(c.originalError=e);return c}function ha(b){function c(a,f,b){var d,m,c,g,e,h,j,i=f&&f.split("/");d=i;var n=k.map,p=n&&n["*"];if(a&&"."===a.charAt(0))if(f){d=l(k.pkgs,f)?i=[f]:i.slice(0,i.length-
9
-1);f=a=d.concat(a.split("/"));for(d=0;f[d];d+=1)if(m=f[d],"."===m)f.splice(d,1),d-=1;else if(".."===m)if(1===d&&(".."===f[2]||".."===f[0]))break;else 0<d&&(f.splice(d-1,2),d-=2);d=l(k.pkgs,f=a[0]);a=a.join("/");d&&a===f+"/"+d.main&&(a=f)}else 0===a.indexOf("./")&&(a=a.substring(2));if(b&&n&&(i||p)){f=a.split("/");for(d=f.length;0<d;d-=1){c=f.slice(0,d).join("/");if(i)for(m=i.length;0<m;m-=1)if(b=l(n,i.slice(0,m).join("/")))if(b=l(b,c)){g=b;e=d;break}if(g)break;!h&&(p&&l(p,c))&&(h=l(p,c),j=d)}!g&&
10
-h&&(g=h,e=j);g&&(f.splice(0,e,g),a=f.join("/"))}return a}function e(a){z&&y(document.getElementsByTagName("script"),function(f){if(f.getAttribute("data-requiremodule")===a&&f.getAttribute("data-requirecontext")===i.contextName)return f.parentNode.removeChild(f),!0})}function h(a){var f=l(k.paths,a);if(f&&I(f)&&1<f.length)return f.shift(),i.require.undef(a),i.require([a]),!0}function $(a){var f,b=a?a.indexOf("!"):-1;-1<b&&(f=a.substring(0,b),a=a.substring(b+1,a.length));return[f,a]}function n(a,f,
11
-b,d){var m,B,g=null,e=f?f.name:null,h=a,j=!0,k="";a||(j=!1,a="_@r"+(L+=1));a=$(a);g=a[0];a=a[1];g&&(g=c(g,e,d),B=l(r,g));a&&(g?k=B&&B.normalize?B.normalize(a,function(a){return c(a,e,d)}):c(a,e,d):(k=c(a,e,d),a=$(k),g=a[0],k=a[1],b=!0,m=i.nameToUrl(k)));b=g&&!B&&!b?"_unnormalized"+(M+=1):"";return{prefix:g,name:k,parentMap:f,unnormalized:!!b,url:m,originalName:h,isDefine:j,id:(g?g+"!"+k:k)+b}}function q(a){var f=a.id,b=l(p,f);b||(b=p[f]=new i.Module(a));return b}function s(a,f,b){var d=a.id,m=l(p,
12
-d);if(t(r,d)&&(!m||m.defineEmitComplete))"defined"===f&&b(r[d]);else if(m=q(a),m.error&&"error"===f)b(m.error);else m.on(f,b)}function v(a,f){var b=a.requireModules,d=!1;if(f)f(a);else if(y(b,function(f){if(f=l(p,f))f.error=a,f.events.error&&(d=!0,f.emit("error",a))}),!d)j.onError(a)}function w(){R.length&&(ia.apply(G,[G.length-1,0].concat(R)),R=[])}function x(a){delete p[a];delete T[a]}function E(a,f,b){var d=a.map.id;a.error?a.emit("error",a.error):(f[d]=!0,y(a.depMaps,function(d,c){var g=d.id,
13
-e=l(p,g);e&&(!a.depMatched[c]&&!b[g])&&(l(f,g)?(a.defineDep(c,r[g]),a.check()):E(e,f,b))}),b[d]=!0)}function C(){var a,f,b,d,m=(b=1E3*k.waitSeconds)&&i.startTime+b<(new Date).getTime(),c=[],g=[],j=!1,l=!0;if(!U){U=!0;F(T,function(b){a=b.map;f=a.id;if(b.enabled&&(a.isDefine||g.push(b),!b.error))if(!b.inited&&m)h(f)?j=d=!0:(c.push(f),e(f));else if(!b.inited&&(b.fetched&&a.isDefine)&&(j=!0,!a.prefix))return l=!1});if(m&&c.length)return b=A("timeout","Load timeout for modules: "+c,null,c),b.contextName=
14
-i.contextName,v(b);l&&y(g,function(a){E(a,{},{})});if((!m||d)&&j)if((z||da)&&!V)V=setTimeout(function(){V=0;C()},50);U=!1}}function D(a){t(r,a[0])||q(n(a[0],null,!0)).init(a[1],a[2])}function J(a){var a=a.currentTarget||a.srcElement,b=i.onScriptLoad;a.detachEvent&&!W?a.detachEvent("onreadystatechange",b):a.removeEventListener("load",b,!1);b=i.onScriptError;(!a.detachEvent||W)&&a.removeEventListener("error",b,!1);return{node:a,id:a&&a.getAttribute("data-requiremodule")}}function K(){var a;for(w();G.length;){a=
15
-G.shift();if(null===a[0])return v(A("mismatch","Mismatched anonymous define() module: "+a[a.length-1]));D(a)}}var U,X,i,N,V,k={waitSeconds:7,baseUrl:"./",paths:{},pkgs:{},shim:{},config:{}},p={},T={},Y={},G=[],r={},S={},L=1,M=1;N={require:function(a){return a.require?a.require:a.require=i.makeRequire(a.map)},exports:function(a){a.usingExports=!0;if(a.map.isDefine)return a.exports?a.exports:a.exports=r[a.map.id]={}},module:function(a){return a.module?a.module:a.module={id:a.map.id,uri:a.map.url,config:function(){var b=
16
-l(k.pkgs,a.map.id);return(b?l(k.config,a.map.id+"/"+b.main):l(k.config,a.map.id))||{}},exports:r[a.map.id]}}};X=function(a){this.events=l(Y,a.id)||{};this.map=a;this.shim=l(k.shim,a.id);this.depExports=[];this.depMaps=[];this.depMatched=[];this.pluginMaps={};this.depCount=0};X.prototype={init:function(a,b,c,d){d=d||{};if(!this.inited){this.factory=b;if(c)this.on("error",c);else this.events.error&&(c=u(this,function(a){this.emit("error",a)}));this.depMaps=a&&a.slice(0);this.errback=c;this.inited=!0;
17
-this.ignore=d.ignore;d.enabled||this.enabled?this.enable():this.check()}},defineDep:function(a,b){this.depMatched[a]||(this.depMatched[a]=!0,this.depCount-=1,this.depExports[a]=b)},fetch:function(){if(!this.fetched){this.fetched=!0;i.startTime=(new Date).getTime();var a=this.map;if(this.shim)i.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],u(this,function(){return a.prefix?this.callPlugin():this.load()}));else return a.prefix?this.callPlugin():this.load()}},load:function(){var a=
18
-this.map.url;S[a]||(S[a]=!0,i.load(this.map.id,a))},check:function(){if(this.enabled&&!this.enabling){var a,b,c=this.map.id;b=this.depExports;var d=this.exports,m=this.factory;if(this.inited)if(this.error)this.emit("error",this.error);else{if(!this.defining){this.defining=!0;if(1>this.depCount&&!this.defined){if(H(m)){if(this.events.error&&this.map.isDefine||j.onError!==aa)try{d=i.execCb(c,m,b,d)}catch(e){a=e}else d=i.execCb(c,m,b,d);this.map.isDefine&&((b=this.module)&&void 0!==b.exports&&b.exports!==
19
-this.exports?d=b.exports:void 0===d&&this.usingExports&&(d=this.exports));if(a)return a.requireMap=this.map,a.requireModules=this.map.isDefine?[this.map.id]:null,a.requireType=this.map.isDefine?"define":"require",v(this.error=a)}else d=m;this.exports=d;if(this.map.isDefine&&!this.ignore&&(r[c]=d,j.onResourceLoad))j.onResourceLoad(i,this.map,this.depMaps);x(c);this.defined=!0}this.defining=!1;this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=
20
-!0)}}else this.fetch()}},callPlugin:function(){var a=this.map,b=a.id,e=n(a.prefix);this.depMaps.push(e);s(e,"defined",u(this,function(d){var m,e;e=this.map.name;var g=this.map.parentMap?this.map.parentMap.name:null,h=i.makeRequire(a.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){if(d.normalize&&(e=d.normalize(e,function(a){return c(a,g,!0)})||""),d=n(a.prefix+"!"+e,this.map.parentMap),s(d,"defined",u(this,function(a){this.init([],function(){return a},null,{enabled:!0,ignore:!0})})),
21
-e=l(p,d.id)){this.depMaps.push(d);if(this.events.error)e.on("error",u(this,function(a){this.emit("error",a)}));e.enable()}}else m=u(this,function(a){this.init([],function(){return a},null,{enabled:!0})}),m.error=u(this,function(a){this.inited=!0;this.error=a;a.requireModules=[b];F(p,function(a){0===a.map.id.indexOf(b+"_unnormalized")&&x(a.map.id)});v(a)}),m.fromText=u(this,function(d,c){var e=a.name,g=n(e),B=O;c&&(d=c);B&&(O=!1);q(g);t(k.config,b)&&(k.config[e]=k.config[b]);try{j.exec(d)}catch(ca){return v(A("fromtexteval",
22
-"fromText eval for "+b+" failed: "+ca,ca,[b]))}B&&(O=!0);this.depMaps.push(g);i.completeLoad(e);h([e],m)}),d.load(a.name,h,m,k)}));i.enable(e,this);this.pluginMaps[e.id]=e},enable:function(){T[this.map.id]=this;this.enabling=this.enabled=!0;y(this.depMaps,u(this,function(a,b){var c,d;if("string"===typeof a){a=n(a,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap);this.depMaps[b]=a;if(c=l(N,a.id)){this.depExports[b]=c(this);return}this.depCount+=1;s(a,"defined",u(this,function(a){this.defineDep(b,
23
-a);this.check()}));this.errback&&s(a,"error",u(this,this.errback))}c=a.id;d=p[c];!t(N,c)&&(d&&!d.enabled)&&i.enable(a,this)}));F(this.pluginMaps,u(this,function(a){var b=l(p,a.id);b&&!b.enabled&&i.enable(a,this)}));this.enabling=!1;this.check()},on:function(a,b){var c=this.events[a];c||(c=this.events[a]=[]);c.push(b)},emit:function(a,b){y(this.events[a],function(a){a(b)});"error"===a&&delete this.events[a]}};i={config:k,contextName:b,registry:p,defined:r,urlFetched:S,defQueue:G,Module:X,makeModuleMap:n,
24
-nextTick:j.nextTick,onError:v,configure:function(a){a.baseUrl&&"/"!==a.baseUrl.charAt(a.baseUrl.length-1)&&(a.baseUrl+="/");var b=k.pkgs,c=k.shim,d={paths:!0,config:!0,map:!0};F(a,function(a,b){d[b]?"map"===b?(k.map||(k.map={}),Q(k[b],a,!0,!0)):Q(k[b],a,!0):k[b]=a});a.shim&&(F(a.shim,function(a,b){I(a)&&(a={deps:a});if((a.exports||a.init)&&!a.exportsFn)a.exportsFn=i.makeShimExports(a);c[b]=a}),k.shim=c);a.packages&&(y(a.packages,function(a){a="string"===typeof a?{name:a}:a;b[a.name]={name:a.name,
25
-location:a.location||a.name,main:(a.main||"main").replace(ja,"").replace(ea,"")}}),k.pkgs=b);F(p,function(a,b){!a.inited&&!a.map.unnormalized&&(a.map=n(b))});if(a.deps||a.callback)i.require(a.deps||[],a.callback)},makeShimExports:function(a){return function(){var b;a.init&&(b=a.init.apply(Z,arguments));return b||a.exports&&ba(a.exports)}},makeRequire:function(a,f){function h(d,c,e){var g,k;f.enableBuildCallback&&(c&&H(c))&&(c.__requireJsBuild=!0);if("string"===typeof d){if(H(c))return v(A("requireargs",
26
-"Invalid require call"),e);if(a&&t(N,d))return N[d](p[a.id]);if(j.get)return j.get(i,d,a,h);g=n(d,a,!1,!0);g=g.id;return!t(r,g)?v(A("notloaded",'Module name "'+g+'" has not been loaded yet for context: '+b+(a?"":". Use require([])"))):r[g]}K();i.nextTick(function(){K();k=q(n(null,a));k.skipMap=f.skipMap;k.init(d,c,e,{enabled:!0});C()});return h}f=f||{};Q(h,{isBrowser:z,toUrl:function(b){var f,e=b.lastIndexOf("."),g=b.split("/")[0];if(-1!==e&&(!("."===g||".."===g)||1<e))f=b.substring(e,b.length),b=
27
-b.substring(0,e);return i.nameToUrl(c(b,a&&a.id,!0),f,!0)},defined:function(b){return t(r,n(b,a,!1,!0).id)},specified:function(b){b=n(b,a,!1,!0).id;return t(r,b)||t(p,b)}});a||(h.undef=function(b){w();var c=n(b,a,!0),f=l(p,b);e(b);delete r[b];delete S[c.url];delete Y[b];f&&(f.events.defined&&(Y[b]=f.events),x(b))});return h},enable:function(a){l(p,a.id)&&q(a).enable()},completeLoad:function(a){var b,c,d=l(k.shim,a)||{},e=d.exports;for(w();G.length;){c=G.shift();if(null===c[0]){c[0]=a;if(b)break;b=
28
-!0}else c[0]===a&&(b=!0);D(c)}c=l(p,a);if(!b&&!t(r,a)&&c&&!c.inited){if(k.enforceDefine&&(!e||!ba(e)))return h(a)?void 0:v(A("nodefine","No define call for "+a,null,[a]));D([a,d.deps||[],d.exportsFn])}C()},nameToUrl:function(a,b,c){var d,e,h,g,i,n;if(j.jsExtRegExp.test(a))g=a+(b||"");else{d=k.paths;e=k.pkgs;g=a.split("/");for(i=g.length;0<i;i-=1)if(n=g.slice(0,i).join("/"),h=l(e,n),n=l(d,n)){I(n)&&(n=n[0]);g.splice(0,i,n);break}else if(h){a=a===h.name?h.location+"/"+h.main:h.location;g.splice(0,i,
29
-a);break}g=g.join("/");g+=b||(/^data\:|\?/.test(g)||c?"":".js");g=("/"===g.charAt(0)||g.match(/^[\w\+\.\-]+:/)?"":k.baseUrl)+g}return k.urlArgs?g+((-1===g.indexOf("?")?"?":"&")+k.urlArgs):g},load:function(a,b){j.load(i,a,b)},execCb:function(a,b,c,d){return b.apply(d,c)},onScriptLoad:function(a){if("load"===a.type||ka.test((a.currentTarget||a.srcElement).readyState))P=null,a=J(a),i.completeLoad(a.id)},onScriptError:function(a){var b=J(a);if(!h(b.id))return v(A("scripterror","Script error for: "+b.id,
30
-a,[b.id]))}};i.require=i.makeRequire();return i}var j,w,x,C,J,D,P,K,q,fa,la=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,ma=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,ea=/\.js$/,ja=/^\.\//;w=Object.prototype;var L=w.toString,ga=w.hasOwnProperty,ia=Array.prototype.splice,z=!!("undefined"!==typeof window&&"undefined"!==typeof navigator&&window.document),da=!z&&"undefined"!==typeof importScripts,ka=z&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,W="undefined"!==typeof opera&&
31
-"[object Opera]"===opera.toString(),E={},s={},R=[],O=!1;if("undefined"===typeof define){if("undefined"!==typeof requirejs){if(H(requirejs))return;s=requirejs;requirejs=void 0}"undefined"!==typeof require&&!H(require)&&(s=require,require=void 0);j=requirejs=function(b,c,e,h){var q,n="_";!I(b)&&"string"!==typeof b&&(q=b,I(c)?(b=c,c=e,e=h):b=[]);q&&q.context&&(n=q.context);(h=l(E,n))||(h=E[n]=j.s.newContext(n));q&&h.configure(q);return h.require(b,c,e)};j.config=function(b){return j(b)};j.nextTick="undefined"!==
32
-typeof setTimeout?function(b){setTimeout(b,4)}:function(b){b()};require||(require=j);j.version="2.1.9";j.jsExtRegExp=/^\/|:|\?|\.js$/;j.isBrowser=z;w=j.s={contexts:E,newContext:ha};j({});y(["toUrl","undef","defined","specified"],function(b){j[b]=function(){var c=E._;return c.require[b].apply(c,arguments)}});if(z&&(x=w.head=document.getElementsByTagName("head")[0],C=document.getElementsByTagName("base")[0]))x=w.head=C.parentNode;j.onError=aa;j.createNode=function(b){var c=b.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml",
33
-"html:script"):document.createElement("script");c.type=b.scriptType||"text/javascript";c.charset="utf-8";c.async=!0;return c};j.load=function(b,c,e){var h=b&&b.config||{};if(z)return h=j.createNode(h,c,e),h.setAttribute("data-requirecontext",b.contextName),h.setAttribute("data-requiremodule",c),h.attachEvent&&!(h.attachEvent.toString&&0>h.attachEvent.toString().indexOf("[native code"))&&!W?(O=!0,h.attachEvent("onreadystatechange",b.onScriptLoad)):(h.addEventListener("load",b.onScriptLoad,!1),h.addEventListener("error",
34
-b.onScriptError,!1)),h.src=e,K=h,C?x.insertBefore(h,C):x.appendChild(h),K=null,h;if(da)try{importScripts(e),b.completeLoad(c)}catch(l){b.onError(A("importscripts","importScripts failed for "+c+" at "+e,l,[c]))}};z&&!s.skipDataMain&&M(document.getElementsByTagName("script"),function(b){x||(x=b.parentNode);if(J=b.getAttribute("data-main"))return q=J,s.baseUrl||(D=q.split("/"),q=D.pop(),fa=D.length?D.join("/")+"/":"./",s.baseUrl=fa),q=q.replace(ea,""),j.jsExtRegExp.test(q)&&(q=J),s.deps=s.deps?s.deps.concat(q):
35
-[q],!0});define=function(b,c,e){var h,j;"string"!==typeof b&&(e=c,c=b,b=null);I(c)||(e=c,c=null);!c&&H(e)&&(c=[],e.length&&(e.toString().replace(la,"").replace(ma,function(b,e){c.push(e)}),c=(1===e.length?["require"]:["require","exports","module"]).concat(c)));if(O){if(!(h=K))P&&"interactive"===P.readyState||M(document.getElementsByTagName("script"),function(b){if("interactive"===b.readyState)return P=b}),h=P;h&&(b||(b=h.getAttribute("data-requiremodule")),j=E[h.getAttribute("data-requirecontext")])}(j?
36
-j.defQueue:R).push([b,c,e])};define.amd={jQuery:!0};j.exec=function(b){return eval(b)};j(s)}})(this);

BIN
tracim/tracim/public/assets/jstree/themes/default/32px.png View File


BIN
tracim/tracim/public/assets/jstree/themes/default/40px.png View File


+ 0 - 989
tracim/tracim/public/assets/jstree/themes/default/style.css View File

@@ -1,989 +0,0 @@
1
-/* jsTree default theme */
2
-.jstree-node,
3
-.jstree-children,
4
-.jstree-container-ul {
5
-  display: block;
6
-  margin: 0;
7
-  padding: 0;
8
-  list-style-type: none;
9
-  list-style-image: none;
10
-}
11
-.jstree-node {
12
-  white-space: nowrap;
13
-}
14
-.jstree-anchor {
15
-  display: inline-block;
16
-  color: black;
17
-  white-space: nowrap;
18
-  padding: 0 4px 0 1px;
19
-  margin: 0;
20
-  vertical-align: top;
21
-}
22
-.jstree-anchor:focus {
23
-  outline: 0;
24
-}
25
-.jstree-anchor,
26
-.jstree-anchor:link,
27
-.jstree-anchor:visited,
28
-.jstree-anchor:hover,
29
-.jstree-anchor:active {
30
-  text-decoration: none;
31
-  color: inherit;
32
-}
33
-.jstree-icon {
34
-  display: inline-block;
35
-  text-decoration: none;
36
-  margin: 0;
37
-  padding: 0;
38
-  vertical-align: top;
39
-  text-align: center;
40
-}
41
-.jstree-icon:empty {
42
-  display: inline-block;
43
-  text-decoration: none;
44
-  margin: 0;
45
-  padding: 0;
46
-  vertical-align: top;
47
-  text-align: center;
48
-}
49
-.jstree-ocl {
50
-  cursor: pointer;
51
-}
52
-.jstree-leaf > .jstree-ocl {
53
-  cursor: default;
54
-}
55
-.jstree .jstree-open > .jstree-children {
56
-  display: block;
57
-}
58
-.jstree .jstree-closed > .jstree-children,
59
-.jstree .jstree-leaf > .jstree-children {
60
-  display: none;
61
-}
62
-.jstree-anchor > .jstree-themeicon {
63
-  margin-right: 2px;
64
-}
65
-.jstree-no-icons .jstree-themeicon,
66
-.jstree-anchor > .jstree-themeicon-hidden {
67
-  display: none;
68
-}
69
-.jstree-rtl .jstree-anchor {
70
-  padding: 0 1px 0 4px;
71
-}
72
-.jstree-rtl .jstree-anchor > .jstree-themeicon {
73
-  margin-left: 2px;
74
-  margin-right: 0;
75
-}
76
-.jstree-rtl .jstree-node {
77
-  margin-left: 0;
78
-}
79
-.jstree-rtl .jstree-container-ul > .jstree-node {
80
-  margin-right: 0;
81
-}
82
-.jstree-wholerow-ul {
83
-  position: relative;
84
-  display: inline-block;
85
-  min-width: 100%;
86
-}
87
-.jstree-wholerow-ul .jstree-leaf > .jstree-ocl {
88
-  cursor: pointer;
89
-}
90
-.jstree-wholerow-ul .jstree-anchor,
91
-.jstree-wholerow-ul .jstree-icon {
92
-  position: relative;
93
-}
94
-.jstree-wholerow-ul .jstree-wholerow {
95
-  width: 100%;
96
-  cursor: pointer;
97
-  position: absolute;
98
-  left: 0;
99
-  -webkit-user-select: none;
100
-  -moz-user-select: none;
101
-  -ms-user-select: none;
102
-  user-select: none;
103
-}
104
-.vakata-context {
105
-  display: none;
106
-}
107
-.vakata-context,
108
-.vakata-context ul {
109
-  margin: 0;
110
-  padding: 2px;
111
-  position: absolute;
112
-  background: #f5f5f5;
113
-  border: 1px solid #979797;
114
-  -moz-box-shadow: 5px 5px 4px -4px #666666;
115
-  -webkit-box-shadow: 2px 2px 2px #999999;
116
-  box-shadow: 2px 2px 2px #999999;
117
-}
118
-.vakata-context ul {
119
-  list-style: none;
120
-  left: 100%;
121
-  margin-top: -2.7em;
122
-  margin-left: -4px;
123
-}
124
-.vakata-context .vakata-context-right ul {
125
-  left: auto;
126
-  right: 100%;
127
-  margin-left: auto;
128
-  margin-right: -4px;
129
-}
130
-.vakata-context li {
131
-  list-style: none;
132
-  display: inline;
133
-}
134
-.vakata-context li > a {
135
-  display: block;
136
-  padding: 0 2em 0 2em;
137
-  text-decoration: none;
138
-  width: auto;
139
-  color: black;
140
-  white-space: nowrap;
141
-  line-height: 2.4em;
142
-  -moz-text-shadow: 1px 1px 0 white;
143
-  -webkit-text-shadow: 1px 1px 0 white;
144
-  text-shadow: 1px 1px 0 white;
145
-  -moz-border-radius: 1px;
146
-  -webkit-border-radius: 1px;
147
-  border-radius: 1px;
148
-}
149
-.vakata-context li > a:hover {
150
-  position: relative;
151
-  background-color: #e8eff7;
152
-  -moz-box-shadow: 0 0 2px #0a6aa1;
153
-  -webkit-box-shadow: 0 0 2px #0a6aa1;
154
-  box-shadow: 0 0 2px #0a6aa1;
155
-}
156
-.vakata-context li > a.vakata-context-parent {
157
-  background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==");
158
-  background-position: right center;
159
-  background-repeat: no-repeat;
160
-}
161
-.vakata-context li > a:focus {
162
-  outline: 0;
163
-}
164
-.vakata-context .vakata-context-hover > a {
165
-  position: relative;
166
-  background-color: #e8eff7;
167
-  -moz-box-shadow: 0 0 2px #0a6aa1;
168
-  -webkit-box-shadow: 0 0 2px #0a6aa1;
169
-  box-shadow: 0 0 2px #0a6aa1;
170
-}
171
-.vakata-context .vakata-context-separator > a,
172
-.vakata-context .vakata-context-separator > a:hover {
173
-  background: white;
174
-  border: 0;
175
-  border-top: 1px solid #e2e3e3;
176
-  height: 1px;
177
-  min-height: 1px;
178
-  max-height: 1px;
179
-  padding: 0;
180
-  margin: 0 0 0 2.4em;
181
-  border-left: 1px solid #e0e0e0;
182
-  -moz-text-shadow: 0 0 0 transparent;
183
-  -webkit-text-shadow: 0 0 0 transparent;
184
-  text-shadow: 0 0 0 transparent;
185
-  -moz-box-shadow: 0 0 0 transparent;
186
-  -webkit-box-shadow: 0 0 0 transparent;
187
-  box-shadow: 0 0 0 transparent;
188
-  -moz-border-radius: 0;
189
-  -webkit-border-radius: 0;
190
-  border-radius: 0;
191
-}
192
-.vakata-context .vakata-contextmenu-disabled a,
193
-.vakata-context .vakata-contextmenu-disabled a:hover {
194
-  color: silver;
195
-  background-color: transparent;
196
-  border: 0;
197
-  box-shadow: 0 0 0;
198
-}
199
-.vakata-context li > a > i {
200
-  text-decoration: none;
201
-  display: inline-block;
202
-  width: 2.4em;
203
-  height: 2.4em;
204
-  background: transparent;
205
-  margin: 0 0 0 -2em;
206
-  vertical-align: top;
207
-  text-align: center;
208
-  line-height: 2.4em;
209
-}
210
-.vakata-context li > a > i:empty {
211
-  width: 2.4em;
212
-  line-height: 2.4em;
213
-}
214
-.vakata-context li > a .vakata-contextmenu-sep {
215
-  display: inline-block;
216
-  width: 1px;
217
-  height: 2.4em;
218
-  background: white;
219
-  margin: 0 0.5em 0 0;
220
-  border-left: 1px solid #e2e3e3;
221
-}
222
-.vakata-context .vakata-contextmenu-shortcut {
223
-  font-size: 0.8em;
224
-  color: silver;
225
-  opacity: 0.5;
226
-  display: none;
227
-}
228
-.vakata-context-rtl ul {
229
-  left: auto;
230
-  right: 100%;
231
-  margin-left: auto;
232
-  margin-right: -4px;
233
-}
234
-.vakata-context-rtl li > a.vakata-context-parent {
235
-  background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7");
236
-  background-position: left center;
237
-  background-repeat: no-repeat;
238
-}
239
-.vakata-context-rtl .vakata-context-separator > a {
240
-  margin: 0 2.4em 0 0;
241
-  border-left: 0;
242
-  border-right: 1px solid #e2e3e3;
243
-}
244
-.vakata-context-rtl .vakata-context-left ul {
245
-  right: auto;
246
-  left: 100%;
247
-  margin-left: -4px;
248
-  margin-right: auto;
249
-}
250
-.vakata-context-rtl li > a > i {
251
-  margin: 0 -2em 0 0;
252
-}
253
-.vakata-context-rtl li > a .vakata-contextmenu-sep {
254
-  margin: 0 0 0 0.5em;
255
-  border-left-color: white;
256
-  background: #e2e3e3;
257
-}
258
-#jstree-marker {
259
-  position: absolute;
260
-  top: 0;
261
-  left: 0;
262
-  margin: -5px 0 0 0;
263
-  padding: 0;
264
-  border-right: 0;
265
-  border-top: 5px solid transparent;
266
-  border-bottom: 5px solid transparent;
267
-  border-left: 5px solid;
268
-  width: 0;
269
-  height: 0;
270
-  font-size: 0;
271
-  line-height: 0;
272
-}
273
-#jstree-dnd {
274
-  line-height: 16px;
275
-  margin: 0;
276
-  padding: 4px;
277
-}
278
-#jstree-dnd .jstree-icon,
279
-#jstree-dnd .jstree-copy {
280
-  display: inline-block;
281
-  text-decoration: none;
282
-  margin: 0 2px 0 0;
283
-  padding: 0;
284
-  width: 16px;
285
-  height: 16px;
286
-}
287
-#jstree-dnd .jstree-ok {
288
-  background: green;
289
-}
290
-#jstree-dnd .jstree-er {
291
-  background: red;
292
-}
293
-#jstree-dnd .jstree-copy {
294
-  margin: 0 2px 0 2px;
295
-}
296
-.jstree-default .jstree-node,
297
-.jstree-default .jstree-icon {
298
-  background-repeat: no-repeat;
299
-  background-color: transparent;
300
-}
301
-.jstree-default .jstree-anchor,
302
-.jstree-default .jstree-wholerow {
303
-  transition: background-color 0.15s, box-shadow 0.15s;
304
-}
305
-.jstree-default .jstree-hovered {
306
-  background: #e7f4f9;
307
-  border-radius: 2px;
308
-  box-shadow: inset 0 0 1px #ccc;
309
-}
310
-.jstree-default .jstree-clicked {
311
-  background: #beebff;
312
-  border-radius: 2px;
313
-  box-shadow: inset 0 0 1px #999;
314
-}
315
-.jstree-default .jstree-no-icons .jstree-anchor > .jstree-themeicon {
316
-  display: none;
317
-}
318
-.jstree-default .jstree-disabled {
319
-  background: transparent;
320
-  color: #666;
321
-}
322
-.jstree-default .jstree-disabled.jstree-hovered {
323
-  background: transparent;
324
-  box-shadow: none;
325
-}
326
-.jstree-default .jstree-disabled.jstree-clicked {
327
-  background: #efefef;
328
-}
329
-.jstree-default .jstree-disabled > .jstree-icon {
330
-  opacity: 0.8;
331
-  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");
332
-  /* Firefox 10+ */
333
-  filter: gray;
334
-  /* IE6-9 */
335
-  -webkit-filter: grayscale(100%);
336
-  /* Chrome 19+ & Safari 6+ */
337
-}
338
-.jstree-default .jstree-search {
339
-  font-style: italic;
340
-  color: #8b0000;
341
-  font-weight: bold;
342
-}
343
-.jstree-default .jstree-no-checkboxes .jstree-checkbox {
344
-  display: none !important;
345
-}
346
-.jstree-default.jstree-checkbox-no-clicked .jstree-clicked {
347
-  background: transparent;
348
-  box-shadow: none;
349
-}
350
-.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered {
351
-  background: #e7f4f9;
352
-}
353
-.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked {
354
-  background: transparent;
355
-}
356
-.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered {
357
-  background: #e7f4f9;
358
-}
359
-#jstree-dnd.jstree-default .jstree-ok,
360
-#jstree-dnd.jstree-default .jstree-er {
361
-  background-image: url("32px.png");
362
-  background-repeat: no-repeat;
363
-  background-color: transparent;
364
-}
365
-#jstree-dnd.jstree-default i {
366
-  background: transparent;
367
-  width: 16px;
368
-  height: 16px;
369
-}
370
-#jstree-dnd.jstree-default .jstree-ok {
371
-  background-position: -9px -71px;
372
-}
373
-#jstree-dnd.jstree-default .jstree-er {
374
-  background-position: -39px -71px;
375
-}
376
-.jstree-default > .jstree-striped {
377
-  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat;
378
-}
379
-.jstree-default > .jstree-wholerow-ul .jstree-hovered,
380
-.jstree-default > .jstree-wholerow-ul .jstree-clicked {
381
-  background: transparent;
382
-  box-shadow: none;
383
-  border-radius: 0;
384
-}
385
-.jstree-default .jstree-wholerow {
386
-  -moz-box-sizing: border-box;
387
-  -webkit-box-sizing: border-box;
388
-  box-sizing: border-box;
389
-}
390
-.jstree-default .jstree-wholerow-hovered {
391
-  background: #e7f4f9;
392
-}
393
-.jstree-default .jstree-wholerow-clicked {
394
-  background: #beebff;
395
-  background: -moz-linear-gradient(top, #beebff 0%, #a8e4ff 100%);
396
-  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #beebff), color-stop(100%, #a8e4ff));
397
-  background: -webkit-linear-gradient(top, #beebff 0%, #a8e4ff 100%);
398
-  background: -o-linear-gradient(top, #beebff 0%, #a8e4ff 100%);
399
-  background: -ms-linear-gradient(top, #beebff 0%, #a8e4ff 100%);
400
-  background: linear-gradient(to bottom, #beebff 0%, #a8e4ff 100%);
401
-  /*filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='@color1', endColorstr='@color2',GradientType=0 );*/
402
-}
403
-.jstree-default .jstree-node {
404
-  min-height: 24px;
405
-  line-height: 24px;
406
-  margin-left: 24px;
407
-  min-width: 24px;
408
-}
409
-.jstree-default .jstree-anchor {
410
-  line-height: 24px;
411
-  height: 24px;
412
-}
413
-.jstree-default .jstree-icon {
414
-  width: 24px;
415
-  height: 24px;
416
-  line-height: 24px;
417
-}
418
-.jstree-default .jstree-icon:empty {
419
-  width: 24px;
420
-  height: 24px;
421
-  line-height: 24px;
422
-}
423
-.jstree-default.jstree-rtl .jstree-node {
424
-  margin-right: 24px;
425
-}
426
-.jstree-default .jstree-wholerow {
427
-  height: 24px;
428
-}
429
-.jstree-default .jstree-node,
430
-.jstree-default .jstree-icon {
431
-  background-image: url("32px.png");
432
-}
433
-.jstree-default .jstree-node {
434
-  background-position: -292px -4px;
435
-  background-repeat: repeat-y;
436
-}
437
-.jstree-default .jstree-last {
438
-  background: transparent;
439
-}
440
-.jstree-default .jstree-open > .jstree-ocl {
441
-  background-position: -132px -4px;
442
-}
443
-.jstree-default .jstree-closed > .jstree-ocl {
444
-  background-position: -100px -4px;
445
-}
446
-.jstree-default .jstree-leaf > .jstree-ocl {
447
-  background-position: -68px -4px;
448
-}
449
-.jstree-default .jstree-themeicon {
450
-  background-position: -260px -4px;
451
-}
452
-.jstree-default > .jstree-no-dots .jstree-node,
453
-.jstree-default > .jstree-no-dots .jstree-leaf > .jstree-ocl {
454
-  background: transparent;
455
-}
456
-.jstree-default > .jstree-no-dots .jstree-open > .jstree-ocl {
457
-  background-position: -36px -4px;
458
-}
459
-.jstree-default > .jstree-no-dots .jstree-closed > .jstree-ocl {
460
-  background-position: -4px -4px;
461
-}
462
-.jstree-default .jstree-disabled {
463
-  background: transparent;
464
-}
465
-.jstree-default .jstree-disabled.jstree-hovered {
466
-  background: transparent;
467
-}
468
-.jstree-default .jstree-disabled.jstree-clicked {
469
-  background: #efefef;
470
-}
471
-.jstree-default .jstree-checkbox {
472
-  background-position: -164px -4px;
473
-}
474
-.jstree-default .jstree-checkbox:hover {
475
-  background-position: -164px -36px;
476
-}
477
-.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox,
478
-.jstree-default .jstree-checked > .jstree-checkbox {
479
-  background-position: -228px -4px;
480
-}
481
-.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover,
482
-.jstree-default .jstree-checked > .jstree-checkbox:hover {
483
-  background-position: -228px -36px;
484
-}
485
-.jstree-default .jstree-anchor > .jstree-undetermined {
486
-  background-position: -196px -4px;
487
-}
488
-.jstree-default .jstree-anchor > .jstree-undetermined:hover {
489
-  background-position: -196px -36px;
490
-}
491
-.jstree-default > .jstree-striped {
492
-  background-size: auto 48px;
493
-}
494
-.jstree-default.jstree-rtl .jstree-node {
495
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");
496
-  background-position: 100% 1px;
497
-  background-repeat: repeat-y;
498
-}
499
-.jstree-default.jstree-rtl .jstree-last {
500
-  background: transparent;
501
-}
502
-.jstree-default.jstree-rtl .jstree-open > .jstree-ocl {
503
-  background-position: -132px -36px;
504
-}
505
-.jstree-default.jstree-rtl .jstree-closed > .jstree-ocl {
506
-  background-position: -100px -36px;
507
-}
508
-.jstree-default.jstree-rtl .jstree-leaf > .jstree-ocl {
509
-  background-position: -68px -36px;
510
-}
511
-.jstree-default.jstree-rtl > .jstree-no-dots .jstree-node,
512
-.jstree-default.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl {
513
-  background: transparent;
514
-}
515
-.jstree-default.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl {
516
-  background-position: -36px -36px;
517
-}
518
-.jstree-default.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl {
519
-  background-position: -4px -36px;
520
-}
521
-.jstree-default .jstree-themeicon-custom {
522
-  background-color: transparent;
523
-  background-image: none;
524
-  background-position: 0 0;
525
-}
526
-.jstree-default > .jstree-container-ul .jstree-loading > .jstree-ocl {
527
-  background: url("throbber.gif") center center no-repeat;
528
-}
529
-.jstree-default .jstree-file {
530
-  background: url("32px.png") -100px -68px no-repeat;
531
-}
532
-.jstree-default .jstree-folder {
533
-  background: url("32px.png") -260px -4px no-repeat;
534
-}
535
-.jstree-default.jstree-rtl .jstree-node {
536
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");
537
-}
538
-.jstree-default.jstree-rtl .jstree-last {
539
-  background: transparent;
540
-}
541
-.jstree-default-small .jstree-node {
542
-  min-height: 18px;
543
-  line-height: 18px;
544
-  margin-left: 18px;
545
-  min-width: 18px;
546
-}
547
-.jstree-default-small .jstree-anchor {
548
-  line-height: 18px;
549
-  height: 18px;
550
-}
551
-.jstree-default-small .jstree-icon {
552
-  width: 18px;
553
-  height: 18px;
554
-  line-height: 18px;
555
-}
556
-.jstree-default-small .jstree-icon:empty {
557
-  width: 18px;
558
-  height: 18px;
559
-  line-height: 18px;
560
-}
561
-.jstree-default-small.jstree-rtl .jstree-node {
562
-  margin-right: 18px;
563
-}
564
-.jstree-default-small .jstree-wholerow {
565
-  height: 18px;
566
-}
567
-.jstree-default-small .jstree-node,
568
-.jstree-default-small .jstree-icon {
569
-  background-image: url("32px.png");
570
-}
571
-.jstree-default-small .jstree-node {
572
-  background-position: -295px -7px;
573
-  background-repeat: repeat-y;
574
-}
575
-.jstree-default-small .jstree-last {
576
-  background: transparent;
577
-}
578
-.jstree-default-small .jstree-open > .jstree-ocl {
579
-  background-position: -135px -7px;
580
-}
581
-.jstree-default-small .jstree-closed > .jstree-ocl {
582
-  background-position: -103px -7px;
583
-}
584
-.jstree-default-small .jstree-leaf > .jstree-ocl {
585
-  background-position: -71px -7px;
586
-}
587
-.jstree-default-small .jstree-themeicon {
588
-  background-position: -263px -7px;
589
-}
590
-.jstree-default-small > .jstree-no-dots .jstree-node,
591
-.jstree-default-small > .jstree-no-dots .jstree-leaf > .jstree-ocl {
592
-  background: transparent;
593
-}
594
-.jstree-default-small > .jstree-no-dots .jstree-open > .jstree-ocl {
595
-  background-position: -39px -7px;
596
-}
597
-.jstree-default-small > .jstree-no-dots .jstree-closed > .jstree-ocl {
598
-  background-position: -7px -7px;
599
-}
600
-.jstree-default-small .jstree-disabled {
601
-  background: transparent;
602
-}
603
-.jstree-default-small .jstree-disabled.jstree-hovered {
604
-  background: transparent;
605
-}
606
-.jstree-default-small .jstree-disabled.jstree-clicked {
607
-  background: #efefef;
608
-}
609
-.jstree-default-small .jstree-checkbox {
610
-  background-position: -167px -7px;
611
-}
612
-.jstree-default-small .jstree-checkbox:hover {
613
-  background-position: -167px -39px;
614
-}
615
-.jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox,
616
-.jstree-default-small .jstree-checked > .jstree-checkbox {
617
-  background-position: -231px -7px;
618
-}
619
-.jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover,
620
-.jstree-default-small .jstree-checked > .jstree-checkbox:hover {
621
-  background-position: -231px -39px;
622
-}
623
-.jstree-default-small .jstree-anchor > .jstree-undetermined {
624
-  background-position: -199px -7px;
625
-}
626
-.jstree-default-small .jstree-anchor > .jstree-undetermined:hover {
627
-  background-position: -199px -39px;
628
-}
629
-.jstree-default-small > .jstree-striped {
630
-  background-size: auto 36px;
631
-}
632
-.jstree-default-small.jstree-rtl .jstree-node {
633
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");
634
-  background-position: 100% 1px;
635
-  background-repeat: repeat-y;
636
-}
637
-.jstree-default-small.jstree-rtl .jstree-last {
638
-  background: transparent;
639
-}
640
-.jstree-default-small.jstree-rtl .jstree-open > .jstree-ocl {
641
-  background-position: -135px -39px;
642
-}
643
-.jstree-default-small.jstree-rtl .jstree-closed > .jstree-ocl {
644
-  background-position: -103px -39px;
645
-}
646
-.jstree-default-small.jstree-rtl .jstree-leaf > .jstree-ocl {
647
-  background-position: -71px -39px;
648
-}
649
-.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-node,
650
-.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl {
651
-  background: transparent;
652
-}
653
-.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl {
654
-  background-position: -39px -39px;
655
-}
656
-.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl {
657
-  background-position: -7px -39px;
658
-}
659
-.jstree-default-small .jstree-themeicon-custom {
660
-  background-color: transparent;
661
-  background-image: none;
662
-  background-position: 0 0;
663
-}
664
-.jstree-default-small > .jstree-container-ul .jstree-loading > .jstree-ocl {
665
-  background: url("throbber.gif") center center no-repeat;
666
-}
667
-.jstree-default-small .jstree-file {
668
-  background: url("32px.png") -103px -71px no-repeat;
669
-}
670
-.jstree-default-small .jstree-folder {
671
-  background: url("32px.png") -263px -7px no-repeat;
672
-}
673
-.jstree-default-small.jstree-rtl .jstree-node {
674
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==");
675
-}
676
-.jstree-default-small.jstree-rtl .jstree-last {
677
-  background: transparent;
678
-}
679
-.jstree-default-large .jstree-node {
680
-  min-height: 32px;
681
-  line-height: 32px;
682
-  margin-left: 32px;
683
-  min-width: 32px;
684
-}
685
-.jstree-default-large .jstree-anchor {
686
-  line-height: 32px;
687
-  height: 32px;
688
-}
689
-.jstree-default-large .jstree-icon {
690
-  width: 32px;
691
-  height: 32px;
692
-  line-height: 32px;
693
-}
694
-.jstree-default-large .jstree-icon:empty {
695
-  width: 32px;
696
-  height: 32px;
697
-  line-height: 32px;
698
-}
699
-.jstree-default-large.jstree-rtl .jstree-node {
700
-  margin-right: 32px;
701
-}
702
-.jstree-default-large .jstree-wholerow {
703
-  height: 32px;
704
-}
705
-.jstree-default-large .jstree-node,
706
-.jstree-default-large .jstree-icon {
707
-  background-image: url("32px.png");
708
-}
709
-.jstree-default-large .jstree-node {
710
-  background-position: -288px 0px;
711
-  background-repeat: repeat-y;
712
-}
713
-.jstree-default-large .jstree-last {
714
-  background: transparent;
715
-}
716
-.jstree-default-large .jstree-open > .jstree-ocl {
717
-  background-position: -128px 0px;
718
-}
719
-.jstree-default-large .jstree-closed > .jstree-ocl {
720
-  background-position: -96px 0px;
721
-}
722
-.jstree-default-large .jstree-leaf > .jstree-ocl {
723
-  background-position: -64px 0px;
724
-}
725
-.jstree-default-large .jstree-themeicon {
726
-  background-position: -256px 0px;
727
-}
728
-.jstree-default-large > .jstree-no-dots .jstree-node,
729
-.jstree-default-large > .jstree-no-dots .jstree-leaf > .jstree-ocl {
730
-  background: transparent;
731
-}
732
-.jstree-default-large > .jstree-no-dots .jstree-open > .jstree-ocl {
733
-  background-position: -32px 0px;
734
-}
735
-.jstree-default-large > .jstree-no-dots .jstree-closed > .jstree-ocl {
736
-  background-position: 0px 0px;
737
-}
738
-.jstree-default-large .jstree-disabled {
739
-  background: transparent;
740
-}
741
-.jstree-default-large .jstree-disabled.jstree-hovered {
742
-  background: transparent;
743
-}
744
-.jstree-default-large .jstree-disabled.jstree-clicked {
745
-  background: #efefef;
746
-}
747
-.jstree-default-large .jstree-checkbox {
748
-  background-position: -160px 0px;
749
-}
750
-.jstree-default-large .jstree-checkbox:hover {
751
-  background-position: -160px -32px;
752
-}
753
-.jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox,
754
-.jstree-default-large .jstree-checked > .jstree-checkbox {
755
-  background-position: -224px 0px;
756
-}
757
-.jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover,
758
-.jstree-default-large .jstree-checked > .jstree-checkbox:hover {
759
-  background-position: -224px -32px;
760
-}
761
-.jstree-default-large .jstree-anchor > .jstree-undetermined {
762
-  background-position: -192px 0px;
763
-}
764
-.jstree-default-large .jstree-anchor > .jstree-undetermined:hover {
765
-  background-position: -192px -32px;
766
-}
767
-.jstree-default-large > .jstree-striped {
768
-  background-size: auto 64px;
769
-}
770
-.jstree-default-large.jstree-rtl .jstree-node {
771
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");
772
-  background-position: 100% 1px;
773
-  background-repeat: repeat-y;
774
-}
775
-.jstree-default-large.jstree-rtl .jstree-last {
776
-  background: transparent;
777
-}
778
-.jstree-default-large.jstree-rtl .jstree-open > .jstree-ocl {
779
-  background-position: -128px -32px;
780
-}
781
-.jstree-default-large.jstree-rtl .jstree-closed > .jstree-ocl {
782
-  background-position: -96px -32px;
783
-}
784
-.jstree-default-large.jstree-rtl .jstree-leaf > .jstree-ocl {
785
-  background-position: -64px -32px;
786
-}
787
-.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-node,
788
-.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl {
789
-  background: transparent;
790
-}
791
-.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl {
792
-  background-position: -32px -32px;
793
-}
794
-.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl {
795
-  background-position: 0px -32px;
796
-}
797
-.jstree-default-large .jstree-themeicon-custom {
798
-  background-color: transparent;
799
-  background-image: none;
800
-  background-position: 0 0;
801
-}
802
-.jstree-default-large > .jstree-container-ul .jstree-loading > .jstree-ocl {
803
-  background: url("throbber.gif") center center no-repeat;
804
-}
805
-.jstree-default-large .jstree-file {
806
-  background: url("32px.png") -96px -64px no-repeat;
807
-}
808
-.jstree-default-large .jstree-folder {
809
-  background: url("32px.png") -256px 0px no-repeat;
810
-}
811
-.jstree-default-large.jstree-rtl .jstree-node {
812
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==");
813
-}
814
-.jstree-default-large.jstree-rtl .jstree-last {
815
-  background: transparent;
816
-}
817
-@media (max-width: 768px) {
818
-  #jstree-dnd.jstree-dnd-responsive {
819
-    line-height: 40px;
820
-    font-weight: bold;
821
-    font-size: 1.1em;
822
-    text-shadow: 1px 1px white;
823
-  }
824
-  #jstree-dnd.jstree-dnd-responsive > i {
825
-    background: transparent;
826
-    width: 40px;
827
-    height: 40px;
828
-  }
829
-  #jstree-dnd.jstree-dnd-responsive > .jstree-ok {
830
-    background-image: url("40px.png");
831
-    background-position: 0 -200px;
832
-    background-size: 120px 240px;
833
-  }
834
-  #jstree-dnd.jstree-dnd-responsive > .jstree-er {
835
-    background-image: url("40px.png");
836
-    background-position: -40px -200px;
837
-    background-size: 120px 240px;
838
-  }
839
-  #jstree-marker.jstree-dnd-responsive {
840
-    border-left-width: 10px;
841
-    border-top-width: 10px;
842
-    border-bottom-width: 10px;
843
-    margin-top: -10px;
844
-  }
845
-}
846
-@media (max-width: 768px) {
847
-  .jstree-default-responsive {
848
-    /*
849
-		.jstree-open > .jstree-ocl,
850
-		.jstree-closed > .jstree-ocl { border-radius:20px; background-color:white; }
851
-		*/
852
-  }
853
-  .jstree-default-responsive .jstree-icon {
854
-    background-image: url("40px.png");
855
-  }
856
-  .jstree-default-responsive .jstree-node,
857
-  .jstree-default-responsive .jstree-leaf > .jstree-ocl {
858
-    background: transparent;
859
-  }
860
-  .jstree-default-responsive .jstree-node {
861
-    min-height: 40px;
862
-    line-height: 40px;
863
-    margin-left: 40px;
864
-    min-width: 40px;
865
-    white-space: nowrap;
866
-  }
867
-  .jstree-default-responsive .jstree-anchor {
868
-    line-height: 40px;
869
-    height: 40px;
870
-  }
871
-  .jstree-default-responsive .jstree-icon,
872
-  .jstree-default-responsive .jstree-icon:empty {
873
-    width: 40px;
874
-    height: 40px;
875
-    line-height: 40px;
876
-  }
877
-  .jstree-default-responsive > .jstree-container-ul > .jstree-node {
878
-    margin-left: 0;
879
-  }
880
-  .jstree-default-responsive.jstree-rtl .jstree-node {
881
-    margin-left: 0;
882
-    margin-right: 40px;
883
-  }
884
-  .jstree-default-responsive.jstree-rtl .jstree-container-ul > .jstree-node {
885
-    margin-right: 0;
886
-  }
887
-  .jstree-default-responsive .jstree-ocl,
888
-  .jstree-default-responsive .jstree-themeicon,
889
-  .jstree-default-responsive .jstree-checkbox {
890
-    background-size: 120px 240px;
891
-  }
892
-  .jstree-default-responsive .jstree-leaf > .jstree-ocl {
893
-    background: transparent;
894
-  }
895
-  .jstree-default-responsive .jstree-open > .jstree-ocl {
896
-    background-position: 0 0px !important;
897
-  }
898
-  .jstree-default-responsive .jstree-closed > .jstree-ocl {
899
-    background-position: 0 -40px !important;
900
-  }
901
-  .jstree-default-responsive.jstree-rtl .jstree-closed > .jstree-ocl {
902
-    background-position: -40px 0px !important;
903
-  }
904
-  .jstree-default-responsive .jstree-themeicon {
905
-    background-position: -40px -40px;
906
-  }
907
-  .jstree-default-responsive .jstree-checkbox,
908
-  .jstree-default-responsive .jstree-checkbox:hover {
909
-    background-position: -40px -80px;
910
-  }
911
-  .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox,
912
-  .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover,
913
-  .jstree-default-responsive .jstree-checked > .jstree-checkbox,
914
-  .jstree-default-responsive .jstree-checked > .jstree-checkbox:hover {
915
-    background-position: 0 -80px;
916
-  }
917
-  .jstree-default-responsive .jstree-anchor > .jstree-undetermined,
918
-  .jstree-default-responsive .jstree-anchor > .jstree-undetermined:hover {
919
-    background-position: 0 -120px;
920
-  }
921
-  .jstree-default-responsive .jstree-anchor {
922
-    font-weight: bold;
923
-    font-size: 1.1em;
924
-    text-shadow: 1px 1px white;
925
-  }
926
-  .jstree-default-responsive > .jstree-striped {
927
-    background: transparent;
928
-  }
929
-  .jstree-default-responsive .jstree-wholerow {
930
-    border-top: 1px solid rgba(255, 255, 255, 0.7);
931
-    border-bottom: 1px solid rgba(64, 64, 64, 0.2);
932
-    background: #ebebeb;
933
-    height: 40px;
934
-  }
935
-  .jstree-default-responsive .jstree-wholerow-hovered {
936
-    background: #e7f4f9;
937
-  }
938
-  .jstree-default-responsive .jstree-wholerow-clicked {
939
-    background: #beebff;
940
-  }
941
-  .jstree-default-responsive .jstree-children .jstree-last > .jstree-wholerow {
942
-    box-shadow: inset 0 -6px 3px -5px #666666;
943
-  }
944
-  .jstree-default-responsive .jstree-children .jstree-open > .jstree-wholerow {
945
-    box-shadow: inset 0 6px 3px -5px #666666;
946
-    border-top: 0;
947
-  }
948
-  .jstree-default-responsive .jstree-children .jstree-open + .jstree-open {
949
-    box-shadow: none;
950
-  }
951
-  .jstree-default-responsive .jstree-node,
952
-  .jstree-default-responsive .jstree-icon,
953
-  .jstree-default-responsive .jstree-node > .jstree-ocl,
954
-  .jstree-default-responsive .jstree-themeicon,
955
-  .jstree-default-responsive .jstree-checkbox {
956
-    background-image: url("40px.png");
957
-    background-size: 120px 240px;
958
-  }
959
-  .jstree-default-responsive .jstree-node {
960
-    background-position: -80px 0;
961
-    background-repeat: repeat-y;
962
-  }
963
-  .jstree-default-responsive .jstree-last {
964
-    background: transparent;
965
-  }
966
-  .jstree-default-responsive .jstree-leaf > .jstree-ocl {
967
-    background-position: -40px -120px;
968
-  }
969
-  .jstree-default-responsive .jstree-last > .jstree-ocl {
970
-    background-position: -40px -160px;
971
-  }
972
-  .jstree-default-responsive .jstree-themeicon-custom {
973
-    background-color: transparent;
974
-    background-image: none;
975
-    background-position: 0 0;
976
-  }
977
-  .jstree-default-responsive .jstree-file {
978
-    background: url("40px.png") 0 -160px no-repeat;
979
-    background-size: 120px 240px;
980
-  }
981
-  .jstree-default-responsive .jstree-folder {
982
-    background: url("40px.png") -40px -40px no-repeat;
983
-    background-size: 120px 240px;
984
-  }
985
-}
986
-.jstree-default > .jstree-container-ul > .jstree-node {
987
-  margin-left: 0;
988
-  margin-right: 0;
989
-}

File diff suppressed because it is too large
+ 0 - 1
tracim/tracim/public/assets/jstree/themes/default/style.min.css


BIN
tracim/tracim/public/assets/jstree/themes/default/throbber.gif View File


+ 0 - 37
tracim/tracim/public/assets/jstree/themes/tracim/style.css View File

@@ -1,37 +0,0 @@
1
-.jstree-default .jstree-hovered {
2
-    background: #e7f4f9;
3
-    color: #333;
4
-    border-radius: 2px;
5
-    box-shadow: inset 0 0 1px #ccc;
6
-}
7
-.jstree-default .jstree-clicked {
8
-    background: #beebff;
9
-    border-radius: 2px;
10
-    box-shadow: inset 0 0 1px #999;
11
-    color: #333;
12
-}
13
-.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered {
14
-    background: #e7f4f9;
15
-    color: #333;
16
-}
17
-.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered {
18
-    background: #e7f4f9;
19
-    color: #333;
20
-}
21
-.jstree-default .jstree-wholerow-hovered {
22
-    background: #e7f4f9;
23
-    color: #333;
24
-}
25
-.jstree-default .jstree-wholerow-clicked {
26
-    color: #333;
27
-}
28
-@media (max-width: 768px) {
29
-    .jstree-default-responsive .jstree-wholerow-hovered {
30
-        background: #e7f4f9;
31
-        color: #333;
32
-    }
33
-    .jstree-default-responsive .jstree-wholerow-clicked {
34
-        background: #beebff;
35
-        color: #333;
36
-    }
37
-}

+ 4 - 13
tracim/tracim/templates/folder/forms.mak View File

@@ -1,7 +1,7 @@
1 1
 <%namespace name="TIM" file="tracim.templates.pod"/>
2 2
 <%namespace name="BUTTON" file="tracim.templates.widgets.button"/>
3 3
 <%namespace name="ICON" file="tracim.templates.widgets.icon"/>
4
-<%namespace name="WIDGETS" file="tracim.templates.user_workspace_widgets"/>
4
+<%namespace name="LEFT_MENU" file="tracim.templates.widgets.left_menu"/>
5 5
 
6 6
 <%def name="NEW(dom_id, workspace_id, parent_id=None)">
7 7
     <div id="{dom_id}">
@@ -53,21 +53,12 @@
53 53
                 <div class="tab-content">
54 54
                     <div role="tabpanel" class="tab-pane active" id="move-to-same-workspace">
55 55
                         <div class="t-half-spacer-above">
56
-                            <%
57
-                                selected_id = 'workspace_{}__folder_{}'.format(item.workspace.id, item.folder.id if item.folder else '')
58
-                                get_root_url = tg.url('/workspaces/treeview_root', dict(current_id=selected_id, all_workspaces=0, folder_allowed_content_types='folder', ignore_id=item.id))
59
-                                get_children_url = tg.url('/workspaces/treeview_children', dict(ignore_id=item.id, allowed_content_types='folder'))
60
-                            %>
61
-                            ${WIDGETS.TREEVIEW_DYNAMIC('move-item-treeview', selected_id, get_root_url, get_children_url, 'move_mode')}
56
+                            ${LEFT_MENU.TREEVIEW('sidebar-left-menu', '__')}
62 57
                         </div>
63 58
                     </div>
64 59
                     <div role="tabpanel" class="tab-pane" id="move-to-another-workspace">
65 60
                         <div class="t-half-spacer-above">
66
-                            <%
67
-                                get_root_url = tg.url('/workspaces/treeview_root', dict(current_id=None, all_workspaces=1, folder_allowed_content_types='folder', ignore_id=item.id, ignore_workspace_id=item.workspace.id))
68
-                                get_children_url = tg.url('/workspaces/treeview_children', dict(ignore_id=item.id, allowed_content_types='folder'))
69
-                            %>
70
-                            ${WIDGETS.TREEVIEW_DYNAMIC('move-item-to-other-ws-treeview', None, get_root_url, get_children_url, 'move_mode', 'move-item-treeview-treeview-hidden-field')}
61
+                            ${LEFT_MENU.TREEVIEW('sidebar-left-menu', '__')}
71 62
                         </div>
72 63
                     </div>
73 64
                 </div>
@@ -79,4 +70,4 @@
79 70
             </span>
80 71
         </div>
81 72
     </form>
82
-</%def>
73
+</%def>

+ 1 - 0
tracim/tracim/templates/master_authenticated.mak View File

@@ -40,6 +40,7 @@
40 40
         <script src="${tg.url('/assets/js/trad.js')}"></script>
41 41
         <script src="${tg.url('/assets/js/main.js')}"></script>
42 42
         ${CFG.TRACKER_JS_CONTENT|n}
43
+        <script src="${tg.url('/assets/js/sidebarleft.js')}"></script>
43 44
     </body>
44 45
 
45 46
 

+ 1 - 7
tracim/tracim/templates/master_authenticated_left_treeview.mak View File

@@ -4,7 +4,7 @@
4 4
 
5 5
 <%def name="SIDEBAR_LEFT_CONTENT()">
6 6
     ## This is the default left sidebar implementation
7
-    ${LEFT_MENU.TREEVIEW('sidebar-left-menu', '__')}
7
+    ${LEFT_MENU.TREEVIEW('sidebar-left-menu', '__'))}
8 8
 </%def>
9 9
 
10 10
 <%def name="SIDEBAR_RIGHT_CONTENT()">
@@ -50,12 +50,6 @@
50 50
     <script src="${tg.url('/assets/tinymce/js/tinymce/tinymce.min.js')}"></script>
51 51
     ${TIM.TINYMCE_INIT_SCRIPT('.pod-rich-textarea')}
52 52
 
53
-    <!-- JSTree ================================================== -->
54
-    <link rel="stylesheet" href="${tg.url('/assets/jstree/themes/default/style.min.css')}" />
55
-    <link rel="stylesheet" href="${tg.url('/assets/jstree/themes/tracim/style.css')}" />
56
-    <script src="${tg.url('/assets/jstree/jstree.min.js')}"></script>
57
-
58
-
59 53
 ##    <link rel="stylesheet" href="${tg.url('/assets/tablesorter/themes/blue/style.css')}" />
60 54
     <script src="${tg.url('/assets/tablesorter/jquery.tablesorter.min.js')}"></script>
61 55
 

+ 0 - 5
tracim/tracim/templates/master_authenticated_left_treeview_right_toolbar.mak View File

@@ -41,11 +41,6 @@
41 41
     <script src="${tg.url('/assets/tinymce/js/tinymce/tinymce.min.js')}"></script>
42 42
     ${TIM.TINYMCE_INIT_SCRIPT('.pod-rich-textarea')}
43 43
 
44
-    <!-- JSTree ================================================== -->
45
-    <link rel="stylesheet" href="${tg.url('/assets/jstree/themes/default/style.min.css')}" />
46
-    <link rel="stylesheet" href="${tg.url('/assets/jstree/themes/tracim/style.css')}" />
47
-    <script src="${tg.url('/assets/jstree/jstree.min.js')}"></script>
48
-
49 44
 ##     <link rel="stylesheet" href="${tg.url('/assets/tablesorter/themes/tracim/style.css')}"/>
50 45
 ##    <script src="${tg.url('/assets/tablesorter/jquery.tablesorter.min.js')}"></script>
51 46
 

+ 2 - 106
tracim/tracim/templates/user_workspace_widgets.mak View File

@@ -147,112 +147,8 @@
147 147
 </%def>
148 148
 
149 149
 <%def name="TREEVIEW(dom_id, selected_id='', uniq_workspace='0')">
150
-    <%
151
-        get_root_url = tg.url("/workspaces/treeview_root", dict(current_id=selected_id))
152
-        get_children_url = tg.url("/workspaces/treeview_children")
153
-    %>
154
-    ${TREEVIEW_DYNAMIC(dom_id, selected_id, get_root_url, get_children_url)}
155
-</%def>
156
-
157
-<%def name="TREEVIEW_DYNAMIC(dom_id, selected_id, get_root_url, get_children_url, mode='link_to_document', updatable_field_id=None)">
158
-    ## If mode is 'link to document', then a click on a tree item will open the given document as main page
159
-    ## If mode is 'move_mode', then a click will update the value of hidden field with dom id: '${dom_id}-treeview-hidden-field'
160
-    ## TODO - D.A. - 2014-09-25 - Select default node
161
-    <div id="${dom_id}">
162
-        <div id="${dom_id}-treeview"></div>
163
-        % if not updatable_field_id:
164
-            <input type='hidden' id='${dom_id}-treeview-hidden-field' name='folder_id' value=''/>
165
-        % endif
166
-        <script>
167
-            $(function () {
168
-                $('#${dom_id}-treeview').jstree({
169
-                    'plugins' : [ 'wholerow', 'types' ],
170
-                    "types" : {
171
-                        "default" : {
172
-                            "icon" : "fa fa-folder-open-o t-folder-color"
173
-                        },
174
-                        "page" : {
175
-                            "icon" : "fa fa-file-text-o t-page-color"
176
-                        },
177
-                        "file" : {
178
-                            "icon" : "fa fa-paperclip t-file-color"
179
-                        },
180
-                        "thread" : {
181
-                            "icon" : "fa fa-comments-o t-thread-color"
182
-                        },
183
-                        "workspace" : {
184
-                            "icon" : "fa fa-bank"
185
-                        },
186
-                    },
187
-                    'core' : {
188
-                        'error': function (error) {
189
-                            console.log('Error ' + error.toString())
190
-                        },
191
-                        'data' : {
192
-                            'dataType': 'json',
193
-                            'contentType': 'application/json; charset=utf-8',
194
-                            'url' : function (node) {
195
-                                if (node.id==='#') {
196
-                                    return '${get_root_url|n}'
197
-                                } else {
198
-                                    return '${get_children_url|n}'
199
-                                }
200
-                            },
201
-                            'data' : function(node) {
202
-                                console.log("NODE => "+JSON.stringify(node))
203
-                                return {
204
-                                    'id' : node.id
205
-                                };
206
-                            },
207
-                            'success': function (new_data) {
208
-                                console.log('loaded new menu data' + JSON.stringify(new_data))
209
-                                return new_data;
210
-                            },
211
-                        },
212
-                    }
213
-                });
214
-
215
-                ##
216
-                ## INFO - D.A. - 2014-10-17
217
-                ## Look comment at top of this function in order to get information about the next if/then/else
218
-                ##
219
-                % if mode=='link_to_document':
220
-                    $('#${dom_id}-treeview').on("select_node.jstree", function (e, data) {
221
-                        // click event is intercepted, so we fake a click() by getting the href value
222
-                        // of child link and put it as current document location
223
-                        url = $('#'+data.selected[0]+' > a').attr('href');
224
-                        location.href = url;
225
-                    });
226
-                % else:
227
-                    $('#${dom_id}-treeview').on("select_node.jstree", function (e, data) {
228
-                        // on click, the form hidden field is updated
229
-                        ## FIXME - REMOVE alert('about to update value of field '+'#${dom_id}-treeview-hidden-field');
230
-                        ## FIXME - REMOVE alert('new value will be '+$('#'+data.selected[0]+' > a').attr('id'));
231
-                        ## FIXME - REMOVE alert('data is '+data.selected[0]+ ' => '+$('#'+data.selected[0]+' > a')[0]);
232
-                        % if not updatable_field_id:
233
-                            $('#${dom_id}-treeview-hidden-field').val(data.selected[0]);
234
-                        % else:  # in this case, we will update another hidden field
235
-                            $('#${updatable_field_id}').val(data.selected[0]);
236
-                        % endif
237
-                    });
238
-                % endif
239
-
240
-                $('#${dom_id}-treeview').on("loaded.jstree", function () {
241
-                    nodes = $('#${dom_id}-treeview .jstree-node');
242
-                    console.log("nodes = "+nodes.length);
243
-                    if (nodes.length<=0) {
244
-                        ## TODO - D.A. - 2014-11-06 - Parameterize the fake_api.current_user access
245
-                        $("#${dom_id}-treeview").append( "<p class='pod-grey'>${_('You have no workspace.')|n}" );
246
-                        % if fake_api.current_user.profile.id >= 2:
247
-                            $("#${dom_id}-treeview").append( "<p><a class=\"btn btn-success\" href=\"${tg.url('/admin/workspaces')}\" ><i class=\"fa fa-plus\"></i> ${_('Create a workspace')}</a></p>" );
248
-                        % else:
249
-                            $("#${dom_id}-treeview").append( "<p class=\"alert alert-info\"><b>${_('Contact the administrator.')}</b></p>" );
250
-                        % endif
251
-                    }
252
-                });
253
-            });
254
-        </script>
255
-    </div>
150
+    <% get_root_url = tg.url("/workspaces/treeview_root", dict(current_id=selected_id)) %>
151
+    <div id='sidebarleft_menu' apiPath='/' apiParameters='?current_id=${selected_id}'></div>
256 152
 </%def>
257 153
 
258 154
 <%def name="SECURED_SHOW_CHANGE_STATUS_FOR_FILE(user, workspace, item)">

+ 2 - 4
tracim/tracim/templates/widgets/left_menu.mak View File

@@ -2,9 +2,7 @@
2 2
 <%namespace name="ICON" file="tracim.templates.widgets.icon"/>
3 3
 
4 4
 <%def name="TREEVIEW(dom_id, selected_id='', uniq_workspace='0', css_classes='t-spacer-above')">
5
-    <div class="${css_classes}">
6
-        <h4 class="t-less-visible t-spacer-above textMenuColor">${_('Workspaces')}</h4>
7
-        ${OLD_WIDGETS.TREEVIEW(dom_id, selected_id, uniq_workspace)}
8
-    </div>
5
+    <h4 class="t-less-visible t-spacer-above textMenuColor">${_('Workspaces')}</h4>
6
+    <div id="sidebarleft_menu" apiPath="/"></div>
9 7
 </%def>
10 8