case 'right':
var exact = this.el.getAlignToXY(this.alignEl, 'tl-tr', [10,0]);
var offset = this.el.getAlignToXY(this.alignEl, 'tl-tr?',[10,0]);
- if (exact.equals(offset)) {
- //normal display...
- this.setXY(exact, this.preanim(arguments, 3));
- var xy = this.alignEl.getAnchorXY(p1, false);
-
+ if (!try_move || exact.equals(offset) || exact[0] == offset[0] ) {
+ //normal display... or moved up/down.
+ this.setXY(offset);
+ var xy = this.alignEl.getAnchorXY('tr', false);
+ xy[0]+=2;xy[1]+=5;
+ this.arrowEl.setXY(xy);
+ return true;
}
-
-
+ return this.updatePosition('left', false);
+
+ case 'left':
+ var exact = this.el.getAlignToXY(this.alignEl, 'tr-tl', [-10,0]);
+ var offset = this.el.getAlignToXY(this.alignEl, 'tl-tr?',[-10,0]);
+ if (!try_move || exact.equals(offset) || exact[0] == offset[0] ) {
+ //normal display... or moved up/down.
+ this.setXY(offset);
+ var xy = this.alignEl.getAnchorXY('tl', false);
+ xy[0]+=2;xy[1]+=5;
+ this.arrowEl.setXY(xy);
+ return true;
+ }
+ return this.updatePosition('right', false);
+
+
}
var xy = this.alignEl.getAnchorXY(p1, false);
xy[0]+=2;xy[1]+=5;
this.arrowEl.setXY(xy);
-
+ return true;
},
hide : function()
if(this.title===false){this.headerEl.hide();}this.el.show();this.el.dom.style.display='block';this.el.addClass(B+' roo-popover-'+B);if(A){this.updatePosition();}else{var es=this.el.getSize();var x=Roo.lib.Dom.getViewWidth()/2;var y=Roo.lib.Dom.getViewHeight()/2;
this.el.setXY([x-(es.width/2),y-(es.height/2)]);}this.el.addClass('in');this.hoverState='in';if(this.modal){this.maskEl.setSize(Roo.lib.Dom.getViewWidth(true),Roo.lib.Dom.getViewHeight(true));this.maskEl.setStyle('z-index',Roo.bootstrap.Popover.zIndex++);
this.maskEl.dom.style.display='block';this.maskEl.addClass('show');}this.el.setStyle('z-index',Roo.bootstrap.Popover.zIndex++);this.fireEvent('show',this);},updatePosition:function(A,B){this.el.addClass(A+' roo-popover-'+A);if(!this.alignEl){return false;
-}switch(A){case 'right':var C=this.el.getAlignToXY(this.alignEl,'tl-tr',[10,0]);var D=this.el.getAlignToXY(this.alignEl,'tl-tr?',[10,0]);if(C.equals(D)){this.setXY(C,this.preanim(arguments,3));var xy=this.alignEl.getAnchorXY(p1,false);}}var p1=this.alignment[0].split('-').pop().replace('?','');
-var xy=this.alignEl.getAnchorXY(p1,false);xy[0]+=2;xy[1]+=5;this.arrowEl.setXY(xy);},hide:function(){this.el.setXY([0,0]);this.el.removeClass('in');this.el.hide();this.hoverState=null;this.maskEl.hide();this.fireEvent('hide',this);}});Roo.apply(Roo.bootstrap.Popover,{alignment:{'left':['r-l',[-10,0],'left bs-popover-left'],'right':['l-br',[10,0],'right bs-popover-right'],'bottom':['t-b',[0,10],'top bs-popover-top'],'top':['b-t',[0,-10],'bottom bs-popover-bottom']}
+}switch(A){case 'right':var C=this.el.getAlignToXY(this.alignEl,'tl-tr',[10,0]);var D=this.el.getAlignToXY(this.alignEl,'tl-tr?',[10,0]);if(!B||C.equals(D)||C[0]==D[0]){this.setXY(D);var xy=this.alignEl.getAnchorXY('tr',false);xy[0]+=2;xy[1]+=5;this.arrowEl.setXY(xy);
+return true;}return this.updatePosition('left',false);case 'left':var C=this.el.getAlignToXY(this.alignEl,'tr-tl',[-10,0]);var D=this.el.getAlignToXY(this.alignEl,'tl-tr?',[-10,0]);if(!B||C.equals(D)||C[0]==D[0]){this.setXY(D);var xy=this.alignEl.getAnchorXY('tl',false);
+xy[0]+=2;xy[1]+=5;this.arrowEl.setXY(xy);return true;}return this.updatePosition('right',false);}var p1=this.alignment[0].split('-').pop().replace('?','');var xy=this.alignEl.getAnchorXY(p1,false);xy[0]+=2;xy[1]+=5;this.arrowEl.setXY(xy);return true;},hide:function(){this.el.setXY([0,0]);
+this.el.removeClass('in');this.el.hide();this.hoverState=null;this.maskEl.hide();this.fireEvent('hide',this);}});Roo.apply(Roo.bootstrap.Popover,{alignment:{'left':['r-l',[-10,0],'left bs-popover-left'],'right':['l-br',[10,0],'right bs-popover-right'],'bottom':['t-b',[0,10],'top bs-popover-top'],'top':['b-t',[0,-10],'bottom bs-popover-bottom']}
,zIndex:20001,clickHander:false,onMouseDown:function(e){if(!e.getTarget(".roo-popover")){this.hideAll();}},popups:[],register:function(A){if(!Roo.bootstrap.Popover.clickHandler){Roo.bootstrap.Popover.clickHandler=Roo.get(document).on("mousedown",Roo.bootstrap.Popover.onMouseDown,Roo.bootstrap.Popover);
}this.hideAll();this.popups.push(A);},hideAll:function(){this.popups.forEach(function(p){p.hide();});}});
// Roo/bootstrap/PopoverNav.js