You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by vv...@apache.org on 2015/01/13 09:23:57 UTC
svn commit: r1651300 [2/2] - in /felix/trunk/webconsole-plugins/useradmin:
./ src/main/appended-resources/META-INF/
src/main/java/org/apache/felix/webconsole/plugins/useradmin/internal/
src/main/resources/OSGI-INF/l10n/ src/main/resources/res/ src/main...
Added: felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/jstree-3.0.9/themes/default/style.min.css
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/jstree-3.0.9/themes/default/style.min.css?rev=1651300&view=auto
==============================================================================
--- felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/jstree-3.0.9/themes/default/style.min.css (added)
+++ felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/jstree-3.0.9/themes/default/style.min.css Tue Jan 13 08:23:56 2015
@@ -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-h
idden{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;-moz-box-shadow:5px 5px 4px -4px #666;-webkit-box-shadow:2px 2px 2px #999;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-r
ight ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none;display:inline}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;-moz-text-shadow:1px 1px 0 #fff;-webkit-text-shadow:1px 1px 0 #fff;text-shadow:1px 1px 0 #fff;-moz-border-radius:1px;-webkit-border-radius:1px;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;-moz-box-shadow:0 0 2px #0a6aa1;-webkit-box-shadow:0 0 2px #0a6aa1;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;-moz-box-shadow:0 0 2px #0a6aa1;-webkit-box-shadow:0 0 2px #0a6aa1;box-shadow:0 0 2p
x #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;-moz-text-shadow:0 0 0 transparent;-webkit-text-shadow:0 0 0 transparent;text-shadow:0 0 0 transparent;-moz-box-shadow:0 0 0 transparent;-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;-moz-border-radius:0;-webkit-border-radius:0;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;widt
h: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 tr
ansparent;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-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{ba
ckground: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,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight: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-click
ed.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{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:-moz-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#beebff),color-stop(100%,#a8e4ff));background:-webkit-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:-o-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:-ms-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-defau
lt>.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:-196
px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.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-defau
lt.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 -6
8px}.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-cli
cked>.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-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{ma
rgin-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}.j
stree-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-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-la
rge.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 .j
stree-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}.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{background:0 0}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.j
stree-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{backgrou
nd: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:r
epeat-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
Propchange: felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/jstree-3.0.9/themes/default/style.min.css
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/jstree-3.0.9/themes/default/throbber.gif
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/jstree-3.0.9/themes/default/throbber.gif?rev=1651300&view=auto
==============================================================================
Binary file - no diff available.
Propchange: felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/jstree-3.0.9/themes/default/throbber.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/plugin.css
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/plugin.css?rev=1651300&r1=1651299&r2=1651300&view=diff
==============================================================================
--- felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/plugin.css (original)
+++ felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/plugin.css Tue Jan 13 08:23:56 2015
@@ -14,6 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+@import url("jstree-3.0.9/themes/default/style.min.css");
#userTree { width: 20% }
#userTree li a { padding-left: 12px ! important}
.header ul { float: right }
@@ -22,4 +23,4 @@ input.k, input.v { width: 100% }
#roleDetails .property-type {width: 5em}
.actions ul { float : right }
#newDialogRole select { width : 100% }
-.required { font-style:italic }
+li.required > a { font-style:italic }
Modified: felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/plugin.html
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/plugin.html?rev=1651300&r1=1651299&r2=1651300&view=diff
==============================================================================
--- felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/plugin.html (original)
+++ felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/plugin.html Tue Jan 13 08:23:56 2015
@@ -1,4 +1,7 @@
-<script type="text/javascript" src="${pluginRoot}/res/jsTree.v.0.9.9a/jquery.tree.min.js"></script>
+<!--
+<script type="text/javascript" src="${pluginRoot}/res/jsTree.v.0.9.9a/jquery.tree.min.js"></script>
+-->
+<script type="text/javascript" src="${pluginRoot}/res/jstree-3.0.9/jstree.min.js"></script>
<script type="text/javascript" src="${pluginRoot}/res/plugin.js"></script>
<script type="text/javascript">
// <![CDATA[
@@ -42,6 +45,7 @@ var i18n = {
<td colspan="4">
<button id="delRole">${delete}</button>
<button id="savRole">${save}</button>
+ <button id="toggleRequiredRole">${toggleRequired}</button>
</td>
</tr>
</tfoot>
Modified: felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/plugin.js
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/plugin.js?rev=1651300&r1=1651299&r2=1651300&view=diff
==============================================================================
--- felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/plugin.js (original)
+++ felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/plugin.js Tue Jan 13 08:23:56 2015
@@ -19,6 +19,7 @@ jQuery.curCSS = jQuery.css;
var userTree = false;
var selectedRole = false;
+var selectedParent = false;
var newDialogRole = false;
var roleDetails = false;
var roleDetailsHelp = false;
@@ -34,80 +35,106 @@ function roleObj(node) {
}
var treeSettings = {
- data : {
- type : 'json',
- opts : { 'static' : [] }
- },
- ui : { theme_name : 'themeroller' },
- rules : { multiple : false, valid_children: ['root'] },
- types : {
- root : { valid_children: ['t0', 't1', 't2'] },
- t2 : { valid_children: ['t0', 't1', 't2'] },
- t1 : { valid_children: 'none' },
- t0 : { valid_children: 'none' }
+ core : {
+ data : [], // will be set on load
+ multiple : false,
+ themes : { stripes : true },
+ check_callback : function (operation, node, node_parent, node_position, more) {
+ // disable copy to root node
+ if ('#' === node_parent.id) return false;
+ if (operation === 'copy_node' && 'root' === node_parent.id) return false;
+
+ if (operation === 'move_node' || operation === 'copy_node') {
+ // don't copy/move things around the same/root level
+ if (node.parent === node_parent.id) return false;
+
+ // don't copy/move if target alreay contains the same member
+ var target = node_parent.original.role;
+ if (target && isMember(node.original.role, target)) return false;
+ }
+ return true;
+ }
},
- callback : {
- onselect : function(node) {
- var _role = $(node).attr('role');
- if (_role) {
- var role = JSON.parse( _role );
- onSelectNode(role.name);
- $(node).children('a').addClass('ui-priority-primary');
+ plugins : [ 'dnd', 'types', 'sort' ],
+ types : {
+ root : { valid_children: ['t0', 't1', 't2'], icon : pluginRoot + '/res/book-2.png' },
+ t2 : { valid_children: ['t0', 't1', 't2'], icon : pluginRoot + '/res/group.png' },
+ t1 : { valid_children: [], icon : pluginRoot + '/res/user.png' },
+ t0 : { valid_children: [], icon : pluginRoot + '/res/role.png' }
+ }
+}
+
+function initTree(data) {
+ // show help message
+ roleDetailsHelp.removeClass('ui-helper-hidden');
+ roleDetailsTable.addClass('ui-helper-hidden');
+
+ var openNodes = [];
+
+ // recreate tree, because reload doesn't work
+ var userTreeRef = $.jstree.reference('#userTree');
+ if (userTreeRef) {
+ userTreeRef.destroy();
+
+ // save state
+ $.each(userTreeRef.get_node('root').children_d, function(idx, child) {
+ var node = userTreeRef.get_node(child);
+ if ( node.state.opened ) openNodes.push(node.text);
+ });
+ }
+
+ // prepare data
+ var sortedGroups = sortGroups(data);
+ treeSettings.core['data'] = buildTree(sortedGroups);
+
+ // build tree
+ userTree = $('#userTree')
+ .on('select_node.jstree', function(e, data) {
+ var role = data.node.original.role;
+ if (role) {
+ var parent = data.node.parent;
+ var parent_name = parent === '#' || parent === 'root' ? false : data.instance.get_node(parent).text;
+ onSelectNode(role.name, parent_name);
} else {
roleDetailsHelp.removeClass('ui-helper-hidden');
roleDetailsTable.addClass('ui-helper-hidden');
}
- },
- onparse : function (s, t) {
- return $(s)
- .find('li[rel=t2] > a > ins').addClass('ui-icon ui-icon-contact').end()
- .find('li[rel=t1] > a > ins').addClass('ui-icon ui-icon-person').end()
- .find('li[rel=t0] > a > ins').addClass('ui-icon ui-icon-bullet').end();
- },
- ondeselect : function(node) { $(node).children('a').removeClass('ui-priority-primary') },
- ondblclk : function(node, tree_obj) {
- var n = $(node);
- var pp = tree_obj.parent(node);
- var r = roleObj(n);
- var g = roleObj(pp);
- console.log(r, g);
- if (r && g) {
- if( isInMemberArray(r, g.members, 1) ) {
- $.post(pluginRoot, { action: 'removeMember', role: r.name, group: g.name });
- $.post(pluginRoot, { action: 'addRequiredMember', role: r.name, group: g.name }, function(data) {
- pp.attr('role', JSON.stringify(data));
- }, 'json');
- n.addClass('required');
- } else if( isInMemberArray(r, g.rmembers, 1) ) {
- $.post(pluginRoot, { action: 'removeMember', role: r.name, group: g.name });
- $.post(pluginRoot, { action: 'addMember', role: r.name, group: g.name }, function(data) {
- pp.attr('role', JSON.stringify(data));
- }, 'json');
- n.removeClass('required');
- }
+ })
+ .on('move_node.jstree', function(e, data) {
+ var role = data.node.original.role;
+ var parent = data.parent;
+ var parent_name = parent === '#' || parent === 'root' ? false : data.instance.get_node(parent).text;
+ var old_parent = data.old_parent;
+ var old_parent_name = old_parent === '#' || old_parent === 'root' ? false : data.instance.get_node(old_parent).text;
+
+ if (parent_name) {
+ //console.log('move: adding role', role, 'to group', parent);
+ $.post(pluginRoot, {'action': 'addMember', 'role' : role.name, 'group' : parent_name});
}
- },
- beforemove : function(node, ref_node, type, tree_obj, is_copy) {
- var _ = dragObj(node, ref_node, type, tree_obj);
- // --- check if the move is valid:
- // don't move things around the same/root level
- if (_.to == false && _.from == false) return false;
- // no copy to the root folder
- if (is_copy && _.to == false) return false;
- // no rearrange withing the folder
- if (_.to != false && _.from != false && _.to.name == _.from.name) return false;
- // already contains such a member
- if (_.to != false && isMember(_.node, _.to)) return false;
-
- // do copy-move
- // unassign from the old group, if it is move
- if (!is_copy && _.from) $.post(pluginRoot, {'action': 'removeMember', 'role' : _.node.name, 'group' : _.from.name} , function(data) {}, 'json');
- // assign to the new group
- if (_.to) $.post(pluginRoot, {'action': 'addMember', 'role' : _.node.name, 'group' : _.to.name} , function(data) {}, 'json');
+ if (old_parent_name) {
+ //console.log('move: removed role', role, 'to group', old_parent);
+ $.post(pluginRoot, {'action': 'removeMember', 'role' : role.name, 'group' : old_parent_name});
+ }
+ $('#reload').click();
+ })
+ .on('copy_node.jstree', function(e, data) {
+ var role = data.original.original.role;
+ var parent_name = data.instance.get_node(data.parent).text;
+
+ if (parent_name) {
+ //console.log('copy: copying role', role, 'to group', parent);
+ $.post(pluginRoot, {'action': 'addMember', 'role' : role.name, 'group' : parent_name});
+ }
+ $('#reload').click();
+ })
+ .on('ready.jstree', function(e, data) { // restore state
+ var _ = data.instance;
+ if (openNodes.length) $.each(_.get_node('root').children_d, function(idx, child) {
+ var node = _.get_node(child);
+ if ($.inArray(node.text, openNodes) > -1) _.open_node(node, false, false);
+ });
- return true;
- }
- }
+ }).jstree(treeSettings);
}
$(function() {
@@ -126,7 +153,6 @@ $(function() {
}
});
- userTree = $('#userTree');
roleDetails = $('#roleDetails');
roleDetailsTable = roleDetails.find('table');
roleDetailsHelp = roleDetails.find('#roleDetailsHelp');
@@ -174,6 +200,12 @@ $(function() {
});
});
$('#savRole').click( doSaveRole );
+ $('#toggleRequiredRole').click( function() {
+ if (selectedRole && selectedParent)
+ $.post(pluginRoot, { action: 'toggleMembership', role: selectedRole, group: selectedParent }, function() {
+ $('#reload').click()
+ });
+ });
// top-frame buttons
$('#newRole').click( function() {
@@ -181,16 +213,7 @@ $(function() {
return false;
});
$('#reload').click( function() {
- $.post(pluginRoot, {'action': 'list'} , function(data) {
- roleDetailsHelp.removeClass('ui-helper-hidden');
- roleDetailsTable.addClass('ui-helper-hidden');
-
- var sortedGroups = sortGroups(data);
- var treeRoot = buildTree(sortedGroups);
-
- treeSettings.data.opts['static'] = treeRoot;
- userTree.empty().tree(treeSettings);
- }, 'json');
+ $.post(pluginRoot, {'action': 'list'} , initTree, 'json');
return false;
}).click();
});
@@ -202,8 +225,8 @@ function digest(val, alg) {
url : pluginRoot,
async : false,
data : {
- 'action': 'digest',
- 'data' : val,
+ 'action': 'digest',
+ 'data' : val,
'algorithm' : alg
},
dataType: 'json',
@@ -255,16 +278,14 @@ function doSaveRole() {
var k = _.find('.k').val();
var v = _.find('.v').val();
var t = _.find('select').val();
-
+
if (t.indexOf('password-') == 0) {
var hash = digest(v, t.substring(9));
- //CryptoJS[t.substring(9)](v).toString(CryptoJS.enc.Hex);
- //v = hashToArray(hash);
v = hash;
} else if (t == 'byte[]') {
v = strToArray(v);
}
-
+
if (doProps) data.properties[k] = v;
else data.credentials[k] = v;
}
@@ -286,31 +307,30 @@ function isMember(role, group) {
function buildTree(sortedGroups) {
var treeRoot = {
- data : i18n.root,
- state: 'open',
- attributes : { 'rel' : 'root' },
+ text : i18n.root,
+ id : 'root',
+ type : 'root',
+ state: { opened : true },
children: []
};
var treeNode = function(name, role, parent, req) {
if (!role) return;
if (!parent) parent = treeRoot.children;
var node = {
- data : role.name,
- attributes : {
- 'rel' : 't' + role.type,
- 'role' : JSON.stringify(role)
- }
+ 'text' : role.name,
+ 'type' : 't' + role.type,
+ 'role' : role,
}
- if (req) node.attributes['class'] = 'required';
+ if (req) node.li_attr = { 'class' : 'required' };
parent.push(node);
if (role.type == 2) {
node['children'] = [];
node = node['children'];
- if (role.members) $.each(role.members, function(idx, role) {
- treeNode(role.name, role, node, 0);
+ if (role.members) $.each(role.members, function(idx, xrole) {
+ treeNode(xrole.name, xrole, node, 0);
});
- if (role.rmembers) $.each(role.rmembers, function(idx, role) {
- treeNode(role.name, role, node, 1);
+ if (role.rmembers) $.each(role.rmembers, function(idx, xrole) {
+ treeNode(xrole.name, xrole, node, 1);
});
}
}
@@ -364,9 +384,16 @@ function sortGroups(data) {
return $.extend(rootGroups, unassigned);
}
-function onSelectNode(role) {
+function onSelectNode(role, parent) {
+ if (parent) {
+ $('#toggleRequiredRole').removeClass('ui-state-disabled');
+ } else {
+ $('#toggleRequiredRole').addClass('ui-state-disabled')
+ }
+
$.post(pluginRoot, {'action': 'get', 'role' : role} , function(data) {
selectedRole = role;
+ selectedParent = parent;
roleDetailsHelp.addClass('ui-helper-hidden');
roleDetailsTable.removeClass('ui-helper-hidden');
roleDetailsBody.find('tr').not('.header').remove();
@@ -399,26 +426,3 @@ function onSelectNode(role) {
return false;
}
-function dragObj(node, ref_node, type, tree_obj) {
- // determine the destination folder
- var _role = false;
- if ('inside' == type) {
- _role = $(ref_node).attr('role');
- } else {
- _role = tree_obj.parent(ref_node)
- _role = _role.attr ? _role.attr('role') : false;
- }
- var to = _role ? JSON.parse(_role) : false;
- // determine object to move
- _role = $(node).attr('role');
- var source = JSON.parse(_role);
- // determine the previous location (in case it is move, not copy)
- _role = tree_obj.parent(node);
- var from = _role.attr && _role.attr('role') ? JSON.parse(_role.attr('role')) : false;
-
- return {
- 'to' : to,
- 'from' : from,
- 'node' : source
- }
-}
Added: felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/role.png
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/role.png?rev=1651300&view=auto
==============================================================================
Binary file - no diff available.
Propchange: felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/role.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/user.png
URL: http://svn.apache.org/viewvc/felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/user.png?rev=1651300&view=auto
==============================================================================
Binary file - no diff available.
Propchange: felix/trunk/webconsole-plugins/useradmin/src/main/resources/res/user.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream