From f41088eb9e1792f5e55a94e8a47596f9dca2f965 Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Mon, 16 Dec 2013 12:25:32 +0800 Subject: [PATCH 01/32] IDEMPIERE-1635 Upgrade to zk7. Initial commit. WIP. --- org.adempiere.ui.zk/WEB-INF/cwr/js/zk/utl.js | 2 +- .../WEB-INF/cwr/js/zk/utl.src.js | 54 +- .../WEB-INF/cwr/js/zul/Upload.js | 1 + .../WEB-INF/cwr/js/zul/Upload.src.js | 514 ++++++++++++++++++ .../zk/atmosphere/AtmosphereServerPush.java | 4 + .../WEB-INF/src/metainfo/zk/lang-addon.xml | 3 - .../org/adempiere/webui/AdempiereWebUI.java | 10 +- .../adempiere/webui/adwindow/GridView.java | 1 + .../webui/desktop/DefaultDesktop.java | 2 +- .../adempiere/webui/panel/HelpController.java | 4 +- .../adempiere/webui/panel/WAttachment.java | 6 +- .../adempiere/webui/part/WindowContainer.java | 5 +- .../webui/session/SessionContextListener.java | 123 +---- .../adempiere/webui/window/FindWindow.java | 4 +- .../WEB-INF/tld/web/core.dsp.tld | 10 + .../WEB-INF/tld/web/theme.dsp.tld | 10 + .../WEB-INF/tld/zk/core.dsp.tld | 12 + org.adempiere.ui.zk/WEB-INF/web-2.5.xml | 2 +- org.adempiere.ui.zk/WEB-INF/web.xml | 2 +- org.adempiere.ui.zk/WEB-INF/xsd/zul.xsd | 97 +++- org.adempiere.ui.zk/js/jquery-patch.js | 37 -- .../js/jquery-ui-1.10.1.min.js | 6 - .../js/jquery.slimscroll.min.js | 18 +- .../theme/default/css/theme.css.dsp | 450 +++++++-------- .../theme/default/zul/desktop/header.zul | 2 +- org.zkoss.zk.library/META-INF/MANIFEST.MF | 5 +- .../org/zkoss/util/resource/ClassLocator.java | 42 +- .../web/util/resource/ResourceCaches.java | 17 +- 28 files changed, 953 insertions(+), 490 deletions(-) create mode 100644 org.adempiere.ui.zk/WEB-INF/cwr/js/zul/Upload.js create mode 100644 org.adempiere.ui.zk/WEB-INF/cwr/js/zul/Upload.src.js delete mode 100644 org.adempiere.ui.zk/js/jquery-patch.js delete mode 100644 org.adempiere.ui.zk/js/jquery-ui-1.10.1.min.js diff --git a/org.adempiere.ui.zk/WEB-INF/cwr/js/zk/utl.js b/org.adempiere.ui.zk/WEB-INF/cwr/js/zk/utl.js index 3823389874..6253b33dac 100644 --- a/org.adempiere.ui.zk/WEB-INF/cwr/js/zk/utl.js +++ b/org.adempiere.ui.zk/WEB-INF/cwr/js/zk/utl.js @@ -1 +1 @@ -(function(){var c={lt:"<",gt:">",amp:"&",quot:'"'},f={};for(var b in c){f[c[b]]=b}function g(k){var i=k.indexOf("//");if(i>0){i=k.indexOf("/",i+2);if(i>0){return k.substring(i)}}}function a(o,m){o.push(m);for(var i=m.frames,n=0,k=i.length;n0||k>0?m>k?j:i:o}zUtl={isChar:function(j,i){return(i.digit&&j>="0"&&j<="9")||(i.upper&&j>="A"&&j<="Z")||(i.lower&&j>="a"&&j<="z")||(i.whitespace&&(j==" "||j=="\t"||j=="\n"||j=="\r"))||i[j]},parseMap:function(r,n,j){var k={};if(r){var i=r.split(n||",");if(j){var m=[],u=new RegExp(j,"g"),q="",s,l;while((s=i.shift())!==undefined){if((l=(q+=s).match(u))&&l.length!=1){if(q){m.push(q)}q=""}else{q+=n}}i=m}for(var p=i.length;p--;){var q=i[p].trim(),o=q.indexOf("=");if(o!=-1){k[q.substring(0,o)]=q.substring(o+1,q.length).trim()}}}return k},encodeXML:function(t,i){t=t!=null?String(t):"";var u=t.length,o=i&&i.pre,m=o||(i&&i.multiline),l=i?i.maxlength:0;if(!m&&l&&u>l){var r=l;while(r>0&&t.charAt(r-1)==" "){--r}i.maxlength=0;return zUtl.encodeXML(t.substring(0,r)+"...",i)}var s=[],p=0,q;if(m||o){for(var r=0;r\n");p=r+1}else{if(o&&(n==" "||n=="\t")){s.push(t.substring(p,r)," ");if(n=="\t"){s.push("   ")}p=r+1}}}}}else{for(var r=0;r=0){var r=i.charAt(p+1)=="#"?String.fromCharCode(i.charAt(p+2).toLowerCase()=="x"?parseInt(i.substring(p+3,m),16):parseInt(i.substring(p+2,m),10)):c[i.substring(p+1,m)];if(r){q+=i.substring(o,p)+r;o=(p=m)+1}}}}return !o?i:o',i0:'',now:jq.now,today:function(i){var o=new Date(),m=0,k=0,l=0,n=0;if(typeof i=="string"){var j=i.toLowerCase();if(j.indexOf("h")>=0||j.indexOf("k")>=0){m=o.getHours()}if(i.indexOf("m")>=0){k=o.getMinutes()}if(i.indexOf("s")>=0){l=o.getSeconds()}if(i.indexOf("S")>=0){n=o.getMilliseconds()}}else{if(i){return o}}return new Date(o.getFullYear(),o.getMonth(),o.getDate(),m,k,l,n)},isAncestor:function(i,j){if(!i){return true}for(;j;j=j.getParent?j.getParent():j.parent){if(i==j){return true}}return false},progressbox:function(w,l,C,F,i){if(C&&zk.Page.contained.length){for(var H=zk.Page.contained.length,G=zk.Page.contained[--H];G;G=zk.Page.contained[--H]){if(!G._applyMask){G._applyMask=new zk.eff.Mask({id:G.uuid+"-mask",message:l,anchor:G.$n()})}}return}if(i&&i.busy){zk.busy++;jq.focusOut()}var r=jq.innerX(),q=jq.innerY(),D=' style="left:'+r+"px;top:"+q+'px"',k=w+"-t",E=w+"-m",s='
'+l+"
";if(F){s+='
'}jq(document.body).append(s+"
");var I=jq(w,zk),A=I[0],J=jq(k,zk),t=J[0],B=t.style;if(C){A.z_mask=new zk.eff.FullMask({mask:jq(E,zk)[0],zIndex:J.css("z-index")-1})}if(C&&J.length){B.left=jq.px((jq.innerWidth()-t.offsetWidth)/2+r);B.top=jq.px((jq.innerHeight()-t.offsetHeight)/2+q)}else{var o=zk.progPos;if(o){var j,u,z=jq.innerWidth(),v=jq.innerHeight(),K=z-zk(t).offsetWidth(),p=v-zk(t).offsetHeight();if(o.indexOf("mouse")>=0){var m=zk.currentPointer;j=m[0]+10;u=m[1]+10}else{if(o.indexOf("left")>=0){j=r}else{if(o.indexOf("right")>=0){j=r+K-1}else{if(o.indexOf("center")>=0){j=r+K/2}else{j=0}}}if(o.indexOf("top")>=0){u=q}else{if(o.indexOf("bottom")>=0){u=q+p-1}else{if(o.indexOf("center")>=0){u=q+p/2}else{u=0}}}j=j=0?m.substring(0,l):m,k=g(location.href);l=k.indexOf("#");if(l>=0){k=k.substring(0,l)}if(k!=i){return}}location.reload()}}},frames:function(i){var j=[];a(j,i);return j},intsToString:function(m){if(!m){return""}var n=[];for(var l=0,i=m.length;l=0?p.substring(m,l):p.substring(m)).trim();if(n.length==0){if(l<0){break}o.push(i)}else{o.push(zk.parseInt(n))}if(l<0){break}m=l+1}return o},mapToString:function(m,j,l){j=j||"=";l=l||" ";var k=[];for(var i in m){k.push(l,i,j,m[i])}k[0]="";return k.join("")},appendAttr:function(i,k,j){return k||j?" "+i+'="'+k+'"':""},fireSized:function(j,k){if(zUtl.isImageLoading()||zk.clientinfo){var i=arguments.callee;setTimeout(function(){return i(j,k)},20);return}j=h(j);if(!(k<0)){zWatch.fireDown("beforeSize",j,null,k>0)}zWatch.fireDown("onFitSize",j,{reverse:true});zWatch.fireDown("onSize",j)},fireShown:function(i,j){zWatch.fireDown("onShow",i);zUtl.fireSized(i,j)},loadImage:function(i){if(!e[i]){e[i]=true;d(i)}},isImageLoading:function(){for(var img in eo){if(img.complete){try{delete e[img.src]}catch(err){}try{delete eo[img.src]}catch(err){}}}for(var i in e){return true}return false}};var e={};var eo={};function d(j){var i=new Image(),k=function(){try{delete e[j]}catch(err){}try{delete eo[j]}catch(err){}};eo[j]=i;i.onerror=i.onload=i.onabort=k;i.src=j}})(); +(function(){var c={lt:"<",gt:">",amp:"&",quot:'"'},f={};for(var b in c){f[c[b]]=b}function g(k){var i=k.indexOf("//");if(i>0){i=k.indexOf("/",i+2);if(i>0){return k.substring(i)}}}function a(o,m){o.push(m);for(var i=m.frames,n=0,k=i.length;n0||k>0?m>k?j:i:o}zUtl={isChar:function(j,i){return(i.digit&&j>="0"&&j<="9")||(i.upper&&j>="A"&&j<="Z")||(i.lower&&j>="a"&&j<="z")||(i.whitespace&&(j==" "||j=="\t"||j=="\n"||j=="\r"))||i[j]},parseMap:function(r,n,j){var k={};if(r){var i=r.split(n||",");if(j){var m=[],u=new RegExp(j,"g"),q="",s,l;while((s=i.shift())!==undefined){if((l=(q+=s).match(u))&&l.length!=1){if(q){m.push(q)}q=""}else{q+=n}}i=m}for(var p=i.length;p--;){var q=i[p].trim(),o=q.indexOf("=");if(o!=-1){k[q.substring(0,o)]=q.substring(o+1,q.length).trim()}}}return k},encodeXML:function(t,i){t=t!=null?String(t):"";var u=t.length,o=i&&i.pre,m=o||(i&&i.multiline),l=i?i.maxlength:0;if(!m&&l&&u>l){var r=l;while(r>0&&t.charAt(r-1)==" "){--r}i.maxlength=0;return zUtl.encodeXML(t.substring(0,r)+"...",i)}var s=[],p=0,q;if(m||o){for(var r=0;r\n");p=r+1}else{if(o&&(n==" "||n=="\t")){s.push(t.substring(p,r)," ");if(n=="\t"){s.push("   ")}p=r+1}}}}}else{for(var r=0;r=0){var r=i.charAt(p+1)=="#"?String.fromCharCode(i.charAt(p+2).toLowerCase()=="x"?parseInt(i.substring(p+3,m),16):parseInt(i.substring(p+2,m),10)):c[i.substring(p+1,m)];if(r){q+=i.substring(o,p)+r;o=(p=m)+1}}}}return !o?i:o',i0:'',now:jq.now,today:function(i){var o=new Date(),m=0,k=0,l=0,n=0;if(typeof i=="string"){var j=i.toLowerCase();if(j.indexOf("h")>=0||j.indexOf("k")>=0){m=o.getHours()}if(i.indexOf("m")>=0){k=o.getMinutes()}if(i.indexOf("s")>=0){l=o.getSeconds()}if(i.indexOf("S")>=0){n=o.getMilliseconds()}}else{if(i){return o}}return new Date(o.getFullYear(),o.getMonth(),o.getDate(),m,k,l,n)},isAncestor:function(i,j){if(!i){return true}for(;j;j=j.getParent?j.getParent():j.parent){if(i==j){return true}}return false},progressbox:function(z,l,D,G,i){if(D&&zk.Page.contained.length){for(var I=zk.Page.contained.length,H=zk.Page.contained[--I];H;H=zk.Page.contained[--I]){if(!H._applyMask){H._applyMask=new zk.eff.Mask({id:H.uuid+"-mask",message:l,anchor:H.$n()})}}return}if(i&&i.busy){zk.busy++;jq.focusOut()}var r=jq.innerX(),q=jq.innerY(),E=' style="left:'+r+"px;top:"+q+'px"',k=z+"-t",F=z+"-m",s='
'+l+"
";if(G){s+='
'}jq(document.body).append(s+"
");var J=jq(z,zk),B=J[0],K=jq(k,zk),t=K[0],C=t.style;if(D){var w=K.css("z-index");if(w=="auto"){w=1}B.z_mask=new zk.eff.FullMask({mask:jq(F,zk)[0],zIndex:w-1})}if(D&&K.length){C.left=jq.px((jq.innerWidth()-t.offsetWidth)/2+r);C.top=jq.px((jq.innerHeight()-t.offsetHeight)/2+q)}else{var o=zk.progPos;if(o){var j,u,A=jq.innerWidth(),v=jq.innerHeight(),L=A-zk(t).offsetWidth(),p=v-zk(t).offsetHeight();if(o.indexOf("mouse")>=0){var m=zk.currentPointer;j=m[0]+10;u=m[1]+10}else{if(o.indexOf("left")>=0){j=r}else{if(o.indexOf("right")>=0){j=r+L-1}else{if(o.indexOf("center")>=0){j=r+L/2}else{j=0}}}if(o.indexOf("top")>=0){u=q}else{if(o.indexOf("bottom")>=0){u=q+p-1}else{if(o.indexOf("center")>=0){u=q+p/2}else{u=0}}}j=j=0?m.substring(0,l):m,k=g(location.href);l=k.indexOf("#");if(l>=0){k=k.substring(0,l)}if(k!=i){return}}location.reload()}}},frames:function(i){var j=[];a(j,i);return j},intsToString:function(m){if(!m){return""}var n=[];for(var l=0,i=m.length;l=0?p.substring(m,l):p.substring(m)).trim();if(n.length==0){if(l<0){break}o.push(i)}else{o.push(zk.parseInt(n))}if(l<0){break}m=l+1}return o},mapToString:function(m,j,l){j=j||"=";l=l||" ";var k=[];for(var i in m){k.push(l,i,j,m[i])}k[0]="";return k.join("")},appendAttr:function(i,k,j){return k||j?" "+i+'="'+k+'"':""},fireSized:function(j,k){if(zUtl.isImageLoading()||zk.clientinfo){var i=arguments.callee;setTimeout(function(){return i(j,k)},20);return}j=h(j);if(!(k<0)){zWatch.fireDown("beforeSize",j,null,k>0)}zWatch.fireDown("onFitSize",j,{reverse:true});zWatch.fireDown("onSize",j)},fireShown:function(i,j){zWatch.fireDown("onShow",i);zUtl.fireSized(i,j)},loadImage:function(i){if(!e[i]){e[i]=true;d(i)}},isImageLoading:function(){for(var url in iMap){var img=iMap[url];if(img.complete){try{delete e[url];}catch(err){}try{delete iMap[url];}catch(err){}}}for(var i in e){return true}return false}};var e={};var iMap={};function d(j){var i=new Image(),k=function(){try{delete e[j];}catch(err){}try{delete iMap[j];}catch(err){}};i.onerror=i.onload=k;i.src=j}})(); \ No newline at end of file diff --git a/org.adempiere.ui.zk/WEB-INF/cwr/js/zk/utl.src.js b/org.adempiere.ui.zk/WEB-INF/cwr/js/zk/utl.src.js index accb6824aa..021338bab9 100644 --- a/org.adempiere.ui.zk/WEB-INF/cwr/js/zk/utl.src.js +++ b/org.adempiere.ui.zk/WEB-INF/cwr/js/zk/utl.src.js @@ -6,15 +6,15 @@ _encs[_decs[v]] = v; function _pathname(url) { - var j = url.indexOf("//"); + var j = url.indexOf('//'); if (j > 0) { - j = url.indexOf("/", j + 2); + j = url.indexOf('/', j + 2); if (j > 0) return url.substring(j); } } function _frames(ary, w) { - + //Note: the access of frames is allowed for any window (even if it connects other website) ary.push(w); for (var fs = w.frames, j = 0, l = fs.length; j < l; ++j) _frames(ary, fs[j]); @@ -109,12 +109,12 @@ zUtl = { out.push(txt.substring(k, j), '&', enc, ';'); k = j + 1; } else if (multiline && cc == '\n') { - out.push(txt.substring(k, j), "
\n"); + out.push(txt.substring(k, j), '
\n'); k = j + 1; } else if (pre && (cc == ' ' || cc == '\t')) { - out.push(txt.substring(k, j), " "); + out.push(txt.substring(k, j), ' '); if (cc == '\t') - out.push("   "); + out.push('   '); k = j + 1; } } @@ -132,7 +132,7 @@ zUtl = { }, decodeXML: function (txt) { - var out = ""; + var out = ''; if (!txt) return out; var k = 0, tl = txt.length; @@ -170,7 +170,7 @@ zUtl = { today: function (fmt) { var d = new Date(), hr = 0, min = 0, sec = 0, msec = 0; - if (typeof fmt == "string") { + if (typeof fmt == 'string') { var fmt0 = fmt.toLowerCase(); if (fmt0.indexOf('h') >= 0 || fmt0.indexOf('k') >= 0) hr = d.getHours(); if (fmt.indexOf('m') >= 0) min = d.getMinutes(); @@ -198,7 +198,7 @@ zUtl = { for (var c = zk.Page.contained.length, e = zk.Page.contained[--c]; e; e = zk.Page.contained[--c]) { if (!e._applyMask) e._applyMask = new zk.eff.Mask({ - id: e.uuid + "-mask", + id: e.uuid + '-mask', message: msg, anchor: e.$n() }); @@ -230,11 +230,16 @@ zUtl = { $txt = jq(idtxt, zk), txt = $txt[0], st = txt.style; - if (mask) + if (mask) { + // old IE will get the auto value by default. + var zIndex = $txt.css('z-index'); + if (zIndex == 'auto') + zIndex = 1; n.z_mask = new zk.eff.FullMask({ mask: jq(idmsk, zk)[0], - zIndex: $txt.css('z-index') - 1 + zIndex: zIndex - 1 }); + } if (mask && $txt.length) { st.left = jq.px((jq.innerWidth() - txt.offsetWidth) / 2 + x); @@ -249,19 +254,19 @@ zUtl = { wdgap = width - zk(txt).offsetWidth(), hghgap = height - zk(txt).offsetHeight(); - if (pos.indexOf("mouse") >= 0) { + if (pos.indexOf('mouse') >= 0) { var offset = zk.currentPointer; left = offset[0] + 10; top = offset[1] + 10; } else { - if (pos.indexOf("left") >= 0) left = x; - else if (pos.indexOf("right") >= 0) left = x + wdgap -1; - else if (pos.indexOf("center") >= 0) left = x + wdgap / 2; + if (pos.indexOf('left') >= 0) left = x; + else if (pos.indexOf('right') >= 0) left = x + wdgap -1; + else if (pos.indexOf('center') >= 0) left = x + wdgap / 2; else left = 0; - if (pos.indexOf("top") >= 0) top = y; - else if (pos.indexOf("bottom") >= 0) top = y + hghgap - 1; - else if (pos.indexOf("center") >= 0) top = y + hghgap / 2; + if (pos.indexOf('top') >= 0) top = y; + else if (pos.indexOf('bottom') >= 0) top = y + hghgap - 1; + else if (pos.indexOf('center') >= 0) top = y + hghgap / 2; else top = 0; left = left < x ? x : left; @@ -330,7 +335,7 @@ zUtl = { intsToString: function (ary) { - if (!ary) return ""; + if (!ary) return ''; var sb = []; for (var j = 0, k = ary.length; j < k; ++j) @@ -370,7 +375,7 @@ zUtl = { appendAttr: function (nm, val, force) { - return val || force ? ' ' + nm + '="' + val + '"': ""; + return val || force ? ' ' + nm + '="' + val + '"': ''; }, fireSized: function (wgt, bfsz) { @@ -378,7 +383,7 @@ zUtl = { var f = arguments.callee; setTimeout(function () { return f(wgt, bfsz); - }, 20); + }, 20); return; } wgt = _onSizeTarget(wgt); @@ -401,13 +406,14 @@ zUtl = { }, isImageLoading: function () { - for (var img in _imgObjectMap) { + for (var url in _imgObjectMap) { + var img = _imgObjectMap[url]; if (img.complete) { try { - delete _imgMap[img.src]; + delete _imgMap[url]; } catch (err) {} try { - delete _imgObjectMap[img.src]; + delete _imgObjectMap[url]; } catch (err) {} } } diff --git a/org.adempiere.ui.zk/WEB-INF/cwr/js/zul/Upload.js b/org.adempiere.ui.zk/WEB-INF/cwr/js/zul/Upload.js new file mode 100644 index 0000000000..1946cfe298 --- /dev/null +++ b/org.adempiere.ui.zk/WEB-INF/cwr/js/zul/Upload.js @@ -0,0 +1 @@ +(function(){function e(q,l,n){var m=q.getKey(l),p=q.uploaders[m];if(p){p.destroy(n)}delete q.uploaders[m]}function j(q,m,p){var l=q.getKey(q.sid),n=new zul.Uploader(q,l,m,p);zul.Upload.start(n);q.uploaders[l]=n}function b(n,l,m){j(n,l,m);n.sid++;n.initContent()}function f(t){var q=this,v=q._ctrl,u=v._wgt,o=u.desktop,r=zk.ajaxURI("/upload",{desktop:o,au:true})+"?uuid="+u.uuid+"&dtid="+o.id+"&sid="+v.sid+(v.maxsize!==""?"&maxsize="+v.maxsize:"")+(v.isNative?"&native=true":""),m=q.form;m.action=r;var l=m.parentNode;l.parentNode.removeChild(l);v._formDetached=true;var s=!q.files||q.files.length==1?q.value:(function(w){var p=[];for(var n=w.length;n--;){p.unshift(w[n].name)}return p.join(",")})(q.files);b(q._ctrl,m,s)}if(zk.opera){var i=[],d;function c(){for(var l=i.length;l--;){i[l].sync()}}function h(l){if(!i.length){d=setInterval(c,1500)}i.push(l)}function k(l){i.$remove(l);if(d&&!i.length){clearInterval(d);d=null}}}zul.Upload=zk.$extends(zk.Object,{sid:0,$init:function(s,q,r){this.uploaders={};var n;for(var o=r.split(","),p=0,m=o.length;p
';if(n){jq(n).append(m)}else{jq(r).after(m)}delete this._formDetached;if(!r._autodisable_self){this.sync()}var l=this._outer=n?n.lastChild:q.nextSibling,o=l.firstChild.firstChild;if(zk.opera){l.style.position="absolute";h(this)}o.z$proxy=q;o._ctrl=this;jq(o).change(f)},destroy:function(){if(zk.opera){k(this)}jq(this._outer).remove();this._wgt=this._parent=null;for(var l in this.uploaders){var m=this.uploaders[l];if(m){delete this.uploaders[l];m.destroy()}}},getKey:function(l){return(this._wgt?this._wgt.uuid:"")+"_uplder_"+l},cancel:function(l){e(this,l)},finish:function(l){e(this,l,true)}},{error:function(o,m,l){var n=zk.Widget.$(m);if(n){jq.alert(o,{desktop:n.desktop,icon:"ERROR"});zul.Upload.close(m,l)}},close:function(m,l){var n=zk.Widget.$(m);if(!n||!n._uplder){return}n._uplder.cancel(l)},sendResult:function(m,o,l){var n=zk.Widget.$(m);if(!n||!n._uplder){return}n._uplder.finish(l);zAu.send(new zk.Event(n.desktop,"updateResult",{contentId:o,wid:n.uuid,sid:l}))},isFinish:function(o){for(var m=(typeof o=="string"?o:o.uuid)+"_uplder_",n=zul.Upload.files,l=n.length;l--;){if(n[0].id.startsWith(m)){return false}}return true},start:function(m){var l=zul.Upload.files;if(m){l.push(m)}if(l[0]&&!l[0].isStart){l[0].isStart=true;l[0].start()}},destroy:function(n){for(var m=zul.Upload.files,l=m.length;l--;){if(m[l].id==n.id){m.splice(l,1);break}}zul.Upload.start()},files:[]});zul.Uploader=zk.$extends(zk.Object,{$init:function(m,q,n,p){this.id=q;this.flnm=p;this._upload=m;this._form=n;this._parent=n.parentNode;this._sid=m.sid;this._wgt=m._wgt;var o,l=this;if(!m._clsnm){o=new zul.UploadViewer(this,p)}else{zk.$import(m._clsnm,function(r){o=new r(l,p)})}this.viewer=o},getWidget:function(){return this._wgt},destroy:function(l){this.end(l);if(this._form){jq(this._form.parentNode).remove();jq("#"+this.id+"_ifm").remove()}this._form=this._upload=this._wgt=null},start:function(){var p=this._wgt,n=this.id+"_ifm";document.body.appendChild(this._parent);if(!jq("#"+n).length){jq.newFrame(n)}this._form.target=n;this._form.submit();this._form.style.display="none";var l=this,o="cmd=uploadInfo&dtid="+p.desktop.id+"&wid="+p.uuid+"&sid="+this._sid;if(zul.Uploader._tmupload){clearInterval(zul.Uploader._tmupload)}function m(){jq.ajax({type:"POST",url:zk.ajaxURI("/upload",{desktop:p.desktop,au:true}),data:o,dataType:"text",success:function(q){var r=q.split(",");if(q.startsWith("error:")){l._echo=true;zul.Uploader.clearInterval(l.id);if(p){l.cancel();zul.Upload.error(q.substring(6,q.length),p.uuid,l._sid)}}else{if(!l.update(zk.parseInt(r[0]),zk.parseInt(r[1]))){zul.Uploader.clearInterval(l.id)}}},complete:function(s,q){var r;if((r=s.getResponseHeader("ZK-Error"))=="404"||r=="410"||q=="error"||q==404||q==405||q==410){zul.Uploader.clearInterval(l.id);var t=l.getWidget();if(t){l.cancel();zul.Upload.error(msgzk.FAILED_TO_RESPONSE,t.uuid,l._sid)}return}}})}m.id=this.id;zul.Uploader.clearInterval=function(q){if(m.id==q){clearInterval(zul.Uploader._tmupload);zul.Uploader._tmupload=undefined}};zul.Uploader._tmupload=setInterval(m,1000);zul.wgt.ADBS.autodisable(p)},cancel:function(){zul.Uploader.clearInterval(this.id);if(this._upload){this._upload.cancel(this._sid)}},update:function(l,m){var n=this.getWidget();if(!n||m<=0){if(this._echo){this.end()}else{return true}}else{if(zul.Uploader._tmupload){this._echo=true;if(l>=0&&l<=100){this.viewer.update(l,m)}return l>=0&&l<100}}return false},end:function(n){this.viewer.destroy(n);zul.Upload.destroy(this);this._echo=true;var p,l,m,o;if((p=this._wgt)&&(l=this._upload)&&(m=l._aded)){p._uplder=null;m.onResponse();l._aded=null;if(p._uplder != null)p._uplder.destroy();if((o=l._parent)&&!jq(o).parents("html").length){l._parent=p._getUploadRef();l.initContent()}p._uplder=l;p._uplder.sync();delete p._autodisable_self}}});function g(m,n){var l=zul.UploadViewer.flman;if(!l||!l.desktop){if(l){l.detach()}zul.UploadViewer.flman=l=new zul.UploadManager();m.getWidget().getPage().appendChild(l)}l.removeFile(m);l.addFile(m)}function a(l,m){if(zul.UploadManager){return g(l,m)}zk.load("zul.wgt,zul.box",function(){zul.UploadManager=zk.$extends(zul.wgt.Popup,{$init:function(){this.$supers("$init",arguments);this._files={};this.setSclass("z-fileupload-manager")},onFloatUp:function(n){var o=n.origin;if(!this.isVisible()){return}this.setTopmost()},getFileItem:function(n){return this._files[n]||zk.Widget.$(n)},addFile:function(p){var r=p.id,q=p.flnm,o=this.getFileItem(r);if(!o){o=new zul.wgt.Div({uuid:r,children:[new zul.wgt.Label({value:q+":"}),new zul.box.Box({mold:"horizontal",children:[new zul.wgt.Progressmeter({id:r,sclass:"z-fileupload-progress"}),new zul.wgt.Div({sclass:"z-fileupload-remove z-icon-times",listeners:{onClick:function(){var s=r.substring(0,r.indexOf("_uplder_"));zul.Uploader.clearInterval(r);var t=zk.Widget.$(s);if(t){t._uplder.cancel(r.substring(r.lastIndexOf("_")+1,r.length))}}}})]}),new zul.wgt.Label({id:r+"_total"}),new zul.wgt.Separator()]});try{this.appendChild(o)}catch(n){}this._files[r]=o}return o},updateFile:function(p,q,n){var r=p.id,o=this.getFileItem(r);if(!o){return}o.$f(r).setValue(q);o.$f(r+"_total").setValue(n)},removeFile:function(q){var s=q.id,o=this.getFileItem(s);if(o){o.detach()}delete this._files[s];var r=true;for(var n in this._files){if(!(r=false)){break}}if(r){this.close()}},open:function(o,n){this.$super("open",o,null,n||"after_start",{sendOnOpen:false,disableMask:true})}});g(l,m)})}zul.UploadViewer=zk.$extends(zk.Object,{$init:function(l,m){this._uplder=l;a(l,m)},update:function(m,n){var l=zul.UploadViewer.flman;if(l){if(!l.isOpen()){l.open(this._uplder.getWidget())}l.updateFile(this._uplder,m,msgzk.FILE_SIZE+Math.round(n/1024)+msgzk.KBYTES)}},destroy:function(){var l=zul.UploadViewer.flman;if(l){l.removeFile(this._uplder)}}})})(); \ No newline at end of file diff --git a/org.adempiere.ui.zk/WEB-INF/cwr/js/zul/Upload.src.js b/org.adempiere.ui.zk/WEB-INF/cwr/js/zul/Upload.src.js new file mode 100644 index 0000000000..78e7f424d8 --- /dev/null +++ b/org.adempiere.ui.zk/WEB-INF/cwr/js/zul/Upload.src.js @@ -0,0 +1,514 @@ + +(function () { + + function _cancel(o, sid, finish) { + var key = o.getKey(sid), + uplder = o.uploaders[key]; + if (uplder) + uplder.destroy(finish); + delete o.uploaders[key]; + } + function _initUploader(o, form, val) { + var key = o.getKey(o.sid), + uplder = new zul.Uploader(o, key, form, val); + zul.Upload.start(uplder); + o.uploaders[key] = uplder; + } + function _start(o, form, val) { + + + _initUploader(o, form, val); + o.sid++; + o.initContent(); + } + function _onchange(evt) { + var n = this, + upload = n._ctrl, + wgt = upload._wgt, + dt = wgt.desktop, + action = zk.ajaxURI('/upload', {desktop:dt,au:true}) + '?uuid=' + wgt.uuid + '&dtid=' + dt.id + '&sid=' + upload.sid + + (upload.maxsize !== '' ? '&maxsize=' + upload.maxsize : '') + + (upload.isNative ? '&native=true' : ''), + form = n.form; + form.action = action; + + + var p = form.parentNode; + p.parentNode.removeChild(p); + upload._formDetached = true; + var fileName = !n.files || n.files.length == 1 ? n.value : (function(files){ + var fns = []; + for (var len = files.length; len--;) + fns.unshift(files[len].name); + return fns.join(","); + })(n.files); + _start(n._ctrl, form, fileName); + } + + if (zk.opera) { + var _syncQue = [], _syncId; + function _syncNow() { + for (var j = _syncQue.length; j--;) + _syncQue[j].sync(); + } + function _addSyncQue(upld) { + if (!_syncQue.length) + _syncId = setInterval(_syncNow, 1500); + + _syncQue.push(upld); + } + function _rmSyncQue(upld) { + _syncQue.$remove(upld); + if (_syncId && !_syncQue.length) { + clearInterval(_syncId); + _syncId = null; + } + } + } + + +zul.Upload = zk.$extends(zk.Object, { + sid: 0, + + $init: function(wgt, parent, clsnm) { + this.uploaders = {}; + + var cls; + for (var attrs = clsnm.split(','), i = 0, len = attrs.length; i < len; i++) { + var attr = attrs[i].trim(); + if (attr.startsWith('maxsize=')) + this.maxsize = attr.match(new RegExp(/maxsize=([^,]*)/))[1]; + else if (attr.startsWith('multiple=')) + this.multiple = attr.match(new RegExp(/multiple=([^,]*)/))[1]; + else if (attr.startsWith('accept=')) + this.accept = attr.match(new RegExp(/accept=([^,]*)/))[1]; + else if (attr == 'native') + this.isNative = true; + else if (attr != 'true') + cls = attr; + } + + this._clsnm = cls || ''; + + this._wgt = wgt; + this._parent = parent; + if (wgt._tooltiptext) + this._tooltiptext = wgt._tooltiptext; + + this.initContent(); + }, + + sync: function () { + if (!this._formDetached) { + var wgt = this._wgt, + ref = wgt.$n(), + parent = this._parent, + outer = parent ? parent.lastChild : ref.nextSibling, + inp = outer.firstChild.firstChild, + refof = zk(ref).revisedOffset(), + outerof = jq(outer).css({top: '0', left: '0'}).zk.revisedOffset(), + diff = inp.offsetWidth - ref.offsetWidth, + st = outer.style; + st.top = (refof[1] - outerof[1]) + "px"; + st.left = refof[0] - outerof[0] - diff + "px"; + + inp.style.height = ref.offsetHeight + 'px'; + inp.style.clip = 'rect(auto,auto,auto,' + diff + 'px)'; + } + }, + initContent: function () { + var wgt = this._wgt, + parent = this._parent, + ref = wgt.$n(), dt = wgt.desktop, + html = '
' + + '
'; + + if (parent) + jq(parent).append(html); + else + jq(wgt).after(html); + delete this._formDetached; + + + if (!wgt._autodisable_self) + this.sync(); + + var outer = this._outer = parent ? parent.lastChild : ref.nextSibling, + inp = outer.firstChild.firstChild; + + if (zk.opera) { + outer.style.position = 'absolute'; + _addSyncQue(this); + } + + inp.z$proxy = ref; + inp._ctrl = this; + + jq(inp).change(_onchange); + }, + + destroy: function () { + if (zk.opera) + _rmSyncQue(this); + + jq(this._outer).remove(); + this._wgt = this._parent = null; + for (var v in this.uploaders) { + var uplder = this.uploaders[v]; + if (uplder) { + delete this.uploaders[v]; + uplder.destroy(); + } + } + }, + + getKey: function (sid) { + return (this._wgt ? this._wgt.uuid : '' )+ '_uplder_' + sid; + }, + + cancel: function (sid) { + _cancel(this, sid); + }, + + finish: function (sid) { + _cancel(this, sid, true); + } +},{ + + error: function (msg, uuid, sid) { + var wgt = zk.Widget.$(uuid); + if (wgt) { + jq.alert(msg, {desktop: wgt.desktop, icon: 'ERROR'}); + zul.Upload.close(uuid, sid); + } + }, + + close: function (uuid, sid) { + var wgt = zk.Widget.$(uuid); + if (!wgt || !wgt._uplder) return; + wgt._uplder.cancel(sid); + }, + + sendResult: function (uuid, contentId, sid) { + var wgt = zk.Widget.$(uuid); + if (!wgt || !wgt._uplder) return; + wgt._uplder.finish(sid); + zAu.send(new zk.Event(wgt.desktop, "updateResult", { + contentId: contentId, + wid: wgt.uuid, + sid: sid + })); + }, + + isFinish: function (wgt) { + for (var key = (typeof wgt == 'string' ? wgt : wgt.uuid) + '_uplder_', + f = zul.Upload.files, i = f.length; i--;) + if (f[0].id.startsWith(key)) + return false; + return true; + }, + + start: function (uplder) { + var files = zul.Upload.files; + if (uplder) + files.push(uplder); + if (files[0] && !files[0].isStart) { + files[0].isStart = true; + files[0].start(); + } + }, + + destroy: function (uplder) { + for (var files = zul.Upload.files, i = files.length; i--;) + if (files[i].id == uplder.id) { + files.splice(i, 1); + break; + } + zul.Upload.start(); + }, + files: [] +}); + +zul.Uploader = zk.$extends(zk.Object, { + + $init: function (upload, id, form, flnm) { + this.id = id; + this.flnm = flnm; + this._upload = upload; + this._form = form; + this._parent = form.parentNode; + this._sid = upload.sid; + this._wgt = upload._wgt; + + var viewer, self = this; + if (!upload._clsnm) viewer = new zul.UploadViewer(this, flnm); + else + zk.$import(upload._clsnm, function (cls) { + viewer = new cls(self, flnm); + }); + this.viewer = viewer; + }, + + getWidget: function () { + return this._wgt; + }, + + destroy: function (finish) { + this.end(finish); + if (this._form) { + jq(this._form.parentNode).remove(); + jq('#' + this.id + '_ifm').remove(); + } + this._form = this._upload = this._wgt = null; + }, + + start: function () { + var wgt = this._wgt, + frameId = this.id + '_ifm'; + + document.body.appendChild(this._parent); + if (!jq('#' + frameId).length) + jq.newFrame(frameId); + this._form.target = frameId; + this._form.submit(); + this._form.style.display = "none"; + + var self = this, + data = 'cmd=uploadInfo&dtid=' + wgt.desktop.id + + '&wid=' + wgt.uuid + '&sid=' + this._sid; + + if (zul.Uploader._tmupload) + clearInterval(zul.Uploader._tmupload); + + function t() { + jq.ajax({ + type: 'POST', + url: zk.ajaxURI('/upload', {desktop: wgt.desktop, au: true}), + data: data, + dataType: 'text', + success: function(data) { + var d = data.split(','); + if (data.startsWith('error:')) { + self._echo = true; + zul.Uploader.clearInterval(self.id); + if (wgt) { + self.cancel(); + zul.Upload.error(data.substring(6, data.length), wgt.uuid, self._sid); + } + } else if (!self.update(zk.parseInt(d[0]), zk.parseInt(d[1]))) + zul.Uploader.clearInterval(self.id); + }, + complete: function(req, status) { + var v; + if ((v = req.getResponseHeader("ZK-Error")) == "404" + || v == "410" || status == 'error' + || status == 404 || status == 405 || status == 410) { + zul.Uploader.clearInterval(self.id); + var wgt = self.getWidget(); + if (wgt) { + self.cancel(); + zul.Upload.error(msgzk.FAILED_TO_RESPONSE, wgt.uuid, self._sid); + } + return; + } + } + }); + } + t.id = this.id; + + zul.Uploader.clearInterval = function (id) { + if (t.id == id) { + clearInterval(zul.Uploader._tmupload); + zul.Uploader._tmupload = undefined; + } + }; + zul.Uploader._tmupload = setInterval(t, 1000); + + zul.wgt.ADBS.autodisable(wgt); + }, + + cancel: function () { + zul.Uploader.clearInterval(this.id); + if (this._upload) + this._upload.cancel(this._sid); + }, + + update: function (sent, total) { + var wgt = this.getWidget(); + if (!wgt || total <= 0) + if (this._echo) + this.end(); + else + return true; + else if (zul.Uploader._tmupload) { + this._echo = true; + if (sent >= 0 && sent <= 100) + this.viewer.update(sent, total); + return sent >= 0 && sent < 100; + } + return false; + }, + + end: function (finish) { + this.viewer.destroy(finish); + zul.Upload.destroy(this); + this._echo = true; + + + var wgt, upload, aded, parent; + if ((wgt = this._wgt) && (upload = this._upload) && + (aded = upload._aded)) { + wgt._uplder = null; + aded.onResponse(); + upload._aded = null; + + + if (wgt._uplder != null) + wgt._uplder.destroy(); + if ((parent = upload._parent) && !jq(parent).parents('html').length) { + upload._parent = wgt._getUploadRef(); + upload.initContent(); + } + wgt._uplder = upload; + wgt._uplder.sync(); + delete wgt._autodisable_self; + } + } +}); + + + function _addUM(uplder, flnm) { + var flman = zul.UploadViewer.flman; + if (!flman || !flman.desktop) { + if (flman) flman.detach(); + zul.UploadViewer.flman = flman = new zul.UploadManager(); + uplder.getWidget().getPage().appendChild(flman); + } + flman.removeFile(uplder); + flman.addFile(uplder); + } + function _initUM(uplder, flnm) { + if (zul.UploadManager) + return _addUM(uplder, flnm); + + zk.load('zul.wgt,zul.box', function() { + + zul.UploadManager = zk.$extends(zul.wgt.Popup, { + $init: function () { + this.$supers('$init', arguments); + this._files = {}; + this.setSclass('z-fileupload-manager'); + }, + onFloatUp: function(ctl) { + var wgt = ctl.origin; + if (!this.isVisible()) + return; + this.setTopmost(); + }, + + getFileItem: function(id) { + return this._files[id] || zk.Widget.$(id); + }, + + addFile: function(uplder) { + var id = uplder.id, + flnm = uplder.flnm, + prog = this.getFileItem(id); + if (!prog) { + prog = new zul.wgt.Div({ + uuid: id, + children: [new zul.wgt.Label({ + value: flnm + ':' + }), new zul.box.Box({ + mold: 'horizontal', + children: [new zul.wgt.Progressmeter({ + id: id, + sclass: 'z-fileupload-progress' + }) + , new zul.wgt.Div({ + sclass: 'z-fileupload-remove z-icon-times', + listeners: { + onClick: function () { + var uuid = id.substring(0, id.indexOf('_uplder_')); + zul.Uploader.clearInterval(id); + var wgt = zk.Widget.$(uuid); + if (wgt) wgt._uplder.cancel(id.substring(id.lastIndexOf('_')+1, id.length)); + } + } + })] + }), new zul.wgt.Label({id: id + '_total'}), new zul.wgt.Separator()] + }); + + try { + this.appendChild(prog); + } catch (e) {} + this._files[id] = prog; + } + return prog; + }, + + updateFile: function(uplder, val, total) { + var id = uplder.id, + prog = this.getFileItem(id); + if (!prog) return; + prog.$f(id).setValue(val); + prog.$f(id + '_total').setValue(total); + }, + + removeFile: function(uplder) { + var id = uplder.id, + prog = this.getFileItem(id); + if (prog) + prog.detach(); + delete this._files[id]; + var close = true; + for (var p in this._files) + if (!(close = false)) + break; + + if (close) + this.close(); + }, + + open: function(wgt, position) { + this.$super('open', wgt, null, position || 'after_start', { + sendOnOpen: false, + disableMask: true + }); + } + }); + _addUM(uplder, flnm); + }); + } + +zul.UploadViewer = zk.$extends(zk.Object, { + + $init: function (uplder, flnm) { + this._uplder = uplder; + _initUM(uplder, flnm); + }, + + update: function (sent, total) { + var flman = zul.UploadViewer.flman; + if (flman) { + if (!flman.isOpen()) + flman.open(this._uplder.getWidget()); + flman.updateFile(this._uplder, sent, msgzk.FILE_SIZE+Math.round(total/1024)+msgzk.KBYTES); + } + }, + + destroy: function () { + var flman = zul.UploadViewer.flman; + if (flman) + flman.removeFile(this._uplder); + } +}); + +})(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/fi/jawsy/jawwa/zk/atmosphere/AtmosphereServerPush.java b/org.adempiere.ui.zk/WEB-INF/src/fi/jawsy/jawwa/zk/atmosphere/AtmosphereServerPush.java index 6380825ee1..50d9fa2c3d 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/fi/jawsy/jawwa/zk/atmosphere/AtmosphereServerPush.java +++ b/org.adempiere.ui.zk/WEB-INF/src/fi/jawsy/jawwa/zk/atmosphere/AtmosphereServerPush.java @@ -260,4 +260,8 @@ public class AtmosphereServerPush implements ServerPush { return "[" + thread + ',' + nActive + ']'; } } + + @Override + public void resume() { + } } diff --git a/org.adempiere.ui.zk/WEB-INF/src/metainfo/zk/lang-addon.xml b/org.adempiere.ui.zk/WEB-INF/src/metainfo/zk/lang-addon.xml index 98b0b01b84..1c2f7574de 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/metainfo/zk/lang-addon.xml +++ b/org.adempiere.ui.zk/WEB-INF/src/metainfo/zk/lang-addon.xml @@ -38,10 +38,7 @@ Copyright (C) 2007 Ashley G Ramdass (ADempiere WebUI). - - - diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java index 8d5397bc3d..5992390c90 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java @@ -213,8 +213,8 @@ public class AdempiereWebUI extends Window implements EventListener, IWeb HttpSession httpSess = (HttpSession) currSess.getNativeSession(); String x_Forward_IP = Executions.getCurrent().getHeader("X-Forwarded-For"); - MSession mSession = MSession.get (ctx, x_Forward_IP!=null ? x_Forward_IP : currSess.getRemoteAddr(), - currSess.getRemoteHost(), httpSess.getId() ); + MSession mSession = MSession.get (ctx, x_Forward_IP!=null ? x_Forward_IP : Executions.getCurrent().getRemoteAddr(), + Executions.getCurrent().getRemoteHost(), httpSess.getId() ); if (clientInfo.userAgent != null) { mSession.setDescription(mSession.getDescription() + "\n" + clientInfo.toString()); mSession.saveEx(); @@ -323,11 +323,11 @@ public class AdempiereWebUI extends Window implements EventListener, IWeb Env.getCtx().clear(); session.invalidate(); - if (desktopCache != null) - desktopCache.removeDesktop(Executions.getCurrent().getDesktop()); - //redirect to login page Executions.sendRedirect("index.zul"); + + if (desktopCache != null) + desktopCache.removeDesktop(Executions.getCurrent().getDesktop()); } public void logoutAfterTabDestroyed(){ Session session = logout0(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java index c6c987825f..6e0f941b50 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java @@ -483,6 +483,7 @@ public class GridView extends Vbox implements EventListener, IdSpace, IFi if (headerWidth > estimatedWidth) estimatedWidth = headerWidth; + //TODO: test whether still needed for zk7 //hflex=min for first column not working well if (i > 0) { diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java index 7dcc696803..8fb73b18eb 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java @@ -314,7 +314,7 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria w.getChildren().clear(); sideController.render(w, this, false); - Clients.response(new AuScript("$('.slimScroll .z-anchorlayout-body').slimScroll({height: '100%',railVisible: true, alwaysVisible: false});")); + Clients.response(new AuScript("$('.slimScroll.z-anchorlayout').slimScroll({height: '100%',railVisible: true, alwaysVisible: false});")); } public void onEvent(Event event) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/HelpController.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/HelpController.java index 3c2f912b7c..2f7db1a533 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/HelpController.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/HelpController.java @@ -65,7 +65,7 @@ public class HelpController public HelpController() { dashboardLayout = new Anchorlayout(); - dashboardLayout.setSclass("dashboard-layout slimScroll"); + dashboardLayout.setSclass("dashboard-layout"); dashboardLayout.setVflex("1"); dashboardLayout.setHflex("1"); } @@ -73,7 +73,7 @@ public class HelpController public void render(Component parent, IDesktop desktopImpl) { Style style = new Style(); - style.setContent(".z-anchorlayout-body { overflow:auto } .z-anchorchildren { overflow:visible } "); + style.setContent(".z-anchorlayout { overflow:auto } .z-anchorchildren { overflow:visible } "); style.setPage(parent.getPage()); parent.appendChild(dashboardLayout); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java index 6f41ab7d51..8c5c29e092 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java @@ -264,9 +264,11 @@ public class WAttachment extends Window implements EventListener bLoad.setImage(ThemeManager.getThemeResource("images/Import24.png")); bLoad.setSclass("img-btn"); - bLoad.setAttribute("org.zkoss.zul.image.preload", Boolean.TRUE); + bLoad.setId("bLoad"); +// bLoad.setAttribute("org.zkoss.zul.image.preload", Boolean.TRUE); bLoad.setTooltiptext(Msg.getMsg(Env.getCtx(), "Load")); - bLoad.setUpload(AdempiereWebUI.getUploadSetting()); +// bLoad.setUpload(AdempiereWebUI.getUploadSetting()); + bLoad.setUpload("true,accept=audio/*|video/*|image/*|MIME_type,native"); bLoad.addEventListener(Events.ON_UPLOAD, this); bDelete.addEventListener(Events.ON_CLICK, this); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/part/WindowContainer.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/part/WindowContainer.java index e9d0ef2d0b..187e872329 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/part/WindowContainer.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/part/WindowContainer.java @@ -66,6 +66,7 @@ public class WindowContainer extends AbstractUIPart tabbox = new Tabbox(); tabbox.setSclass("desktop-tabbox"); tabbox.setId("desktop_tabbox"); + tabbox.setMaximalHeight(true); tabbox.addEventListener(ON_DEFER_SET_SELECTED_TAB, new EventListener() { @Override public void onEvent(Event event) throws Exception { @@ -76,8 +77,8 @@ public class WindowContainer extends AbstractUIPart }); Tabpanels tabpanels = new Tabpanels(); - tabpanels.setVflex("1"); - tabpanels.setHflex("1"); + tabpanels.setHeight("100%"); + tabpanels.setWidth("100%"); Tabs tabs = new Tabs(); tabbox.appendChild(tabs); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/session/SessionContextListener.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/session/SessionContextListener.java index b329771882..3c5574a16e 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/session/SessionContextListener.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/session/SessionContextListener.java @@ -37,10 +37,7 @@ import org.zkoss.zk.ui.Execution; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.Session; import org.zkoss.zk.ui.event.Event; -import org.zkoss.zk.ui.event.EventThreadCleanup; import org.zkoss.zk.ui.event.EventThreadInit; -import org.zkoss.zk.ui.event.EventThreadResume; -import org.zkoss.zk.ui.event.EventThreadSuspend; import org.zkoss.zk.ui.sys.DesktopCache; import org.zkoss.zk.ui.sys.DesktopCtrl; import org.zkoss.zk.ui.sys.ServerPush; @@ -57,7 +54,7 @@ import org.zkoss.zk.ui.util.ExecutionInit; * @version $Revision: 0.10 $ */ public class SessionContextListener implements ExecutionInit, - ExecutionCleanup, EventThreadInit, EventThreadResume, EventThreadCleanup, EventThreadSuspend, DesktopCleanup, DesktopInit + ExecutionCleanup, EventThreadInit, DesktopCleanup, DesktopInit { public static final String SERVLET_SESSION_ID = "servlet.sessionId"; public static final String SESSION_CTX = "WebUISessionContext"; @@ -121,6 +118,7 @@ public class SessionContextListener implements ExecutionInit, * * @see ExecutionInit#init(Execution, Execution) */ + @Override public void init(Execution exec, Execution parent) { //in servlet thread @@ -144,6 +142,7 @@ public class SessionContextListener implements ExecutionInit, * @param errs * @see ExecutionCleanup#cleanup(Execution, Execution, List) */ + @Override public void cleanup(Execution exec, Execution parent, List errs) { //in servlet thread @@ -163,6 +162,7 @@ public class SessionContextListener implements ExecutionInit, * @param evt * @see EventThreadInit#prepare(Component, Event) */ + @Override public void prepare(Component comp, Event evt) { //in servlet thread @@ -171,129 +171,22 @@ public class SessionContextListener implements ExecutionInit, { setupExecutionContextFromSession(Executions.getCurrent()); } + + //set locale + Locales.setThreadLocal(Env.getLanguage(ServerContext.getCurrentInstance()).getLocale()); } /** - * copy event thread's ThreadLocal to servlet thread - * @param comp - * @param evt - * @throws Exception - * @see {@link EventThreadSuspend#afterSuspend(Component, Event)} - */ - public void afterSuspend(Component comp, Event evt) throws Exception - { - //in servlet thread - if (ServerContext.getCurrentInstance().isEmpty() || !isContextValid()) - { - setupExecutionContextFromSession(Executions.getCurrent()); - } - } - - /** - * get from servlet thread's ThreadLocal - * @param comp - * @param evt - * @see EventThreadResume#beforeResume(Component, Event) - */ - public void beforeResume(Component comp, Event evt) - { - //in servlet thread - //check is thread local context have been setup - if (ServerContext.getCurrentInstance().isEmpty() || !isContextValid()) - { - setupExecutionContextFromSession(Executions.getCurrent()); - } - } - - /** - * @param comp - * @param evt - * @see EventThreadResume#abortResume(Component, Event) - */ - public void abortResume(Component comp, Event evt) - { - //in servlet thread - } - - /** - * copy event thread's ThreadLocal to servlet thread's ThreadLocal - * @param comp - * @param evt - * @see EventThreadCleanup#complete(Component, Event) - */ - public void complete(Component comp, Event evt) throws Exception - { - //in servlet thread - if (ServerContext.getCurrentInstance().isEmpty() || !isContextValid()) - { - setupExecutionContextFromSession(Executions.getCurrent()); - } - } - - /** - * copy servlet thread's ThreadLocal to event thread's ThreadLocal * @param comp * @param evt * @see EventThreadInit#init(Component, Event) */ + @Override public boolean init(Component comp, Event evt) { - //in event processing thread - if (ServerContext.getCurrentInstance().isEmpty() || !isContextValid()) - { - setupExecutionContextFromSession(Executions.getCurrent()); - } - - //set locale - Locales.setThreadLocal(Env.getLanguage(ServerContext.getCurrentInstance()).getLocale()); - return true; } - /** - * get from event thread's ThreadLocal - * @param comp - * @param evt - * @param obj - * @throws Exception - * @see {@link EventThreadSuspend#beforeSuspend(Component, Event, Object)} - */ - public void beforeSuspend(Component comp, Event evt, Object obj) - throws Exception - { - //in event processing thread - } - - /** - * copy servlet thread's ThreadLocal to event thread's ThreadLocal - * @param comp - * @param evt - * @see EventThreadResume#afterResume(Component, Event) - */ - public void afterResume(Component comp, Event evt) - { - //in event processing thread - if (ServerContext.getCurrentInstance().isEmpty() || !isContextValid()) - { - setupExecutionContextFromSession(Executions.getCurrent()); - } - - //set locale - Locales.setThreadLocal(Env.getLanguage(ServerContext.getCurrentInstance()).getLocale()); - } - - /** - * get from event thread's ThreadLocal - * @param comp - * @param evt - * @param errs - * @see EventThreadCleanup#cleanup(Component, Event, List) - */ - public void cleanup(Component comp, Event evt, List errs) throws Exception - { - //in event processing thread - } - public static boolean isContextValid() { Execution exec = Executions.getCurrent(); Properties ctx = ServerContext.getCurrentInstance(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FindWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FindWindow.java index 2d8661ca98..6508cb4b3e 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FindWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FindWindow.java @@ -355,7 +355,6 @@ public class FindWindow extends Window implements EventListener, ValueCha contentSimple.setStyle("width: 100%; position: relative"); contentSimple.makeNoStrip(); contentSimple.setHflex("1"); - contentSimple.setSizedByContent(true); Columns columns = new Columns(); Column column = new Column(); @@ -441,7 +440,6 @@ public class FindWindow extends Window implements EventListener, ValueCha confirmPanel.setPack("end"); advancedPanel = new Listbox(); - advancedPanel.setSizedByContent(true); ListHead listhead = new ListHead(); listhead.setSizable(true); @@ -576,7 +574,7 @@ public class FindWindow extends Window implements EventListener, ValueCha winAdvanced = new Window(); winLookupRecord = new Window(); Tabpanel tabPanel = new Tabpanel(); - tabPanel.setStyle("height: 100%; width: 99%; padding-right: 2px; margin: auto;"); + tabPanel.setStyle("height: 100%; width: 100%; padding-right: 2px; margin: auto;"); tabPanel.appendChild(winLookupRecord); tabPanel.setId("simpleSearch"); winMain.addTab(tabPanel, Msg.getMsg(Env.getCtx(), "Find").replaceAll("&", ""),false, true); diff --git a/org.adempiere.ui.zk/WEB-INF/tld/web/core.dsp.tld b/org.adempiere.ui.zk/WEB-INF/tld/web/core.dsp.tld index 6a6208a2db..fb9d2979ae 100755 --- a/org.adempiere.ui.zk/WEB-INF/tld/web/core.dsp.tld +++ b/org.adempiere.ui.zk/WEB-INF/tld/web/core.dsp.tld @@ -509,6 +509,16 @@ Copyright (C) 2005 Potix Corporation. All Rights Reserved. the browser code. + + resolveThemeURL + org.zkoss.web.fn.ServletFns + + java.lang.String resolveThemeURL(java.lang.String) + + + Resolves a URL to point to resource served by the current theme. + + escapeXML diff --git a/org.adempiere.ui.zk/WEB-INF/tld/web/theme.dsp.tld b/org.adempiere.ui.zk/WEB-INF/tld/web/theme.dsp.tld index a93a73ccc5..fb4dd561f5 100755 --- a/org.adempiere.ui.zk/WEB-INF/tld/web/theme.dsp.tld +++ b/org.adempiere.ui.zk/WEB-INF/tld/web/theme.dsp.tld @@ -183,4 +183,14 @@ Copyright (C) 2012 Potix Corporation. All Rights Reserved. Loads a specific theme properties and apply them into the request scope ]]> + + getCurrentTheme + org.zkoss.web.fn.ThemeFns + + java.lang.String getCurrentTheme() + + + diff --git a/org.adempiere.ui.zk/WEB-INF/tld/zk/core.dsp.tld b/org.adempiere.ui.zk/WEB-INF/tld/zk/core.dsp.tld index 7928d5409d..640ff0c061 100755 --- a/org.adempiere.ui.zk/WEB-INF/tld/zk/core.dsp.tld +++ b/org.adempiere.ui.zk/WEB-INF/tld/zk/core.dsp.tld @@ -70,6 +70,18 @@ Copyright (C) 2005 Potix Corporation. All Rights Reserved. + + + isEditionValid + org.zkoss.zk.fn.ZkFns + + boolean isEditionValid() + + + Returns the edition whether valid or invalid. + + + encodeWithZK org.zkoss.zk.fn.ZkFns diff --git a/org.adempiere.ui.zk/WEB-INF/web-2.5.xml b/org.adempiere.ui.zk/WEB-INF/web-2.5.xml index 54132df97a..ce2e251ba3 100644 --- a/org.adempiere.ui.zk/WEB-INF/web-2.5.xml +++ b/org.adempiere.ui.zk/WEB-INF/web-2.5.xml @@ -122,7 +122,7 @@ js - application/x-javascript + text/javascript pdf diff --git a/org.adempiere.ui.zk/WEB-INF/web.xml b/org.adempiere.ui.zk/WEB-INF/web.xml index 9f2c804276..ad2b4014eb 100644 --- a/org.adempiere.ui.zk/WEB-INF/web.xml +++ b/org.adempiere.ui.zk/WEB-INF/web.xml @@ -148,7 +148,7 @@ js - application/x-javascript + text/javascript pdf diff --git a/org.adempiere.ui.zk/WEB-INF/xsd/zul.xsd b/org.adempiere.ui.zk/WEB-INF/xsd/zul.xsd index c489e339e6..065f2a0f65 100644 --- a/org.adempiere.ui.zk/WEB-INF/xsd/zul.xsd +++ b/org.adempiere.ui.zk/WEB-INF/xsd/zul.xsd @@ -575,6 +575,7 @@ + @@ -585,6 +586,7 @@ + @@ -657,6 +659,7 @@ + @@ -667,6 +670,7 @@ + @@ -788,9 +792,27 @@ + + + + + + + + + + + + + + + + + + @@ -1195,7 +1217,7 @@ - + @@ -1595,6 +1617,14 @@ + + + + + + + + @@ -1941,6 +1971,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2067,6 +2137,7 @@ + @@ -2299,11 +2370,27 @@ - + + + + + + + + + + + + + + + + + @@ -2355,7 +2442,7 @@ - + @@ -2432,6 +2519,7 @@ + @@ -2864,6 +2952,9 @@ + + + diff --git a/org.adempiere.ui.zk/js/jquery-patch.js b/org.adempiere.ui.zk/js/jquery-patch.js deleted file mode 100644 index cc7fda845f..0000000000 --- a/org.adempiere.ui.zk/js/jquery-patch.js +++ /dev/null @@ -1,37 +0,0 @@ -//patch for jquery bug under firefox -(function(undefined) { -var rupper = /([A-Z]|^ms)/g; -if ( document.defaultView && document.defaultView.getComputedStyle ) { - var old = document.defaultView.getComputedStyle; - getComputedStyle = function( elem, name ) { - var ret, defaultView, computedStyle; - - if ( !(defaultView = elem.ownerDocument.defaultView) ) { - return undefined; - } - - if (name == undefined || name == null) { - try { - return old(elem, null); - } catch (err) { - return ""; - } - } - - name = name.replace( rupper, "-$1" ).toLowerCase(); - - try { - if ( (computedStyle = old( elem, null )) ) { - ret = computedStyle.getPropertyValue( name ); - if ( ret === "" && !jQuery.contains( elem.ownerDocument.documentElement, elem ) ) { - ret = jQuery.style( elem, name ); - } - } - } catch (err) { - return ""; - } - - return ret; - }; -} -})(); \ No newline at end of file diff --git a/org.adempiere.ui.zk/js/jquery-ui-1.10.1.min.js b/org.adempiere.ui.zk/js/jquery-ui-1.10.1.min.js deleted file mode 100644 index 6efcb160fc..0000000000 --- a/org.adempiere.ui.zk/js/jquery-ui-1.10.1.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/*! jQuery UI - v1.10.1 - 2013-02-17 -* http://jqueryui.com -* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.draggable.js -* Copyright (c) 2013 jQuery Foundation and other contributors Licensed MIT */ - -(function(e,t){function i(t,n){var r,i,o,u=t.nodeName.toLowerCase();return"area"===u?(r=t.parentNode,i=r.name,!t.href||!i||r.nodeName.toLowerCase()!=="map"?!1:(o=e("img[usemap=#"+i+"]")[0],!!o&&s(o))):(/input|select|textarea|button|object/.test(u)?!t.disabled:"a"===u?t.href||n:n)&&s(t)}function s(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return e.css(this,"visibility")==="hidden"}).length}var n=0,r=/^ui-id-\d+$/;e.ui=e.ui||{};if(e.ui.version)return;e.extend(e.ui,{version:"1.10.1",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({_focus:e.fn.focus,focus:function(t,n){return typeof t=="number"?this.each(function(){var r=this;setTimeout(function(){e(r).focus(),n&&n.call(r)},t)}):this._focus.apply(this,arguments)},scrollParent:function(){var t;return e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?t=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):t=this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(n){if(n!==t)return this.css("zIndex",n);if(this.length){var r=e(this[0]),i,s;while(r.length&&r[0]!==document){i=r.css("position");if(i==="absolute"||i==="relative"||i==="fixed"){s=parseInt(r.css("zIndex"),10);if(!isNaN(s)&&s!==0)return s}r=r.parent()}}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++n)})},removeUniqueId:function(){return this.each(function(){r.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(n){return!!e.data(n,t)}}):function(t,n,r){return!!e.data(t,r[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var n=e.attr(t,"tabindex"),r=isNaN(n);return(r||n>=0)&&i(t,!r)}}),e("").outerWidth(1).jquery||e.each(["Width","Height"],function(n,r){function u(t,n,r,s){return e.each(i,function(){n-=parseFloat(e.css(t,"padding"+this))||0,r&&(n-=parseFloat(e.css(t,"border"+this+"Width"))||0),s&&(n-=parseFloat(e.css(t,"margin"+this))||0)}),n}var i=r==="Width"?["Left","Right"]:["Top","Bottom"],s=r.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+r]=function(n){return n===t?o["inner"+r].call(this):this.each(function(){e(this).css(s,u(this,n)+"px")})},e.fn["outer"+r]=function(t,n){return typeof t!="number"?o["outer"+r].call(this,t):this.each(function(){e(this).css(s,u(this,t,!0,n)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}),e("").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(n){return arguments.length?t.call(this,e.camelCase(n)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,n,r){var i,s=e.ui[t].prototype;for(i in r)s.plugins[i]=s.plugins[i]||[],s.plugins[i].push([n,r[i]])},call:function(e,t,n){var r,i=e.plugins[t];if(!i||!e.element[0].parentNode||e.element[0].parentNode.nodeType===11)return;for(r=0;r0?!0:(t[r]=1,i=t[r]>0,t[r]=0,i)}})})(jQuery);(function(e,t){var n=0,r=Array.prototype.slice,i=e.cleanData;e.cleanData=function(t){for(var n=0,r;(r=t[n])!=null;n++)try{e(r).triggerHandler("remove")}catch(s){}i(t)},e.widget=function(t,n,r){var i,s,o,u,a={},f=t.split(".")[0];t=t.split(".")[1],i=f+"-"+t,r||(r=n,n=e.Widget),e.expr[":"][i.toLowerCase()]=function(t){return!!e.data(t,i)},e[f]=e[f]||{},s=e[f][t],o=e[f][t]=function(e,t){if(!this._createWidget)return new o(e,t);arguments.length&&this._createWidget(e,t)},e.extend(o,s,{version:r.version,_proto:e.extend({},r),_childConstructors:[]}),u=new n,u.options=e.widget.extend({},u.options),e.each(r,function(t,r){if(!e.isFunction(r)){a[t]=r;return}a[t]=function(){var e=function(){return n.prototype[t].apply(this,arguments)},i=function(e){return n.prototype[t].apply(this,e)};return function(){var t=this._super,n=this._superApply,s;return this._super=e,this._superApply=i,s=r.apply(this,arguments),this._super=t,this._superApply=n,s}}()}),o.prototype=e.widget.extend(u,{widgetEventPrefix:s?u.widgetEventPrefix:t},a,{constructor:o,namespace:f,widgetName:t,widgetFullName:i}),s?(e.each(s._childConstructors,function(t,n){var r=n.prototype;e.widget(r.namespace+"."+r.widgetName,o,n._proto)}),delete s._childConstructors):n._childConstructors.push(o),e.widget.bridge(t,o)},e.widget.extend=function(n){var i=r.call(arguments,1),s=0,o=i.length,u,a;for(;s",options:{disabled:!1,create:null},_createWidget:function(t,r){r=e(r||this.defaultElement||this)[0],this.element=e(r),this.uuid=n++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this.bindings=e(),this.hoverable=e(),this.focusable=e(),r!==this&&(e.data(r,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===r&&this.destroy()}}),this.document=e(r.style?r.ownerDocument:r.document||r),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(n,r){var i=n,s,o,u;if(arguments.length===0)return e.widget.extend({},this.options);if(typeof n=="string"){i={},s=n.split("."),n=s.shift();if(s.length){o=i[n]=e.widget.extend({},this.options[n]);for(u=0;u=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);(function(e,t){function h(e,t,n){return[parseFloat(e[0])*(l.test(e[0])?t/100:1),parseFloat(e[1])*(l.test(e[1])?n/100:1)]}function p(t,n){return parseInt(e.css(t,n),10)||0}function d(t){var n=t[0];return n.nodeType===9?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:e.isWindow(n)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:n.preventDefault?{width:0,height:0,offset:{top:n.pageY,left:n.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()}}e.ui=e.ui||{};var n,r=Math.max,i=Math.abs,s=Math.round,o=/left|center|right/,u=/top|center|bottom/,a=/[\+\-]\d+(\.[\d]+)?%?/,f=/^\w+/,l=/%$/,c=e.fn.position;e.position={scrollbarWidth:function(){if(n!==t)return n;var r,i,s=e("
"),o=s.children()[0];return e("body").append(s),r=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,r===i&&(i=s[0].clientWidth),s.remove(),n=r-i},getScrollInfo:function(t){var n=t.isWindow?"":t.element.css("overflow-x"),r=t.isWindow?"":t.element.css("overflow-y"),i=n==="scroll"||n==="auto"&&t.width0?"right":"center",vertical:u<0?"top":o>0?"bottom":"middle"};lr(i(o),i(u))?h.important="horizontal":h.important="vertical",t.using.call(this,e,h)}),a.offset(e.extend(C,{using:u}))})},e.ui.position={fit:{left:function(e,t){var n=t.within,i=n.isWindow?n.scrollLeft:n.offset.left,s=n.width,o=e.left-t.collisionPosition.marginLeft,u=i-o,a=o+t.collisionWidth-s-i,f;t.collisionWidth>s?u>0&&a<=0?(f=e.left+u+t.collisionWidth-s-i,e.left+=u-f):a>0&&u<=0?e.left=i:u>a?e.left=i+s-t.collisionWidth:e.left=i:u>0?e.left+=u:a>0?e.left-=a:e.left=r(e.left-o,e.left)},top:function(e,t){var n=t.within,i=n.isWindow?n.scrollTop:n.offset.top,s=t.within.height,o=e.top-t.collisionPosition.marginTop,u=i-o,a=o+t.collisionHeight-s-i,f;t.collisionHeight>s?u>0&&a<=0?(f=e.top+u+t.collisionHeight-s-i,e.top+=u-f):a>0&&u<=0?e.top=i:u>a?e.top=i+s-t.collisionHeight:e.top=i:u>0?e.top+=u:a>0?e.top-=a:e.top=r(e.top-o,e.top)}},flip:{left:function(e,t){var n=t.within,r=n.offset.left+n.scrollLeft,s=n.width,o=n.isWindow?n.scrollLeft:n.offset.left,u=e.left-t.collisionPosition.marginLeft,a=u-o,f=u+t.collisionWidth-s-o,l=t.my[0]==="left"?-t.elemWidth:t.my[0]==="right"?t.elemWidth:0,c=t.at[0]==="left"?t.targetWidth:t.at[0]==="right"?-t.targetWidth:0,h=-2*t.offset[0],p,d;if(a<0){p=e.left+l+c+h+t.collisionWidth-s-r;if(p<0||p0){d=e.left-t.collisionPosition.marginLeft+l+c+h-o;if(d>0||i(d)a&&(v<0||v0&&(d=e.top-t.collisionPosition.marginTop+c+h+p-o,e.top+c+h+p>f&&(d>0||i(d)10&&i<11,t.innerHTML="",n.removeChild(t)}()})(jQuery);(function(e,t){e.widget("ui.draggable",e.ui.mouse,{version:"1.10.1",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){this.options.helper==="original"&&!/^(?:r|a|f)/.test(this.element.css("position"))&&(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(t){var n=this.options;return this.helper||n.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(e(n.iframeFix===!0?"iframe":n.iframeFix).each(function(){e("
").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(e(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(t){var n=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,n.cursorAt&&this._adjustOffsetFromHelper(n.cursorAt),n.containment&&this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!n.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_mouseDrag:function(t,n){this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute");if(!n){var r=this._uiHash();if(this._trigger("drag",t,r)===!1)return this._mouseUp({}),!1;this.position=r.position}if(!this.options.axis||this.options.axis!=="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!=="x")this.helper[0].style.top=this.position.top+"px";return e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var n,r=this,i=!1,s=!1;e.ui.ddmanager&&!this.options.dropBehaviour&&(s=e.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),n=this.element[0];while(n&&(n=n.parentNode))n===document&&(i=!0);return!i&&this.options.helper==="original"?!1:(this.options.revert==="invalid"&&!s||this.options.revert==="valid"&&s||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){r._trigger("stop",t)!==!1&&r._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1)},_mouseUp:function(t){return e("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){var n=!this.options.handle||!e(this.options.handle,this.element).length?!0:!1;return e(this.options.handle,this.element).find("*").addBack().each(function(){this===t.target&&(n=!0)}),n},_createHelper:function(t){var n=this.options,r=e.isFunction(n.helper)?e(n.helper.apply(this.element[0],[t])):n.helper==="clone"?this.element.clone().removeAttr("id"):this.element;return r.parents("body").length||r.appendTo(n.appendTo==="parent"?this.element[0].parentNode:n.appendTo),r[0]!==this.element[0]&&!/(fixed|absolute)/.test(r.css("position"))&&r.css("position","absolute"),r},_adjustOffsetFromHelper:function(t){typeof t=="string"&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();this.cssPosition==="absolute"&&this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()==="html"&&e.ui.ie)t={top:0,left:0};return{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition==="relative"){var e=this.element.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,n,r,i=this.options;i.containment==="parent"&&(i.containment=this.helper[0].parentNode);if(i.containment==="document"||i.containment==="window")this.containment=[i.containment==="document"?0:e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,i.containment==="document"?0:e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,(i.containment==="document"?0:e(window).scrollLeft())+e(i.containment==="document"?document:window).width()-this.helperProportions.width-this.margins.left,(i.containment==="document"?0:e(window).scrollTop())+(e(i.containment==="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(i.containment)&&i.containment.constructor!==Array){n=e(i.containment),r=n[0];if(!r)return;t=e(r).css("overflow")!=="hidden",this.containment=[(parseInt(e(r).css("borderLeftWidth"),10)||0)+(parseInt(e(r).css("paddingLeft"),10)||0),(parseInt(e(r).css("borderTopWidth"),10)||0)+(parseInt(e(r).css("paddingTop"),10)||0),(t?Math.max(r.scrollWidth,r.offsetWidth):r.offsetWidth)-(parseInt(e(r).css("borderLeftWidth"),10)||0)-(parseInt(e(r).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(r.scrollHeight,r.offsetHeight):r.offsetHeight)-(parseInt(e(r).css("borderTopWidth"),10)||0)-(parseInt(e(r).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=n}else i.containment.constructor===Array&&(this.containment=i.containment)},_convertPositionTo:function(t,n){n||(n=this.position);var r=t==="absolute"?1:-1,i=this.cssPosition!=="absolute"||this.scrollParent[0]!==document&&!!e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,s=/(html|body)/i.test(i[0].tagName);return{top:n.top+this.offset.relative.top*r+this.offset.parent.top*r-(this.cssPosition==="fixed"?-this.scrollParent.scrollTop():s?0:i.scrollTop())*r,left:n.left+this.offset.relative.left*r+this.offset.parent.left*r-(this.cssPosition==="fixed"?-this.scrollParent.scrollLeft():s?0:i.scrollLeft())*r}},_generatePosition:function(t){var n,r,i,s,o=this.options,u=this.cssPosition!=="absolute"||this.scrollParent[0]!==document&&!!e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(u[0].tagName),f=t.pageX,l=t.pageY;return this.originalPosition&&(this.containment&&(this.relative_container?(r=this.relative_container.offset(),n=[this.containment[0]+r.left,this.containment[1]+r.top,this.containment[2]+r.left,this.containment[3]+r.top]):n=this.containment,t.pageX-this.offset.click.leftn[2]&&(f=n[2]+this.offset.click.left),t.pageY-this.offset.click.top>n[3]&&(l=n[3]+this.offset.click.top)),o.grid&&(i=o.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,l=n?i-this.offset.click.top>=n[1]||i-this.offset.click.top>n[3]?i:i-this.offset.click.top>=n[1]?i-o.grid[1]:i+o.grid[1]:i,s=o.grid[0]?this.originalPageX+Math.round((f-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,f=n?s-this.offset.click.left>=n[0]||s-this.offset.click.left>n[2]?s:s-this.offset.click.left>=n[0]?s-o.grid[0]:s+o.grid[0]:s)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(this.cssPosition==="fixed"?-this.scrollParent.scrollTop():a?0:u.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(this.cssPosition==="fixed"?-this.scrollParent.scrollLeft():a?0:u.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]!==this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(t,n,r){return r=r||this._uiHash(),e.ui.plugin.call(this,t,[n,r]),t==="drag"&&(this.positionAbs=this._convertPositionTo("absolute")),e.Widget.prototype._trigger.call(this,t,n,r)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,n){var r=e(this).data("ui-draggable"),i=r.options,s=e.extend({},n,{item:r.element});r.sortables=[],e(i.connectToSortable).each(function(){var n=e.data(this,"ui-sortable");n&&!n.options.disabled&&(r.sortables.push({instance:n,shouldRevert:n.options.revert}),n.refreshPositions(),n._trigger("activate",t,s))})},stop:function(t,n){var r=e(this).data("ui-draggable"),i=e.extend({},n,{item:r.element});e.each(r.sortables,function(){this.instance.isOver?(this.instance.isOver=0,r.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=!0),this.instance._mouseStop(t),this.instance.options.helper=this.instance.options._helper,r.options.helper==="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",t,i))})},drag:function(t,n){var r=e(this).data("ui-draggable"),i=this;e.each(r.sortables,function(){var s=!1,o=this;this.instance.positionAbs=r.positionAbs,this.instance.helperProportions=r.helperProportions,this.instance.offset.click=r.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(s=!0,e.each(r.sortables,function(){return this.instance.positionAbs=r.positionAbs,this.instance.helperProportions=r.helperProportions,this.instance.offset.click=r.offset.click,this!==o&&this.instance._intersectsWith(this.instance.containerCache)&&e.contains(o.instance.element[0],this.instance.element[0])&&(s=!1),s})),s?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=e(i).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return n.helper[0]},t.target=this.instance.currentItem[0],this.instance._mouseCapture(t,!0),this.instance._mouseStart(t,!0,!0),this.instance.offset.click.top=r.offset.click.top,this.instance.offset.click.left=r.offset.click.left,this.instance.offset.parent.left-=r.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=r.offset.parent.top-this.instance.offset.parent.top,r._trigger("toSortable",t),r.dropped=this.instance.element,r.currentItem=r.element,this.instance.fromOutside=r),this.instance.currentItem&&this.instance._mouseDrag(t)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",t,this.instance._uiHash(this.instance)),this.instance._mouseStop(t,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),r._trigger("fromSortable",t),r.dropped=!1)})}}),e.ui.plugin.add("draggable","cursor",{start:function(){var t=e("body"),n=e(this).data("ui-draggable").options;t.css("cursor")&&(n._cursor=t.css("cursor")),t.css("cursor",n.cursor)},stop:function(){var t=e(this).data("ui-draggable").options;t._cursor&&e("body").css("cursor",t._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,n){var r=e(n.helper),i=e(this).data("ui-draggable").options;r.css("opacity")&&(i._opacity=r.css("opacity")),r.css("opacity",i.opacity)},stop:function(t,n){var r=e(this).data("ui-draggable").options;r._opacity&&e(n.helper).css("opacity",r._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(){var t=e(this).data("ui-draggable");t.scrollParent[0]!==document&&t.scrollParent[0].tagName!=="HTML"&&(t.overflowOffset=t.scrollParent.offset())},drag:function(t){var n=e(this).data("ui-draggable"),r=n.options,i=!1;if(n.scrollParent[0]!==document&&n.scrollParent[0].tagName!=="HTML"){if(!r.axis||r.axis!=="x")n.overflowOffset.top+n.scrollParent[0].offsetHeight-t.pageY=0;c--){u=p.snapElements[c].left,a=u+p.snapElements[c].width,f=p.snapElements[c].top,l=f+p.snapElements[c].height;if(!(u-v=b.outerHeight()?n=!0:(c.stop(!0,!0).fadeIn("fast"),a.railVisible&&e.stop(!0,!0).fadeIn("fast"))}function l(){a.alwaysVisible||(w=setTimeout(function(){if((!a.disableFadeOut||!p)&&!t&&!u)c.fadeOut("slow"),e.fadeOut("slow")},1E3))}var p,t,u,w,y,s,j,x,A=30,n=!1,b=d(this);if(b.parent().hasClass("slimScrollDiv")){var k=b.scrollTop(),c=b.parent().find(".slimScrollBar"),e=b.parent().find(".slimScrollRail");r();m&&("scrollTo"in m?k=parseInt(a.scrollTo):"scrollBy"in m&&(k+=parseInt(a.scrollBy)), -f(k,!1,!0))}else{a.height="auto"==a.height?b.parent().innerHeight():a.height;k=d("
").addClass(a.wrapperClass).css({position:"relative",overflow:"hidden",width:a.width,height:a.height});b.css({overflow:"hidden",width:a.width,height:a.height});var e=d("
").addClass(a.railClass).css({width:a.size,height:"100%",position:"absolute",top:0,display:a.alwaysVisible&&a.railVisible?"block":"none","border-radius":a.size,background:a.railColor,opacity:a.railOpacity,zIndex:90}),c=d("
").addClass(a.barClass).css({background:a.color, -width:a.size,position:"absolute",top:0,opacity:a.opacity,display:a.alwaysVisible?"block":"none","border-radius":a.size,BorderRadius:a.size,MozBorderRadius:a.size,WebkitBorderRadius:a.size,zIndex:99}),z="right"==a.position?{right:a.distance}:{left:a.distance};e.css(z);c.css(z);b.wrap(k);b.parent().append(c);b.parent().append(e);c.draggable({axis:"y",containment:"parent",start:function(){u=!0},stop:function(){u=!1;l()},drag:function(){f(0,d(this).position().top,!1)}});e.hover(function(){q()},function(){l()}); -c.hover(function(){t=!0},function(){t=!1});b.hover(function(){p=!0;q();l()},function(){p=!1;l()});b.bind("touchstart",function(a){a.originalEvent.touches.length&&(y=a.originalEvent.touches[0].pageY)});b.bind("touchmove",function(b){b.originalEvent.preventDefault();b.originalEvent.touches.length&&f((y-b.originalEvent.touches[0].pageY)/a.touchScrollStep,!0)});var v=function(a){if(p){a=a||window.event;var b=0;a.wheelDelta&&(b=-a.wheelDelta/120);a.detail&&(b=a.detail/3);f(b,!0);a.preventDefault&&!n&& -a.preventDefault();n||(a.returnValue=!1)}};(function(){window.addEventListener?(this.addEventListener("DOMMouseScroll",v,!1),this.addEventListener("mousewheel",v,!1)):document.attachEvent("onmousewheel",v)})();r();"bottom"==a.start?(c.css({top:b.outerHeight()-c.outerHeight()}),f(0,!0)):"object"==typeof a.start&&(f(d(a.start).position().top,null,!0),a.alwaysVisible||c.hide())}});return this}});jQuery.fn.extend({slimscroll:jQuery.fn.slimScroll})})(jQuery); \ No newline at end of file +(function(f){jQuery.fn.extend({slimScroll:function(h){var a=f.extend({width:"auto",height:"250px",size:"7px",color:"#000",position:"right",distance:"1px",start:"top",opacity:0.4,alwaysVisible:!1,disableFadeOut:!1,railVisible:!1,railColor:"#333",railOpacity:0.2,railDraggable:!0,railClass:"slimScrollRail",barClass:"slimScrollBar",wrapperClass:"slimScrollDiv",allowPageScroll:!1,wheelStep:20,touchScrollStep:200,borderRadius:"7px",railBorderRadius:"7px"},h);this.each(function(){function r(d){if(s){d=d|| +window.event;var c=0;d.wheelDelta&&(c=-d.wheelDelta/120);d.detail&&(c=d.detail/3);f(d.target||d.srcTarget||d.srcElement).closest("."+a.wrapperClass).is(b.parent())&&m(c,!0);d.preventDefault&&!k&&d.preventDefault();k||(d.returnValue=!1)}}function m(d,f,h){k=!1;var e=d,g=b.outerHeight()-c.outerHeight();f&&(e=parseInt(c.css("top"))+d*parseInt(a.wheelStep)/100*c.outerHeight(),e=Math.min(Math.max(e,0),g),e=0=b.outerHeight()?k=!0:(c.stop(!0,!0).fadeIn("fast"),a.railVisible&&g.stop(!0,!0).fadeIn("fast"))}function p(){a.alwaysVisible||(A=setTimeout(function(){a.disableFadeOut&&s||(x||y)||(c.fadeOut("slow"),g.fadeOut("slow"))},1E3))}var s,x,y,A,z,u,l,B,D=30,k=!1,b=f(this);if(b.parent().hasClass(a.wrapperClass)){var n=b.scrollTop(), +c=b.parent().find("."+a.barClass),g=b.parent().find("."+a.railClass);w();if(f.isPlainObject(h)){if("height"in h&&"auto"==h.height){b.parent().css("height","auto");b.css("height","auto");var q=b.parent().parent().height();b.parent().css("height",q);b.css("height",q)}if("scrollTo"in h)n=parseInt(a.scrollTo);else if("scrollBy"in h)n+=parseInt(a.scrollBy);else if("destroy"in h){c.remove();g.remove();b.unwrap();return}m(n,!1,!0)}}else{a.height="auto"==a.height?b.parent().height():a.height;n=f("
").addClass(a.wrapperClass).css({position:"relative", +overflow:"hidden",width:a.width,height:a.height});b.css({overflow:"hidden",width:a.width,height:a.height});var g=f("
").addClass(a.railClass).css({width:a.size,height:"100%",position:"absolute",top:0,display:a.alwaysVisible&&a.railVisible?"block":"none","border-radius":a.railBorderRadius,background:a.railColor,opacity:a.railOpacity,zIndex:90}),c=f("
").addClass(a.barClass).css({background:a.color,width:a.size,position:"absolute",top:0,opacity:a.opacity,display:a.alwaysVisible? +"block":"none","border-radius":a.borderRadius,BorderRadius:a.borderRadius,MozBorderRadius:a.borderRadius,WebkitBorderRadius:a.borderRadius,zIndex:99}),q="right"==a.position?{right:a.distance}:{left:a.distance};g.css(q);c.css(q);b.wrap(n);b.parent().append(c);b.parent().append(g);a.railDraggable&&c.bind("mousedown",function(a){var b=f(document);y=!0;t=parseFloat(c.css("top"));pageY=a.pageY;b.bind("mousemove.slimscroll",function(a){currTop=t+a.pageY-pageY;c.css("top",currTop);m(0,c.position().top,!1)}); +b.bind("mouseup.slimscroll",function(a){y=!1;p();b.unbind(".slimscroll")});return!1}).bind("selectstart.slimscroll",function(a){a.stopPropagation();a.preventDefault();return!1});g.hover(function(){v()},function(){p()});c.hover(function(){x=!0},function(){x=!1});b.hover(function(){s=!0;v();p()},function(){s=!1;p()});b.bind("touchstart",function(a,b){a.originalEvent.touches.length&&(z=a.originalEvent.touches[0].pageY)});b.bind("touchmove",function(b){k||b.originalEvent.preventDefault();b.originalEvent.touches.length&& +(m((z-b.originalEvent.touches[0].pageY)/a.touchScrollStep,!0),z=b.originalEvent.touches[0].pageY)});w();"bottom"===a.start?(c.css({top:b.outerHeight()-c.outerHeight()}),m(0,!0)):"top"!==a.start&&(m(f(a.start).position().top,null,!0),a.alwaysVisible||c.hide());C()}});return this}});jQuery.fn.extend({slimscroll:jQuery.fn.slimScroll})})(jQuery); \ No newline at end of file diff --git a/org.adempiere.ui.zk/theme/default/css/theme.css.dsp b/org.adempiere.ui.zk/theme/default/css/theme.css.dsp index 2f57ac8e94..035f4f722e 100644 --- a/org.adempiere.ui.zk/theme/default/css/theme.css.dsp +++ b/org.adempiere.ui.zk/theme/default/css/theme.css.dsp @@ -18,6 +18,10 @@ html,body { background-color: #E5E5E5; } +.login-window .z-window-content { + background-color: #E5E5E5; +} + .login-box-body { width: 660px; background-image: url(../images/login-box-bg.png); @@ -112,7 +116,7 @@ html,body { .desktop-header { background-color: #F4F4F4; width: 100%; - height: 35px; + height: 46px; border-bottom: 1px solid #C5C5C5; } @@ -121,6 +125,11 @@ html,body { font-size: 10px; } +.desktop-header-username:hover { + color: blue; + text-decoration: underline; +} + .menu-href { font-size: 11px; font-weight: normal; @@ -146,12 +155,16 @@ html,body { height: 10px; } -.window-container-toolbar-btn .z-toolbarbutton-cnt img { +.z-toolbar.z-toolbar-tabs { + padding-top: 0px; +} + +.window-container-toolbar-btn .z-toolbarbutton-content img { width: 22px; height: 22px; } -.window-container-toolbar-btn.context-help-btn .z-toolbarbutton-cnt img { +.window-container-toolbar-btn.context-help-btn .z-toolbarbutton-content img { width: 16px; height: 16px; padding: 3px 3px; @@ -181,7 +194,7 @@ html,body { padding: 0px; } -.z-toolbarbutton-cnt { +.z-toolbarbutton-content { padding: 0px; } @@ -190,8 +203,9 @@ html,body { display:inline-block; margin-left: 1px; margin-right: 1px; - width: 26px; - height: 24px; + width: 28px; + height: 28px; + padding: 1px; } .breadcrumb-toolbar-button { @@ -210,13 +224,12 @@ html,body { font-size: 12px; } -.toolbar-button .z-toolbarbutton-body .z-toolbarbutton-cnt img { - width: 22px; - height: 22px; - padding: 0px 1px 0px 1px; - border-style: solid; - border-width: 1px; - border-color: transparent; +.toolbar-button .z-toolbarbutton-content { + width: 24px; + height: 24px; + padding: 1px; + border: none; + display: inline-block; } .depressed img { @@ -227,38 +240,7 @@ html,body { } <%-- button --%> -.z-button .z-button-tl, -.z-button .z-button-tr, -.z-button .z-button-bl, -.z-button .z-button-br -{ - display: none; - background: none !important; -} - -.z-button .z-button-tm, -.z-button .z-button-bm -{ - display: none; - background: none !important; -} - -.z-button .z-button-cl, -.z-button .z-button-cr -{ - display: none; - background: none !important; -} - -.z-button .z-button-cm -{ - background: none !important; - border: none !important; - margin: 0 !important; - padding: 0 !important; -} - -.z-button-os, .z-button { +.z-button { display: inline-block; margin: 0px; padding: 4px 20px; @@ -293,23 +275,20 @@ html,body { margin: 0px !important; } -.z-button-os:hover, .z-button-over, -.z-button-os:focus, .z-button-focus, -.z-button-os:active, .z-button-clk, -.z-button-os.active, -.z-button-os.disabled, .z-button-disd, -.z-button-os[disabled] { +.z-button-hover, +.z-button-focus, +.z-button-click, +.z-button-disabled { color: #333333; background-color: #e6e6e6; } -.z-button-os:active, .z-button-clk, -.z-button-os.active { +.z-button-click { background-color: #cccccc \9; } -.z-button-os:hover, .z-button-over, -.z-button-os:focus, .z-button-focus { +.z-button-hover, +.z-button-focus { color: #333333; text-decoration: none; background-position: 0 -15px; @@ -319,12 +298,11 @@ html,body { transition: background-position 0.1s linear; } -.z-button-os:focus, .z-button-focus { +.z-button-focus { outline: 5px auto -webkit-focus-ring-color; } -.z-button-os.active, .z-button-clk, -.z-button-os:active { +.z-button-click { background-image: none; outline: 0; -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); @@ -332,8 +310,7 @@ html,body { box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); } -.z-button-os.disabled, .z-button-disd, -.z-button-os[disabled] { +.z-button-disabled { cursor: default; background-image: none; opacity: 0.65; @@ -357,7 +334,7 @@ html,body { display: inline-block; } -.z-button-os.btn-small { +.z-button.btn-small { padding: 1px 5px; } @@ -374,7 +351,7 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none { } .desktop-user-panel { - text-align: right; + float: right; } .desktop-layout { @@ -392,22 +369,25 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none { margin-right: 2px; } -.desktop-tabbox .z-tab .z-tab-hl, .desktop-tabbox .z-tab .z-tab-hr, -.desktop-tabbox .z-tab .z-tab-hm { - height: 22px; +.desktop-tabbox .z-tab { + height: 24px; } -.desktop-tabbox .z-tab-seld .z-tab-hl, .desktop-tabbox .z-tab-seld .z-tab-hr, -.desktop-tabbox .z-tab-seld .z-tab-hm { - height: 21px; +.desktop-tabbox .z-tab-selected { + height: 25px; } -.desktop-tabbox .z-tab-seld { +.desktop-tabbox .z-tab-selected { border-top: 2px solid #666; border-top-left-radius: 5px 5px; border-top-right-radius: 5px 5px; } +.desktop-tabbox .z-tab .z-tab-text { + padding-top: 0px; + padding-bottom: 0px; +} + .desktop-north, .desktop-center { border: none; } @@ -425,16 +405,25 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none { background-color: #FFFFFF } -.menu-search-panel .z-comboitem-img { +.menu-search-panel .z-comboitem-image { padding-bottom:4px; } -.z-comboitem-img { - vertical-align:top; +.menu-search-panel-container .z-panel-body { + background-color: transparent; +} + +.menu-search-panel-container .z-panel-top .z-toolbar.z-toolbar-panel { + padding-bottom: 0px; + padding-top: 8px; +} + +.z-comboitem-image { + --vertical-align:top; } .z-combobox input { - vertical-align:top; + --vertical-align:top; } .menu-panel .z-toolbar-panel { @@ -457,17 +446,17 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none { padding-top: 4px; } -.desktop-left-column + .z-west-splt { +.desktop-left-column + .z-west-splitter { border-top: none; border-right: 1px solid #c5c5c5; } -.desktop-right-column + .z-east-splt { +.desktop-right-column + .z-east-splitter { border-top: none; border-left: 1px solid #c5c5c5; } -.z-south-splt, .z-west-splt, .z-east-splt, .z-north-splt { +.z-south-splitter, .z-west-splitter, .z-east-splitter, .z-north-splitter { background: none !important; } @@ -483,15 +472,15 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none { border-top: 1px solid #c5c5c5; } -.desktop-left-column .z-anchorlayout-body, .desktop-right-column .z-anchorlayout-body { +.desktop-left-column .z-anchorlayout, .desktop-right-column .z-anchorlayout { overflow-x: hidden; } -.z-anchorlayout-body { overflow:auto } +.z-anchorlayout { overflow:auto } .z-anchorchildren { overflow:visible } -.slimScroll .z-anchorlayout-body { overflow:hidden } +.slimScroll.z-anchorlayout { overflow:hidden } .desktop-hometab { margin-left: 4px !important; @@ -508,13 +497,13 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none { margin: 0px !important; } -.desktop-tabbox .z-tabs .z-toolbar-tabs .z-toolbarbutton-over .z-toolbarbutton-body { +.desktop-tabbox .z-tabs .z-toolbar-tabs .z-toolbarbutton-hover { border: none !important; padding: 0px !important; margin: 0px !important; } -.desktop-tabbox .z-tabs .z-toolbar-tabs .z-toolbarbutton-over .z-toolbarbutton-cnt { +.desktop-tabbox .z-tabs .z-toolbar-tabs .z-toolbarbutton-hover .z-toolbarbutton-content { background-image: none !important; background-color:#DDD !important; padding: 0px !important; @@ -540,33 +529,27 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none { .desktop-home-tabpanel { background-color: #FFFFFF; - width: 99% !important; + width: 100% !important; } .link { cursor:pointer; + padding: 2px 2px 4px 4px; + border: none !important; } -.link.z-toolbarbutton-over { - border: none; - padding: 1px 0; -} - -.link.z-toolbarbutton-over .z-toolbarbutton-body { - border: none; - padding: 0 1px; -} - -.link.z-toolbarbutton-over .z-toolbarbutton-cnt { - background-image: none; - color: blue; +.link.z-toolbarbutton:hover { + border: none !important; + background-image: none !important; text-decoration: underline; } +.link.z-toolbarbutton:hover span { + color: blue; +} + <%-- dashlet --%> -.z-panel-tl, .z-panel-tr, -.z-panel-hr, .z-panel-hl, -.z-panel-hm { +.z-panel-head { background-image: none; background-color: #FFFFFF; } @@ -584,12 +567,12 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none { border: none; } -.z-panel-hl { +.z-panel-head { padding-bottom: 4px; - border-bottom: none; + border: none; } -.z-panel-hl .z-panel-header { +.z-panel-head .z-panel-header { padding: 0 0 2px 0; color: #262626; background: #F4F4F4; @@ -597,7 +580,7 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none { font-size: 13px; } -.z-caption .z-caption-l, .z-caption .z-caption-r { +.z-caption .z-caption-content { padding: 0 0 2px 0; color: #262626; font-weight: 300; @@ -605,9 +588,7 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none { cursor: move; } -.desktop-home-tabpanel .z-panel-tl, .desktop-home-tabpanel .z-panel-tr, -.desktop-home-tabpanel .z-panel-hr, .desktop-home-tabpanel .z-panel-hl, -.desktop-home-tabpanel .z-panel-hm { +.desktop-home-tabpanel .z-panel-head { background-color: #FFFFFF; } @@ -717,7 +698,7 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none { width: 100%; } -.activities-box .z-button-os { +.activities-box .z-button { text-align: left; } @@ -805,11 +786,11 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none { overflow-y: visible; } -.adwindow-detailpane-tabbox .z-tab-seld span.z-tab-text { +.adwindow-detailpane-tabbox .z-tab-selected span.z-tab-text { cursor: pointer; } -.adwindow-detailpane-tabbox .z-tab-seld span.z-tab-text:hover { +.adwindow-detailpane-tabbox .z-tab-selected span.z-tab-text:hover { text-decoration: underline; } @@ -860,7 +841,7 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none { height: 200px; } -.adwindow-gridview-detail + .z-south-splt { +.adwindow-gridview-detail + .z-south-splitter { border-top: 1px solid #C5C5C5; border-bottom: 1px solid #C5C5C5; } @@ -913,7 +894,7 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none { background-color: #F9F9F9; } -.adtab-form-borderlayout .z-south-colpsd:before { +.adtab-form-borderlayout .z-south-collapsed:before { content: '${u:cleanAmp(u:getMsg(u:getCtx(), "Detail"))}'; position: relative; font-size: 12px; @@ -928,7 +909,7 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none { background-image: none !important; } -.z-grid tbody tr.highlight td.row-indicator-seld { +.z-grid tbody tr.highlight td.row-indicator-selected { background-color: transparent !important; background-image: url(${c:encodeURL('/theme/default/images/EditRecord16.png')}) !important; background-position: center; @@ -983,26 +964,31 @@ div.wc-modal, div.wc-modal-none, div.wc-highlighted, div.wc-highlighted-none { width: 99%; } +.form-button img { + width: 16px; + height: 16px; +} + <%-- Combobox --%> -.z-combobox-disd { +.z-combobox-disabled { color: black !important; cursor: default !important; opacity: 1; -moz-opacity: 1; -khtml-opacity: 1; filter: alpha(opacity=100); } -.z-combobox-disd * { +.z-combobox-disabled * { color: black !important; cursor: default !important; } -.z-combobox-text-disd { +.z-combobox-text-disabled { background-color: #ECEAE4 !important; } <%-- Button --%> -.z-button-disd { +.z-button-disabled { color: black; cursor: default; opacity: .6; -moz-opacity: .6; -khtml-opacity: .6; filter: alpha(opacity=60); } <%-- highlight focus form element --%> -input:focus, textarea:focus, .z-combobox-inp:focus, z-datebox-inp:focus { +input:focus, textarea:focus, .z-combobox-input:focus, z-datebox-input:focus { border: 1px solid #0000ff; } @@ -1010,7 +996,7 @@ input:focus, textarea:focus, .z-combobox-inp:focus, z-datebox-inp:focus { text-decoration: none; font-size: xx-small; vertical-align: top; color:red; } <%-- menu tree cell --%> -.menu-treecell-cnt div { +.menu-treecell-cnt { border: 0; margin: 0; padding: 0; font-family: ${c:property('org.zkoss.zul.theme.fontFamilyC')}; font-size: ${c:property('org.zkoss.zul.theme.fontSizeM')}; @@ -1021,16 +1007,17 @@ input:focus, textarea:focus, .z-combobox-inp:focus, z-datebox-inp:focus { cursor: pointer; } -span.z-tree-tee, span.z-tree-last, span.z-tree-firstspacer { - width:0px; +.z-treecell-content { + font-family: ${c:property('org.zkoss.zul.theme.fontFamilyC')}; + font-size: ${c:property('org.zkoss.zul.theme.fontSizeM')}; } -.z-west-colpsd { +.z-west-collapsed { cursor: pointer; border-top: none; } -.z-east-colpsd { +.z-east-collapsed { cursor: pointer; border-top: none; } @@ -1042,10 +1029,10 @@ span.z-tree-tee, span.z-tree-last, span.z-tree-firstspacer { .z-intbox-focus, .z-intbox-focus input, .z-longbox-focus, .z-longbox-focus input, .z-doublebox-focus, .z-doublebox-focus input, -.z-combobox-focus .z-combobox-inp, -.z-checkbox-focus .z-checkbox-inp, -.z-datebox-focus .z-datebox-inp, -.z-timebox-focus .z-timebox-inp { +.z-combobox-focus .z-combobox-input, +.z-checkbox-focus .z-checkbox-input, +.z-datebox-focus .z-datebox-input, +.z-timebox-focus .z-timebox-input { background: #FFFFCC; } @@ -1151,6 +1138,7 @@ tr.z-group { overflow: hidden !important; border-bottom: 1px solid #CFCFCF !important; border-top: 1px solid #CFCFCF !important; + padding: 4px 5px; } <%-- Tablet --%> @@ -1162,15 +1150,12 @@ tr.z-group { .z-tab-close { top:4px; margin-right:2px; -} - -.z-tab-hm-close { padding-right:18px; } <%-- set color for text and label --%> -.z-tab-seld .z-tab-text, .z-tab .z-tab-text, div.z-treefooter-cnt, div.z-treecell-cnt, div.z-treecol-cnt, -.z-label, .z-toolbarbutton-cnt, tr.z-treerow, tr.z-treerow a, tr.z-treerow a:visited { +.z-tab-selected .z-tab-text, .z-tab .z-tab-text, div.z-treefooter-content, div.z-treecell-content, div.z-treecol-content, +.z-label, .z-toolbarbutton-content, tr.z-treerow, tr.z-treerow a, tr.z-treerow a:visited { color: #333; font-family: Helvetica,Arial,sans-serif; } @@ -1180,10 +1165,6 @@ tr.z-group { background-color: #F0F0F0; } -span.z-tab-text { - height: 13px; -} - <%-- menu tree cell --%> div.z-tree-body td.menu-tree-cell { cursor: pointer; @@ -1229,7 +1210,7 @@ div.simileAjax-bubble-container { z-index: 2800 !important; } -.info-panel .z-window-overlapped-bl, .info-panel .z-window-highlighted-bl { +.info-panel .z-window-overlapped, .info-panel .z-window-highlighted { background-color: #F4F4F4 !important; } @@ -1252,7 +1233,7 @@ div.simileAjax-bubble-container { background-color: #F4F4F4; } -.info-panel .z-window-highlighted-cnt { +.info-panel .z-window-highlighted .z-window-content { padding: 0px; } @@ -1260,13 +1241,12 @@ div.simileAjax-bubble-container { border: none; } -.z-window-embedded-cnt, .z-window-embedded-cm { +.z-window-embedded .z-window-content { border: none; } -.z-window-embedded-tl, .z-window-embedded-tr, .z-window-embedded-hl, .z-window-embedded-hr, -.z-window-embedded-hm, .z-window-embedded-cl, .z-window-embedded-cr, -.z-window-embedded-bl, .z-window-embedded-br { +.z-window-embedded .z-window-header, +.z-window-embedded .z-window-content { background-image: none; } @@ -1324,8 +1304,7 @@ tbody.z-grid-empty-body td { } <%-- notification message --%> -.z-notification .z-notification-cl, -.z-notification .z-notification-cnt { +.z-notification .z-notification-content { width: 400px; } @@ -1334,11 +1313,11 @@ tbody.z-grid-empty-body td { } <%-- toolbar popup dialog --%> -.toolbar-popup-window .z-window-popup-cnt { - margin-top: 6px; +.toolbar-popup-window .z-window-popup .z-window-content { + --margin-top: 6px; } -.toolbar-popup-window.process-buttons-popup .z-button-os { +.toolbar-popup-window.process-buttons-popup .z-button { white-space: nowrap; width: 95%; text-align: left; @@ -1349,29 +1328,25 @@ tbody.z-grid-empty-body td { } .toolbar-popup-window::before { - content: ''; + border-bottom: 7px solid rgba(0, 0, 0, 0.2); + border-left: 7px solid transparent; + border-right: 7px solid transparent; + content: ""; + display: inline-block; + left: 9px; position: absolute; - width: 0px; - height: 0px; top: -7px; - left: 6px; - border-top: 7px dashed transparent; - border-left: 7px dashed transparent; - border-right: 7px dashed transparent; - border-bottom: 7px solid #ACACAC; } -.toolbar-popup-window-cnt::before { - content: ''; +.toolbar-popup-window::after { + border-bottom: 6px solid #FFFFFF; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + content: ""; + display: inline-block; + left: 10px; position: absolute; - width: 0px; - height: 0px; - top: -5px; - left: 7px; - border-top: 6px dashed transparent; - border-left: 6px dashed transparent; - border-right: 6px dashed transparent; - border-bottom: 6px solid #FFF; + top: -6px; } .adwindow-detailpane-sub-tab::before { @@ -1387,27 +1362,41 @@ tbody.z-grid-empty-body td { border-bottom: 5px solid transparent; } -i.grid-combobox-editor { - width: 99% !important; +span.grid-combobox-editor { + width: 100% !important; position: relative; } .grid-combobox-editor input { width: 100% !important; - padding-right: 22px; - box-sizing: border-box; - -moz-box-sizing: border-box; /* Firefox */ - height: 21px; + padding-right: 26px; + border-bottom-right-radius: 6px; + border-top-right-radius: 6px; + border-right: 0px; } -.grid-combobox-editor .z-combobox-btn { +.grid-combobox-editor.z-combobox-disabled input { + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; + border-right: 1px solid #cfcfcf; + padding-right: 5px; +} + +.grid-combobox-editor .z-combobox-button { position: absolute; right: 0px; - top: 0px; - border-radius: 0px 0px; + top: 1px; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; + border-bottom-left-radius: 0px; + border-top-left-radius: 0px; } -.grid-combobox-editor.z-combobox-focus .z-combobox-btn { +.grid-combobox-editor input:focus { + border-right: 0px; +} + +.grid-combobox-editor input:focus + .z-combobox-button { border-left: 1px solid #0000ff; } @@ -1420,67 +1409,46 @@ i.grid-combobox-editor { font-weight: bold; } -.z-window-embedded-cnt { +.z-window-embedded .z-window-content { border: none; } -.z-window-overlapped-cm, .z-window-modal-cm, .z-window-highlighted-cm, .z-window-embedded-cm { +.z-window-overlapped .z-window-content, .z-window-modal .z-window-content, +.z-window-highlighted .z-window-content, .z-window-embedded .z-window-content { border: none; } -.z-window-overlapped-tl, .z-window-popup-tl, .z-window-modal-tl, .z-window-highlighted-tl, .embedded-dialog .z-window-embedded-tl -{ - display: none; -} - -.z-window-overlapped-tr, .z-window-popup-tr, .z-window-modal-tr, .z-window-highlighted-tr, .embedded-dialog .z-window-embedded-tr -{ - display: none; -} - -.z-window-overlapped-hl, .z-window-popup-hl, .z-window-modal-hl, .z-window-highlighted-hl, .embedded-dialog .z-window-embedded-hl { +.z-window-overlapped .z-window-header, .z-window-popup .z-window-header, +.z-window-modal .z-window-header, .z-window-highlighted .z-window-header, .embedded-dialog .z-window-embedded. .z-window-header { padding-top: 3px; } -.z-window-overlapped-tl, .z-window-popup-tl, .z-window-modal-tl, .z-window-highlighted-tl, .embedded-dialog .z-window-embedded-tl, -.z-window-overlapped-tr, .z-window-popup-tr, .z-window-modal-tr, .z-window-highlighted-tr, .embedded-dialog .z-window-embedded-tr, -.z-window-overlapped-hm, .z-window-popup-hm, .z-window-modal-hm, .z-window-highlighted-hm, .embedded-dialog .z-window-embedded-hm, -.z-window-overlapped-hl, .z-window-popup-hl, .z-window-modal-hl, .z-window-highlighted-hl, .embedded-dialog .z-window-embedded-hl, -.z-window-overlapped-hr, .z-window-popup-hr, .z-window-modal-hr, .z-window-highlighted-hr, .embedded-dialog .z-window-embedded-hr -{ +.z-window .z-window-header { background-color: #484848; } -.z-window-overlapped-cl, .z-window-popup-cl, .z-window-modal-cl, .z-window-highlighted-cl, .embedded-dialog .z-window-embedded-cl +.z-window-overlapped .z-window-content, .z-window-popup .z-window-content, +.z-window-modal .z-window-content, .z-window-highlighted .z-window-content, +.embedded-dialog .z-window-embedded .z-window-content { padding-left: 1px; border-left: 1px solid #c5c5c5; -} - -.z-window-overlapped-cr, .z-window-popup-cr, .z-window-modal-cr, .z-window-highlighted-cr, .embedded-dialog .z-window-embedded-cr -{ padding-right: 1px; border-right: 1px solid #c5c5c5; } -.z-window-overlapped-bl, .z-window-popup-bl, .z-window-modal-bl, .z-window-highlighted-bl, .embedded-dialog .z-window-embedded-bl +.z-window-overlapped, .z-window-popup, .z-window-modal, .z-window-highlighted, +.embedded-dialog .z-window-embedded { - border-left: 1px solid #c5c5c5; - border-right: 1px solid #c5c5c5; background-color: #fff; margin: 0px; padding-bottom: 3px; } -.z-window-overlapped-br, .z-window-popup-br, .z-window-modal-br, .z-window-highlighted-br, .embedded-dialog .z-window-embedded-br -{ - display: none; -} - -.z-window-overlapped .z-window-overlapped-header, -.z-window-popup .z-window-popup-header, -.z-window-modal .z-window-modal-header, -.z-window-highlighted .z-window-highlighted-header +.z-window-overlapped .z-window-header, +.z-window-popup .z-window-header, +.z-window-modal .z-window-header, +.z-window-highlighted .z-window-header { color: #fff; font-weight: bold; @@ -1492,16 +1460,7 @@ i.grid-combobox-editor { border-bottom: 1px solid #c5c5c5 !important; } -.z-window-overlapped-hl, .z-window-popup-hl, .z-window-modal-hl, .z-window-highlighted-hl, .z-window-embedded-hl, -.z-window-overlapped-hr, .z-window-popup-hr, .z-window-modal-hr, .z-window-highlighted-hr, .z-window-embedded-hr, -.z-window-overlapped-hm, .z-window-popup-hm, .z-window-modal-hm, .z-window-highlighted-hm, .z-window-embedded-hm, -.z-window-overlapped-cl, .z-window-popup-cl, .z-window-modal-cl, .z-window-highlighted-cl, .z-window-embedded-cl, -.z-window-overlapped-cr, .z-window-popup-cr, .z-window-modal-cr, .z-window-highlighted-cr, .z-window-embedded-cr, -.z-window-overlapped-tl, .z-window-popup-tl, .z-window-modal-tl, .z-window-highlighted-tl, .z-window-embedded-tl, -.z-window-overlapped-tr, .z-window-popup-tr, .z-window-modal-tr, .z-window-highlighted-tr, .z-window-embedded-tr, -.z-window-overlapped-bl, .z-window-popup-bl, .z-window-modal-bl, .z-window-highlighted-bl, .z-window-embedded-bl, -.z-window-overlapped-br, .z-window-popup-br, .z-window-modal-br, .z-window-highlighted-br, .z-window-embedded-br -{ +.z-window-header, .z-window-content { background-image: none !important; } @@ -1511,18 +1470,18 @@ i.grid-combobox-editor { } <%-- Splitter button --%> -.z-east-splt-btn, -.z-west-splt-btn, -.z-north-splt-btn, -.z-south-splt-btn { +.z-east-splitter-button, +.z-west-splitter-button, +.z-north-splitter-button, +.z-south-splitter-button { filter: alpha(opacity=100); <%-- IE --%> opacity: 1.0; <%-- Moz + FF --%> } -.z-east-splt-btn-over, -.z-west-splt-btn-over, -.z-north-splt-btn-over, -.z-south-splt-btn-over { +.z-east-splitter-button-over, +.z-west-splitter-button-over, +.z-north-splitter-button-over, +.z-south-splitter-button-over { -webkit-filter: brightness(50%); filter: brightness(50%); } @@ -1590,21 +1549,23 @@ font-size: 0; border: 1px solid #ababab; } -.menu-search-toggle-box .z-toolbarbutton-over { +.menu-search-toggle-box .z-toolbarbutton-hover { border: none; } .menu-search-toggle-off { margin:0px; padding: 1px 4px 1px 4px; + border-radius: 0px; } .menu-search-toggle-on { - background: #999999; - -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset; - box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset; - margin:0px; - padding: 1px 4px 1px 4px; + background: #999999 !important; + -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset !important; + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) inset !important; + margin:0px !important; + padding: 1px 4px 1px 4px !important; + border-radius: 0px; } .menu-search-toggle-on img, .menu-search-toggle-off img { @@ -1612,16 +1573,13 @@ font-size: 0; width: 16px; } <%-- workaround for http://jira.idempiere.com/browse/IDEMPIERE-692 --%> -.z-combobox-pp { +.z-combobox-popup { max-height: 200px; } <%-- dialog --%> -.popup-dialog .z-window-overlapped-cnt, .popup-dialog .z-window-highlighted-cnt { +.popup-dialog .z-window-overlapped .z-window-content, .popup-dialog .z-window-highlighted .z-window-content { padding: 0px; -} - -.popup-dialog .z-window-overlapped-bl, .popup-dialog .z-window-highlighted-bl { background-color: #f5f5f5; } @@ -1776,8 +1734,8 @@ table.z-vbox > tbody > tr > td > table { margin-top: 5px; } -.find-window-simple .img-btn, .find-window-simple .img-btn.btn-ok.z-button-os, .find-window-simple .img-btn.btn-cancel.z-button-os, -.find-window-advanced .img-btn, .find-window-advanced .img-btn.btn-ok.z-button-os, .find-window-advanced .img-btn.btn-cancel.z-button-os { +.find-window-simple .img-btn, .find-window-simple .img-btn.btn-ok.z-button, .find-window-simple .img-btn.btn-cancel.z-button, +.find-window-advanced .img-btn, .find-window-advanced .img-btn.btn-ok.z-button, .find-window-advanced .img-btn.btn-cancel.z-button { margin: 0 2px; } @@ -1891,7 +1849,7 @@ table.z-vbox > tbody > tr > td > table { .payment-rule-editor .z-combobox { width: 100%; } -.payment-rule-editor .z-combobox-inp { +.payment-rule-editor .z-combobox-input { box-sizing: border-box; -moz-box-sizing: border-box; /* Firefox */ display: inline-block; @@ -1899,13 +1857,13 @@ table.z-vbox > tbody > tr > td > table { width: 100%; height: 21px; } -.payment-rule-editor .z-combobox-inp:focus { +.payment-rule-editor .z-combobox-input:focus { border: 1px solid #0000ff; } -.payment-rule-editor .z-combobox-inp.editor-input-disd { +.payment-rule-editor .z-combobox-input.editor-input-disd { padding-right: 22px !important; } -.payment-rule-editor .z-combobox-btn { +.payment-rule-editor .z-combobox-button { padding: 0px; margin: 0px; display: inline-block; @@ -1914,10 +1872,10 @@ table.z-vbox > tbody > tr > td > table { right: 22px; top: 1px; } -.payment-rule-editor .z-combobox.no-button .z-combobox-btn { +.payment-rule-editor .z-combobox.no-button .z-combobox-button { right: 1px; } -.payment-rule-editor .z-combobox .z-combobox-btn-over { +.payment-rule-editor .z-combobox .z-combobox-button-hover { background-color: #ddd; background-position: 0px 0px; } diff --git a/org.adempiere.ui.zk/theme/default/zul/desktop/header.zul b/org.adempiere.ui.zk/theme/default/zul/desktop/header.zul index 3ee3c9f5dc..4f0e552dcd 100644 --- a/org.adempiere.ui.zk/theme/default/zul/desktop/header.zul +++ b/org.adempiere.ui.zk/theme/default/zul/desktop/header.zul @@ -11,7 +11,7 @@