Author: sevein Date: Tue Jun 5 12:57:57 2012 New Revision: 11734 Log: Update bootstrap.js
Modified: branches/2.0/vendor/bootstrap.js Modified: branches/2.0/vendor/bootstrap.js ============================================================================== --- branches/2.0/vendor/bootstrap.js Tue Jun 5 11:31:04 2012 (r11733) +++ branches/2.0/vendor/bootstrap.js Tue Jun 5 12:57:57 2012 (r11734) @@ -1,5 +1,5 @@ /* =================================================== - * bootstrap-transition.js v2.0.2 + * bootstrap-transition.js v2.0.3 * http://twitter.github.com/bootstrap/javascript.html#transitions * =================================================== * Copyright 2012 Twitter, Inc. @@ -18,11 +18,12 @@ * ========================================================== */ -!function ( $ ) { +!function ($) { $(function () { - "use strict" + "use strict"; // jshint ;_; + /* CSS TRANSITION SUPPORT (http://www.modernizr.com/) * ======================================================= */ @@ -57,8 +58,8 @@ }) -}( window.jQuery );/* ========================================================== - * bootstrap-alert.js v2.0.2 +}(window.jQuery);/* ========================================================== + * bootstrap-alert.js v2.0.3 * http://twitter.github.com/bootstrap/javascript.html#alerts * ========================================================== * Copyright 2012 Twitter, Inc. @@ -77,62 +78,57 @@ * ========================================================== */ -!function ( $ ) { +!function ($) { + + "use strict"; // jshint ;_; - "use strict" /* ALERT CLASS DEFINITION * ====================== */ var dismiss = '[data-dismiss="alert"]' - , Alert = function ( el ) { + , Alert = function (el) { $(el).on('click', dismiss, this.close) } - Alert.prototype = { - - constructor: Alert - - , close: function ( e ) { - var $this = $(this) - , selector = $this.attr('data-target') - , $parent - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 - } + Alert.prototype.close = function (e) { + var $this = $(this) + , selector = $this.attr('data-target') + , $parent - $parent = $(selector) + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } - e && e.preventDefault() + $parent = $(selector) - $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) + e && e.preventDefault() - $parent.trigger(e = $.Event('close')) + $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) - if (e.isDefaultPrevented()) return + $parent.trigger(e = $.Event('close')) - $parent.removeClass('in') + if (e.isDefaultPrevented()) return - function removeElement() { - $parent - .trigger('closed') - .remove() - } + $parent.removeClass('in') - $.support.transition && $parent.hasClass('fade') ? - $parent.on($.support.transition.end, removeElement) : - removeElement() + function removeElement() { + $parent + .trigger('closed') + .remove() } + $.support.transition && $parent.hasClass('fade') ? + $parent.on($.support.transition.end, removeElement) : + removeElement() } /* ALERT PLUGIN DEFINITION * ======================= */ - $.fn.alert = function ( option ) { + $.fn.alert = function (option) { return this.each(function () { var $this = $(this) , data = $this.data('alert') @@ -151,8 +147,8 @@ $('body').on('click.alert.data-api', dismiss, Alert.prototype.close) }) -}( window.jQuery );/* ============================================================ - * bootstrap-button.js v2.0.2 +}(window.jQuery);/* ============================================================ + * bootstrap-button.js v2.0.3 * http://twitter.github.com/bootstrap/javascript.html#buttons * ============================================================ * Copyright 2012 Twitter, Inc. @@ -171,58 +167,53 @@ * ============================================================ */ -!function ( $ ) { +!function ($) { + + "use strict"; // jshint ;_; - "use strict" /* BUTTON PUBLIC CLASS DEFINITION * ============================== */ - var Button = function ( element, options ) { + var Button = function (element, options) { this.$element = $(element) this.options = $.extend({}, $.fn.button.defaults, options) } - Button.prototype = { + Button.prototype.setState = function (state) { + var d = 'disabled' + , $el = this.$element + , data = $el.data() + , val = $el.is('input') ? 'val' : 'html' - constructor: Button + state = state + 'Text' + data.resetText || $el.data('resetText', $el[val]()) - , setState: function ( state ) { - var d = 'disabled' - , $el = this.$element - , data = $el.data() - , val = $el.is('input') ? 'val' : 'html' - - state = state + 'Text' - data.resetText || $el.data('resetText', $el[val]()) - - $el[val](data[state] || this.options[state]) - - // push to event loop to allow forms to submit - setTimeout(function () { - state == 'loadingText' ? - $el.addClass(d).attr(d, d) : - $el.removeClass(d).removeAttr(d) - }, 0) - } + $el[val](data[state] || this.options[state]) - , toggle: function () { - var $parent = this.$element.parent('[data-toggle="buttons-radio"]') + // push to event loop to allow forms to submit + setTimeout(function () { + state == 'loadingText' ? + $el.addClass(d).attr(d, d) : + $el.removeClass(d).removeAttr(d) + }, 0) + } - $parent && $parent - .find('.active') - .removeClass('active') + Button.prototype.toggle = function () { + var $parent = this.$element.parent('[data-toggle="buttons-radio"]') - this.$element.toggleClass('active') - } + $parent && $parent + .find('.active') + .removeClass('active') + this.$element.toggleClass('active') } /* BUTTON PLUGIN DEFINITION * ======================== */ - $.fn.button = function ( option ) { + $.fn.button = function (option) { return this.each(function () { var $this = $(this) , data = $this.data('button') @@ -251,8 +242,8 @@ }) }) -}( window.jQuery );/* ========================================================== - * bootstrap-carousel.js v2.0.2 +}(window.jQuery);/* ========================================================== + * bootstrap-carousel.js v2.0.3 * http://twitter.github.com/bootstrap/javascript.html#carousel * ========================================================== * Copyright 2012 Twitter, Inc. @@ -271,9 +262,10 @@ * ========================================================== */ -!function ( $ ) { +!function ($) { + + "use strict"; // jshint ;_; - "use strict" /* CAROUSEL CLASS DEFINITION * ========================= */ @@ -289,8 +281,10 @@ Carousel.prototype = { - cycle: function () { + cycle: function (e) { + if (!e) this.paused = false this.options.interval + && !this.paused && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) return this } @@ -316,7 +310,8 @@ return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos])) } - , pause: function () { + , pause: function (e) { + if (!e) this.paused = true clearInterval(this.interval) this.interval = null return this @@ -382,7 +377,7 @@ /* CAROUSEL PLUGIN DEFINITION * ========================== */ - $.fn.carousel = function ( option ) { + $.fn.carousel = function (option) { return this.each(function () { var $this = $(this) , data = $this.data('carousel') @@ -415,8 +410,8 @@ }) }) -}( window.jQuery );/* ============================================================= - * bootstrap-collapse.js v2.0.2 +}(window.jQuery);/* ============================================================= + * bootstrap-collapse.js v2.0.3 * http://twitter.github.com/bootstrap/javascript.html#collapse * ============================================================= * Copyright 2012 Twitter, Inc. @@ -435,16 +430,20 @@ * ============================================================ */ -!function ( $ ) { +!function ($) { - "use strict" + "use strict"; // jshint ;_; - var Collapse = function ( element, options ) { - this.$element = $(element) + + /* COLLAPSE PUBLIC CLASS DEFINITION + * ================================ */ + + var Collapse = function (element, options) { + this.$element = $(element) this.options = $.extend({}, $.fn.collapse.defaults, options) - if (this.options["parent"]) { - this.$parent = $(this.options["parent"]) + if (this.options.parent) { + this.$parent = $(this.options.parent) } this.options.toggle && this.toggle() @@ -470,10 +469,10 @@ dimension = this.dimension() scroll = $.camelCase(['scroll', dimension].join('-')) actives = this.$parent && this.$parent.find('> .accordion-group > .in') - hasData if (actives && actives.length) { hasData = actives.data('collapse') + if (hasData && hasData.transitioning) return actives.collapse('hide') hasData || actives.data('collapse', null) } @@ -492,7 +491,7 @@ this.$element[dimension](0) } - , reset: function ( size ) { + , reset: function (size) { var dimension = this.dimension() this.$element @@ -500,15 +499,15 @@ [dimension](size || 'auto') [0].offsetWidth - this.$element[size != null ? 'addClass' : 'removeClass']('collapse') + this.$element[size !== null ? 'addClass' : 'removeClass']('collapse') return this } - , transition: function ( method, startEvent, completeEvent ) { + , transition: function (method, startEvent, completeEvent) { var that = this , complete = function () { - if (startEvent == 'show') that.reset() + if (startEvent.type == 'show') that.reset() that.transitioning = 0 that.$element.trigger(completeEvent) } @@ -524,18 +523,19 @@ $.support.transition && this.$element.hasClass('collapse') ? this.$element.one($.support.transition.end, complete) : complete() - } + } , toggle: function () { this[this.$element.hasClass('in') ? 'hide' : 'show']() - } + } } - /* COLLAPSIBLE PLUGIN DEFINITION + + /* COLLAPSIBLE PLUGIN DEFINITION * ============================== */ - $.fn.collapse = function ( option ) { + $.fn.collapse = function (option) { return this.each(function () { var $this = $(this) , data = $this.data('collapse') @@ -566,8 +566,8 @@ }) }) -}( window.jQuery );/* ============================================================ - * bootstrap-dropdown.js v2.0.2 +}(window.jQuery);/* ============================================================ + * bootstrap-dropdown.js v2.0.3 * http://twitter.github.com/bootstrap/javascript.html#dropdowns * ============================================================ * Copyright 2012 Twitter, Inc. @@ -586,15 +586,16 @@ * ============================================================ */ -!function ( $ ) { +!function ($) { + + "use strict"; // jshint ;_; - "use strict" /* DROPDOWN CLASS DEFINITION * ========================= */ var toggle = '[data-toggle="dropdown"]' - , Dropdown = function ( element ) { + , Dropdown = function (element) { var $el = $(element).on('click.dropdown.data-api', this.toggle) $('html').on('click.dropdown.data-api', function () { $el.parent().removeClass('open') @@ -605,12 +606,16 @@ constructor: Dropdown - , toggle: function ( e ) { + , toggle: function (e) { var $this = $(this) - , selector = $this.attr('data-target') , $parent + , selector , isActive + if ($this.is('.disabled, :disabled')) return + + selector = $this.attr('data-target') + if (!selector) { selector = $this.attr('href') selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 @@ -622,7 +627,8 @@ isActive = $parent.hasClass('open') clearMenus() - !isActive && $parent.toggleClass('open') + + if (!isActive) $parent.toggleClass('open') return false } @@ -637,7 +643,7 @@ /* DROPDOWN PLUGIN DEFINITION * ========================== */ - $.fn.dropdown = function ( option ) { + $.fn.dropdown = function (option) { return this.each(function () { var $this = $(this) , data = $this.data('dropdown') @@ -659,8 +665,8 @@ .on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle) }) -}( window.jQuery );/* ========================================================= - * bootstrap-modal.js v2.0.2 +}(window.jQuery);/* ========================================================= + * bootstrap-modal.js v2.0.3 * http://twitter.github.com/bootstrap/javascript.html#modals * ========================================================= * Copyright 2012 Twitter, Inc. @@ -679,14 +685,15 @@ * ========================================================= */ -!function ( $ ) { +!function ($) { + + "use strict"; // jshint ;_; - "use strict" /* MODAL CLASS DEFINITION * ====================== */ - var Modal = function ( content, options ) { + var Modal = function (content, options) { this.options = options this.$element = $(content) .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this)) @@ -716,7 +723,9 @@ backdrop.call(this, function () { var transition = $.support.transition && that.$element.hasClass('fade') - !that.$element.parent().length && that.$element.appendTo(document.body) //don't move modals dom position + if (!that.$element.parent().length) { + that.$element.appendTo(document.body) //don't move modals dom position + } that.$element .show() @@ -734,7 +743,7 @@ }) } - , hide: function ( e ) { + , hide: function (e) { e && e.preventDefault() var that = this @@ -777,7 +786,7 @@ }) } - function hideModal( that ) { + function hideModal(that) { this.$element .hide() .trigger('hidden') @@ -785,7 +794,7 @@ backdrop.call(this) } - function backdrop( callback ) { + function backdrop(callback) { var that = this , animate = this.$element.hasClass('fade') ? 'fade' : '' @@ -839,7 +848,7 @@ /* MODAL PLUGIN DEFINITION * ======================= */ - $.fn.modal = function ( option ) { + $.fn.modal = function (option) { return this.each(function () { var $this = $(this) , data = $this.data('modal') @@ -873,8 +882,8 @@ }) }) -}( window.jQuery );/* =========================================================== - * bootstrap-tooltip.js v2.0.2 +}(window.jQuery);/* =========================================================== + * bootstrap-tooltip.js v2.0.3 * http://twitter.github.com/bootstrap/javascript.html#tooltips * Inspired by the original jQuery.tipsy by Jason Frame * =========================================================== @@ -894,14 +903,15 @@ * ========================================================== */ -!function ( $ ) { +!function ($) { + + "use strict"; // jshint ;_; - "use strict" /* TOOLTIP PUBLIC CLASS DEFINITION * =============================== */ - var Tooltip = function ( element, options ) { + var Tooltip = function (element, options) { this.init('tooltip', element, options) } @@ -909,7 +919,7 @@ constructor: Tooltip - , init: function ( type, element, options ) { + , init: function (type, element, options) { var eventIn , eventOut @@ -930,7 +940,7 @@ this.fixTitle() } - , getOptions: function ( options ) { + , getOptions: function (options) { options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data()) if (options.delay && typeof options.delay == 'number') { @@ -943,36 +953,28 @@ return options } - , enter: function ( e ) { + , enter: function (e) { var self = $(e.currentTarget)[this.type](this._options).data(this.type) - if (!self.options.delay || !self.options.delay.show) { - self.show() - } else { - clearTimeout(this.timeout) - self.hoverState = 'in' - this.timeout = setTimeout(function() { - if (self.hoverState == 'in') { - self.show() - } - }, self.options.delay.show) - } + if (!self.options.delay || !self.options.delay.show) return self.show() + + clearTimeout(this.timeout) + self.hoverState = 'in' + this.timeout = setTimeout(function() { + if (self.hoverState == 'in') self.show() + }, self.options.delay.show) } - , leave: function ( e ) { + , leave: function (e) { var self = $(e.currentTarget)[this.type](this._options).data(this.type) - if (!self.options.delay || !self.options.delay.hide) { - self.hide() - } else { - clearTimeout(this.timeout) - self.hoverState = 'out' - this.timeout = setTimeout(function() { - if (self.hoverState == 'out') { - self.hide() - } - }, self.options.delay.hide) - } + if (!self.options.delay || !self.options.delay.hide) return self.hide() + + clearTimeout(this.timeout) + self.hoverState = 'out' + this.timeout = setTimeout(function() { + if (self.hoverState == 'out') self.hide() + }, self.options.delay.hide) } , show: function () { @@ -1030,7 +1032,7 @@ } } - , isHTML: function( text ) { + , isHTML: function(text) { // html string detection logic adapted from jQuery return typeof text != 'string' || ( text.charAt(0) === "<" @@ -1146,16 +1148,16 @@ $.fn.tooltip.defaults = { animation: true - , delay: 0 - , selector: false , placement: 'top' + , selector: false + , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' , trigger: 'hover' , title: '' - , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' + , delay: 0 } -}( window.jQuery );/* =========================================================== - * bootstrap-popover.js v2.0.2 +}(window.jQuery);/* =========================================================== + * bootstrap-popover.js v2.0.3 * http://twitter.github.com/bootstrap/javascript.html#popovers * =========================================================== * Copyright 2012 Twitter, Inc. @@ -1174,14 +1176,19 @@ * =========================================================== */ -!function ( $ ) { +!function ($) { - "use strict" + "use strict"; // jshint ;_; + + + /* POPOVER PUBLIC CLASS DEFINITION + * =============================== */ var Popover = function ( element, options ) { this.init('popover', element, options) } + /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js ========================================== */ @@ -1215,7 +1222,7 @@ return content } - , tip: function() { + , tip: function () { if (!this.$tip) { this.$tip = $(this.options.template) } @@ -1228,7 +1235,7 @@ /* POPOVER PLUGIN DEFINITION * ======================= */ - $.fn.popover = function ( option ) { + $.fn.popover = function (option) { return this.each(function () { var $this = $(this) , data = $this.data('popover') @@ -1246,8 +1253,8 @@ , 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>' }) -}( window.jQuery );/* ============================================================= - * bootstrap-scrollspy.js v2.0.2 +}(window.jQuery);/* ============================================================= + * bootstrap-scrollspy.js v2.0.3 * http://twitter.github.com/bootstrap/javascript.html#scrollspy * ============================================================= * Copyright 2012 Twitter, Inc. @@ -1266,9 +1273,10 @@ * ============================================================== */ -!function ( $ ) { +!function ($) { + + "use strict"; // jshint ;_; - "use strict" /* SCROLLSPY CLASS DEFINITION * ========================== */ @@ -1301,7 +1309,8 @@ $targets = this.$body .find(this.selector) .map(function () { - var href = $(this).attr('href') + var $el = $(this) + , href = $el.data('target') || $el.attr('href') , $href = /^#\w/.test(href) && $(href) return ( $href && href.length @@ -1338,19 +1347,23 @@ , activate: function (target) { var active + , selector this.activeTarget = target - this.$body - .find(this.selector).parent('.active') + $(this.selector) + .parent('.active') .removeClass('active') - active = this.$body - .find(this.selector + '[href="' + target + '"]') + selector = this.selector + + '[data-target="' + target + '"],' + + this.selector + '[href="' + target + '"]' + + active = $(selector) .parent('li') .addClass('active') - if ( active.parent('.dropdown-menu') ) { + if (active.parent('.dropdown-menu')) { active = active.closest('li.dropdown').addClass('active') } @@ -1390,8 +1403,8 @@ }) }) -}( window.jQuery );/* ======================================================== - * bootstrap-tab.js v2.0.2 +}(window.jQuery);/* ======================================================== + * bootstrap-tab.js v2.0.3 * http://twitter.github.com/bootstrap/javascript.html#tabs * ======================================================== * Copyright 2012 Twitter, Inc. @@ -1410,9 +1423,10 @@ * ======================================================== */ -!function ( $ ) { +!function ($) { + + "use strict"; // jshint ;_; - "use strict" /* TAB CLASS DEFINITION * ==================== */ @@ -1523,8 +1537,8 @@ }) }) -}( window.jQuery );/* ============================================================= - * bootstrap-typeahead.js v2.0.2 +}(window.jQuery);/* ============================================================= + * bootstrap-typeahead.js v2.0.3 * http://twitter.github.com/bootstrap/javascript.html#typeahead * ============================================================= * Copyright 2012 Twitter, Inc. @@ -1543,16 +1557,21 @@ * ============================================================ */ -!function( $ ){ +!function($){ - "use strict" + "use strict"; // jshint ;_; - var Typeahead = function ( element, options ) { + + /* TYPEAHEAD PUBLIC CLASS DEFINITION + * ================================= */ + + var Typeahead = function (element, options) { this.$element = $(element) this.options = $.extend({}, $.fn.typeahead.defaults, options) this.matcher = this.options.matcher || this.matcher this.sorter = this.options.sorter || this.sorter this.highlighter = this.options.highlighter || this.highlighter + this.updater = this.options.updater || this.updater this.$menu = $(this.options.menu).appendTo('body') this.source = this.options.source this.shown = false @@ -1566,13 +1585,17 @@ , select: function () { var val = this.$menu.find('.active').attr('data-value') this.$element - .val(val) + .val(this.updater(val)) .change() return this.hide() } + , updater: function (item) { + return item + } + , show: function () { - var pos = $.extend({}, this.$element.offset(), { + var pos = $.extend({}, this.$element.position(), { height: this.$element[0].offsetHeight }) @@ -1636,7 +1659,7 @@ } , highlighter: function (item) { - var query = this.query.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') + var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&') return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) { return '<strong>' + match + '</strong>' }) @@ -1729,11 +1752,13 @@ break case 38: // up arrow + if (e.type != 'keydown') break e.preventDefault() this.prev() break case 40: // down arrow + if (e.type != 'keydown') break e.preventDefault() this.next() break @@ -1764,7 +1789,7 @@ /* TYPEAHEAD PLUGIN DEFINITION * =========================== */ - $.fn.typeahead = function ( option ) { + $.fn.typeahead = function (option) { return this.each(function () { var $this = $(this) , data = $this.data('typeahead') @@ -1796,4 +1821,4 @@ }) }) -}( window.jQuery ); \ No newline at end of file +}(window.jQuery); \ No newline at end of file -- You received this message because you are subscribed to the Google Groups "Qubit Toolkit Commits" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/qubit-commits?hl=en.
