vendor/assets/javascripts/collapse.js in flashgrid-1.2.0 vs vendor/assets/javascripts/collapse.js in flashgrid-1.3.0
- old
+ new
@@ -32,11 +32,11 @@
var actives = this.$parent && this.$parent.find('> .panel > .in')
if (actives && actives.length) {
var hasData = actives.data('bs.collapse')
if (hasData && hasData.transitioning) return
- actives.collapse('hide')
+ Plugin.call(actives, 'hide')
hasData || actives.data('bs.collapse', null)
}
var dimension = this.dimension()
@@ -54,19 +54,21 @@
}
this.$element
.removeClass('collapsing')
.addClass('collapse in')[dimension]('')
this.transitioning = 0
- this.$element.trigger('shown.bs.collapse')
+ this.$element
+ .off($.support.transition.end + '.bs.collapse')
+ .trigger('shown.bs.collapse')
}
if (!$.support.transition) return complete.call(this)
var scrollSize = $.camelCase(['scroll', dimension].join('-'))
this.$element
- .one($.support.transition.end, $.proxy(complete, this))
+ .on($.support.transition.end + '.bs.collapse', $.proxy(complete, this))
.emulateTransitionEnd(350)[dimension](this.$element[0][scrollSize])
}
Collapse.prototype.hide = function () {
if (this.transitioning || !this.$element.hasClass('in')) return
@@ -113,13 +115,11 @@
// COLLAPSE PLUGIN DEFINITION
// ==========================
- var old = $.fn.collapse
-
- $.fn.collapse = function (option) {
+ function Plugin(option) {
return this.each(function () {
var $this = $(this)
var data = $this.data('bs.collapse')
var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
@@ -127,10 +127,13 @@
if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
if (typeof option == 'string') data[option]()
})
}
+ var old = $.fn.collapse
+
+ $.fn.collapse = Plugin
$.fn.collapse.Constructor = Collapse
// COLLAPSE NO CONFLICT
// ====================
@@ -158,9 +161,9 @@
if (!data || !data.transitioning) {
if ($parent) $parent.find('[data-toggle="collapse"][data-parent="' + parent + '"]').not($this).addClass('collapsed')
$this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
}
- $target.collapse(option)
+ Plugin.call($target, option)
})
}(jQuery);
\ No newline at end of file