+++ /dev/null
-/* =============================================================
- * bootstrap-accordion.js v2.0.0
- * http://twitter.github.com/bootstrap/javascript.html#accordion
- * =============================================================
- * Copyright 2011 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * 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( $ ){
-
- var Accordion = function ( element, options ) {}
-
- Accordion.prototype = {}
-
- /* ALERT PLUGIN DEFINITION
- * ======================= */
-
- $.fn.accordion = function ( options ) {
-
- if ( options === true ) {
- return this.data('accordion')
- }
-
- return this.each(function () {
- new Accordion(this, options)
- })
- }
-
-
-})( window.jQuery || window.ender )
\ No newline at end of file
* ====================== */
var dismiss = '[data-dismiss="alert"]'
- , Alert = function ( el, close ) {
+ , Alert = function ( el ) {
$(el).delegate(dismiss, 'click', this.close)
}
var $element = $(this)
$element = $element.hasClass('alert-message') ? $element : $element.parent()
-
e && e.preventDefault()
$element.removeClass('in')
/* ALERT PLUGIN DEFINITION
* ======================= */
- $.fn.alert = function ( options ) {
+ $.fn.alert = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data('alert')
if (!data) $this.data('alert', (data = new Alert(this)))
- if (typeof options == 'string') data[options].call($this)
+ if (typeof option == 'string') data[option].call($this)
})
}
/* BUTTON PUBLIC CLASS DEFINITION
* ============================== */
- var Button
+ var Button = function (element, options) {
+ this.$element = $(element)
+ this.settings = $.extend({}, $.fn.button.defaults, options)
+ }
- function setState(el, state) {
- var d = 'disabled'
- , $el = $(el)
- , data = $el.data()
- , val = $el.is('input') ? 'val' : 'html'
+ Button.prototype = {
- 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'
- $el[val]( data[state] || $.fn.button.defaults[state] )
+ state = state + 'Text'
+ data.resetText || $el.data('resetText', $el[val]())
- setTimeout(function () {
- state == 'loadingText' ?
- $el.addClass(d).attr(d, d) :
- $el.removeClass(d).removeAttr(d)
- }, 0)
- }
+ $el[val](data[state] || this.settings[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)
+ }
+
+ , toggle: function () {
+ var $parent = this.$element.parent('[data-toggle="buttons-radio"]')
- function toggle(el) {
- var $el = $(el)
- , $parent = $el.parent('[data-toggle="buttons-radio"]')
+ $parent && $parent
+ .find('.active')
+ .removeClass('active')
- $parent && $parent
- .find('.active')
- .removeClass('active')
+ this.$element.toggleClass('active')
+ }
- $el.toggleClass('active')
}
/* BUTTON PLUGIN DEFINITION
* ======================== */
- $.fn.button = function(options) {
+ $.fn.button = function ( option ) {
return this.each(function () {
- if (options == 'toggle') return toggle(this)
- options && setState(this, options)
+ var $this = $(this)
+ , data = $this.data('button')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('button', (data = new Button(this, options)))
+ if (option == 'toggle') data.toggle()
+ else if (option) data.setState(option)
})
}
"use strict"
- /* SIMPLE DROPDOWN LOGIC
- * ===================== */
+ /* DROPDOWN CLASS DEFINITION
+ * ========================= */
- var s = '[data-toggle="dropdown"]'
+ var toggle = '[data-toggle="dropdown"]'
+ , Dropdown = function ( element ) {
+ $(element).bind('click', this.toggle)
+ }
- function clearMenus() {
- $(s).parent('li').removeClass('open')
- }
+ Dropdown.prototype = {
+
+ toggle: function ( e ) {
+ var li = $(this).parent('li')
+ , isActive = li.hasClass('open')
- function toggle(e) {
- var li = $(this).parent('li')
- , isActive = li.hasClass('open')
+ clearMenus()
+ !isActive && li.toggleClass('open')
- clearMenus()
- !isActive && li.toggleClass('open')
+ return false
+ }
- return false
+ }
+
+ function clearMenus() {
+ $(toggle).parent('li').removeClass('open')
}
/* DROPDOWN PLUGIN DEFINITION
* ========================== */
- $.fn.dropdown = function ( selector ) {
+ $.fn.dropdown = function ( option ) {
return this.each(function () {
- var args = ['click', toggle]
- , $this = $(this)
- selector && args.unshift(selector)
- $this[selector ? 'delegate' : 'bind'].apply($this, args)
+ var $this = $(this)
+ , data = $this.data('dropdown')
+ if (!data) $this.data('dropdown', (data = new Dropdown(this)))
+ if (typeof option == 'string') data[option].call($this)
})
}
* =================================== */
$(function () {
- $('html').bind("click.dropdown.data-api", clearMenus)
- $('body').dropdown(s)
+ $('html').bind('click.dropdown.data-api', clearMenus)
+ $('body').delegate(toggle, 'click.dropdown.data-api', Dropdown.prototype.toggle)
})
}( window.jQuery || window.ender );
\ No newline at end of file