diff --git a/media/css/jstree_default_theme/32px.png b/media/css/jstree_default_theme/32px.png
new file mode 100644
index 0000000000..1532715248
Binary files /dev/null and b/media/css/jstree_default_theme/32px.png differ
diff --git a/media/css/jstree_default_theme/40px.png b/media/css/jstree_default_theme/40px.png
new file mode 100644
index 0000000000..1959347aea
Binary files /dev/null and b/media/css/jstree_default_theme/40px.png differ
diff --git a/media/css/jstree_default_theme/style.min.css b/media/css/jstree_default_theme/style.min.css
new file mode 100644
index 0000000000..0de3b7547a
--- /dev/null
+++ b/media/css/jstree_default_theme/style.min.css
@@ -0,0 +1 @@
+.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:#000;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-hidden,.jstree-node.jstree-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 #fff;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-context{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{background:0 0;color:#666}.jstree-default .jstree-disabled.jstree-hovered{background:0 0;box-shadow:none}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{min-width:100%;display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top repeat}.jstree-default>.jstree-wholerow-ul .jstree-hovered,.jstree-default>.jstree-wholerow-ul .jstree-clicked{background:0 0;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-webkit-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:linear-gradient(to bottom,#beebff 0,#a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px}.jstree-default .jstree-wholerow{height:24px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-image:url(32px.png)}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-last{background:0 0}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-node,.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled{background:0 0}.jstree-default .jstree-disabled.jstree-hovered{background:0 0}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default .jstree-file{background:url(32px.png) -100px -68px no-repeat}.jstree-default .jstree-folder{background:url(32px.png) -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-ok,#jstree-dnd.jstree-default .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:0 0;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-node,.jstree-default-small .jstree-icon{background-image:url(32px.png)}.jstree-default-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-last{background:0 0}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-node,.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled{background:0 0}.jstree-default-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-small .jstree-file{background:url(32px.png) -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url(32px.png) -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-ok,#jstree-dnd.jstree-default-small .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:0 0;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-node,.jstree-default-large .jstree-icon{background-image:url(32px.png)}.jstree-default-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-last{background:0 0}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-node,.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled{background:0 0}.jstree-default-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-large .jstree-file{background:url(32px.png) -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url(32px.png) -256px 0 no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-ok,#jstree-dnd.jstree-default-large .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:0 0;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width:768px){.jstree-default-responsive .jstree-icon{background-image:url(40px.png)}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:0 0}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive>.jstree-striped{background:0 0}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-image:url(40px.png);background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:0 0}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url(40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url(40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}
\ No newline at end of file
diff --git a/media/css/jstree_default_theme/throbber.gif b/media/css/jstree_default_theme/throbber.gif
new file mode 100644
index 0000000000..1b5b2fde42
Binary files /dev/null and b/media/css/jstree_default_theme/throbber.gif differ
diff --git a/media/css/seahub.css b/media/css/seahub.css
index d01e2124bb..0097a73625 100644
--- a/media/css/seahub.css
+++ b/media/css/seahub.css
@@ -2165,21 +2165,6 @@ button.sf-dropdown-toggle:focus {
border:1px solid #eee;
margin:5px 0 10px;
}
-.jstree.file-tree-cont [root_node] > a > .jstree-checkbox,
-.jstree.file-tree-cont [type="dir"] > a > .jstree-checkbox {
- display:none;
-}
-.jstree [root_node] > a > .jstree-icon,
-.jstree .jstree-open[root_node] > a > .jstree-icon {
- background: transparent url('../img/lib-16.png') no-repeat scroll left center;
-}
-.jstree .jstree-leaf[type=file] a ins.jstree-icon {
- background: transparent url('../img/file-icon-16.png') no-repeat scroll left center;
- vertical-align:top;
-}
-.jstree-classic .jstree-leaf[type=dir] a ins.jstree-icon {
- background:transparent url('../js/themes/classic/d.png') no-repeat scroll -56px -36px;
-}
#mv-dir-list .icon-caret-down,
#mv-dir-list .icon-caret-right {
margin-right:15px;
diff --git a/media/js/base.js b/media/js/base.js
index d732ab6e91..19ccde4b61 100644
--- a/media/js/base.js
+++ b/media/js/base.js
@@ -426,236 +426,6 @@ if (!Array.indexOf) {
}
}
-// File Tree 'class'(constructor)
-function FileTree() {
-}
-// format repo data fetched via ajax
-FileTree.prototype.format_repo_data = function(data) {
- var repos = [], repo;
- for (var i = 0, len = data.length; i < len; i++) {
- repo = {
- 'data': data[i].name,
- 'attr': {'repo_id': data[i].id, 'root_node': true},
- 'state': 'closed'
- }
- repos.push(repo);
- }
- return repos;
-};
-/**
- * @container(required): container.data('site_root', '{{SITE_ROOT}}')
- * @options (optional): {'two_state': true}
- */
-FileTree.prototype.renderFileTree = function(container, repo_data, options) {
- var opts = options || {};
- container
- .delegate('.jstree-closed', 'dblclick', function(e) {
- container.jstree('open_node', $(this));
- $(this).find('a').removeClass('jstree-clicked');
- })
- .bind('select_node.jstree', function(e, data) {
- $('.jstree-clicked').removeClass('jstree-clicked'); // do not show selected item
- })
- .jstree({
- 'json_data': {
- 'data': repo_data,
- 'ajax': {
- 'url': function(data) {
- var path = this.get_path(data);
- var repo_id;
- if (path.length == 1) {
- path = '/';
- repo_id = data.attr('repo_id');
- } else {
- var root_node = data.parents('[root_node=true]');
- repo_id = root_node.attr('repo_id');
- path.shift();
- path = '/' + path.join('/') + '/';
- }
- return container.data('site_root') + 'ajax/repo/' + repo_id + '/dirents/?path=' + e(path);
- },
- 'success': function(data) {
- var items = [];
- var o, item;
- for (var i = 0, len = data.length; i < len; i++) {
- o = data[i];
- if (o.type == 'dir') {
- item = {
- 'data': o.name,
- 'attr': { 'type': o.type },
- 'state': 'closed'
- };
- } else {
- item = {
- 'data': o.name,
- 'attr': {'type': o.type }
- };
- }
- items.push(item);
- }
- return items;
- }
- }
- },
- 'core': {
- 'animation': 100
- },
- 'themes': {
- 'theme':'classic'
- },
- 'checkbox':{
- 'two_state': opts.two_state, // default: false. when 'true', dir can be checked separately with file
- // make dir can only be selected
- //'override_ui':true, // nodes can be checked, or selected to be checked
- 'real_checkboxes': true,
- 'real_checkboxes_names': function(node) {
- // get the path array consisting of nodes starting from the root node
- var path_array = this.get_path(node);
- var repo_id, path;
- if (path_array.length == 1) {
- // root node
- path = '/';
- repo_id = node.attr('repo_id');
- } else {
- path_array.shift();
- repo_id = node.parents('[root_node=true]').attr('repo_id');
- if (node.attr('type') == 'dir') {
- path = '/' + path_array.join('/') + '/';
- } else {
- path = '/' + path_array.join('/');
- }
- }
- return ['selected', repo_id + path];
- }
- },
- 'plugins': ['themes', 'json_data', 'ui', 'checkbox']
- });
-};
-// only list dirs
-FileTree.prototype.renderDirTree = function(container, form, repo_data) {
- container
- .delegate('.jstree-closed', 'dblclick', function(e) {
- container.jstree('open_node', $(this));
- $(this).find('a').removeClass('jstree-clicked');
- })
- .bind('before.jstree', function(e, data) {
- if (data.func === 'select_node') { // ensure only one selected dir display in the popup
- $('.jstree-clicked', form).removeClass('jstree-clicked');
- }
- })
- .bind('select_node.jstree', function(e, data) {
- var path, repo_id;
- var path_array = data.inst.get_path(data.rslt.obj);
- if (path_array.length == 1) {
- path = '/';
- repo_id = data.rslt.obj.attr('repo_id');
- } else {
- repo_id = data.rslt.obj.parents('[root_node=true]').attr('repo_id');
- path_array.shift();
- path = '/' + path_array.join('/') + '/';
- }
- $('input[name="dst_repo"]', form).val(repo_id);
- $('input[name="dst_path"]', form).val(path);
- })
- .jstree({
- 'json_data': {
- 'data': repo_data,
- 'ajax': {
- 'url': function(data) {
- var path = this.get_path(data);
- var repo_id;
- if (path.length == 1) {
- path = '/';
- repo_id = data.attr('repo_id');
- } else {
- repo_id = data.parents('[root_node=true]').attr('repo_id');
- path.shift();
- path = '/' + path.join('/') + '/';
- }
- return container.data('site_root') + 'ajax/repo/' + repo_id + '/dirents/?dir_only=true&path=' + e(path);
- },
- 'success': function(data) {
- var items = [];
- var o, item;
- for (var i = 0, len = data.length; i < len; i++) {
- o = data[i];
- if (o.has_subdir) {
- item = {
- 'data': o.name,
- 'attr': { 'type': o.type },
- 'state': 'closed'
- };
- } else {
- item = {
- 'data': o.name,
- 'attr': {'type': o.type }
- };
- }
- items.push(item);
- }
- return items;
- }
- }
- },
- 'core': {
- 'animation': 100
- },
- 'plugins': ['themes', 'json_data', 'ui']
- });
-}
-
-// list dir by repo
-FileTree.prototype.renderDirTreeByRepo = function(container, repo_data) {
- container
- .bind('select_node.jstree', function(e, data) {
- var select_path_array = data.inst.get_path(data.rslt.obj);
- container.next().on("click", { path_array: select_path_array }, selectClickHandler);
- })
- .jstree({
- 'json_data': {
- 'data': repo_data,
- 'ajax': {
- 'url': function(data) {
- var path = this.get_path(data),
- root = path.shift(),
- path = root + path.join('/'),
- site_root = container.data('site_root'),
- repo_id = container.data('repo_id');
-
- return site_root + 'ajax/repo/' + repo_id + '/dirents/?path=' + e(path) + '&dir_only=true';
- },
- 'success': function(data) {
- var items = [], o, item;
- for (var i = 0, len = data.length; i < len; i++) {
- o = data[i];
- if (o.has_subdir) {
- item = {
- 'data': o.name,
- 'attr': { 'type': o.type },
- 'state': 'closed'
- };
- } else {
- item = {
- 'data': o.name,
- 'attr': {'type': o.type }
- };
- }
- items.push(item);
- }
- return items;
- }
- }
- },
- 'plugins': ['themes', 'json_data', 'ui'],
- 'core': {
- 'animation': 100
- },
- 'ui': {
- 'select_limit': 1
- }
- });
-}
-
function trimFilename(name, n) {
var len = name.length;
var ext = '';
@@ -761,3 +531,60 @@ function userInputOPtionsForSelect2(user_search_url) {
escapeMarkup: function(m) { return m; }
};
}
+
+var FileTree = {
+ renderDirTree: function($container, $form, initial_data) {
+ $container.jstree({
+ 'core': {
+ 'data': function(node, callback) {
+ if (node.id == "#") {
+ callback(initial_data);
+ } else {
+ var repo_id;
+ var node_path = node.data.path;
+ if (node.parents.length == 1) { // parents: ['#']
+ repo_id = node.data.repo_id;
+ } else {
+ repo_id = $container.jstree('get_node', node.parents[node.parents.length - 2]).data.repo_id;
+ }
+ $.ajax({
+ url: $container.data('site_root') + 'ajax/repo/' + repo_id + '/dirents/'
+ + '?path=' + encodeURIComponent(node_path) + '&dir_only=true',
+ cache: false,
+ dataType: 'json',
+ success: function(data) { // data: [{'name': ''}, ...]
+ if (data.length) {
+ for (var i = 0, len = data.length; i < len; i++) {
+ node.children.push({
+ 'text': HTMLescape(data[i].name),
+ 'data': {
+ 'path': node_path + data[i].name + '/',
+ },
+ 'children': true
+ });
+ }
+ }
+ },
+ complete: function() {
+ callback(node.children);
+ }
+ });
+ }
+ },
+ 'multiple': false, // only 1 folder is allowed to be selected at one time
+ 'animation': 100
+ }
+ })
+ .on('select_node.jstree', function(e, data) {
+ var node = data.node;
+ var repo_id;
+ if (node.parents.length == 1) { // parents: ['#']
+ repo_id = node.data.repo_id;
+ } else {
+ repo_id = $container.jstree('get_node', node.parents[node.parents.length - 2]).data.repo_id;
+ }
+ $('input[name="dst_repo"]', $form).val(repo_id);
+ $('input[name="dst_path"]', $form).val(node.data.path);
+ });
+ }
+};
diff --git a/media/js/jq.min.js b/media/js/jq.min.js
index 1427bc05ee..2e5a63fec7 100644
--- a/media/js/jq.min.js
+++ b/media/js/jq.min.js
@@ -25,5 +25,3 @@ jQuery.cookie = function (key, value, options) {
};
/*! http://mths.be/placeholder v2.0.7 by @mathias */
;(function(f,h,$){var a='placeholder' in h.createElement('input'),d='placeholder' in h.createElement('textarea'),i=$.fn,c=$.valHooks,k,j;if(a&&d){j=i.placeholder=function(){return this};j.input=j.textarea=true}else{j=i.placeholder=function(){var l=this;l.filter((a?'textarea':':input')+'[placeholder]').not('.placeholder').bind({'focus.placeholder':b,'blur.placeholder':e}).data('placeholder-enabled',true).trigger('blur.placeholder');return l};j.input=a;j.textarea=d;k={get:function(m){var l=$(m);return l.data('placeholder-enabled')&&l.hasClass('placeholder')?'':m.value},set:function(m,n){var l=$(m);if(!l.data('placeholder-enabled')){return m.value=n}if(n==''){m.value=n;if(m!=h.activeElement){e.call(m)}}else{if(l.hasClass('placeholder')){b.call(m,true,n)||(m.value=n)}else{m.value=n}}return l}};a||(c.input=k);d||(c.textarea=k);$(function(){$(h).delegate('form','submit.placeholder',function(){var l=$('.placeholder',this).each(b);setTimeout(function(){l.each(e)},10)})});$(f).bind('beforeunload.placeholder',function(){$('.placeholder').each(function(){this.value=''})})}function g(m){var l={},n=/^jQuery\d+$/;$.each(m.attributes,function(p,o){if(o.specified&&!n.test(o.name)){l[o.name]=o.value}});return l}function b(m,n){var l=this,o=$(l);if(l.value==o.attr('placeholder')&&o.hasClass('placeholder')){if(o.data('placeholder-password')){o=o.hide().next().show().attr('id',o.removeAttr('id').data('placeholder-id'));if(m===true){return o[0].value=n}o.focus()}else{l.value='';o.removeClass('placeholder');l==h.activeElement&&l.select()}}}function e(){var q,l=this,p=$(l),m=p,o=this.id;if(l.value==''){if(l.type=='password'){if(!p.data('placeholder-textinput')){try{q=p.clone().attr({type:'text'})}catch(n){q=$('').attr($.extend(g(this),{type:'text'}))}q.removeAttr('name').data({'placeholder-password':true,'placeholder-id':o}).bind('focus.placeholder',b);p.data({'placeholder-textinput':q,'placeholder-id':o}).before(q)}p=p.removeAttr('id').hide().prev().attr('id',o).show()}p.addClass('placeholder');p[0].value=p.attr('placeholder')}else{p.removeClass('placeholder')}}}(this,document,jQuery));
-/* jsTree 1.0-rc3 */
-"use strict";(function(){if(jQuery&&jQuery.jstree){return;}var is_ie6=false,is_ie7=false,is_ff2=false;(function($){$.vakata={};$.vakata.css={get_css:function(rule_name,delete_flag,sheet){rule_name=rule_name.toLowerCase();var css_rules=sheet.cssRules||sheet.rules,j=0;do{if(css_rules.length&&j>css_rules.length+5){return false;}if(css_rules[j].selectorText&&css_rules[j].selectorText.toLowerCase()==rule_name){if(delete_flag===true){if(sheet.removeRule){sheet.removeRule(j);}if(sheet.deleteRule){sheet.deleteRule(j);}return true;}else{return css_rules[j];}}}while(css_rules[++j]);return false;},add_css:function(rule_name,sheet){if($.jstree.css.get_css(rule_name,false,sheet)){return false;}if(sheet.insertRule){sheet.insertRule(rule_name+" { }",0);}else{sheet.addRule(rule_name,null,0);}return $.vakata.css.get_css(rule_name);},remove_css:function(rule_name,sheet){return $.vakata.css.get_css(rule_name,true,sheet);},add_sheet:function(opts){var tmp=false,is_new=true;if(opts.str){if(opts.title){tmp=$("style[id='"+opts.title+"-stylesheet']")[0];}if(tmp){is_new=false;}else{tmp=document.createElement("style");tmp.setAttribute("type","text/css");if(opts.title){tmp.setAttribute("id",opts.title+"-stylesheet");}}if(tmp.styleSheet){if(is_new){document.getElementsByTagName("head")[0].appendChild(tmp);tmp.styleSheet.cssText=opts.str;}else{tmp.styleSheet.cssText=tmp.styleSheet.cssText+" "+opts.str;}}else{tmp.appendChild(document.createTextNode(opts.str));document.getElementsByTagName("head")[0].appendChild(tmp);}return tmp.sheet||tmp.styleSheet;}if(opts.url){if(document.createStyleSheet){try{tmp=document.createStyleSheet(opts.url);}catch(e){}}else{tmp=document.createElement("link");tmp.rel="stylesheet";tmp.type="text/css";tmp.media="all";tmp.href=opts.url;document.getElementsByTagName("head")[0].appendChild(tmp);return tmp.styleSheet;}}}};var instances=[],focused_instance=-1,plugins={},prepared_move={};$.fn.jstree=function(settings){var isMethodCall=(typeof settings=="string"),args=Array.prototype.slice.call(arguments,1),returnValue=this;if(isMethodCall){if(settings.substring(0,1)=="_"){return returnValue;}this.each(function(){var instance=instances[$.data(this,"jstree-instance-id")],methodValue=(instance&&$.isFunction(instance[settings]))?instance[settings].apply(instance,args):instance;if(typeof methodValue!=="undefined"&&(settings.indexOf("is_")===0||(methodValue!==true&&methodValue!==false))){returnValue=methodValue;return false;}});}else{this.each(function(){var instance_id=$.data(this,"jstree-instance-id"),a=[],b=settings?$.extend({},true,settings):{},c=$(this),s=false,t=[];a=a.concat(args);if(c.data("jstree")){a.push(c.data("jstree"));}b=a.length?$.extend.apply(null,[true,b].concat(a)):b;if(typeof instance_id!=="undefined"&&instances[instance_id]){instances[instance_id].destroy();}instance_id=parseInt(instances.push({}),10)-1;$.data(this,"jstree-instance-id",instance_id);b.plugins=$.isArray(b.plugins)?b.plugins:$.jstree.defaults.plugins.slice();b.plugins.unshift("core");b.plugins=b.plugins.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",");s=$.extend(true,{},$.jstree.defaults,b);s.plugins=b.plugins;$.each(plugins,function(i,val){if($.inArray(i,s.plugins)===-1){s[i]=null;delete s[i];}else{t.push(i);}});s.plugins=t;instances[instance_id]=new $.jstree._instance(instance_id,$(this).addClass("jstree jstree-"+instance_id),s);$.each(instances[instance_id]._get_settings().plugins,function(i,val){instances[instance_id].data[val]={};});$.each(instances[instance_id]._get_settings().plugins,function(i,val){if(plugins[val]){plugins[val].__init.apply(instances[instance_id]);}});setTimeout(function(){instances[instance_id].init();},0);});}return returnValue;};$.jstree={defaults:{plugins:[]},_focused:function(){return instances[focused_instance]||null;},_reference:function(needle){if(instances[needle]){return instances[needle];}var o=$(needle);if(!o.length&&typeof needle==="string"){o=$("#"+needle);}if(!o.length){return null;}return instances[o.closest(".jstree").data("jstree-instance-id")]||null;},_instance:function(index,container,settings){this.data={core:{}};this.get_settings=function(){return $.extend(true,{},settings);};this._get_settings=function(){return settings;};this.get_index=function(){return index;};this.get_container=function(){return container;};this.get_container_ul=function(){return container.children("ul:eq(0)");};this._set_settings=function(s){settings=$.extend(true,{},settings,s);};},_fn:{},plugin:function(pname,pdata){pdata=$.extend({},{__init:$.noop,__destroy:$.noop,_fn:{},defaults:false},pdata);plugins[pname]=pdata;$.jstree.defaults[pname]=pdata.defaults;$.each(pdata._fn,function(i,val){val.plugin=pname;val.old=$.jstree._fn[i];$.jstree._fn[i]=function(){var rslt,func=val,args=Array.prototype.slice.call(arguments),evnt=new $.Event("before.jstree"),rlbk=false;if(this.data.core.locked===true&&i!=="unlock"&&i!=="is_locked"){return;}do{if(func&&func.plugin&&$.inArray(func.plugin,this._get_settings().plugins)!==-1){break;}func=func.old;}while(func);if(!func){return;}if(i.indexOf("_")===0){rslt=func.apply(this,args);}else{rslt=this.get_container().triggerHandler(evnt,{func:i,inst:this,args:args,plugin:func.plugin});if(rslt===false){return;}if(typeof rslt!=="undefined"){args=rslt;}rslt=func.apply($.extend({},this,{__callback:function(data){this.get_container().triggerHandler(i+".jstree",{inst:this,args:args,rslt:data,rlbk:rlbk});},__rollback:function(){rlbk=this.get_rollback();return rlbk;},__call_old:function(replace_arguments){return func.old.apply(this,(replace_arguments?Array.prototype.slice.call(arguments,1):args));}}),args);}return rslt;};$.jstree._fn[i].old=val.old;$.jstree._fn[i].plugin=pname;});},rollback:function(rb){if(rb){if(!$.isArray(rb)){rb=[rb];}$.each(rb,function(i,val){instances[val.i].set_rollback(val.h,val.d);});}}};$.jstree._fn=$.jstree._instance.prototype={};$(function(){var u=navigator.userAgent.toLowerCase(),v=(u.match(/.+?(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],css_string=".jstree ul, .jstree li { display:block; margin:0 0 0 0; padding:0 0 0 0; list-style-type:none; } .jstree li { display:block; min-height:18px; line-height:18px; white-space:nowrap; margin-left:18px; min-width:18px; } .jstree-rtl li { margin-left:0; margin-right:18px; } .jstree > ul > li { margin-left:0px; } .jstree-rtl > ul > li { margin-right:0px; } .jstree ins { display:inline-block; text-decoration:none; width:18px; height:18px; margin:0 0 0 0; padding:0; } .jstree a { display:inline-block; line-height:16px; height:16px; color:black; white-space:nowrap; text-decoration:none; padding:1px 2px; margin:0; } .jstree a:focus { outline: none; } .jstree a > ins { height:16px; width:16px; } .jstree a > .jstree-icon { margin-right:3px; } .jstree-rtl a > .jstree-icon { margin-left:3px; margin-right:0; } li.jstree-open > ul { display:block; } li.jstree-closed > ul { display:none; } ";if(/msie/.test(u)&&parseInt(v,10)==6){is_ie6=true;try{document.execCommand("BackgroundImageCache",false,true);}catch(err){}css_string+=".jstree li { height:18px; margin-left:0; margin-right:0; } .jstree li li { margin-left:18px; } .jstree-rtl li li { margin-left:0px; margin-right:18px; } li.jstree-open ul { display:block; } li.jstree-closed ul { display:none !important; } .jstree li a { display:inline; border-width:0 !important; padding:0px 2px !important; } .jstree li a ins { height:16px; width:16px; margin-right:3px; } .jstree-rtl li a ins { margin-right:0px; margin-left:3px; } ";}if(/msie/.test(u)&&parseInt(v,10)==7){is_ie7=true;css_string+=".jstree li a { border-width:0 !important; padding:0px 2px !important; } ";}if(!/compatible/.test(u)&&/mozilla/.test(u)&&parseFloat(v,10)<1.9){is_ff2=true;css_string+=".jstree ins { display:-moz-inline-box; } .jstree li { line-height:12px; } .jstree a { display:-moz-inline-box; } .jstree .jstree-no-icons .jstree-checkbox { display:-moz-inline-stack !important; } ";}$.vakata.css.add_sheet({str:css_string,title:"jstree"});});$.jstree.plugin("core",{__init:function(){this.data.core.locked=false;this.data.core.to_open=this.get_settings().core.initially_open;this.data.core.to_load=this.get_settings().core.initially_load;},defaults:{html_titles:false,animation:500,initially_open:[],initially_load:[],open_parents:true,notify_plugins:true,rtl:false,load_open:false,strings:{loading:"Loading ...",new_node:"New node",multiple_selection:"Multiple selection"}},_fn:{init:function(){this.set_focus();if(this._get_settings().core.rtl){this.get_container().addClass("jstree-rtl").css("direction","rtl");}this.get_container().html("
");this.data.core.li_height=this.get_container_ul().find("li.jstree-closed, li.jstree-leaf").eq(0).height()||18;this.get_container().delegate("li > ins","click.jstree",$.proxy(function(event){var trgt=$(event.target);if(trgt.is("ins")&&event.pageY-trgt.offset().top ul > li:first-child");}if(!obj.length){return false;}if(strict){return(obj.nextAll("li").size()>0)?obj.nextAll("li:eq(0)"):false;}if(obj.hasClass("jstree-open")){return obj.find("li:eq(0)");}else{if(obj.nextAll("li").size()>0){return obj.nextAll("li:eq(0)");}else{return obj.parentsUntil(".jstree","li").next("li").eq(0);}}},_get_prev:function(obj,strict){obj=this._get_node(obj);if(obj===-1){return this.get_container().find("> ul > li:last-child");}if(!obj.length){return false;}if(strict){return(obj.prevAll("li").length>0)?obj.prevAll("li:eq(0)"):false;}if(obj.prev("li").length){obj=obj.prev("li").eq(0);while(obj.hasClass("jstree-open")){obj=obj.children("ul:eq(0)").children("li:last");}return obj;}else{var o=obj.parentsUntil(".jstree","li:eq(0)");return o.length?o:false;}},_get_parent:function(obj){obj=this._get_node(obj);if(obj==-1||!obj.length){return false;}var o=obj.parentsUntil(".jstree","li:eq(0)");return o.length?o:-1;},_get_children:function(obj){obj=this._get_node(obj);if(obj===-1){return this.get_container().children("ul:eq(0)").children("li");}if(!obj.length){return false;}return obj.children("ul:eq(0)").children("li");},get_path:function(obj,id_mode){var p=[],_this=this;obj=this._get_node(obj);if(obj===-1||!obj||!obj.length){return false;}obj.parentsUntil(".jstree","li").each(function(){p.push(id_mode?this.id:_this.get_text(this));});p.reverse();p.push(id_mode?obj.attr("id"):this.get_text(obj));return p;},_get_string:function(key){return this._get_settings().core.strings[key]||key;},is_open:function(obj){obj=this._get_node(obj);return obj&&obj!==-1&&obj.hasClass("jstree-open");},is_closed:function(obj){obj=this._get_node(obj);return obj&&obj!==-1&&obj.hasClass("jstree-closed");},is_leaf:function(obj){obj=this._get_node(obj);return obj&&obj!==-1&&obj.hasClass("jstree-leaf");},correct_state:function(obj){obj=this._get_node(obj);if(!obj||obj===-1){return false;}obj.removeClass("jstree-closed jstree-open").addClass("jstree-leaf").children("ul").remove();this.__callback({obj:obj});},open_node:function(obj,callback,skip_animation){obj=this._get_node(obj);if(!obj.length){return false;}if(!obj.hasClass("jstree-closed")){if(callback){callback.call();}return false;}var s=skip_animation||is_ie6?0:this._get_settings().core.animation,t=this;if(!this._is_loaded(obj)){obj.children("a").addClass("jstree-loading");this.load_node(obj,function(){t.open_node(obj,callback,skip_animation);},callback);}else{if(this._get_settings().core.open_parents){obj.parentsUntil(".jstree",".jstree-closed").each(function(){t.open_node(this,false,true);});}if(s){obj.children("ul").css("display","none");}obj.removeClass("jstree-closed").addClass("jstree-open").children("a").removeClass("jstree-loading");if(s){obj.children("ul").stop(true,true).slideDown(s,function(){this.style.display="";t.after_open(obj);});}else{t.after_open(obj);}this.__callback({obj:obj});if(callback){callback.call();}}},after_open:function(obj){this.__callback({obj:obj});},close_node:function(obj,skip_animation){obj=this._get_node(obj);var s=skip_animation||is_ie6?0:this._get_settings().core.animation,t=this;if(!obj.length||!obj.hasClass("jstree-open")){return false;}if(s){obj.children("ul").attr("style","display:block !important");}obj.removeClass("jstree-open").addClass("jstree-closed");if(s){obj.children("ul").stop(true,true).slideUp(s,function(){this.style.display="";t.after_close(obj);});}else{t.after_close(obj);}this.__callback({obj:obj});},after_close:function(obj){this.__callback({obj:obj});},toggle_node:function(obj){obj=this._get_node(obj);if(obj.hasClass("jstree-closed")){return this.open_node(obj);}if(obj.hasClass("jstree-open")){return this.close_node(obj);}},open_all:function(obj,do_animation,original_obj){obj=obj?this._get_node(obj):-1;if(!obj||obj===-1){obj=this.get_container_ul();}if(original_obj){obj=obj.find("li.jstree-closed");}else{original_obj=obj;if(obj.is(".jstree-closed")){obj=obj.find("li.jstree-closed").andSelf();}else{obj=obj.find("li.jstree-closed");}}var _this=this;obj.each(function(){var __this=this;if(!_this._is_loaded(this)){_this.open_node(this,function(){_this.open_all(__this,do_animation,original_obj);},!do_animation);}else{_this.open_node(this,false,!do_animation);}});if(original_obj.find("li.jstree-closed").length===0){this.__callback({obj:original_obj});}},close_all:function(obj,do_animation){var _this=this;obj=obj?this._get_node(obj):this.get_container();if(!obj||obj===-1){obj=this.get_container_ul();}obj.find("li.jstree-open").andSelf().each(function(){_this.close_node(this,!do_animation);});this.__callback({obj:obj});},clean_node:function(obj){obj=obj&&obj!=-1?$(obj):this.get_container_ul();obj=obj.is("li")?obj.find("li").andSelf():obj.find("li");obj.removeClass("jstree-last").filter("li:last-child").addClass("jstree-last").end().filter(":has(li)").not(".jstree-open").removeClass("jstree-leaf").addClass("jstree-closed");obj.not(".jstree-open, .jstree-closed").addClass("jstree-leaf").children("ul").remove();this.__callback({obj:obj});},get_rollback:function(){this.__callback();return{i:this.get_index(),h:this.get_container().children("ul").clone(true),d:this.data};},set_rollback:function(html,data){this.get_container().empty().append(html);this.data=data;this.__callback();},load_node:function(obj,s_call,e_call){this.__callback({obj:obj});},_is_loaded:function(obj){return true;},create_node:function(obj,position,js,callback,is_loaded){obj=this._get_node(obj);position=typeof position==="undefined"?"last":position;var d=$(""),s=this._get_settings().core,tmp;if(obj!==-1&&!obj.length){return false;}if(!is_loaded&&!this._is_loaded(obj)){this.load_node(obj,function(){this.create_node(obj,position,js,callback,true);});return false;}this.__rollback();if(typeof js==="string"){js={data:js};}if(!js){js={};}if(js.attr){d.attr(js.attr);}if(js.metadata){d.data(js.metadata);}if(js.state){d.addClass("jstree-"+js.state);}if(!js.data){js.data=this._get_string("new_node");}if(!$.isArray(js.data)){tmp=js.data;js.data=[];js.data.push(tmp);}$.each(js.data,function(i,m){tmp=$("");if($.isFunction(m)){m=m.call(this,js);}if(typeof m=="string"){tmp.attr("href","#")[s.html_titles?"html":"text"](m);}else{if(!m.attr){m.attr={};}if(!m.attr.href){m.attr.href="#";}tmp.attr(m.attr)[s.html_titles?"html":"text"](m.title);if(m.language){tmp.addClass(m.language);}}tmp.prepend(" ");if(m.icon){if(m.icon.indexOf("/")===-1){tmp.children("ins").addClass(m.icon);}else{tmp.children("ins").css("background","url('"+m.icon+"') center center no-repeat");}}d.append(tmp);});d.prepend(" ");if(obj===-1){obj=this.get_container();if(position==="before"){position="first";}if(position==="after"){position="last";}}switch(position){case"before":obj.before(d);tmp=this._get_parent(obj);break;case"after":obj.after(d);tmp=this._get_parent(obj);break;case"inside":case"first":if(!obj.children("ul").length){obj.append("");}obj.children("ul").prepend(d);tmp=obj;break;case"last":if(!obj.children("ul").length){obj.append("");}obj.children("ul").append(d);tmp=obj;break;default:if(!obj.children("ul").length){obj.append("");}if(!position){position=0;}tmp=obj.children("ul").children("li").eq(position);if(tmp.length){tmp.before(d);}else{obj.children("ul").append(d);}tmp=obj;break;}if(tmp===-1||tmp.get(0)===this.get_container().get(0)){tmp=-1;}this.clean_node(tmp);this.__callback({obj:d,parent:tmp});if(callback){callback.call(this,d);}return d;},get_text:function(obj){obj=this._get_node(obj);if(!obj.length){return false;}var s=this._get_settings().core.html_titles;obj=obj.children("a:eq(0)");if(s){obj=obj.clone();obj.children("INS").remove();return obj.html();}else{obj=obj.contents().filter(function(){return this.nodeType==3;})[0];return obj.nodeValue;}},set_text:function(obj,val){obj=this._get_node(obj);if(!obj.length){return false;}obj=obj.children("a:eq(0)");if(this._get_settings().core.html_titles){var tmp=obj.children("INS").clone();obj.html(val).prepend(tmp);this.__callback({obj:obj,name:val});return true;}else{obj=obj.contents().filter(function(){return this.nodeType==3;})[0];this.__callback({obj:obj,name:val});return(obj.nodeValue=val);}},rename_node:function(obj,val){obj=this._get_node(obj);this.__rollback();if(obj&&obj.length&&this.set_text.apply(this,Array.prototype.slice.call(arguments))){this.__callback({obj:obj,name:val});}},delete_node:function(obj){obj=this._get_node(obj);if(!obj.length){return false;}this.__rollback();var p=this._get_parent(obj),prev=$([]),t=this;obj.each(function(){prev=prev.add(t._get_prev(this));});obj=obj.detach();if(p!==-1&&p.find("> ul > li").length===0){p.removeClass("jstree-open jstree-closed").addClass("jstree-leaf");}this.clean_node(p);this.__callback({obj:obj,prev:prev,parent:p});return obj;},prepare_move:function(o,r,pos,cb,is_cb){var p={};p.ot=$.jstree._reference(o)||this;p.o=p.ot._get_node(o);p.r=r===-1?-1:this._get_node(r);p.p=(typeof pos==="undefined"||pos===false)?"last":pos;if(!is_cb&&prepared_move.o&&prepared_move.o[0]===p.o[0]&&prepared_move.r[0]===p.r[0]&&prepared_move.p===p.p){this.__callback(prepared_move);if(cb){cb.call(this,prepared_move);}return;}p.ot=$.jstree._reference(p.o)||this;p.rt=$.jstree._reference(p.r)||this;if(p.r===-1||!p.r){p.cr=-1;switch(p.p){case"first":case"before":case"inside":p.cp=0;break;case"after":case"last":p.cp=p.rt.get_container().find(" > ul > li").length;break;default:p.cp=p.p;break;}}else{if(!/^(before|after)$/.test(p.p)&&!this._is_loaded(p.r)){return this.load_node(p.r,function(){this.prepare_move(o,r,pos,cb,true);});}switch(p.p){case"before":p.cp=p.r.index();p.cr=p.rt._get_parent(p.r);break;case"after":p.cp=p.r.index()+1;p.cr=p.rt._get_parent(p.r);break;case"inside":case"first":p.cp=0;p.cr=p.r;break;case"last":p.cp=p.r.find(" > ul > li").length;p.cr=p.r;break;default:p.cp=p.p;p.cr=p.r;break;}}p.np=p.cr==-1?p.rt.get_container():p.cr;p.op=p.ot._get_parent(p.o);p.cop=p.o.index();if(p.op===-1){p.op=p.ot?p.ot.get_container():this.get_container();}if(!/^(before|after)$/.test(p.p)&&p.op&&p.np&&p.op[0]===p.np[0]&&p.o.index() ul > li:nth-child("+(p.cp+1)+")");prepared_move=p;this.__callback(prepared_move);if(cb){cb.call(this,prepared_move);}},check_move:function(){var obj=prepared_move,ret=true,r=obj.r===-1?this.get_container():obj.r;if(!obj||!obj.o||obj.or[0]===obj.o[0]){return false;}if(obj.op&&obj.np&&obj.op[0]===obj.np[0]&&obj.cp-1===obj.o.index()){return false;}obj.o.each(function(){if(r.parentsUntil(".jstree","li").andSelf().index(this)!==-1){ret=false;return false;}});return ret;},move_node:function(obj,ref,position,is_copy,is_prepared,skip_check){if(!is_prepared){return this.prepare_move(obj,ref,position,function(p){this.move_node(p,false,false,is_copy,true,skip_check);});}if(is_copy){prepared_move.cy=true;}if(!skip_check&&!this.check_move()){return false;}this.__rollback();var o=false;if(is_copy){o=obj.o.clone(true);o.find("*[id]").andSelf().each(function(){if(this.id){this.id="copy_"+this.id;}});}else{o=obj.o;}if(obj.or.length){obj.or.before(o);}else{if(!obj.np.children("ul").length){$("").appendTo(obj.np);}obj.np.children("ul:eq(0)").append(o);}try{obj.ot.clean_node(obj.op);obj.rt.clean_node(obj.np);if(!obj.op.find("> ul > li").length){obj.op.removeClass("jstree-open jstree-closed").addClass("jstree-leaf").children("ul").remove();}}catch(e){}if(is_copy){prepared_move.cy=true;prepared_move.oc=o;}this.__callback(prepared_move);return prepared_move;},_get_move:function(){return prepared_move;}}});})(jQuery);(function($){var scrollbar_width,e1,e2;$(function(){if(/msie/.test(navigator.userAgent.toLowerCase())){e1=$('').css({position:"absolute",top:-1000,left:0}).appendTo("body");e2=$('').css({position:"absolute",top:-1000,left:0}).appendTo("body");scrollbar_width=e1.width()-e2.width();e1.add(e2).remove();}else{e1=$("").css({width:100,height:100,overflow:"auto",position:"absolute",top:-1000,left:0}).prependTo("body").append("").find("div").css({width:"100%",height:200});scrollbar_width=100-e1.width();e1.parent().remove();}});$.jstree.plugin("ui",{__init:function(){this.data.ui.selected=$();this.data.ui.last_selected=false;this.data.ui.hovered=null;this.data.ui.to_select=this.get_settings().ui.initially_select;this.get_container().delegate("a","click.jstree",$.proxy(function(event){event.preventDefault();event.currentTarget.blur();if(!$(event.currentTarget).hasClass("jstree-loading")){this.select_node(event.currentTarget,true,event);}},this)).delegate("a","mouseenter.jstree",$.proxy(function(event){if(!$(event.currentTarget).hasClass("jstree-loading")){this.hover_node(event.target);}},this)).delegate("a","mouseleave.jstree",$.proxy(function(event){if(!$(event.currentTarget).hasClass("jstree-loading")){this.dehover_node(event.target);}},this)).bind("reopen.jstree",$.proxy(function(){this.reselect();},this)).bind("get_rollback.jstree",$.proxy(function(){this.dehover_node();this.save_selected();},this)).bind("set_rollback.jstree",$.proxy(function(){this.reselect();},this)).bind("close_node.jstree",$.proxy(function(event,data){var s=this._get_settings().ui,obj=this._get_node(data.rslt.obj),clk=(obj&&obj.length)?obj.children("ul").find("a.jstree-clicked"):$(),_this=this;if(s.selected_parent_close===false||!clk.length){return;}clk.each(function(){_this.deselect_node(this);if(s.selected_parent_close==="select_parent"){_this.select_node(obj);}});},this)).bind("delete_node.jstree",$.proxy(function(event,data){var s=this._get_settings().ui.select_prev_on_delete,obj=this._get_node(data.rslt.obj),clk=(obj&&obj.length)?obj.find("a.jstree-clicked"):[],_this=this;clk.each(function(){_this.deselect_node(this);});if(s&&clk.length){data.rslt.prev.each(function(){if(this.parentNode){_this.select_node(this);return false;}});}},this)).bind("move_node.jstree",$.proxy(function(event,data){if(data.rslt.cy){data.rslt.oc.find("a.jstree-clicked").removeClass("jstree-clicked");}},this));},defaults:{select_limit:-1,select_multiple_modifier:"ctrl",select_range_modifier:"shift",selected_parent_close:"select_parent",selected_parent_open:true,select_prev_on_delete:true,disable_selecting_children:false,initially_select:[]},_fn:{_get_node:function(obj,allow_multiple){if(typeof obj==="undefined"||obj===null){return allow_multiple?this.data.ui.selected:this.data.ui.last_selected;}var $obj=$(obj,this.get_container());if($obj.is(".jstree")||obj==-1){return -1;}$obj=$obj.closest("li",this.get_container());return $obj.length?$obj:false;},_ui_notify:function(n,data){if(data.selected){this.select_node(n,false);}},save_selected:function(){var _this=this;this.data.ui.to_select=[];this.data.ui.selected.each(function(){if(this.id){_this.data.ui.to_select.push("#"+this.id.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"));}});this.__callback(this.data.ui.to_select);},reselect:function(){var _this=this,s=this.data.ui.to_select;s=$.map($.makeArray(s),function(n){return"#"+n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:");});$.each(s,function(i,val){if(val&&val!=="#"){_this.select_node(val);}});this.data.ui.selected=this.data.ui.selected.filter(function(){return this.parentNode;});this.__callback();},refresh:function(obj){this.save_selected();return this.__call_old();},hover_node:function(obj){obj=this._get_node(obj);if(!obj.length){return false;}if(!obj.hasClass("jstree-hovered")){this.dehover_node();}this.data.ui.hovered=obj.children("a").addClass("jstree-hovered").parent();this._fix_scroll(obj);this.__callback({obj:obj});},dehover_node:function(){var obj=this.data.ui.hovered,p;if(!obj||!obj.length){return false;}p=obj.children("a").removeClass("jstree-hovered").parent();if(this.data.ui.hovered[0]===p[0]){this.data.ui.hovered=null;}this.__callback({obj:obj});},select_node:function(obj,check,e){obj=this._get_node(obj);if(obj==-1||!obj||!obj.length){return false;}var s=this._get_settings().ui,is_multiple=(s.select_multiple_modifier=="on"||(s.select_multiple_modifier!==false&&e&&e[s.select_multiple_modifier+"Key"])),is_range=(s.select_range_modifier!==false&&e&&e[s.select_range_modifier+"Key"]&&this.data.ui.last_selected&&this.data.ui.last_selected[0]!==obj[0]&&this.data.ui.last_selected.parent()[0]===obj.parent()[0]),is_selected=this.is_selected(obj),proceed=true,t=this;if(check){if(s.disable_selecting_children&&is_multiple&&((obj.parentsUntil(".jstree","li").children("a.jstree-clicked").length)||(obj.children("ul").find("a.jstree-clicked:eq(0)").length))){return false;}proceed=false;switch(!0){case (is_range):this.data.ui.last_selected.addClass("jstree-last-selected");obj=obj[obj.index()0){this.deselect_all();proceed=true;}break;case (is_selected&&is_multiple):this.deselect_node(obj);break;case (!is_selected&&is_multiple):if(s.select_limit==-1||this.data.ui.selected.length+1<=s.select_limit){proceed=true;}break;}}if(proceed&&!is_selected){if(!is_range){this.data.ui.last_selected=obj;}obj.children("a").addClass("jstree-clicked");if(s.selected_parent_open){obj.parents(".jstree-closed").each(function(){t.open_node(this,false,true);});}this.data.ui.selected=this.data.ui.selected.add(obj);this._fix_scroll(obj.eq(0));this.__callback({obj:obj,e:e});}},_fix_scroll:function(obj){var c=this.get_container()[0],t;if(c.scrollHeight>c.offsetHeight){obj=this._get_node(obj);if(!obj||obj===-1||!obj.length||!obj.is(":visible")){return;}t=obj.offset().top-this.get_container().offset().top;if(t<0){c.scrollTop=c.scrollTop+t-1;}if(t+this.data.core.li_height+(c.scrollWidth>c.offsetWidth?scrollbar_width:0)>c.offsetHeight){c.scrollTop=c.scrollTop+(t-c.offsetHeight+this.data.core.li_height+1+(c.scrollWidth>c.offsetWidth?scrollbar_width:0));}}},deselect_node:function(obj){obj=this._get_node(obj);if(!obj.length){return false;}if(this.is_selected(obj)){obj.children("a").removeClass("jstree-clicked");this.data.ui.selected=this.data.ui.selected.not(obj);if(this.data.ui.last_selected.get(0)===obj.get(0)){this.data.ui.last_selected=this.data.ui.selected.eq(0);}this.__callback({obj:obj});}},toggle_select:function(obj){obj=this._get_node(obj);if(!obj.length){return false;}if(this.is_selected(obj)){this.deselect_node(obj);}else{this.select_node(obj);}},is_selected:function(obj){return this.data.ui.selected.index(this._get_node(obj))>=0;},get_selected:function(context){return context?$(context).find("a.jstree-clicked").parent():this.data.ui.selected;},deselect_all:function(context){var ret=context?$(context).find("a.jstree-clicked").parent():this.get_container().find("a.jstree-clicked").parent();ret.children("a.jstree-clicked").removeClass("jstree-clicked");this.data.ui.selected=$([]);this.data.ui.last_selected=false;this.__callback({obj:ret});}}});$.jstree.defaults.plugins.push("ui");})(jQuery);(function($){var themes_loaded=[];$.jstree._themes=false;$.jstree.plugin("themes",{__init:function(){this.get_container().bind("init.jstree",$.proxy(function(){var s=this._get_settings().themes;this.data.themes.dots=s.dots;this.data.themes.icons=s.icons;this.set_theme(s.theme,s.url);},this)).bind("loaded.jstree",$.proxy(function(){if(!this.data.themes.dots){this.hide_dots();}else{this.show_dots();}if(!this.data.themes.icons){this.hide_icons();}else{this.show_icons();}},this));},defaults:{theme:"default",url:false,dots:true,icons:true},_fn:{set_theme:function(theme_name,theme_url){if(!theme_name){return false;}if(!theme_url){theme_url=$.jstree._themes+theme_name+"/style.css";}if($.inArray(theme_url,themes_loaded)==-1){$.vakata.css.add_sheet({url:theme_url});themes_loaded.push(theme_url);}if(this.data.themes.theme!=theme_name){this.get_container().removeClass("jstree-"+this.data.themes.theme);this.data.themes.theme=theme_name;}this.get_container().addClass("jstree-"+theme_name);if(!this.data.themes.dots){this.hide_dots();}else{this.show_dots();}if(!this.data.themes.icons){this.hide_icons();}else{this.show_icons();}this.__callback();},get_theme:function(){return this.data.themes.theme;},show_dots:function(){this.data.themes.dots=true;this.get_container().children("ul").removeClass("jstree-no-dots");},hide_dots:function(){this.data.themes.dots=false;this.get_container().children("ul").addClass("jstree-no-dots");},toggle_dots:function(){if(this.data.themes.dots){this.hide_dots();}else{this.show_dots();}},show_icons:function(){this.data.themes.icons=true;this.get_container().children("ul").removeClass("jstree-no-icons");},hide_icons:function(){this.data.themes.icons=false;this.get_container().children("ul").addClass("jstree-no-icons");},toggle_icons:function(){if(this.data.themes.icons){this.hide_icons();}else{this.show_icons();}}}});$(function(){if($.jstree._themes===false){$("script").each(function(){if(this.src.toString().match(/jquery\.jstree[^\/]*?\.js(\?.*)?$/)){$.jstree._themes=this.src.toString().replace(/jquery\.jstree[^\/]*?\.js(\?.*)?$/,"")+"themes/";return false;}});}if($.jstree._themes===false){$.jstree._themes="themes/";}});$.jstree.defaults.plugins.push("themes");})(jQuery);(function($){$.jstree.plugin("json_data",{__init:function(){var s=this._get_settings().json_data;if(s.progressive_unload){this.get_container().bind("after_close.jstree",function(e,data){data.rslt.obj.children("ul").remove();});}},defaults:{data:false,ajax:false,correct_state:true,progressive_render:false,progressive_unload:false},_fn:{load_node:function(obj,s_call,e_call){var _this=this;this.load_node_json(obj,function(){_this.__callback({obj:_this._get_node(obj)});s_call.call(this);},e_call);},_is_loaded:function(obj){var s=this._get_settings().json_data;obj=this._get_node(obj);return obj==-1||!obj||(!s.ajax&&!s.progressive_render&&!$.isFunction(s.data))||obj.is(".jstree-open, .jstree-leaf")||obj.children("ul").children("li").length>0;},refresh:function(obj){obj=this._get_node(obj);var s=this._get_settings().json_data;if(obj&&obj!==-1&&s.progressive_unload&&($.isFunction(s.data)||!!s.ajax)){obj.removeData("jstree-children");}return this.__call_old();},load_node_json:function(obj,s_call,e_call){var s=this.get_settings().json_data,d,error_func=function(){},success_func=function(){};obj=this._get_node(obj);if(obj&&obj!==-1&&(s.progressive_render||s.progressive_unload)&&!obj.is(".jstree-open, .jstree-leaf")&&obj.children("ul").children("li").length===0&&obj.data("jstree-children")){d=this._parse_json(obj.data("jstree-children"),obj);if(d){obj.append(d);if(!s.progressive_unload){obj.removeData("jstree-children");}}this.clean_node(obj);if(s_call){s_call.call(this);}return;}if(obj&&obj!==-1){if(obj.data("jstree-is-loading")){return;}else{obj.data("jstree-is-loading",true);}}switch(!0){case (!s.data&&!s.ajax):throw"Neither data nor ajax settings supplied.";case ($.isFunction(s.data)):s.data.call(this,obj,$.proxy(function(d){d=this._parse_json(d,obj);if(!d){if(obj===-1||!obj){if(s.correct_state){this.get_container().children("ul").empty();}}else{obj.children("a.jstree-loading").removeClass("jstree-loading");obj.removeData("jstree-is-loading");if(s.correct_state){this.correct_state(obj);}}if(e_call){e_call.call(this);}}else{if(obj===-1||!obj){this.get_container().children("ul").empty().append(d.children());}else{obj.append(d).children("a.jstree-loading").removeClass("jstree-loading");obj.removeData("jstree-is-loading");}this.clean_node(obj);if(s_call){s_call.call(this);}}},this));break;case (!!s.data&&!s.ajax)||(!!s.data&&!!s.ajax&&(!obj||obj===-1)):if(!obj||obj==-1){d=this._parse_json(s.data,obj);if(d){this.get_container().children("ul").empty().append(d.children());this.clean_node();}else{if(s.correct_state){this.get_container().children("ul").empty();}}}if(s_call){s_call.call(this);}break;case (!s.data&&!!s.ajax)||(!!s.data&&!!s.ajax&&obj&&obj!==-1):error_func=function(x,t,e){var ef=this.get_settings().json_data.ajax.error;if(ef){ef.call(this,x,t,e);}if(obj!=-1&&obj.length){obj.children("a.jstree-loading").removeClass("jstree-loading");obj.removeData("jstree-is-loading");if(t==="success"&&s.correct_state){this.correct_state(obj);}}else{if(t==="success"&&s.correct_state){this.get_container().children("ul").empty();}}if(e_call){e_call.call(this);}};success_func=function(d,t,x){var sf=this.get_settings().json_data.ajax.success;if(sf){d=sf.call(this,d,t,x)||d;}if(d===""||(d&&d.toString&&d.toString().replace(/^[\s\n]+$/,"")==="")||(!$.isArray(d)&&!$.isPlainObject(d))){return error_func.call(this,x,t,"");}d=this._parse_json(d,obj);if(d){if(obj===-1||!obj){this.get_container().children("ul").empty().append(d.children());}else{obj.append(d).children("a.jstree-loading").removeClass("jstree-loading");obj.removeData("jstree-is-loading");}this.clean_node(obj);if(s_call){s_call.call(this);}}else{if(obj===-1||!obj){if(s.correct_state){this.get_container().children("ul").empty();if(s_call){s_call.call(this);}}}else{obj.children("a.jstree-loading").removeClass("jstree-loading");obj.removeData("jstree-is-loading");if(s.correct_state){this.correct_state(obj);if(s_call){s_call.call(this);}}}}};s.ajax.context=this;s.ajax.error=error_func;s.ajax.success=success_func;if(!s.ajax.dataType){s.ajax.dataType="json";}if($.isFunction(s.ajax.url)){s.ajax.url=s.ajax.url.call(this,obj);}if($.isFunction(s.ajax.data)){s.ajax.data=s.ajax.data.call(this,obj);}$.ajax(s.ajax);break;}},_parse_json:function(js,obj,is_callback){var d=false,p=this._get_settings(),s=p.json_data,t=p.core.html_titles,tmp,i,j,ul1,ul2;if(!js){return d;}if(s.progressive_unload&&obj&&obj!==-1){obj.data("jstree-children",d);}if($.isArray(js)){d=$();if(!js.length){return false;}for(i=0,j=js.length;i");if(js.attr){d.attr(js.attr);}if(js.metadata){d.data(js.metadata);}if(js.state){d.addClass("jstree-"+js.state);}if(!$.isArray(js.data)){tmp=js.data;js.data=[];js.data.push(tmp);}$.each(js.data,function(i,m){tmp=$("");if($.isFunction(m)){m=m.call(this,js);}if(typeof m=="string"){tmp.attr("href","#")[t?"html":"text"](m);}else{if(!m.attr){m.attr={};}if(!m.attr.href){m.attr.href="#";}tmp.attr(m.attr)[t?"html":"text"](m.title);if(m.language){tmp.addClass(m.language);}}tmp.prepend(" ");if(!m.icon&&js.icon){m.icon=js.icon;}if(m.icon){if(m.icon.indexOf("/")===-1){tmp.children("ins").addClass(m.icon);}else{tmp.children("ins").css("background","url('"+m.icon+"') center center no-repeat");}}d.append(tmp);});d.prepend(" ");if(js.children){if(s.progressive_render&&js.state!=="open"){d.addClass("jstree-closed").data("jstree-children",js.children);}else{if(s.progressive_unload){d.data("jstree-children",js.children);}if($.isArray(js.children)&&js.children.length){tmp=this._parse_json(js.children,obj,true);if(tmp.length){ul2=$("");ul2.append(tmp);d.append(ul2);}}}}}if(!is_callback){ul1=$("");ul1.append(d);d=ul1;}return d;},get_json:function(obj,li_attr,a_attr,is_callback){var result=[],s=this._get_settings(),_this=this,tmp1,tmp2,li,a,t,lang;obj=this._get_node(obj);if(!obj||obj===-1){obj=this.get_container().find("> ul > li");}li_attr=$.isArray(li_attr)?li_attr:["id","class"];if(!is_callback&&this.data.types){li_attr.push(s.types.type_attr);}a_attr=$.isArray(a_attr)?a_attr:[];obj.each(function(){li=$(this);tmp1={data:[]};if(li_attr.length){tmp1.attr={};}$.each(li_attr,function(i,v){tmp2=li.attr(v);if(tmp2&&tmp2.length&&tmp2.replace(/jstree[^ ]*/ig,"").length){tmp1.attr[v]=(" "+tmp2).replace(/ jstree[^ ]*/ig,"").replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"");}});if(li.hasClass("jstree-open")){tmp1.state="open";}if(li.hasClass("jstree-closed")){tmp1.state="closed";}if(li.data()){tmp1.metadata=li.data();}a=li.children("a");a.each(function(){t=$(this);if(a_attr.length||$.inArray("languages",s.plugins)!==-1||t.children("ins").get(0).style.backgroundImage.length||(t.children("ins").get(0).className&&t.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,"").length)){lang=false;if($.inArray("languages",s.plugins)!==-1&&$.isArray(s.languages)&&s.languages.length){$.each(s.languages,function(l,lv){if(t.hasClass(lv)){lang=lv;return false;}});}tmp2={attr:{},title:_this.get_text(t,lang)};$.each(a_attr,function(k,z){tmp2.attr[z]=(" "+(t.attr(z)||"")).replace(/ jstree[^ ]*/ig,"").replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"");});if($.inArray("languages",s.plugins)!==-1&&$.isArray(s.languages)&&s.languages.length){$.each(s.languages,function(k,z){if(t.hasClass(z)){tmp2.language=z;return true;}});}if(t.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,"").replace(/^\s+$/ig,"").length){tmp2.icon=t.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,"").replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"");}if(t.children("ins").get(0).style.backgroundImage.length){tmp2.icon=t.children("ins").get(0).style.backgroundImage.replace("url(","").replace(")","");}}else{tmp2=_this.get_text(t);}if(a.length>1){tmp1.data.push(tmp2);}else{tmp1.data=tmp2;}});li=li.find("> ul > li");if(li.length){tmp1.children=_this.get_json(li,li_attr,a_attr,true);}result.push(tmp1);});return result;}}});})(jQuery);(function($){$.jstree.plugin("checkbox",{__init:function(){this.data.checkbox.noui=this._get_settings().checkbox.override_ui;if(this.data.ui&&this.data.checkbox.noui){this.select_node=this.deselect_node=this.deselect_all=$.noop;this.get_selected=this.get_checked;}this.get_container().bind("open_node.jstree create_node.jstree clean_node.jstree refresh.jstree",$.proxy(function(e,data){this._prepare_checkboxes(data.rslt.obj);},this)).bind("loaded.jstree",$.proxy(function(e){this._prepare_checkboxes();},this)).delegate((this.data.ui&&this.data.checkbox.noui?"a":"ins.jstree-checkbox"),"click.jstree",$.proxy(function(e){e.preventDefault();if(this._get_node(e.target).hasClass("jstree-checked")){this.uncheck_node(e.target);}else{this.check_node(e.target);}if(this.data.ui&&this.data.checkbox.noui){this.save_selected();if(this.data.cookies){this.save_cookie("select_node");}}else{e.stopImmediatePropagation();return false;}},this));},defaults:{override_ui:false,two_state:false,real_checkboxes:false,checked_parent_open:true,real_checkboxes_names:function(n){return[("check_"+(n[0].id||Math.ceil(Math.random()*10000))),1];}},__destroy:function(){this.get_container().find("input.jstree-real-checkbox").removeClass("jstree-real-checkbox").end().find("ins.jstree-checkbox").remove();},_fn:{_checkbox_notify:function(n,data){if(data.checked){this.check_node(n,false);}},_prepare_checkboxes:function(obj){obj=!obj||obj==-1?this.get_container().find("> ul > li"):this._get_node(obj);if(obj===false){return;}var c,_this=this,t,ts=this._get_settings().checkbox.two_state,rc=this._get_settings().checkbox.real_checkboxes,rcn=this._get_settings().checkbox.real_checkboxes_names;obj.each(function(){t=$(this);c=t.is("li")&&(t.hasClass("jstree-checked")||(rc&&t.children(":checked").length))?"jstree-checked":"jstree-unchecked";t.find("li").andSelf().each(function(){var $t=$(this),nm;$t.children("a"+(_this.data.languages?"":":eq(0)")).not(":has(.jstree-checkbox)").prepend(" ").parent().not(".jstree-checked, .jstree-unchecked").addClass(ts?"jstree-unchecked":c);if(rc){if(!$t.children(":checkbox").length){nm=rcn.call(_this,$t);$t.prepend("");}else{$t.children(":checkbox").addClass("jstree-real-checkbox");}if(c==="jstree-checked"){$t.children(":checkbox").attr("checked","checked");}}if(c==="jstree-checked"&&!ts){$t.find("li").addClass("jstree-checked");}});});if(!ts){if(obj.length===1&&obj.is("li")){this._repair_state(obj);}if(obj.is("li")){obj.each(function(){_this._repair_state(this);});}else{obj.find("> ul > li").each(function(){_this._repair_state(this);});}obj.find(".jstree-checked").parent().parent().each(function(){_this._repair_state(this);});}},change_state:function(obj,state){obj=this._get_node(obj);var coll=false,rc=this._get_settings().checkbox.real_checkboxes;if(!obj||obj===-1){return false;}state=(state===false||state===true)?state:obj.hasClass("jstree-checked");if(this._get_settings().checkbox.two_state){if(state){obj.removeClass("jstree-checked").addClass("jstree-unchecked");if(rc){obj.children(":checkbox").removeAttr("checked");}}else{obj.removeClass("jstree-unchecked").addClass("jstree-checked");if(rc){obj.children(":checkbox").attr("checked","checked");}}}else{if(state){coll=obj.find("li").andSelf();if(!coll.filter(".jstree-checked, .jstree-undetermined").length){return false;}coll.removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked");if(rc){coll.children(":checkbox").removeAttr("checked");}}else{coll=obj.find("li").andSelf();if(!coll.filter(".jstree-unchecked, .jstree-undetermined").length){return false;}coll.removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked");if(rc){coll.children(":checkbox").attr("checked","checked");}if(this.data.ui){this.data.ui.last_selected=obj;}this.data.checkbox.last_selected=obj;}obj.parentsUntil(".jstree","li").each(function(){var $this=$(this);if(state){if($this.children("ul").children("li.jstree-checked, li.jstree-undetermined").length){$this.parentsUntil(".jstree","li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined");if(rc){$this.parentsUntil(".jstree","li").andSelf().children(":checkbox").removeAttr("checked");}return false;}else{$this.removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked");if(rc){$this.children(":checkbox").removeAttr("checked");}}}else{if($this.children("ul").children("li.jstree-unchecked, li.jstree-undetermined").length){$this.parentsUntil(".jstree","li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined");if(rc){$this.parentsUntil(".jstree","li").andSelf().children(":checkbox").removeAttr("checked");}return false;}else{$this.removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked");if(rc){$this.children(":checkbox").attr("checked","checked");}}}});}if(this.data.ui&&this.data.checkbox.noui){this.data.ui.selected=this.get_checked();}this.__callback(obj);return true;},check_node:function(obj){if(this.change_state(obj,false)){obj=this._get_node(obj);if(this._get_settings().checkbox.checked_parent_open){var t=this;obj.parents(".jstree-closed").each(function(){t.open_node(this,false,true);});}this.__callback({obj:obj});}},uncheck_node:function(obj){if(this.change_state(obj,true)){this.__callback({obj:this._get_node(obj)});}},check_all:function(){var _this=this,coll=this._get_settings().checkbox.two_state?this.get_container_ul().find("li"):this.get_container_ul().children("li");coll.each(function(){_this.change_state(this,false);});this.__callback();},uncheck_all:function(){var _this=this,coll=this._get_settings().checkbox.two_state?this.get_container_ul().find("li"):this.get_container_ul().children("li");coll.each(function(){_this.change_state(this,true);});this.__callback();},is_checked:function(obj){obj=this._get_node(obj);return obj.length?obj.is(".jstree-checked"):false;},get_checked:function(obj,get_all){obj=!obj||obj===-1?this.get_container():this._get_node(obj);return get_all||this._get_settings().checkbox.two_state?obj.find(".jstree-checked"):obj.find("> ul > .jstree-checked, .jstree-undetermined > ul > .jstree-checked");},get_unchecked:function(obj,get_all){obj=!obj||obj===-1?this.get_container():this._get_node(obj);return get_all||this._get_settings().checkbox.two_state?obj.find(".jstree-unchecked"):obj.find("> ul > .jstree-unchecked, .jstree-undetermined > ul > .jstree-unchecked");},show_checkboxes:function(){this.get_container().children("ul").removeClass("jstree-no-checkboxes");},hide_checkboxes:function(){this.get_container().children("ul").addClass("jstree-no-checkboxes");},_repair_state:function(obj){obj=this._get_node(obj);if(!obj.length){return;}var rc=this._get_settings().checkbox.real_checkboxes,a=obj.find("> ul > .jstree-checked").length,b=obj.find("> ul > .jstree-undetermined").length,c=obj.find("> ul > li").length;if(c===0){if(obj.hasClass("jstree-undetermined")){this.change_state(obj,false);}}else{if(a===0&&b===0){this.change_state(obj,true);}else{if(a===c){this.change_state(obj,false);}else{obj.parentsUntil(".jstree","li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined");if(rc){obj.parentsUntil(".jstree","li").andSelf().children(":checkbox").removeAttr("checked");}}}}},reselect:function(){if(this.data.ui&&this.data.checkbox.noui){var _this=this,s=this.data.ui.to_select;s=$.map($.makeArray(s),function(n){return"#"+n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:");});this.deselect_all();$.each(s,function(i,val){_this.check_node(val);});this.__callback();}else{this.__call_old();}},save_loaded:function(){var _this=this;this.data.core.to_load=[];this.get_container_ul().find("li.jstree-closed.jstree-undetermined").each(function(){if(this.id){_this.data.core.to_load.push("#"+this.id);}});}}});$(function(){var css_string=".jstree .jstree-real-checkbox { display:none; } ";$.vakata.css.add_sheet({str:css_string,title:"jstree"});});})(jQuery);(function($){$.jstree.plugin("types",{__init:function(){var s=this._get_settings().types;this.data.types.attach_to=[];this.get_container().bind("init.jstree",$.proxy(function(){var types=s.types,attr=s.type_attr,icons_css="",_this=this;$.each(types,function(i,tp){$.each(tp,function(k,v){if(!/^(max_depth|max_children|icon|valid_children)$/.test(k)){_this.data.types.attach_to.push(k);}});if(!tp.icon){return true;}if(tp.icon.image||tp.icon.position){if(i=="default"){icons_css+=".jstree-"+_this.get_index()+" a > .jstree-icon { ";}else{icons_css+=".jstree-"+_this.get_index()+" li["+attr+'="'+i+'"] > a > .jstree-icon { ';}if(tp.icon.image){icons_css+=" background-image:url("+tp.icon.image+"); ";}if(tp.icon.position){icons_css+=" background-position:"+tp.icon.position+"; ";}else{icons_css+=" background-position:0 0; ";}icons_css+="} ";}});if(icons_css!==""){$.vakata.css.add_sheet({str:icons_css,title:"jstree-types"});}},this)).bind("before.jstree",$.proxy(function(e,data){var s,t,o=this._get_settings().types.use_data?this._get_node(data.args[0]):false,d=o&&o!==-1&&o.length?o.data("jstree"):false;if(d&&d.types&&d.types[data.func]===false){e.stopImmediatePropagation();return false;}if($.inArray(data.func,this.data.types.attach_to)!==-1){if(!data.args[0]||(!data.args[0].tagName&&!data.args[0].jquery)){return;}s=this._get_settings().types.types;t=this._get_type(data.args[0]);if(((s[t]&&typeof s[t][data.func]!=="undefined")||(s["default"]&&typeof s["default"][data.func]!=="undefined"))&&this._check(data.func,data.args[0])===false){e.stopImmediatePropagation();return false;}}},this));if(is_ie6){this.get_container().bind("load_node.jstree set_type.jstree",$.proxy(function(e,data){var r=data&&data.rslt&&data.rslt.obj&&data.rslt.obj!==-1?this._get_node(data.rslt.obj).parent():this.get_container_ul(),c=false,s=this._get_settings().types;$.each(s.types,function(i,tp){if(tp.icon&&(tp.icon.image||tp.icon.position)){c=i==="default"?r.find("li > a > .jstree-icon"):r.find("li["+s.type_attr+"='"+i+"'] > a > .jstree-icon");if(tp.icon.image){c.css("backgroundImage","url("+tp.icon.image+")");}c.css("backgroundPosition",tp.icon.position||"0 0");}});},this));}},defaults:{max_children:-1,max_depth:-1,valid_children:"all",use_data:false,type_attr:"rel",types:{"default":{max_children:-1,max_depth:-1,valid_children:"all"}}},_fn:{_types_notify:function(n,data){if(data.type&&this._get_settings().types.use_data){this.set_type(data.type,n);}},_get_type:function(obj){obj=this._get_node(obj);return(!obj||!obj.length)?false:obj.attr(this._get_settings().types.type_attr)||"default";},set_type:function(str,obj){obj=this._get_node(obj);var ret=(!obj.length||!str)?false:obj.attr(this._get_settings().types.type_attr,str);if(ret){this.__callback({obj:obj,type:str});}return ret;},_check:function(rule,obj,opts){obj=this._get_node(obj);var v=false,t=this._get_type(obj),d=0,_this=this,s=this._get_settings().types,data=false;if(obj===-1){if(!!s[rule]){v=s[rule];}else{return;}}else{if(t===false){return;}data=s.use_data?obj.data("jstree"):false;if(data&&data.types&&typeof data.types[rule]!=="undefined"){v=data.types[rule];}else{if(!!s.types[t]&&typeof s.types[t][rule]!=="undefined"){v=s.types[t][rule];}else{if(!!s.types["default"]&&typeof s.types["default"][rule]!=="undefined"){v=s.types["default"][rule];}}}}if($.isFunction(v)){v=v.call(this,obj);}if(rule==="max_depth"&&obj!==-1&&opts!==false&&s.max_depth!==-2&&v!==0){obj.children("a:eq(0)").parentsUntil(".jstree","li").each(function(i){if(s.max_depth!==-1&&s.max_depth-(i+1)<=0){v=0;return false;}d=(i===0)?v:_this._check(rule,this,false);if(d!==-1&&d-(i+1)<=0){v=0;return false;}if(d>=0&&(d-(i+1)=0&&(s.max_depth-(i+1) ul > li").not(m.o).length:m.cr.find("> ul > li").not(m.o).length;if(ch+m.o.length>mc){return false;}}if(s.max_depth!==-2&&md!==-1){d=0;if(md===0){return false;}if(typeof m.o.d==="undefined"){t=m.o;while(t.length>0){t=t.find("> ul > li");d++;}m.o.d=d;}if(md-m.o.d<0){return false;}}return true;},create_node:function(obj,position,js,callback,is_loaded,skip_check){if(!skip_check&&(is_loaded||this._is_loaded(obj))){var p=(typeof position=="string"&&position.match(/^before|after$/i)&&obj!==-1)?this._get_parent(obj):this._get_node(obj),s=this._get_settings().types,mc=this._check("max_children",p),md=this._check("max_depth",p),vc=this._check("valid_children",p),ch;if(typeof js==="string"){js={data:js};}if(!js){js={};}if(vc==="none"){return false;}if($.isArray(vc)){if(!js.attr||!js.attr[s.type_attr]){if(!js.attr){js.attr={};}js.attr[s.type_attr]=vc[0];}else{if($.inArray(js.attr[s.type_attr],vc)===-1){return false;}}}if(s.max_children!==-2&&mc!==-1){ch=p===-1?this.get_container().find("> ul > li").length:p.find("> ul > li").length;if(ch+1>mc){return false;}}if(s.max_depth!==-2&&md!==-1&&(md-1)<0){return false;}}return this.__call_old(true,obj,position,js,callback,is_loaded,skip_check);}}});})(jQuery);})();
diff --git a/media/js/themes/classic/d.gif b/media/js/themes/classic/d.gif
deleted file mode 100644
index 6eb0004ce3..0000000000
Binary files a/media/js/themes/classic/d.gif and /dev/null differ
diff --git a/media/js/themes/classic/d.png b/media/js/themes/classic/d.png
deleted file mode 100644
index 275daeca2d..0000000000
Binary files a/media/js/themes/classic/d.png and /dev/null differ
diff --git a/media/js/themes/classic/dot_for_ie.gif b/media/js/themes/classic/dot_for_ie.gif
deleted file mode 100644
index c0cc5fda7c..0000000000
Binary files a/media/js/themes/classic/dot_for_ie.gif and /dev/null differ
diff --git a/media/js/themes/classic/style.css b/media/js/themes/classic/style.css
deleted file mode 100644
index 492856ddc7..0000000000
--- a/media/js/themes/classic/style.css
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * jsTree classic theme 1.0
- * Supported features: dots/no-dots, icons/no-icons, focused, loading
- * Supported plugins: ui (hovered, clicked), checkbox, contextmenu, search
- */
-
-.jstree-classic li,
-.jstree-classic ins { background-image:url("d.png"); background-repeat:no-repeat; background-color:transparent; }
-.jstree-classic li { background-position:-90px 0; background-repeat:repeat-y; }
-.jstree-classic li.jstree-last { background:transparent; }
-.jstree-classic .jstree-open > ins { background-position:-72px 0; }
-.jstree-classic .jstree-closed > ins { background-position:-54px 0; }
-.jstree-classic .jstree-leaf > ins { background-position:-36px 0; }
-
-.jstree-classic .jstree-hovered { background:#e7f4f9; border:1px solid #e7f4f9; padding:0 2px 0 1px; }
-.jstree-classic .jstree-clicked { background:navy; border:1px solid navy; padding:0 2px 0 1px; color:white; }
-.jstree-classic a .jstree-icon { background-position:-56px -19px; }
-.jstree-classic .jstree-open > a .jstree-icon { background-position:-56px -36px; }
-.jstree-classic a.jstree-loading .jstree-icon { background:url("throbber.gif") center center no-repeat !important; }
-
-.jstree-classic.jstree-focused { background:white; }
-
-.jstree-classic .jstree-no-dots li,
-.jstree-classic .jstree-no-dots .jstree-leaf > ins { background:transparent; }
-.jstree-classic .jstree-no-dots .jstree-open > ins { background-position:-18px 0; }
-.jstree-classic .jstree-no-dots .jstree-closed > ins { background-position:0 0; }
-
-.jstree-classic .jstree-no-icons a .jstree-icon { display:none; }
-
-.jstree-classic .jstree-search { font-style:italic; }
-
-.jstree-classic .jstree-no-icons .jstree-checkbox { display:inline-block; }
-.jstree-classic .jstree-no-checkboxes .jstree-checkbox { display:none !important; }
-.jstree-classic .jstree-checked > a > .jstree-checkbox { background-position:-38px -19px; }
-.jstree-classic .jstree-unchecked > a > .jstree-checkbox { background-position:-2px -19px; }
-.jstree-classic .jstree-undetermined > a > .jstree-checkbox { background-position:-20px -19px; }
-.jstree-classic .jstree-checked > a > .jstree-checkbox:hover { background-position:-38px -37px; }
-.jstree-classic .jstree-unchecked > a > .jstree-checkbox:hover { background-position:-2px -37px; }
-.jstree-classic .jstree-undetermined > a > .jstree-checkbox:hover { background-position:-20px -37px; }
-
-#vakata-dragged.jstree-classic ins { background:transparent !important; }
-#vakata-dragged.jstree-classic .jstree-ok { background:url("d.png") -2px -53px no-repeat !important; }
-#vakata-dragged.jstree-classic .jstree-invalid { background:url("d.png") -18px -53px no-repeat !important; }
-#jstree-marker.jstree-classic { background:url("d.png") -41px -57px no-repeat !important; text-indent:-100px; }
-
-.jstree-classic a.jstree-search { color:aqua; }
-.jstree-classic .jstree-locked a { color:silver; cursor:default; }
-
-#vakata-contextmenu.jstree-classic-context,
-#vakata-contextmenu.jstree-classic-context li ul { background:#f0f0f0; border:1px solid #979797; -moz-box-shadow: 1px 1px 2px #999; -webkit-box-shadow: 1px 1px 2px #999; box-shadow: 1px 1px 2px #999; }
-#vakata-contextmenu.jstree-classic-context li { }
-#vakata-contextmenu.jstree-classic-context a { color:black; }
-#vakata-contextmenu.jstree-classic-context a:hover,
-#vakata-contextmenu.jstree-classic-context .vakata-hover > a { padding:0 5px; background:#e8eff7; border:1px solid #aecff7; color:black; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; }
-#vakata-contextmenu.jstree-classic-context li.jstree-contextmenu-disabled a,
-#vakata-contextmenu.jstree-classic-context li.jstree-contextmenu-disabled a:hover { color:silver; background:transparent; border:0; padding:1px 4px; }
-#vakata-contextmenu.jstree-classic-context li.vakata-separator { background:white; border-top:1px solid #e0e0e0; margin:0; }
-#vakata-contextmenu.jstree-classic-context li ul { margin-left:-4px; }
-
-/* IE6 BEGIN */
-.jstree-classic li,
-.jstree-classic ins,
-#vakata-dragged.jstree-classic .jstree-invalid,
-#vakata-dragged.jstree-classic .jstree-ok,
-#jstree-marker.jstree-classic { _background-image:url("d.gif"); }
-.jstree-classic .jstree-open ins { _background-position:-72px 0; }
-.jstree-classic .jstree-closed ins { _background-position:-54px 0; }
-.jstree-classic .jstree-leaf ins { _background-position:-36px 0; }
-.jstree-classic .jstree-open a ins.jstree-icon { _background-position:-56px -36px; }
-.jstree-classic .jstree-closed a ins.jstree-icon { _background-position:-56px -19px; }
-.jstree-classic .jstree-leaf a ins.jstree-icon { _background-position:-56px -19px; }
-#vakata-contextmenu.jstree-classic-context ins { _display:none; }
-#vakata-contextmenu.jstree-classic-context li { _zoom:1; }
-.jstree-classic .jstree-undetermined a .jstree-checkbox { _background-position:-20px -19px; }
-.jstree-classic .jstree-checked a .jstree-checkbox { _background-position:-38px -19px; }
-.jstree-classic .jstree-unchecked a .jstree-checkbox { _background-position:-2px -19px; }
-/* IE6 END */
\ No newline at end of file
diff --git a/media/js/themes/classic/throbber.gif b/media/js/themes/classic/throbber.gif
deleted file mode 100644
index 5b33f7e54f..0000000000
Binary files a/media/js/themes/classic/throbber.gif and /dev/null differ
diff --git a/media/js/themes/default/d.gif b/media/js/themes/default/d.gif
deleted file mode 100644
index 0e958d3871..0000000000
Binary files a/media/js/themes/default/d.gif and /dev/null differ
diff --git a/media/js/themes/default/d.png b/media/js/themes/default/d.png
deleted file mode 100644
index 8540175a04..0000000000
Binary files a/media/js/themes/default/d.png and /dev/null differ
diff --git a/media/js/themes/default/style.css b/media/js/themes/default/style.css
deleted file mode 100644
index 238ce1a1c4..0000000000
--- a/media/js/themes/default/style.css
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * jsTree default theme 1.0
- * Supported features: dots/no-dots, icons/no-icons, focused, loading
- * Supported plugins: ui (hovered, clicked), checkbox, contextmenu, search
- */
-
-.jstree-default li,
-.jstree-default ins { background-image:url("d.png"); background-repeat:no-repeat; background-color:transparent; }
-.jstree-default li { background-position:-90px 0; background-repeat:repeat-y; }
-.jstree-default li.jstree-last { background:transparent; }
-.jstree-default .jstree-open > ins { background-position:-72px 0; }
-.jstree-default .jstree-closed > ins { background-position:-54px 0; }
-.jstree-default .jstree-leaf > ins { background-position:-36px 0; }
-
-.jstree-default .jstree-hovered { background:#e7f4f9; border:1px solid #d8f0fa; padding:0 2px 0 1px; }
-.jstree-default .jstree-clicked { background:#beebff; border:1px solid #99defd; padding:0 2px 0 1px; }
-.jstree-default a .jstree-icon { background-position:-56px -19px; }
-.jstree-default a.jstree-loading .jstree-icon { background:url("throbber.gif") center center no-repeat !important; }
-
-.jstree-default.jstree-focused { background:#ffffee; }
-
-.jstree-default .jstree-no-dots li,
-.jstree-default .jstree-no-dots .jstree-leaf > ins { background:transparent; }
-.jstree-default .jstree-no-dots .jstree-open > ins { background-position:-18px 0; }
-.jstree-default .jstree-no-dots .jstree-closed > ins { background-position:0 0; }
-
-.jstree-default .jstree-no-icons a .jstree-icon { display:none; }
-
-.jstree-default .jstree-search { font-style:italic; }
-
-.jstree-default .jstree-no-icons .jstree-checkbox { display:inline-block; }
-.jstree-default .jstree-no-checkboxes .jstree-checkbox { display:none !important; }
-.jstree-default .jstree-checked > a > .jstree-checkbox { background-position:-38px -19px; }
-.jstree-default .jstree-unchecked > a > .jstree-checkbox { background-position:-2px -19px; }
-.jstree-default .jstree-undetermined > a > .jstree-checkbox { background-position:-20px -19px; }
-.jstree-default .jstree-checked > a > .jstree-checkbox:hover { background-position:-38px -37px; }
-.jstree-default .jstree-unchecked > a > .jstree-checkbox:hover { background-position:-2px -37px; }
-.jstree-default .jstree-undetermined > a > .jstree-checkbox:hover { background-position:-20px -37px; }
-
-#vakata-dragged.jstree-default ins { background:transparent !important; }
-#vakata-dragged.jstree-default .jstree-ok { background:url("d.png") -2px -53px no-repeat !important; }
-#vakata-dragged.jstree-default .jstree-invalid { background:url("d.png") -18px -53px no-repeat !important; }
-#jstree-marker.jstree-default { background:url("d.png") -41px -57px no-repeat !important; text-indent:-100px; }
-
-.jstree-default a.jstree-search { color:aqua; }
-.jstree-default .jstree-locked a { color:silver; cursor:default; }
-
-#vakata-contextmenu.jstree-default-context,
-#vakata-contextmenu.jstree-default-context li ul { background:#f0f0f0; border:1px solid #979797; -moz-box-shadow: 1px 1px 2px #999; -webkit-box-shadow: 1px 1px 2px #999; box-shadow: 1px 1px 2px #999; }
-#vakata-contextmenu.jstree-default-context li { }
-#vakata-contextmenu.jstree-default-context a { color:black; }
-#vakata-contextmenu.jstree-default-context a:hover,
-#vakata-contextmenu.jstree-default-context .vakata-hover > a { padding:0 5px; background:#e8eff7; border:1px solid #aecff7; color:black; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; }
-#vakata-contextmenu.jstree-default-context li.jstree-contextmenu-disabled a,
-#vakata-contextmenu.jstree-default-context li.jstree-contextmenu-disabled a:hover { color:silver; background:transparent; border:0; padding:1px 4px; }
-#vakata-contextmenu.jstree-default-context li.vakata-separator { background:white; border-top:1px solid #e0e0e0; margin:0; }
-#vakata-contextmenu.jstree-default-context li ul { margin-left:-4px; }
-
-/* IE6 BEGIN */
-.jstree-default li,
-.jstree-default ins,
-#vakata-dragged.jstree-default .jstree-invalid,
-#vakata-dragged.jstree-default .jstree-ok,
-#jstree-marker.jstree-default { _background-image:url("d.gif"); }
-.jstree-default .jstree-open ins { _background-position:-72px 0; }
-.jstree-default .jstree-closed ins { _background-position:-54px 0; }
-.jstree-default .jstree-leaf ins { _background-position:-36px 0; }
-.jstree-default a ins.jstree-icon { _background-position:-56px -19px; }
-#vakata-contextmenu.jstree-default-context ins { _display:none; }
-#vakata-contextmenu.jstree-default-context li { _zoom:1; }
-.jstree-default .jstree-undetermined a .jstree-checkbox { _background-position:-20px -19px; }
-.jstree-default .jstree-checked a .jstree-checkbox { _background-position:-38px -19px; }
-.jstree-default .jstree-unchecked a .jstree-checkbox { _background-position:-2px -19px; }
-/* IE6 END */
\ No newline at end of file
diff --git a/media/js/themes/default/throbber.gif b/media/js/themes/default/throbber.gif
deleted file mode 100644
index 5b33f7e54f..0000000000
Binary files a/media/js/themes/default/throbber.gif and /dev/null differ
diff --git a/seahub/group/templates/group/group_wiki.html b/seahub/group/templates/group/group_wiki.html
index 3f1c88d4b6..c6ba6572cb 100644
--- a/seahub/group/templates/group/group_wiki.html
+++ b/seahub/group/templates/group/group_wiki.html
@@ -196,15 +196,18 @@ $('#wiki-create-form').submit(function () {
var all_repos = [];
{% for a_repo in group_repos %}
all_repos.push({
- 'data': '{{ a_repo.props.name }}',
- 'attr': {'repo_id': '{{ a_repo.props.id }}', 'root_node': true},
+ 'text': HTMLescape('{{ a_repo.props.name|escapejs }}'),
+ 'data': {
+ 'repo_id': '{{ a_repo.props.id }}',
+ 'path': '/'
+ }
});
{% endfor %}
$('#wiki-use-lib').click(function() {
- var form = $('#wiki-use-lib-form'),
- file_tree = new FileTree();
- form.modal({appendTo:'#main', autoResize:true, focus:false});
- file_tree.renderDirTree($('#repos-dirs').data('site_root', '{{SITE_ROOT}}'), form, all_repos);
+ var $form = $('#wiki-use-lib-form');
+ $form.modal({appendTo:'#main', autoResize:true, focus:false});
+ $('#simplemodal-container').css({'width':'auto', 'height':'auto'});
+ FileTree.renderDirTree($('#repos-dirs').data('site_root', '{{SITE_ROOT}}'), $form, all_repos);
return false;
});
$('#wiki-use-lib-form').submit(function() {
diff --git a/seahub/profile/templates/profile/set_profile.html b/seahub/profile/templates/profile/set_profile.html
index 3644feae3b..70c2fcba25 100644
--- a/seahub/profile/templates/profile/set_profile.html
+++ b/seahub/profile/templates/profile/set_profile.html
@@ -91,7 +91,7 @@
{% trans "Your default library:" %} {{default_repo.name}}.
{% endif %}
{% trans "Default library is the default place to store your personal documents and pictures." %}
-
+