vendor/assets/javascripts/twitter/bootstrap/bootstrap-popover.js in twitter_bootstrap-0.0.8 vs vendor/assets/javascripts/twitter/bootstrap/bootstrap-popover.js in twitter_bootstrap-2.0.0
- old
+ new
@@ -1,10 +1,10 @@
/* ===========================================================
- * bootstrap-popover.js v1.4.0
- * http://twitter.github.com/bootstrap/javascript.html#popover
+ * bootstrap-popover.js v2.0.0
+ * http://twitter.github.com/bootstrap/javascript.html#popovers
* ===========================================================
- * Copyright 2011 Twitter, Inc.
+ * Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
@@ -21,70 +21,75 @@
!function( $ ) {
"use strict"
var Popover = function ( element, options ) {
- this.$element = $(element)
- this.options = options
- this.enabled = true
- this.fixTitle()
+ this.init('popover', element, options)
}
- /* NOTE: POPOVER EXTENDS BOOTSTRAP-TWIPSY.js
- ========================================= */
+ /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
+ ========================================== */
- Popover.prototype = $.extend({}, $.fn.twipsy.Twipsy.prototype, {
+ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
- setContent: function () {
+ constructor: Popover
+
+ , setContent: function () {
var $tip = this.tip()
- $tip.find('.title')[this.options.html ? 'html' : 'text'](this.getTitle())
- $tip.find('.content > *')[this.options.html ? 'html' : 'text'](this.getContent())
- $tip[0].className = 'popover'
+ , title = this.getTitle()
+ , content = this.getContent()
+
+ $tip.find('.popover-title')[ $.type(title) == 'object' ? 'append' : 'html' ](title)
+ $tip.find('.popover-content > *')[ $.type(content) == 'object' ? 'append' : 'html' ](content)
+
+ $tip.removeClass('fade top bottom left right in')
}
, hasContent: function () {
return this.getTitle() || this.getContent()
}
, getContent: function () {
var content
- , $e = this.$element
- , o = this.options
+ , $e = this.$element
+ , o = this.options
- if (typeof this.options.content == 'string') {
- content = $e.attr(this.options.content)
- } else if (typeof this.options.content == 'function') {
- content = this.options.content.call(this.$element[0])
- }
+ content = $e.attr('data-content')
+ || (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
+ content = content.toString().replace(/(^\s*|\s*$)/, "")
+
return content
}
, tip: function() {
if (!this.$tip) {
- this.$tip = $('<div class="popover" />')
- .html(this.options.template)
+ this.$tip = $(this.options.template)
}
return this.$tip
}
})
/* POPOVER PLUGIN DEFINITION
* ======================= */
- $.fn.popover = function (options) {
- if (typeof options == 'object') options = $.extend({}, $.fn.popover.defaults, options)
- $.fn.twipsy.initWith.call(this, options, Popover, 'popover')
- return this
+ $.fn.popover = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('popover')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('popover', (data = new Popover(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
}
- $.fn.popover.defaults = $.extend({} , $.fn.twipsy.defaults, {
+ $.fn.popover.Constructor = Popover
+
+ $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
placement: 'right'
- , content: 'data-content'
- , template: '<div class="arrow"></div><div class="inner"><h3 class="title"></h3><div class="content"><p></p></div></div>'
+ , content: ''
+ , template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
})
- $.fn.twipsy.rejectAttrOptions.push( 'content' )
-
-}( window.jQuery || window.ender );
+}( window.jQuery )