From 60cc914569a15cdab03dd3f59323a3733991a1e4 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Thu, 11 Feb 2021 11:58:11 +0800 Subject: [PATCH] roojs-bootstrap.js roojs-bootstrap-debug.js --- roojs-bootstrap-debug.js | 20 ++++++++++++++++---- roojs-bootstrap.js | 6 +++--- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/roojs-bootstrap-debug.js b/roojs-bootstrap-debug.js index 9d4bfacd4f..7262438c94 100644 --- a/roojs-bootstrap-debug.js +++ b/roojs-bootstrap-debug.js @@ -19935,17 +19935,29 @@ Roo.extend(Roo.bootstrap.Popover, Roo.bootstrap.Component, { * fire this manually after loading a grid in the table for example * */ - updatePosition : function() + updatePosition : function(placement, try_move) { this.el.addClass(placement + ' roo-popover-' + placement); - if (!this.alignEl || !this.alignment) { - return; + if (!this.alignEl ) { + return false; } + switch (placement) { + 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); + + } + + + } - this.el.alignTo(this.alignEl , this.alignment[0],this.alignment[1]); // work out the pointy position. var p1 = this.alignment[0].split('-').pop().replace('?',''); diff --git a/roojs-bootstrap.js b/roojs-bootstrap.js index 474beafc58..4a7dcab819 100644 --- a/roojs-bootstrap.js +++ b/roojs-bootstrap.js @@ -822,9 +822,9 @@ var B=this.trigger?this.trigger.split(' '):[];Roo.each(B,function(C){if(C=='clic A=A||false;if(!A){if(this.parent()&&(this.over=='parent'||(this.over===false))){A=this.parent().el;}else if(this.over){Roo.get(this.over);}}if(!this.el){this.render(document.body);}this.el.removeClass(['fade','top','bottom','left','right','in','bs-popover-top','bs-popover-bottom','bs-popover-left','bs-popover-right']); 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(){this.el.addClass(placement+' roo-popover-'+placement);if(!this.alignEl||!this.alignment){return; -}this.el.alignTo(this.alignEl,this.alignment[0],this.alignment[1]);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']} +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']} ,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 -- 2.39.2