258 lines
7.8 KiB
JavaScript
258 lines
7.8 KiB
JavaScript
/**
|
|
* jQuery EasyUI 1.2.5
|
|
*
|
|
* Licensed under the GPL terms
|
|
* To use it on other terms please contact us
|
|
*
|
|
* Copyright(c) 2009-2011 stworthy [ stworthy@gmail.com ]
|
|
*
|
|
*/
|
|
(function($){
|
|
function _1(_2,_3){
|
|
var _4=$.data(_2,"window").options;
|
|
if(_3){
|
|
if(_3.width){
|
|
_4.width=_3.width;
|
|
}
|
|
if(_3.height){
|
|
_4.height=_3.height;
|
|
}
|
|
if(_3.left!=null){
|
|
_4.left=_3.left;
|
|
}
|
|
if(_3.top!=null){
|
|
_4.top=_3.top;
|
|
}
|
|
}
|
|
$(_2).panel("resize",_4);
|
|
};
|
|
function _5(_6,_7){
|
|
var _8=$.data(_6,"window");
|
|
if(_7){
|
|
if(_7.left!=null){
|
|
_8.options.left=_7.left;
|
|
}
|
|
if(_7.top!=null){
|
|
_8.options.top=_7.top;
|
|
}
|
|
}
|
|
$(_6).panel("move",_8.options);
|
|
if(_8.shadow){
|
|
_8.shadow.css({left:_8.options.left,top:_8.options.top});
|
|
}
|
|
};
|
|
function _9(_a){
|
|
var _b=$.data(_a,"window");
|
|
var _c=$(_a).panel($.extend({},_b.options,{border:false,doSize:true,closed:true,cls:"window",headerCls:"window-header",bodyCls:"window-body "+(_b.options.noheader?"window-body-noheader":""),onBeforeDestroy:function(){
|
|
if(_b.options.onBeforeDestroy.call(_a)==false){
|
|
return false;
|
|
}
|
|
if(_b.shadow){
|
|
_b.shadow.remove();
|
|
}
|
|
if(_b.mask){
|
|
_b.mask.remove();
|
|
}
|
|
},onClose:function(){
|
|
if(_b.shadow){
|
|
_b.shadow.hide();
|
|
}
|
|
if(_b.mask){
|
|
_b.mask.hide();
|
|
}
|
|
_b.options.onClose.call(_a);
|
|
},onOpen:function(){
|
|
if(_b.mask){
|
|
_b.mask.css({display:"block",zIndex:$.fn.window.defaults.zIndex++});
|
|
}
|
|
if(_b.shadow){
|
|
_b.shadow.css({display:"block",zIndex:$.fn.window.defaults.zIndex++,left:_b.options.left,top:_b.options.top,width:_b.window.outerWidth(),height:_b.window.outerHeight()});
|
|
}
|
|
_b.window.css("z-index",$.fn.window.defaults.zIndex++);
|
|
_b.options.onOpen.call(_a);
|
|
},onResize:function(_d,_e){
|
|
var _f=$(_a).panel("options");
|
|
_b.options.width=_f.width;
|
|
_b.options.height=_f.height;
|
|
_b.options.left=_f.left;
|
|
_b.options.top=_f.top;
|
|
if(_b.shadow){
|
|
_b.shadow.css({left:_b.options.left,top:_b.options.top,width:_b.window.outerWidth(),height:_b.window.outerHeight()});
|
|
}
|
|
_b.options.onResize.call(_a,_d,_e);
|
|
},onMinimize:function(){
|
|
if(_b.shadow){
|
|
_b.shadow.hide();
|
|
}
|
|
if(_b.mask){
|
|
_b.mask.hide();
|
|
}
|
|
_b.options.onMinimize.call(_a);
|
|
},onBeforeCollapse:function(){
|
|
if(_b.options.onBeforeCollapse.call(_a)==false){
|
|
return false;
|
|
}
|
|
if(_b.shadow){
|
|
_b.shadow.hide();
|
|
}
|
|
},onExpand:function(){
|
|
if(_b.shadow){
|
|
_b.shadow.show();
|
|
}
|
|
_b.options.onExpand.call(_a);
|
|
}}));
|
|
_b.window=_c.panel("panel");
|
|
if(_b.mask){
|
|
_b.mask.remove();
|
|
}
|
|
if(_b.options.modal==true){
|
|
_b.mask=$("<div class=\"window-mask\"></div>").insertAfter(_b.window);
|
|
_b.mask.css({width:(_b.options.inline?_b.mask.parent().width():_10().width),height:(_b.options.inline?_b.mask.parent().height():_10().height),display:"none"});
|
|
}
|
|
if(_b.shadow){
|
|
_b.shadow.remove();
|
|
}
|
|
if(_b.options.shadow==true){
|
|
_b.shadow=$("<div class=\"window-shadow\"></div>").insertAfter(_b.window);
|
|
_b.shadow.css({display:"none"});
|
|
}
|
|
if(_b.options.left==null){
|
|
var _11=_b.options.width;
|
|
if(isNaN(_11)){
|
|
_11=_b.window.outerWidth();
|
|
}
|
|
if(_b.options.inline){
|
|
var _12=_b.window.parent();
|
|
_b.options.left=(_12.width()-_11)/2+_12.scrollLeft();
|
|
}else{
|
|
_b.options.left=($(window).width()-_11)/2+$(document).scrollLeft();
|
|
}
|
|
}
|
|
if(_b.options.top==null){
|
|
var _13=_b.window.height;
|
|
if(isNaN(_13)){
|
|
_13=_b.window.outerHeight();
|
|
}
|
|
if(_b.options.inline){
|
|
var _12=_b.window.parent();
|
|
_b.options.top=(_12.height()-_13)/2+_12.scrollTop();
|
|
}else{
|
|
_b.options.top=($(window).height()-_13)/2+$(document).scrollTop();
|
|
}
|
|
}
|
|
_5(_a);
|
|
if(_b.options.closed==false){
|
|
_c.window("open");
|
|
}
|
|
};
|
|
function _14(_15){
|
|
var _16=$.data(_15,"window");
|
|
_16.window.draggable({handle:">div.panel-header>div.panel-title",disabled:_16.options.draggable==false,onStartDrag:function(e){
|
|
if(_16.mask){
|
|
_16.mask.css("z-index",$.fn.window.defaults.zIndex++);
|
|
}
|
|
if(_16.shadow){
|
|
_16.shadow.css("z-index",$.fn.window.defaults.zIndex++);
|
|
}
|
|
_16.window.css("z-index",$.fn.window.defaults.zIndex++);
|
|
if(!_16.proxy){
|
|
_16.proxy=$("<div class=\"window-proxy\"></div>").insertAfter(_16.window);
|
|
}
|
|
_16.proxy.css({display:"none",zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top,width:($.boxModel==true?(_16.window.outerWidth()-(_16.proxy.outerWidth()-_16.proxy.width())):_16.window.outerWidth()),height:($.boxModel==true?(_16.window.outerHeight()-(_16.proxy.outerHeight()-_16.proxy.height())):_16.window.outerHeight())});
|
|
setTimeout(function(){
|
|
if(_16.proxy){
|
|
_16.proxy.show();
|
|
}
|
|
},500);
|
|
},onDrag:function(e){
|
|
_16.proxy.css({display:"block",left:e.data.left,top:e.data.top});
|
|
return false;
|
|
},onStopDrag:function(e){
|
|
_16.options.left=e.data.left;
|
|
_16.options.top=e.data.top;
|
|
$(_15).window("move");
|
|
_16.proxy.remove();
|
|
_16.proxy=null;
|
|
}});
|
|
_16.window.resizable({disabled:_16.options.resizable==false,onStartResize:function(e){
|
|
_16.pmask=$("<div class=\"window-proxy-mask\"></div>").insertAfter(_16.window);
|
|
_16.pmask.css({zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top,width:_16.window.outerWidth(),height:_16.window.outerHeight()});
|
|
if(!_16.proxy){
|
|
_16.proxy=$("<div class=\"window-proxy\"></div>").insertAfter(_16.window);
|
|
}
|
|
_16.proxy.css({zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top,width:($.boxModel==true?(e.data.width-(_16.proxy.outerWidth()-_16.proxy.width())):e.data.width),height:($.boxModel==true?(e.data.height-(_16.proxy.outerHeight()-_16.proxy.height())):e.data.height)});
|
|
},onResize:function(e){
|
|
_16.proxy.css({left:e.data.left,top:e.data.top,width:($.boxModel==true?(e.data.width-(_16.proxy.outerWidth()-_16.proxy.width())):e.data.width),height:($.boxModel==true?(e.data.height-(_16.proxy.outerHeight()-_16.proxy.height())):e.data.height)});
|
|
return false;
|
|
},onStopResize:function(e){
|
|
_16.options.left=e.data.left;
|
|
_16.options.top=e.data.top;
|
|
_16.options.width=e.data.width;
|
|
_16.options.height=e.data.height;
|
|
_1(_15);
|
|
_16.pmask.remove();
|
|
_16.pmask=null;
|
|
_16.proxy.remove();
|
|
_16.proxy=null;
|
|
}});
|
|
};
|
|
function _10(){
|
|
if(document.compatMode=="BackCompat"){
|
|
return {width:Math.max(document.body.scrollWidth,document.body.clientWidth),height:Math.max(document.body.scrollHeight,document.body.clientHeight)};
|
|
}else{
|
|
return {width:Math.max(document.documentElement.scrollWidth,document.documentElement.clientWidth),height:Math.max(document.documentElement.scrollHeight,document.documentElement.clientHeight)};
|
|
}
|
|
};
|
|
$(window).resize(function(){
|
|
$("body>div.window-mask").css({width:$(window).width(),height:$(window).height()});
|
|
setTimeout(function(){
|
|
$("body>div.window-mask").css({width:_10().width,height:_10().height});
|
|
},50);
|
|
});
|
|
$.fn.window=function(_17,_18){
|
|
if(typeof _17=="string"){
|
|
var _19=$.fn.window.methods[_17];
|
|
if(_19){
|
|
return _19(this,_18);
|
|
}else{
|
|
return this.panel(_17,_18);
|
|
}
|
|
}
|
|
_17=_17||{};
|
|
return this.each(function(){
|
|
var _1a=$.data(this,"window");
|
|
if(_1a){
|
|
$.extend(_1a.options,_17);
|
|
}else{
|
|
_1a=$.data(this,"window",{options:$.extend({},$.fn.window.defaults,$.fn.window.parseOptions(this),_17)});
|
|
if(!_1a.options.inline){
|
|
$(this).appendTo("body");
|
|
}
|
|
}
|
|
_9(this);
|
|
_14(this);
|
|
});
|
|
};
|
|
$.fn.window.methods={options:function(jq){
|
|
var _1b=jq.panel("options");
|
|
var _1c=$.data(jq[0],"window").options;
|
|
return $.extend(_1c,{closed:_1b.closed,collapsed:_1b.collapsed,minimized:_1b.minimized,maximized:_1b.maximized});
|
|
},window:function(jq){
|
|
return $.data(jq[0],"window").window;
|
|
},resize:function(jq,_1d){
|
|
return jq.each(function(){
|
|
_1(this,_1d);
|
|
});
|
|
},move:function(jq,_1e){
|
|
return jq.each(function(){
|
|
_5(this,_1e);
|
|
});
|
|
}};
|
|
$.fn.window.parseOptions=function(_1f){
|
|
var t=$(_1f);
|
|
return $.extend({},$.fn.panel.parseOptions(_1f),{draggable:(t.attr("draggable")?t.attr("draggable")=="true":undefined),resizable:(t.attr("resizable")?t.attr("resizable")=="true":undefined),shadow:(t.attr("shadow")?t.attr("shadow")=="true":undefined),modal:(t.attr("modal")?t.attr("modal")=="true":undefined),inline:(t.attr("inline")?t.attr("inline")=="true":undefined)});
|
|
};
|
|
$.fn.window.defaults=$.extend({},$.fn.panel.defaults,{zIndex:9000,draggable:true,resizable:true,shadow:true,modal:false,inline:false,title:"New Window",collapsible:true,minimizable:true,maximizable:true,closable:true,closed:false});
|
|
})(jQuery);
|
|
|