From 173be3f1e87a83f8e85bef8ddb979a921ccee9d1 Mon Sep 17 00:00:00 2001 From: Jacob Thornton Date: Sun, 11 Sep 2011 20:08:43 -0700 Subject: change hella js... broke all the tests. i <3 wip --- js/bootstrap-modal.js | 210 +++++++++++++++++++++++++++++--------------------- 1 file changed, 121 insertions(+), 89 deletions(-) (limited to 'js/bootstrap-modal.js') diff --git a/js/bootstrap-modal.js b/js/bootstrap-modal.js index 8b21c192d1..97eeded512 100644 --- a/js/bootstrap-modal.js +++ b/js/bootstrap-modal.js @@ -54,72 +54,73 @@ var Modal = function ( content, options ) { this.settings = $.extend({}, $.fn.modal.defaults) + this.$element = $(content) + .delegate('.close', 'click.modal', $.proxy(this.hide, this)) if ( options ) { $.extend( this.settings, options ) - } - this.$element = $(content) - .bind('modal:show', $.proxy(this.show, this)) - .bind('modal:hide', $.proxy(this.hide, this)) - .bind('modal:toggle', $.proxy(this.toggle, this)) - .delegate('.close', 'click', $.proxy(this.hide, this)) + if ( options.show ) { + this.show() + } + } return this } Modal.prototype = { - toggle: function () { - return this[!this.isShown ? 'show' : 'hide']() - } - - , show: function () { - var that = this - this.isShown = true - - _.escape.call(this) + toggle: function () { + return this[!this.isShown ? 'show' : 'hide']() + } - _.backdrop.call(this, function () { - that.$element - .appendTo(document.body) - .show() + , show: function () { + var that = this + this.isShown = true + this.$element.trigger('show') - setTimeout(function () { + escape.call(this) + backdrop.call(this, function () { that.$element - .addClass('in') - .trigger('modal:shown') - }, 1) - }) - - return this - } + .appendTo(document.body) + .show() + + setTimeout(function () { + that.$element + .addClass('in') + .trigger('shown') + }, 1) + }) - , hide: function (e) { - e && e.preventDefault() + return this + } - var that = this + , hide: function (e) { + e && e.preventDefault() - this.isShown = false + var that = this + this.isShown = false - _.escape.call(this) + escape.call(this) - this.$element.removeClass('in') + this.$element + .trigger('hide') + .removeClass('in') - function removeElement () { - that.$element - .detach() - .trigger('modal:hidden') + function removeElement () { + that.$element + .hide() + .trigger('hidden') - _.backdrop.call(that) - } + backdrop.call(that) + } - $.support.transition && this.$element.hasClass('fade') ? - this.$element.one(transitionEnd, removeElement) : - removeElement() + $.support.transition && this.$element.hasClass('fade') ? + this.$element.one(transitionEnd, removeElement) : + removeElement() - return this - } + return this + } } @@ -127,51 +128,47 @@ /* MODAL PRIVATE METHODS * ===================== */ - var _ = { - - backdrop: function ( callback ) { - var that = this - , animate = this.$element.hasClass('fade') ? 'fade' : '' - if ( this.isShown && this.settings.backdrop ) { - this.$backdrop = $('