roojs-bootstrap.js
[roojs1] / Roo / bootstrap / Popover.js
index 1268c5c..8fb5105 100644 (file)
@@ -339,13 +339,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;
@@ -357,7 +359,7 @@ 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);
@@ -372,7 +374,7 @@ 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
                     this.arrowEl.setXY(xy);
@@ -382,13 +384,13 @@ 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;
                 }
@@ -396,13 +398,13 @@ Roo.extend(Roo.bootstrap.Popover, Roo.bootstrap.Component,  {
                 try_move = 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]+=5; // << fix me
                     this.arrowEl.setXY(xy);
                     return true;
                 }