diff options
author | Gleb Mazovetskiy <glebm@google.com> | 2015-09-11 01:05:09 +0300 |
---|---|---|
committer | Gleb Mazovetskiy <glebm@google.com> | 2015-09-11 01:05:48 +0300 |
commit | aab35ab41958dcd2e3e94e4c15fb34867a7fdab1 (patch) | |
tree | ced44abe0016039edf24a73b186e2db95422d852 /assets/javascripts/bootstrap | |
parent | 5ef4dee608c93e6b3d7538500bbac4d05c79b94b (diff) |
rake update[v4-dev]
Diffstat (limited to 'assets/javascripts/bootstrap')
-rw-r--r-- | assets/javascripts/bootstrap/modal.js | 2 | ||||
-rw-r--r-- | assets/javascripts/bootstrap/popover.js | 16 | ||||
-rw-r--r-- | assets/javascripts/bootstrap/tooltip.js | 27 |
3 files changed, 27 insertions, 18 deletions
diff --git a/assets/javascripts/bootstrap/modal.js b/assets/javascripts/bootstrap/modal.js index f28df5c..d24b9d3 100644 --- a/assets/javascripts/bootstrap/modal.js +++ b/assets/javascripts/bootstrap/modal.js @@ -427,7 +427,7 @@ var Modal = (function ($) { this._originalBodyPadding = document.body.style.paddingRight || ''; if (this._isBodyOverflowing) { - document.body.style.paddingRight = bodyPadding + (this._scrollbarWidth + 'px'); + document.body.style.paddingRight = bodyPadding + this._scrollbarWidth + 'px'; } } }, { diff --git a/assets/javascripts/bootstrap/popover.js b/assets/javascripts/bootstrap/popover.js index 9e7b6e8..baf36af 100644 --- a/assets/javascripts/bootstrap/popover.js +++ b/assets/javascripts/bootstrap/popover.js @@ -37,7 +37,7 @@ var Popover = (function ($) { }); var DefaultType = $.extend({}, Tooltip.DefaultType, { - content: '(string|function)' + content: '(string|element|function)' }); var ClassName = { @@ -101,19 +101,13 @@ var Popover = (function ($) { }, { key: 'setContent', value: function setContent() { - var tip = this.getTipElement(); - var title = this.getTitle(); - var content = this._getContent(); - var $titleElement = $(tip).find(Selector.TITLE); - - if ($titleElement) { - $titleElement[this.config.html ? 'html' : 'text'](title); - } + var $tip = $(this.getTipElement()); // we use append for html objects to maintain js events - $(tip).find(Selector.CONTENT).children().detach().end()[this.config.html ? typeof content === 'string' ? 'html' : 'append' : 'text'](content); + this.setElementContent($tip.find(Selector.TITLE), this.getTitle()); + this.setElementContent($tip.find(Selector.CONTENT), this._getContent()); - $(tip).removeClass(ClassName.FADE).removeClass(ClassName.IN); + $tip.removeClass(ClassName.FADE).removeClass(ClassName.IN); this.cleanupTether(); } diff --git a/assets/javascripts/bootstrap/tooltip.js b/assets/javascripts/bootstrap/tooltip.js index fd542f2..ff4b666 100644 --- a/assets/javascripts/bootstrap/tooltip.js +++ b/assets/javascripts/bootstrap/tooltip.js @@ -43,7 +43,7 @@ var Tooltip = (function ($) { var DefaultType = { animation: 'boolean', template: 'string', - title: '(string|function)', + title: '(string|element|function)', trigger: 'string', delay: '(number|object)', html: 'boolean', @@ -329,17 +329,32 @@ var Tooltip = (function ($) { }, { key: 'setContent', value: function setContent() { - var tip = this.getTipElement(); - var title = this.getTitle(); - var method = this.config.html ? 'html' : 'text'; + var $tip = $(this.getTipElement()); - $(tip).find(Selector.TOOLTIP_INNER)[method](title); + this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle()); - $(tip).removeClass(ClassName.FADE).removeClass(ClassName.IN); + $tip.removeClass(ClassName.FADE).removeClass(ClassName.IN); this.cleanupTether(); } }, { + key: 'setElementContent', + value: function setElementContent($element, content) { + var html = this.config.html; + if (typeof content === 'object' && (content.nodeType || content.jquery)) { + // content is a DOM node or a jQuery + if (html) { + if (!$(content).parent().is($element)) { + $element.empty().append(content); + } + } else { + $element.text($(content).text()); + } + } else { + $element[html ? 'html' : 'text'](content); + } + } + }, { key: 'getTitle', value: function getTitle() { var title = this.element.getAttribute('data-original-title'); |