You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
2.8 KiB
95 lines
2.8 KiB
/* =========================================================== |
|
* bootstrap-popover.js v2.0.0 |
|
* http://twitter.github.com/bootstrap/javascript.html#popovers |
|
* =========================================================== |
|
* 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 |
|
* |
|
* http://www.apache.org/licenses/LICENSE-2.0 |
|
* |
|
* Unless required by applicable law or agreed to in writing, software |
|
* distributed under the License is distributed on an "AS IS" BASIS, |
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
* See the License for the specific language governing permissions and |
|
* limitations under the License. |
|
* =========================================================== */ |
|
|
|
|
|
!function( $ ) { |
|
|
|
"use strict" |
|
|
|
var Popover = function ( element, options ) { |
|
this.init('popover', element, options) |
|
} |
|
|
|
/* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js |
|
========================================== */ |
|
|
|
Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, { |
|
|
|
constructor: Popover |
|
|
|
, setContent: function () { |
|
var $tip = this.tip() |
|
, title = this.getTitle() |
|
, content = this.getContent() |
|
|
|
$tip.find('.title')[ $.type(title) == 'object' ? 'append' : 'html' ](title) |
|
$tip.find('.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 |
|
|
|
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 = $(this.options.template) |
|
} |
|
return this.$tip |
|
} |
|
|
|
}) |
|
|
|
|
|
/* POPOVER PLUGIN DEFINITION |
|
* ======================= */ |
|
|
|
$.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.Constructor = Popover |
|
|
|
$.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, { |
|
placement: 'right' |
|
, content: '' |
|
, template: '<div class="popover"><div class="arrow"></div><div class="inner"><h3 class="title"></h3><div class="content"><p></p></div></div></div>' |
|
}) |
|
|
|
}( window.jQuery )
|
|
|