From 0ae9d28ba3e9c4f119a3ba0b370717993350be2c Mon Sep 17 00:00:00 2001 From: Johann-S Date: Fri, 5 May 2017 21:22:55 +0200 Subject: Add fallbackPlacement option for Tooltip and Popover --- js/src/tooltip.js | 55 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 25 deletions(-) (limited to 'js/src/tooltip.js') diff --git a/js/src/tooltip.js b/js/src/tooltip.js index d50ddbb3e..eb517252e 100644 --- a/js/src/tooltip.js +++ b/js/src/tooltip.js @@ -36,32 +36,18 @@ const Tooltip = (($) => { const CLASS_PREFIX = 'bs-tooltip' const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\s)${CLASS_PREFIX}\\S+`, 'g') - const Default = { - animation : true, - template : '', - trigger : 'hover focus', - title : '', - delay : 0, - html : false, - selector : false, - placement : 'top', - offset : 0, - container : false - } - const DefaultType = { - animation : 'boolean', - template : 'string', - title : '(string|element|function)', - trigger : 'string', - delay : '(number|object)', - html : 'boolean', - selector : '(string|boolean)', - placement : '(string|function)', - offset : '(number|string)', - container : '(string|element|boolean)' + animation : 'boolean', + template : 'string', + title : '(string|element|function)', + trigger : 'string', + delay : '(number|object)', + html : 'boolean', + selector : '(string|boolean)', + placement : '(string|function)', + offset : '(number|string)', + container : '(string|element|boolean)', + fallbackPlacement : '(string|array)' } const AttachmentMap = { @@ -71,6 +57,22 @@ const Tooltip = (($) => { LEFT : 'left' } + const Default = { + animation : true, + template : '', + 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 = { SHOW : 'show', OUT : 'out' @@ -289,6 +291,9 @@ const Tooltip = (($) => { modifiers : { offset : { offset : this.config.offset + }, + flip : { + behavior : this.config.fallbackPlacement } }, onCreate : (data) => { -- cgit v1.2.3