mirror of
https://github.com/twbs/bootstrap.git
synced 2022-11-09 12:25:43 -05:00
Add fallbackPlacement option for Tooltip and Popover
This commit is contained in:
parent
ab7dc8ae2a
commit
0ae9d28ba3
4 changed files with 46 additions and 26 deletions
|
@ -264,6 +264,13 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>Offset of the popover relative to its target. For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..offset.offset">offset docs</a>.</td>
|
<td>Offset of the popover relative to its target. For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..offset.offset">offset docs</a>.</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>fallbackPlacement</td>
|
||||||
|
<td>string | array</td>
|
||||||
|
<td>['top', 'right', 'bottom', 'left']</td>
|
||||||
|
<td>Allow to specify which position Popper will use on fallback. For more information refer to
|
||||||
|
Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..flip.behavior">behavior docs</a></td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|
|
@ -242,6 +242,13 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>Offset of the tooltip relative to its target. For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..offset.offset">offset docs</a>.</td>
|
<td>Offset of the tooltip relative to its target. For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..offset.offset">offset docs</a>.</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>fallbackPlacement</td>
|
||||||
|
<td>string | array</td>
|
||||||
|
<td>['top', 'right', 'bottom', 'left']</td>
|
||||||
|
<td>Allow to specify which position Popper will use on fallback. For more information refer to
|
||||||
|
Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..flip.behavior">behavior docs</a></td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|
|
@ -157,7 +157,8 @@ const Dropdown = (($) => {
|
||||||
offset : context._config.offset
|
offset : context._config.offset
|
||||||
},
|
},
|
||||||
flip : {
|
flip : {
|
||||||
enabled : context._config.flip
|
enabled : context._config.flip,
|
||||||
|
behavior : [AttachmentMap.TOP, AttachmentMap.BOTTOM]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -36,32 +36,18 @@ const Tooltip = (($) => {
|
||||||
const CLASS_PREFIX = 'bs-tooltip'
|
const CLASS_PREFIX = 'bs-tooltip'
|
||||||
const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\s)${CLASS_PREFIX}\\S+`, 'g')
|
const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\s)${CLASS_PREFIX}\\S+`, 'g')
|
||||||
|
|
||||||
const Default = {
|
|
||||||
animation : true,
|
|
||||||
template : '<div class="tooltip" role="tooltip">'
|
|
||||||
+ '<div class="arrow"></div>'
|
|
||||||
+ '<div class="tooltip-inner"></div></div>',
|
|
||||||
trigger : 'hover focus',
|
|
||||||
title : '',
|
|
||||||
delay : 0,
|
|
||||||
html : false,
|
|
||||||
selector : false,
|
|
||||||
placement : 'top',
|
|
||||||
offset : 0,
|
|
||||||
container : false
|
|
||||||
}
|
|
||||||
|
|
||||||
const DefaultType = {
|
const DefaultType = {
|
||||||
animation : 'boolean',
|
animation : 'boolean',
|
||||||
template : 'string',
|
template : 'string',
|
||||||
title : '(string|element|function)',
|
title : '(string|element|function)',
|
||||||
trigger : 'string',
|
trigger : 'string',
|
||||||
delay : '(number|object)',
|
delay : '(number|object)',
|
||||||
html : 'boolean',
|
html : 'boolean',
|
||||||
selector : '(string|boolean)',
|
selector : '(string|boolean)',
|
||||||
placement : '(string|function)',
|
placement : '(string|function)',
|
||||||
offset : '(number|string)',
|
offset : '(number|string)',
|
||||||
container : '(string|element|boolean)'
|
container : '(string|element|boolean)',
|
||||||
|
fallbackPlacement : '(string|array)'
|
||||||
}
|
}
|
||||||
|
|
||||||
const AttachmentMap = {
|
const AttachmentMap = {
|
||||||
|
@ -71,6 +57,22 @@ const Tooltip = (($) => {
|
||||||
LEFT : 'left'
|
LEFT : 'left'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const Default = {
|
||||||
|
animation : true,
|
||||||
|
template : '<div class="tooltip" role="tooltip">'
|
||||||
|
+ '<div class="arrow"></div>'
|
||||||
|
+ '<div class="tooltip-inner"></div></div>',
|
||||||
|
trigger : 'hover focus',
|
||||||
|
title : '',
|
||||||
|
delay : 0,
|
||||||
|
html : false,
|
||||||
|
selector : false,
|
||||||
|
placement : 'top',
|
||||||
|
offset : 0,
|
||||||
|
container : false,
|
||||||
|
fallbackPlacement : [AttachmentMap.TOP, AttachmentMap.RIGHT, AttachmentMap.BOTTOM, AttachmentMap.LEFT]
|
||||||
|
}
|
||||||
|
|
||||||
const HoverState = {
|
const HoverState = {
|
||||||
SHOW : 'show',
|
SHOW : 'show',
|
||||||
OUT : 'out'
|
OUT : 'out'
|
||||||
|
@ -289,6 +291,9 @@ const Tooltip = (($) => {
|
||||||
modifiers : {
|
modifiers : {
|
||||||
offset : {
|
offset : {
|
||||||
offset : this.config.offset
|
offset : this.config.offset
|
||||||
|
},
|
||||||
|
flip : {
|
||||||
|
behavior : this.config.fallbackPlacement
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onCreate : (data) => {
|
onCreate : (data) => {
|
||||||
|
|
Loading…
Reference in a new issue