提交 785ff378 编写于 作者: U unknown

修复日期选择框定位的问题

上级 e9a88aeb
......@@ -486,7 +486,44 @@ o2.widget.Calendar = o2.Calendar = new Class({
// }
this.container.setStyle("display", "block");
this.setPosition();
// var p = this.container.getPosition();
// var s = this.container.getSize();
// var zidx = this.container.getStyle("z-index");
// this.iframe = new Element("iframe", {"styles":{
// "border": "0px",
// "margin": "0px",
// "padding": "0px",
// "opacity": 0,
// "z-index": (zidx) ? zidx-1 : 0,
// "top": ""+p.y+"px",
// "left": ""+p.x+"px",
// "width": ""+s.x+"px",
// "height": ""+s.y+"px",
// "position": "absolute"
// }}).inject(this.container, "before");
if (layout.desktop.offices){
Object.each(layout.desktop.offices, function(office){
if (this.container.isOverlap(office.officeNode)){
office.hide();
}
}.bind(this));
}
if( this.maskNode ){
this.maskNode.show();
}
// this.morph.start({"opacity": 1}).chain(function(){
this.visible = true;
// }.bind(this));
this.fireEvent("show");
}
},
setPosition: function(){
if (this.container.position && (!layout || !layout.userLayout || !layout.userLayout.scale || !layout.userLayout.scale===1) ){
var postY = "bottom";
var postX = "left";
this.container.position({
relativeTo: this.node,
position: 'bottomLeft',
......@@ -501,12 +538,41 @@ o2.widget.Calendar = o2.Calendar = new Class({
//if (cp.y+cSize.y>fsize.y+fp.y){
if (cp.y+cSize.y>fsize.y){
// this.container.position({
// relativeTo: this.node,
// position: 'upperLeft',
// edge: 'bottomLeft'
// });
postY = "upper";
}
if( cp.x+cSize.x>fsize.x ){
postX = "right";
}
if( postY === "upper" && postX === "left" ){
this.container.position({
relativeTo: this.node,
position: 'upperLeft',
edge: 'bottomLeft'
});
}else if( postX === "right" ){
if( postY === "bottom" ){
this.container.position({
relativeTo: this.node,
position: 'bottomRight',
edge: 'upperRight'
});
}else{
this.container.position({
relativeTo: this.node,
position: 'upperRight',
edge: 'bottomRight'
});
}
}
this.postY = postY;
this.postX = postX;
}else{
var p = this.node.getPosition(this.options.target || null);
var size = this.node.getSize();
......@@ -521,38 +587,6 @@ o2.widget.Calendar = o2.Calendar = new Class({
this.container.setStyle("top", p.y+size.y+2);
this.container.setStyle("left", left);
}
// var p = this.container.getPosition();
// var s = this.container.getSize();
// var zidx = this.container.getStyle("z-index");
// this.iframe = new Element("iframe", {"styles":{
// "border": "0px",
// "margin": "0px",
// "padding": "0px",
// "opacity": 0,
// "z-index": (zidx) ? zidx-1 : 0,
// "top": ""+p.y+"px",
// "left": ""+p.x+"px",
// "width": ""+s.x+"px",
// "height": ""+s.y+"px",
// "position": "absolute"
// }}).inject(this.container, "before");
if (layout.desktop.offices){
Object.each(layout.desktop.offices, function(office){
if (this.container.isOverlap(office.officeNode)){
office.hide();
}
}.bind(this));
}
if( this.maskNode ){
this.maskNode.show();
}
// this.morph.start({"opacity": 1}).chain(function(){
this.visible = true;
// }.bind(this));
this.fireEvent("show");
}
},
showYear: function(year){
var thisYear = (year!=undefined) ? year : this.options.baseDate.getFullYear();
......
......@@ -176,12 +176,39 @@ MWF.xApplication.process.Xform.Calendar = MWF.APPCalendar = new Class(
if( overflow === "auto" || overflow === "scroll" || overflowY === "auto" || overflowY === "scroll" ){
_self.scrollFun = function( e ){
if (this.container.position ) {
if( this.postX === "right" ){
if( this.postY === "bottom" ){
this.container.position({
relativeTo: this.node,
position: 'bottomRight',
edge: 'upperRight',
allowNegative : true
});
}else{
this.container.position({
relativeTo: this.node,
position: 'upperRight',
edge: 'bottomRight',
allowNegative : true
});
}
}else{
if( this.postY === "bottom" ) {
this.container.position({
relativeTo: this.node,
position: 'bottomLeft',
edge: 'upperLeft',
allowNegative : true
allowNegative: true
});
}else{
this.container.position({
relativeTo: this.node,
position: 'upperLeft',
edge: 'bottomLeft',
allowNegative: true
});
}
}
}
}.bind(this);
_self.scrollParentNode = parent;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册