aboutsummaryrefslogtreecommitdiff
path: root/docs/assets/js/bootstrap-modal.js
diff options
context:
space:
mode:
authorJacob Thornton <[email protected]>2011-09-09 22:47:49 -0700
committerJacob Thornton <[email protected]>2011-09-09 22:47:49 -0700
commit5f4e30ed1d33f83b0fad3afc9174e193e6c3fdf4 (patch)
tree105cd02ae9923fb2171f695e261e5311c81786b3 /docs/assets/js/bootstrap-modal.js
parentdf3ca4d94a69436c1d6c53f5559aefca98fb2232 (diff)
downloadbootstrap-5f4e30ed1d33f83b0fad3afc9174e193e6c3fdf4.tar.xz
bootstrap-5f4e30ed1d33f83b0fad3afc9174e193e6c3fdf4.zip
move js plugins to root dir, begin writing tests, and change modal plugin to be more boss like
Diffstat (limited to 'docs/assets/js/bootstrap-modal.js')
-rw-r--r--docs/assets/js/bootstrap-modal.js157
1 files changed, 0 insertions, 157 deletions
diff --git a/docs/assets/js/bootstrap-modal.js b/docs/assets/js/bootstrap-modal.js
deleted file mode 100644
index 4bc395e1c..000000000
--- a/docs/assets/js/bootstrap-modal.js
+++ /dev/null
@@ -1,157 +0,0 @@
-(function( $ ){
-
- /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
- * ======================================================= */
-
- var transitionEnd
-
- $(function () {
-
- $.support.transition = (function () {
- var thisBody = document.body || document.documentElement
- , thisStyle = thisBody.style
- , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
- return support
- })()
-
- // set CSS transition event type
- if ( $.support.transition ) {
- transitionEnd = "TransitionEnd"
- if ( $.browser.webkit ) {
- transitionEnd = "webkitTransitionEnd"
- } else if ( $.browser.mozilla ) {
- transitionEnd = "transitionend"
- } else if ( $.browser.opera ) {
- transitionEnd = "oTransitionEnd"
- }
- }
-
- })
-
-
- /* MODAL PUBLIC CLASS DEFINITION
- * ============================= */
-
- var Modal = function ( options ) {
- this.settings = $.extend({}, $.fn.modal.defaults)
-
- if ( typeof options == 'string' ) {
- this.settings.content = options
- } else if ( options ) {
- $.extend( this.settings, options )
- }
-
- return this
- }
-
- Modal.prototype = {
-
- toggle: function () {
- return this[!this.isOpen ? 'open' : 'close']()
- }
-
- , open: function () {
- var that = this
- this.isOpen = true
-
- this.$element = $(this.settings.content)
-
- _.escape.call(this)
- _.backdrop.call(this)
-
- this.$element
- .delegate('.close', 'click', function (e) { e.preventDefault(); that.close() })
- .appendTo(document.body)
- .show()
-
- setTimeout(function () {
- that.$element.addClass('in')
- that.$backdrop && that.$backdrop.addClass('in')
- }, 1)
-
- return this
- }
-
- , close: function () {
- var that = this
-
- this.isOpen = false
-
- _.escape.call(this)
- _.backdrop.call(this)
-
- this.$element.removeClass('in')
-
- function removeElement () {
- that.$element.remove()
- that.$element = null
- }
-
- $.support.transition && this.$element.hasClass('fade') ?
- this.$element.bind(transitionEnd, removeElement) :
- removeElement()
-
- return this
- }
-
- }
-
-
- /* MODAL PRIVATE METHODS
- * ===================== */
-
- var _ = {
-
- backdrop: function () {
- var that = this
- , animate = this.$element.hasClass('fade') ? 'fade' : ''
- if ( this.isOpen && this.settings.backdrop ) {
- this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
- .click(function () { that.close() })
- .appendTo(document.body)
- } else if ( !this.isOpen && this.$backdrop ) {
- this.$backdrop.removeClass('in')
-
- function removeElement() {
- that.$backdrop.remove()
- that.$backdrop = null
- }
-
- $.support.transition && this.$element.hasClass('fade')?
- this.$backdrop.bind(transitionEnd, removeElement) :
- removeElement()
- }
- }
-
- , escape: function () {
- var that = this
- if ( this.isOpen && this.settings.closeOnEscape ) {
- $('body').bind('keyup.modal.escape', function ( e ) {
- if ( e.which == 27 ) {
- that.close()
- }
- })
- } else if ( !this.isOpen ) {
- $('body').unbind('keyup.modal.escape')
- }
- }
-
- }
-
-
- /* MODAL PLUGIN DEFINITION
- * ======================= */
-
- $.fn.modal = function ( options ) {
- options = options || {}
- options.content = this
- return new Modal(options)
- }
-
- $.fn.modal.defaults = {
- backdrop: false
- , closeOnEscape: false
- , content: false
- }
-
-})( jQuery || ender ) \ No newline at end of file