X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=roojs-bootstrap-debug.js;h=92cdce670752f97aba5802ea809f7f2c6b320cc4;hb=refs%2Fheads%2Fwip_alan_T6597_Popover_api_improvements;hp=2f42775e9eae03666ca26a3b037a6dd02406bf2b;hpb=cc14bf6bc18b98163c5eee1ee68c54fb56a89858;p=roojs1 diff --git a/roojs-bootstrap-debug.js b/roojs-bootstrap-debug.js index 2f42775e9e..92cdce6707 100644 --- a/roojs-bootstrap-debug.js +++ b/roojs-bootstrap-debug.js @@ -19877,6 +19877,8 @@ Roo.extend(Roo.bootstrap.Popover, Roo.bootstrap.Component, { } + this.alignEl = on_el; + if (!this.el) { this.render(document.body); } @@ -19892,9 +19894,8 @@ Roo.extend(Roo.bootstrap.Popover, Roo.bootstrap.Component, { this.el.show(); this.el.dom.style.display = 'block'; - - if (on_el) { + if (this.alignEl) { this.updatePosition(this.placement, true); } else { @@ -19934,13 +19935,15 @@ Roo.extend(Roo.bootstrap.Popover, Roo.bootstrap.Component, { */ updatePosition : function(placement, try_move) { - placement = placement === false ? this.placement : placement; + // allow for calling with no parameters + placement = placement ? placement : this.placement; + try_move = typeof(try_move) == 'undefined' ? true : try_move; this.el.removeClass([ 'fade','top','bottom', 'left', 'right','in', 'bs-popover-top','bs-popover-bottom', 'bs-popover-left', 'bs-popover-right' ]); - this.el.addClass(placement + ' roo-popover-' + placement); + this.el.addClass(placement + ' bs-popover-' + placement); if (!this.alignEl ) { return false; @@ -19952,14 +19955,14 @@ Roo.extend(Roo.bootstrap.Popover, Roo.bootstrap.Component, { 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); + this.el.setXY(offset); var xy = this.alignEl.getAnchorXY('tr', false); xy[0]+=2;xy[1]+=5; this.arrowEl.setXY(xy); return true; } // continue through... - try_move = false; + return this.updatePosition('left', false); case 'left': @@ -19967,9 +19970,9 @@ Roo.extend(Roo.bootstrap.Popover, Roo.bootstrap.Component, { var offset = this.el.getAlignToXY(this.alignEl, 'tr-tl?',[-10,0]); if (!try_move || exact.equals(offset) || exact[0] == offset[0] ) { //normal display... or moved up/down. - this.setXY(offset); + this.el.setXY(offset); var xy = this.alignEl.getAnchorXY('tl', false); - xy[0]+=2;xy[1]+=5; // << fix me + xy[0]-=10;xy[1]+=5; // << fix me this.arrowEl.setXY(xy); return true; } @@ -19977,27 +19980,27 @@ Roo.extend(Roo.bootstrap.Popover, Roo.bootstrap.Component, { return this.updatePosition('right', false); case 'top': - var exact = this.el.getAlignToXY(this.alignEl, 't-b', [0,-10]); - var offset = this.el.getAlignToXY(this.alignEl, 't-b?',[0,-10]); + var exact = this.el.getAlignToXY(this.alignEl, 'b-t', [0,-10]); + var offset = this.el.getAlignToXY(this.alignEl, 'b-t?',[0,-10]); if (!try_move || exact.equals(offset) || exact[1] == offset[1] ) { //normal display... or moved up/down. - this.setXY(offset); - var xy = this.alignEl.getAnchorXY('b', false); - xy[0]+=2;xy[1]+=5; // << fix me + this.el.setXY(offset); + var xy = this.alignEl.getAnchorXY('t', false); + xy[1]-=10; // << fix me this.arrowEl.setXY(xy); return true; } // fall through - try_move = false; + return this.updatePosition('bottom', false); case 'bottom': - var exact = this.el.getAlignToXY(this.alignEl, 'b-t', [0,10]); - var offset = this.el.getAlignToXY(this.alignEl, 'b-t?',[0,10]); + var exact = this.el.getAlignToXY(this.alignEl, 't-b', [0,10]); + var offset = this.el.getAlignToXY(this.alignEl, 't-b?',[0,10]); if (!try_move || exact.equals(offset) || exact[1] == offset[1] ) { //normal display... or moved up/down. - this.setXY(offset); - var xy = this.alignEl.getAnchorXY('t', false); - xy[0]+=2;xy[1]+=5; // << fix me + this.el.setXY(offset); + var xy = this.alignEl.getAnchorXY('b', false); + xy[1]+=2; // << fix me this.arrowEl.setXY(xy); return true; }