7 lines
18 KiB
JavaScript
7 lines
18 KiB
JavaScript
|
|
/*
|
||
|
|
jQWidgets v3.9.0 (2015-Oct)
|
||
|
|
Copyright (c) 2011-2015 jQWidgets.
|
||
|
|
License: http://jqwidgets.com/license/
|
||
|
|
*/
|
||
|
|
|
||
|
|
(function(a){a.jqx.jqxWidget("jqxSplitter","",{});a.extend(a.jqx._jqxSplitter.prototype,{defineInstance:function(){var b={width:300,height:300,panels:[],orientation:"vertical",disabled:false,splitBarSize:5,touchSplitBarSize:15,panel1:null,panel2:null,_eventsMap:{mousedown:a.jqx.mobile.getTouchEventName("touchstart"),mouseup:a.jqx.mobile.getTouchEventName("touchend"),mousemove:a.jqx.mobile.getTouchEventName("touchmove"),mouseenter:"mouseenter",mouseleave:"mouseleave"},_isTouchDevice:false,_isNested:false,resizable:true,touchMode:"auto",showSplitBar:true,initContent:null,_events:["resize","expanded","collapsed","resizeStart","layout"]};a.extend(true,this,b);return b},createInstance:function(){this.render()},_initOverlay:function(b){if(this.overlay||b=="undefined"){this.overlay.remove();this.overlay=null}else{if(b==true){this.overlay=a("<div style='z-index: 100; background: #fff;'></div>");this.overlay.css("opacity",0.01);this.overlay.css("position","absolute");this.overlay.appendTo(a(document.body));var c=this.host.coord();this.overlay.css("left","0px");this.overlay.css("top","0px");this.overlay.width(a(window).width());this.overlay.height(a(window).height());this.overlay.addClass("jqx-disableselect");if(this.orientation=="horizontal"){this.overlay.css("cursor","row-resize")}else{this.overlay.css("cursor","col-resize")}}}},_startDrag:function(b){if(b.target==this.splitBarButton[0]||this.disabled){return true}if(this.panels[0].collapsed||this.panels[1].collapsed||!this.resizable){return true}if(this.overlay==null){this._dragging=true;this._initOverlay(true);this._dragStart=a.jqx.position(b);return false}return true},_drag:function(b){if(this.panels[0].collapsed||this.panels[1].collapsed||this.disabled){return true}if(!this._dragging){return true}var i=this.orientation=="horizontal"?"top":"left";var k=this.orientation=="vertical"?"width":"height";this._position=a.jqx.position(b);if(this.overlay&&!this._splitBarClone){if(Math.abs(this._position[i]-this._dragStart[i])>=3){var m=this.splitBar.coord();this._cloneStart={left:m.left,top:m.top};this._splitBarClone=this._createSplitBarClone();this._raiseEvent(3,{panels:this.panels});return}}if(this._splitBarClone){var j,c;var n=this.host[k]();var d=n/100;var f=1/d;var h=0;var l=this._splitBarClone[k]()+2;var g=parseInt(this.host.coord()[i]);var e=this._position[i]-this._dragStart[i]+this._cloneStart[i]-g;if(h>e){e=h}if(e>n+h-l){e=n+h-l}j=this.panels[0].min;c=this.panels[1].min;if(c.toString().indexOf("%")!=-1){c=parseFloat(c)*d}if(j.toString().indexOf("%")!=-1){j=parseFloat(j)*d}this._splitBarClone.removeClass(this.toThemeProperty("jqx-splitter-splitbar-invalid"));if(e<j){this._splitBarClone.addClass(this.toThemeProperty("jqx-splitter-splitbar-invalid"));e=j}if(e>n+h-l-c){this._splitBarClone.addClass(this.toThemeProperty("jqx-splitter-splitbar-invalid"));e=n+h-l-c}this._splitBarClone.css(i,e);if(b.preventDefault){b.preventDefault()}if(b.stopPropagation){b.stopPropagation()}return false}return true},resize:function(c,b){this.width=c;this.height=b;this._arrange()},_resize:function(){var h=this.orientation=="horizontal"?"height":"width";var f=this.orientation=="horizontal"?"top":"left";var c=this._splitBarClone.css(f);var b=this.host[h]();var e=b/100;var d=1/e;var g=this.panels[0].size;if(g.toString().indexOf("%")!=-1){this.panels[0].size=parseFloat(c)*d+"%"}else{this.panels[0].size=parseFloat(c)}this._layoutPanels();this._raiseEvent(0,{panels:this.panels})},_stopDrag:function(){if(this._dragging){this._initOverlay()}this._dragging=false;if(this._splitBarClone){if(this.panels[0].collapsed||this.panels[1].collapsed||this.disabled){return true}this._resize();this._splitBarClone.remove();this._splitBarClone=null}},_createSplitBarClone:function(){var b=this.splitBar.clone();b.fadeTo(0,0.7);b.css("z-index",99999);if(this.orientation=="vertical"){b.css("cursor","col-resize")}else{b.css("cursor","row-resize")}this.host.append(b);return b},_eventName:function(b){if(this._isTouchDevice){return this._eventsMap[b]}else{return b}},_addHandlers:function(){var c=this;a.jqx.utilities.resize(this.hos
|