@@ -163,10 +163,11 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
163163 if ( ! positionTimeout ) {
164164 positionTimeout = $timeout ( function ( ) {
165165 var placementClasses = $position . parsePlacement ( ttScope . placement ) ;
166-
166+
167167 // need to add classes prior to placement to allow correct tooltip size calculations
168- if ( ! tooltip . hasClass ( placementClasses [ 0 ] ) ) {
169- tooltip . removeClass ( lastPlacement . split ( '-' ) [ 0 ] ) ;
168+ if ( ! tooltip . hasClass ( options . placementClassPrefix + placementClasses [ 0 ] ) ) {
169+ tooltip . removeClass ( lastPlacement ) ;
170+ tooltip . removeClass ( options . placementClassPrefix + lastPlacement ) ;
170171 tooltip . addClass ( options . placementClassPrefix + placementClasses [ 0 ] ) ;
171172 }
172173
@@ -175,7 +176,7 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
175176 var placement = ttPosition . placement ;
176177
177178 if ( ! tooltip . hasClass ( options . placementClassPrefix + placement ) ) {
178- tooltip . removeClass ( options . placementClassPrefix + lastPlacement ) ;
179+ tooltip . removeClass ( options . placementClassPrefix + placementClasses [ 0 ] ) ;
179180 tooltip . addClass ( options . placementClassPrefix + placement ) ;
180181 }
181182
@@ -202,7 +203,7 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s
202203 } else if ( lastPlacement !== ttPosition . placement ) {
203204 $position . positionArrow ( tooltip , ttPosition . placement ) ;
204205 }
205- lastPlacement = ttPosition . placement ;
206+ lastPlacement = placement ;
206207
207208 positionTimeout = null ;
208209 } , 0 , false ) ;
@@ -689,10 +690,11 @@ function ($animate, $sce, $compile, $templateRequest) {
689690 // arrow has space during position measure.
690691 // tooltip.positionTooltip()
691692 if ( scope . placement ) {
693+ var classPrefix = element . hasClass ( 'popover' ) ? 'bs-popover-' : 'bs-tooltip-' ;
692694 // // There are no top-left etc... classes
693695 // // in TWBS, so we need the primary position.
694696 var position = $uibPosition . parsePlacement ( scope . placement ) ;
695- element . addClass ( 'bs-tooltip-' + position [ 0 ] ) ;
697+ element . addClass ( classPrefix + position [ 0 ] ) ;
696698 }
697699
698700 if ( scope . popupClass ) {
0 commit comments