vendor/assets/javascripts/twitter/bootstrap-collapse.js in sass-twitter-bootstrap-0.1.0 vs vendor/assets/javascripts/twitter/bootstrap-collapse.js in sass-twitter-bootstrap-2.0.1

- old
+ new

@@ -1,7 +1,7 @@ /* ============================================================= - * bootstrap-collapse.js v2.0.4 + * bootstrap-collapse.js v2.0.1 * http://twitter.github.com/bootstrap/javascript.html#collapse * ============================================================= * Copyright 2012 Twitter, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -15,25 +15,20 @@ * 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( $ ){ -!function ($) { + "use strict" - "use strict"; // jshint ;_; - - - /* COLLAPSE PUBLIC CLASS DEFINITION - * ================================ */ - - var Collapse = function (element, options) { - this.$element = $(element) + 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() } @@ -45,87 +40,71 @@ var hasWidth = this.$element.hasClass('width') return hasWidth ? 'width' : 'height' } , show: function () { - var dimension - , scroll - , actives + var dimension = this.dimension() + , scroll = $.camelCase(['scroll', dimension].join('-')) + , actives = this.$parent && this.$parent.find('.in') , hasData - if (this.transitioning) return - - dimension = this.dimension() - scroll = $.camelCase(['scroll', dimension].join('-')) - actives = this.$parent && this.$parent.find('> .accordion-group > .in') - if (actives && actives.length) { hasData = actives.data('collapse') - if (hasData && hasData.transitioning) return actives.collapse('hide') hasData || actives.data('collapse', null) } this.$element[dimension](0) - this.transition('addClass', $.Event('show'), 'shown') + this.transition('addClass', 'show', 'shown') this.$element[dimension](this.$element[0][scroll]) + } , hide: function () { - var dimension - if (this.transitioning) return - dimension = this.dimension() + var dimension = this.dimension() this.reset(this.$element[dimension]()) - this.transition('removeClass', $.Event('hide'), 'hidden') + this.transition('removeClass', 'hide', 'hidden') this.$element[dimension](0) } - , reset: function (size) { + , reset: function ( size ) { var dimension = this.dimension() this.$element .removeClass('collapse') [dimension](size || 'auto') [0].offsetWidth - this.$element[size !== null ? 'addClass' : 'removeClass']('collapse') - - return this + this.$element.addClass('collapse') } - , transition: function (method, startEvent, completeEvent) { + , transition: function ( method, startEvent, completeEvent ) { var that = this , complete = function () { - if (startEvent.type == 'show') that.reset() - that.transitioning = 0 + if (startEvent == 'show') that.reset() that.$element.trigger(completeEvent) } - this.$element.trigger(startEvent) + this.$element + .trigger(startEvent) + [method]('in') - if (startEvent.isDefaultPrevented()) return - - this.transitioning = 1 - - this.$element[method]('in') - $.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') , options = typeof option == 'object' && option if (!data) $this.data('collapse', (data = new Collapse(this, options))) @@ -152,6 +131,6 @@ , option = $(target).data('collapse') ? 'toggle' : $this.data() $(target).collapse(option) }) }) -}(window.jQuery); +}( window.jQuery ); \ No newline at end of file