]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Fix some css for the arrow of Popover/Tooltip + update documentation
authorJohann-S <johann.servoire@gmail.com>
Wed, 19 Apr 2017 08:59:10 +0000 (10:59 +0200)
committerJohann-S <johann.servoire@gmail.com>
Sun, 14 May 2017 09:41:19 +0000 (11:41 +0200)
docs/components/popovers.md
docs/components/tooltips.md
js/src/tooltip.js
scss/_popover.scss
scss/_tooltip.scss

index 71d488fd41149fcc2d6d0e2656d6e2d391213e2b..9366ac1a1dc21542a5db314bf53475534e699ccf 100644 (file)
@@ -231,12 +231,12 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
     <tr>
       <td>template</td>
       <td>string</td>
-      <td><code>'&lt;div class="popover" role="tooltip"&gt;&lt;div class="popover-arrow"&gt;&lt;/div&gt;&lt;h3 class="popover-title"&gt;&lt;/h3&gt;&lt;div class="popover-content"&gt;&lt;/div&gt;&lt;/div&gt;'</code></td>
+      <td><code>'&lt;div class="popover" role="tooltip"&gt;&lt;div class="arrow"&gt;&lt;/div&gt;&lt;h3 class="popover-title"&gt;&lt;/h3&gt;&lt;div class="popover-content"&gt;&lt;/div&gt;&lt;/div&gt;'</code></td>
       <td>
         <p>Base HTML to use when creating the popover.</p>
         <p>The popover's <code>title</code> will be injected into the <code>.popover-title</code>.</p>
         <p>The popover's <code>content</code> will be injected into the <code>.popover-content</code>.</p>
-        <p><code>.popover-arrow</code> will become the popover's arrow.</p>
+        <p><code>.arrow</code> will become the popover's arrow.</p>
         <p>The outermost wrapper element should have the <code>.popover</code> class.</p>
       </td>
     </tr>
index e8a7ce96fb22e6d21ccb5daf7a0e6124d742ba99..54f3c448f58a3f55af19c5dfad7a62614c6bedba 100644 (file)
@@ -136,7 +136,7 @@ You should only add tooltips to HTML elements that are traditionally keyboard-fo
 
 <!-- Generated markup by the plugin -->
 <div class="tooltip tooltip-top" role="tooltip">
-  <div class="tooltip-arrow"></div>
+  <div class="arrow"></div>
   <div class="tooltip-inner">
     Some tooltip text!
   </div>
@@ -209,11 +209,11 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
     <tr>
       <td>template</td>
       <td>string</td>
-      <td><code>'&lt;div class="tooltip" role="tooltip"&gt;&lt;div class="tooltip-arrow"&gt;&lt;/div&gt;&lt;div class="tooltip-inner"&gt;&lt;/div&gt;&lt;/div&gt;'</code></td>
+      <td><code>'&lt;div class="tooltip" role="tooltip"&gt;&lt;div class="arrow"&gt;&lt;/div&gt;&lt;div class="tooltip-inner"&gt;&lt;/div&gt;&lt;/div&gt;'</code></td>
       <td>
         <p>Base HTML to use when creating the tooltip.</p>
         <p>The tooltip's <code>title</code> will be injected into the <code>.tooltip-inner</code>.</p>
-        <p><code>.tooltip-arrow</code> will become the tooltip's arrow.</p>
+        <p><code>.arrow</code> will become the tooltip's arrow.</p>
         <p>The outermost wrapper element should have the <code>.tooltip</code> class.</p>
       </td>
     </tr>
index b446d9bcc69da26de71f139d45af1762e9c02bd1..a8c0ab6f1dca6efa17846e7096ff2ba8dbc14819 100644 (file)
@@ -289,7 +289,9 @@ const Tooltip = (($) => {
             }
           },
           onCreate : (data) => {
-            this._handlePopperPlacementChange(data)
+            if (data.originalPlacement !== data.placement) {
+              this._handlePopperPlacementChange(data)
+            }
           },
           onUpdate : (data) => {
             this._handlePopperPlacementChange(data)
@@ -644,10 +646,8 @@ const Tooltip = (($) => {
     }
 
     _handlePopperPlacementChange(data) {
-      if (data.originalPlacement !== data.placement) {
         this._cleanTipClass()
         this.addAttachmentClass(this._getAttachment(data.placement))
-      }
     }
 
     // static
index d763039ff3ea29c93bc1e8fb616705f6eae631c1..8af1c1fab8f26595900552df7477b1067f559213 100644 (file)
   @include border-radius($border-radius-lg);
   @include box-shadow($popover-box-shadow);
 
+  // Arrows
+  //
+  // .popover-arrow is outer, .popover-arrow::after is inner
+
+  .arrow::before,
+  .arrow::after {
+    position: absolute;
+    display: block;
+    width: 0;
+    height: 0;
+    border-color: transparent;
+    border-style: solid;
+  }
+
+  .arrow::before {
+    content: "";
+    border-width: $popover-arrow-outer-width;
+  }
+  .arrow::after {
+    content: "";
+    border-width: $popover-arrow-width;
+  }
 
   // Popover directions
 
   &.bs-popover-top {
     margin-bottom: $popover-arrow-width;
 
-    ::before,
-    ::after {
+    .arrow::before,
+    .arrow::after {
       left: 50%;
       border-bottom-width: 0;
     }
 
-    ::before {
+    .arrow::before {
       bottom: -$popover-arrow-outer-width;
       margin-left: -$popover-arrow-outer-width;
       border-top-color: $popover-arrow-outer-color;
     }
 
-    ::after {
+    .arrow::after {
       bottom: -($popover-arrow-outer-width - 1);
       margin-left: -$popover-arrow-width;
       border-top-color: $popover-arrow-color;
   &.bs-popover-right {
     margin-left: $popover-arrow-width;
 
-    ::before,
-    ::after {
+    .arrow::before,
+    .arrow::after {
       top: 50%;
       border-left-width: 0;
     }
 
-    ::before {
+    .arrow::before {
       left: -$popover-arrow-outer-width;
       margin-top: -$popover-arrow-outer-width;
       border-right-color: $popover-arrow-outer-color;
     }
 
-    ::after {
+    .arrow::after {
       left: -($popover-arrow-outer-width - 1);
       margin-top: -($popover-arrow-outer-width - 1);
       border-right-color: $popover-arrow-color;
   &.bs-popover-bottom {
     margin-top: $popover-arrow-width;
 
-    ::before,
-    ::after {
+    .arrow::before,
+    .arrow::after {
       left: 50%;
       border-top-width: 0;
     }
 
-    ::before {
+    .arrow::before {
       top: -$popover-arrow-outer-width;
       margin-left: -$popover-arrow-outer-width;
       border-bottom-color: $popover-arrow-outer-color;
     }
 
-    ::after {
+    .arrow::after {
       top: -($popover-arrow-outer-width - 1);
       margin-left: -$popover-arrow-width;
       border-bottom-color: $popover-arrow-color;
   &.bs-popover-left {
     margin-right: $popover-arrow-width;
 
-    ::before,
-    ::after {
+    .arrow::before,
+    .arrow::after {
       top: 50%;
       border-right-width: 0;
     }
 
-    ::before {
+    .arrow::before {
       right: -$popover-arrow-outer-width;
       margin-top: -$popover-arrow-outer-width;
       border-left-color: $popover-arrow-outer-color;
     }
 
-    ::after {
+    .arrow::after {
       right: -($popover-arrow-outer-width - 1);
       margin-top: -($popover-arrow-outer-width - 1);
       border-left-color: $popover-arrow-color;
   padding: $popover-content-padding-y $popover-content-padding-x;
   color: $popover-content-color;
 }
-
-
-// Arrows
-//
-// .popover-arrow is outer, .popover-arrow::after is inner
-
-.arrow::before,
-.arrow::after {
-  position: absolute;
-  display: block;
-  width: 0;
-  height: 0;
-  border-color: transparent;
-  border-style: solid;
-}
-
-.arrow::before {
-  content: "";
-  border-width: $popover-arrow-outer-width;
-}
-.arrow::after {
-  content: "";
-  border-width: $popover-arrow-width;
-}
index 4006b46d96afd4472196916fdc9d1e991f6953ca..d67dc4460ac99533f9120c0b8293bfa6cd9e8062 100644 (file)
       border-left-color: $tooltip-arrow-color;
     }
   }
+
+  .arrow::before {
+    position: absolute;
+    width: 0;
+    height: 0;
+    border-color: transparent;
+    border-style: solid;
+  }
 }
 
 // Wrapper for the tooltip content
   text-align: center;
   background-color: $tooltip-bg;
   @include border-radius($border-radius);
-
-  .arrow::before {
-    position: absolute;
-    width: 0;
-    height: 0;
-    border-color: transparent;
-    border-style: solid;
-  }
 }