summaryrefslogtreecommitdiffstats
path: root/debian/missing-sources/bootstrap-toggle-2.2.2.js
diff options
context:
space:
mode:
Diffstat (limited to 'debian/missing-sources/bootstrap-toggle-2.2.2.js')
-rw-r--r--debian/missing-sources/bootstrap-toggle-2.2.2.js180
1 files changed, 180 insertions, 0 deletions
diff --git a/debian/missing-sources/bootstrap-toggle-2.2.2.js b/debian/missing-sources/bootstrap-toggle-2.2.2.js
new file mode 100644
index 0000000..533914e
--- /dev/null
+++ b/debian/missing-sources/bootstrap-toggle-2.2.2.js
@@ -0,0 +1,180 @@
+/*! ========================================================================
+ * Bootstrap Toggle: bootstrap-toggle.js v2.2.0
+ * http://www.bootstraptoggle.com
+ * ========================================================================
+ * Copyright 2014 Min Hur, The New York Times Company
+ * Licensed under MIT
+ * ======================================================================== */
+
+
+ +function ($) {
+ 'use strict';
+
+ // TOGGLE PUBLIC CLASS DEFINITION
+ // ==============================
+
+ var Toggle = function (element, options) {
+ this.$element = $(element)
+ this.options = $.extend({}, this.defaults(), options)
+ this.render()
+ }
+
+ Toggle.VERSION = '2.2.0'
+
+ Toggle.DEFAULTS = {
+ on: 'On',
+ off: 'Off',
+ onstyle: 'primary',
+ offstyle: 'default',
+ size: 'normal',
+ style: '',
+ width: null,
+ height: null
+ }
+
+ Toggle.prototype.defaults = function() {
+ return {
+ on: this.$element.attr('data-on') || Toggle.DEFAULTS.on,
+ off: this.$element.attr('data-off') || Toggle.DEFAULTS.off,
+ onstyle: this.$element.attr('data-onstyle') || Toggle.DEFAULTS.onstyle,
+ offstyle: this.$element.attr('data-offstyle') || Toggle.DEFAULTS.offstyle,
+ size: this.$element.attr('data-size') || Toggle.DEFAULTS.size,
+ style: this.$element.attr('data-style') || Toggle.DEFAULTS.style,
+ width: this.$element.attr('data-width') || Toggle.DEFAULTS.width,
+ height: this.$element.attr('data-height') || Toggle.DEFAULTS.height
+ }
+ }
+
+ Toggle.prototype.render = function () {
+ this._onstyle = 'btn-' + this.options.onstyle
+ this._offstyle = 'btn-' + this.options.offstyle
+ var size = this.options.size === 'large' ? 'btn-lg'
+ : this.options.size === 'small' ? 'btn-sm'
+ : this.options.size === 'mini' ? 'btn-xs'
+ : ''
+ var $toggleOn = $('<label class="btn">').html(this.options.on)
+ .addClass(this._onstyle + ' ' + size)
+ var $toggleOff = $('<label class="btn">').html(this.options.off)
+ .addClass(this._offstyle + ' ' + size + ' active')
+ var $toggleHandle = $('<span class="toggle-handle btn btn-default">')
+ .addClass(size)
+ var $toggleGroup = $('<div class="toggle-group">')
+ .append($toggleOn, $toggleOff, $toggleHandle)
+ var $toggle = $('<div class="toggle btn" data-toggle="toggle">')
+ .addClass( this.$element.prop('checked') ? this._onstyle : this._offstyle+' off' )
+ .addClass(size).addClass(this.options.style)
+
+ this.$element.wrap($toggle)
+ $.extend(this, {
+ $toggle: this.$element.parent(),
+ $toggleOn: $toggleOn,
+ $toggleOff: $toggleOff,
+ $toggleGroup: $toggleGroup
+ })
+ this.$toggle.append($toggleGroup)
+
+ var width = this.options.width || Math.max($toggleOn.outerWidth(), $toggleOff.outerWidth())+($toggleHandle.outerWidth()/2)
+ var height = this.options.height || Math.max($toggleOn.outerHeight(), $toggleOff.outerHeight())
+ $toggleOn.addClass('toggle-on')
+ $toggleOff.addClass('toggle-off')
+ this.$toggle.css({ width: width, height: height })
+ if (this.options.height) {
+ $toggleOn.css('line-height', $toggleOn.height() + 'px')
+ $toggleOff.css('line-height', $toggleOff.height() + 'px')
+ }
+ this.update(true)
+ this.trigger(true)
+ }
+
+ Toggle.prototype.toggle = function () {
+ if (this.$element.prop('checked')) this.off()
+ else this.on()
+ }
+
+ Toggle.prototype.on = function (silent) {
+ if (this.$element.prop('disabled')) return false
+ this.$toggle.removeClass(this._offstyle + ' off').addClass(this._onstyle)
+ this.$element.prop('checked', true)
+ if (!silent) this.trigger()
+ }
+
+ Toggle.prototype.off = function (silent) {
+ if (this.$element.prop('disabled')) return false
+ this.$toggle.removeClass(this._onstyle).addClass(this._offstyle + ' off')
+ this.$element.prop('checked', false)
+ if (!silent) this.trigger()
+ }
+
+ Toggle.prototype.enable = function () {
+ this.$toggle.removeAttr('disabled')
+ this.$element.prop('disabled', false)
+ }
+
+ Toggle.prototype.disable = function () {
+ this.$toggle.attr('disabled', 'disabled')
+ this.$element.prop('disabled', true)
+ }
+
+ Toggle.prototype.update = function (silent) {
+ if (this.$element.prop('disabled')) this.disable()
+ else this.enable()
+ if (this.$element.prop('checked')) this.on(silent)
+ else this.off(silent)
+ }
+
+ Toggle.prototype.trigger = function (silent) {
+ this.$element.off('change.bs.toggle')
+ if (!silent) this.$element.change()
+ this.$element.on('change.bs.toggle', $.proxy(function() {
+ this.update()
+ }, this))
+ }
+
+ Toggle.prototype.destroy = function() {
+ this.$element.off('change.bs.toggle')
+ this.$toggleGroup.remove()
+ this.$element.removeData('bs.toggle')
+ this.$element.unwrap()
+ }
+
+ // TOGGLE PLUGIN DEFINITION
+ // ========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.toggle')
+ var options = typeof option == 'object' && option
+
+ if (!data) $this.data('bs.toggle', (data = new Toggle(this, options)))
+ if (typeof option == 'string' && data[option]) data[option]()
+ })
+ }
+
+ var old = $.fn.bootstrapToggle
+
+ $.fn.bootstrapToggle = Plugin
+ $.fn.bootstrapToggle.Constructor = Toggle
+
+ // TOGGLE NO CONFLICT
+ // ==================
+
+ $.fn.toggle.noConflict = function () {
+ $.fn.bootstrapToggle = old
+ return this
+ }
+
+ // TOGGLE DATA-API
+ // ===============
+
+ $(function() {
+ $('input[type=checkbox][data-toggle^=toggle]').bootstrapToggle()
+ })
+
+ $(document).on('click.bs.toggle', 'div[data-toggle^=toggle]', function(e) {
+ var $checkbox = $(this).find('input[type=checkbox]')
+ $checkbox.bootstrapToggle('toggle')
+ e.preventDefault()
+ })
+
+}(jQuery);