Files
@ 26c9cb5ee251
Branch filter:
Location: CopyleftConf/copyleftconf-website/static/bootstrap/javascripts/bootstrap/button.js - annotation
26c9cb5ee251
3.7 KiB
application/javascript
settings: Add a console logger.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 32c2469b99f4 | /* ========================================================================
* Bootstrap: button.js v3.3.7
* http://getbootstrap.com/javascript/#buttons
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+function ($) {
'use strict';
// BUTTON PUBLIC CLASS DEFINITION
// ==============================
var Button = function (element, options) {
this.$element = $(element)
this.options = $.extend({}, Button.DEFAULTS, options)
this.isLoading = false
}
Button.VERSION = '3.3.7'
Button.DEFAULTS = {
loadingText: 'loading...'
}
Button.prototype.setState = function (state) {
var d = 'disabled'
var $el = this.$element
var val = $el.is('input') ? 'val' : 'html'
var data = $el.data()
state += 'Text'
if (data.resetText == null) $el.data('resetText', $el[val]())
// push to event loop to allow forms to submit
setTimeout($.proxy(function () {
$el[val](data[state] == null ? this.options[state] : data[state])
if (state == 'loadingText') {
this.isLoading = true
$el.addClass(d).attr(d, d).prop(d, true)
} else if (this.isLoading) {
this.isLoading = false
$el.removeClass(d).removeAttr(d).prop(d, false)
}
}, this), 0)
}
Button.prototype.toggle = function () {
var changed = true
var $parent = this.$element.closest('[data-toggle="buttons"]')
if ($parent.length) {
var $input = this.$element.find('input')
if ($input.prop('type') == 'radio') {
if ($input.prop('checked')) changed = false
$parent.find('.active').removeClass('active')
this.$element.addClass('active')
} else if ($input.prop('type') == 'checkbox') {
if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false
this.$element.toggleClass('active')
}
$input.prop('checked', this.$element.hasClass('active'))
if (changed) $input.trigger('change')
} else {
this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
this.$element.toggleClass('active')
}
}
// BUTTON PLUGIN DEFINITION
// ========================
function Plugin(option) {
return this.each(function () {
var $this = $(this)
var data = $this.data('bs.button')
var options = typeof option == 'object' && option
if (!data) $this.data('bs.button', (data = new Button(this, options)))
if (option == 'toggle') data.toggle()
else if (option) data.setState(option)
})
}
var old = $.fn.button
$.fn.button = Plugin
$.fn.button.Constructor = Button
// BUTTON NO CONFLICT
// ==================
$.fn.button.noConflict = function () {
$.fn.button = old
return this
}
// BUTTON DATA-API
// ===============
$(document)
.on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
var $btn = $(e.target).closest('.btn')
Plugin.call($btn, 'toggle')
if (!($(e.target).is('input[type="radio"], input[type="checkbox"]'))) {
// Prevent double click on radios, and the double selections (so cancellation) on checkboxes
e.preventDefault()
// The target component still receive the focus
if ($btn.is('input,button')) $btn.trigger('focus')
else $btn.find('input:visible,button:visible').first().trigger('focus')
}
})
.on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
$(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
})
}(jQuery);
|