-
Notifications
You must be signed in to change notification settings - Fork 355
/
WTableView.min.js
9 lines (9 loc) · 4.31 KB
/
WTableView.min.js
1
2
3
4
5
6
7
8
9
WT_DECLARE_WT_MEMBER(1,JavaScriptConstructor,"WTableView",function(p,h,d,q,n){function u(a){var b=-1,c=false,e=false,k=null;for(a=f.target(a);a;){var g=$(a);if(g.hasClass("Wt-tv-contents"))break;else if(g.hasClass("Wt-tv-c")){if(a.getAttribute("drop")==="true")e=true;if(g.hasClass("Wt-selected"))c=true;k=a;a=a.parentNode;b=a.className.split(" ")[0].substring(7)*1;break}a=a.parentNode}return{columnId:b,rowIdx:-1,selected:c,drop:e,el:k}}function x(){return f.pxself(d.firstChild,"lineHeight")}function v(a){var b,
c,e=a.parentNode.childNodes;b=0;for(c=e.length;b<c;++b)if(e[b]==a)return b;return-1}function D(a,b){var c=$(document.body).hasClass("Wt-rtl");if(c)b=-b;var e=a.className.split(" ")[0],k=e.substring(7)*1,g=a.parentNode,j=g.parentNode!==q,i=j?n.firstChild:d.firstChild,l=i.firstChild;e=$(i).find("."+e).get(0);var m=a.nextSibling,r=e.nextSibling,w=f.pxself(a,"width")-1+b,y=f.pxself(g,"width")+b+"px";g.style.width=i.style.width=l.style.width=y;if(j)n.style.width=y;a.style.width=w+1+"px";for(e.style.width=
w+7+"px";m;m=m.nextSibling)if(r){if(c)r.style.right=f.pxself(r,"right")+b+"px";else r.style.left=f.pxself(r,"left")+b+"px";r=r.nextSibling}p.emit(h,"columnResized",k,parseInt(w));E.autoJavaScript()}jQuery.data(h,"obj",this);var E=this,f=p.WT,z=0,A=0,B=0,C=0,s=0,t=0;d.onscroll=function(){t=q.scrollLeft=d.scrollLeft;s=n.scrollTop=d.scrollTop;if(!(d.scrollTop==0&&f.isAndroid))if(d.clientWidth&&d.clientHeight&&(d.scrollTop<B||d.scrollTop>C||d.scrollLeft<z||d.scrollLeft>A))p.emit(h,"scrolled",d.scrollLeft,
d.scrollTop,d.clientWidth,d.clientHeight)};this.mouseDown=function(a,b){f.capture(null);a=u(b);h.getAttribute("drag")==="true"&&a.selected&&p._p_.dragStart(h,b)};this.resizeHandleMDown=function(a,b){var c=a.parentNode,e=-(f.pxself(c,"width")-1),k=1E4;if($(document.body).hasClass("Wt-rtl")){var g=e;e=-k;k=-g}new f.SizeHandle(f,"h",a.offsetWidth,h.offsetHeight,e,k,"Wt-hsh",function(j){D(c,j)},a,h,b,-2,-1)};this.scrolled=function(a,b,c,e){z=a;A=b;B=c;C=e};this.resetScroll=function(){q.scrollLeft=t;d.scrollLeft=
t;d.scrollTop=s;n.scrollTop=s};this.scrollTo=function(a,b,c){if(b!=-1){a=d.scrollTop;var e=d.clientHeight;if(c==0)if(a+e<b)c=1;else if(b<a)c=2;switch(c){case 1:d.scrollTop=b;break;case 2:d.scrollTop=b-(e-x());break;case 3:d.scrollTop=b-(e-x())/2;break}d.onscroll()}};var o=null;h.handleDragDrop=function(a,b,c,e,k){if(o){o.className=o.classNameOrig;o=null}if(a!="end"){var g=u(c);if(!g.selected&&g.drop)if(a=="drop")p.emit(h,{name:"dropEvent",eventObject:b,event:c},g.rowIdx,g.columnId,e,k);else{b.className=
"Wt-valid-drop";o=g.el;o.classNameOrig=o.className;o.className+=" Wt-drop-site"}else b.className=""}};h.onkeydown=function(a){var b=a||window.event;if(b.keyCode==9){f.cancelEvent(b);var c=u(b);if(c.el){a=c.el.parentNode;c=v(c.el);var e=v(a),k=a.parentNode.childNodes.length,g=a.childNodes.length;b=b.shiftKey;for(var j=false,i=c,l;;){for(;b?i>=0:i<g;i=b?i-1:i+1)for(l=i==c&&!j?b?e-1:e+1:b?k-1:0;b?l>=0:l<k;l=b?l-1:l+1){if(i==c&&l==e)return;a=a.parentNode.childNodes[l];var m=$(a.childNodes[i]).find(":input");
if(m.size()>0){setTimeout(function(){m.focus()},0);return}}i=b?g-1:0;j=true}}}else if(b.keyCode>=37&&b.keyCode<=40){j=f.target(b);if(j.nodeName!="select"){c=u(b);if(c.el){a=c.el.parentNode;c=v(c.el);e=v(a);k=a.parentNode.childNodes.length;g=a.childNodes.length;switch(b.keyCode){case 39:if(f.hasTag(j,"INPUT")&&j.type=="text"){i=f.getSelectionRange(j);if(i.start!=j.value.length)return}e++;break;case 38:c--;break;case 37:if(f.hasTag(j,"INPUT")&&j.type=="text"){i=f.getSelectionRange(j);if(i.start!=0)return}e--;
break;case 40:c++;break;default:return}f.cancelEvent(b);if(c>-1&&c<g&&e>-1&&e<k){a=a.parentNode.childNodes[e];m=$(a.childNodes[c]).find(":input");m.size()>0&&setTimeout(function(){m.focus()},0)}}}}};this.autoJavaScript=function(){if(h.parentNode==null){h=d=q=null;this.autoJavaScript=function(){}}else if(!f.isHidden(h)){if(!f.isIE&&(s!=d.scrollTop||t!=d.scrollLeft)){q.scrollLeft=d.scrollLeft=t;n.scrollTop=d.scrollTop=s}var a=h.offsetWidth-f.px(h,"borderLeftWidth")-f.px(h,"borderRightWidth"),b=d.offsetWidth-
d.clientWidth;a-=b;a-=n.clientWidth;if(a>200&&a!=d.tw){d.tw=a;d.style.width=a+b+"px";q.style.width=a+"px";if(!f.isIE)q.style.marginRight=b+"px"}a=d.offsetHeight-d.clientHeight;if(n.parentNode)if((b=n.parentNode.style)&&b.paddingBottom!==a+"px"){b.paddingBottom=a+"px";p.layouts.adjust(h.children[0].id);p.layouts.adjust()}}}});