add additional filters/wordcloud/sqlite
[dcaas.git] / js / bootstrap.js
blob:a/js/bootstrap.js -> blob:b/js/bootstrap.js
/*! /*!
* Bootstrap v3.0.3 (http://getbootstrap.com) * Bootstrap v3.0.3 (http://getbootstrap.com)
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
* Licensed under http://www.apache.org/licenses/LICENSE-2.0 * Licensed under http://www.apache.org/licenses/LICENSE-2.0
*/ */
   
if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery") } if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery") }
   
/* ======================================================================== /* ========================================================================
* Bootstrap: transition.js v3.0.3 * Bootstrap: transition.js v3.0.3
* http://getbootstrap.com/javascript/#transitions * http://getbootstrap.com/javascript/#transitions
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
* ======================================================================== */ * ======================================================================== */
   
   
+function ($) { "use strict"; +function ($) { "use strict";
   
// CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
// ============================================================ // ============================================================
   
function transitionEnd() { function transitionEnd() {
var el = document.createElement('bootstrap') var el = document.createElement('bootstrap')
   
var transEndEventNames = { var transEndEventNames = {
'WebkitTransition' : 'webkitTransitionEnd' 'WebkitTransition' : 'webkitTransitionEnd'
, 'MozTransition' : 'transitionend' , 'MozTransition' : 'transitionend'
, 'OTransition' : 'oTransitionEnd otransitionend' , 'OTransition' : 'oTransitionEnd otransitionend'
, 'transition' : 'transitionend' , 'transition' : 'transitionend'
} }
   
for (var name in transEndEventNames) { for (var name in transEndEventNames) {
if (el.style[name] !== undefined) { if (el.style[name] !== undefined) {
return { end: transEndEventNames[name] } return { end: transEndEventNames[name] }
} }
} }
} }
   
// http://blog.alexmaccaw.com/css-transitions // http://blog.alexmaccaw.com/css-transitions
$.fn.emulateTransitionEnd = function (duration) { $.fn.emulateTransitionEnd = function (duration) {
var called = false, $el = this var called = false, $el = this
$(this).one($.support.transition.end, function () { called = true }) $(this).one($.support.transition.end, function () { called = true })
var callback = function () { if (!called) $($el).trigger($.support.transition.end) } var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
setTimeout(callback, duration) setTimeout(callback, duration)
return this return this
} }
   
$(function () { $(function () {
$.support.transition = transitionEnd() $.support.transition = transitionEnd()
}) })
   
}(jQuery); }(jQuery);
   
/* ======================================================================== /* ========================================================================
* Bootstrap: alert.js v3.0.3 * Bootstrap: alert.js v3.0.3
* http://getbootstrap.com/javascript/#alerts * http://getbootstrap.com/javascript/#alerts
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
* ======================================================================== */ * ======================================================================== */
   
   
+function ($) { "use strict"; +function ($) { "use strict";
   
// ALERT CLASS DEFINITION // ALERT CLASS DEFINITION
// ====================== // ======================
   
var dismiss = '[data-dismiss="alert"]' var dismiss = '[data-dismiss="alert"]'
var Alert = function (el) { var Alert = function (el) {
$(el).on('click', dismiss, this.close) $(el).on('click', dismiss, this.close)
} }
   
Alert.prototype.close = function (e) { Alert.prototype.close = function (e) {
var $this = $(this) var $this = $(this)
var selector = $this.attr('data-target') var selector = $this.attr('data-target')
   
if (!selector) { if (!selector) {
selector = $this.attr('href') selector = $this.attr('href')
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
} }
   
var $parent = $(selector) var $parent = $(selector)
   
if (e) e.preventDefault() if (e) e.preventDefault()
   
if (!$parent.length) { if (!$parent.length) {
$parent = $this.hasClass('alert') ? $this : $this.parent() $parent = $this.hasClass('alert') ? $this : $this.parent()
} }
   
$parent.trigger(e = $.Event('close.bs.alert')) $parent.trigger(e = $.Event('close.bs.alert'))
   
if (e.isDefaultPrevented()) return if (e.isDefaultPrevented()) return
   
$parent.removeClass('in') $parent.removeClass('in')
   
function removeElement() { function removeElement() {
$parent.trigger('closed.bs.alert').remove() $parent.trigger('closed.bs.alert').remove()
} }
   
$.support.transition && $parent.hasClass('fade') ? $.support.transition && $parent.hasClass('fade') ?
$parent $parent
.one($.support.transition.end, removeElement) .one($.support.transition.end, removeElement)
.emulateTransitionEnd(150) : .emulateTransitionEnd(150) :
removeElement() removeElement()
} }
   
   
// ALERT PLUGIN DEFINITION // ALERT PLUGIN DEFINITION
// ======================= // =======================
   
var old = $.fn.alert var old = $.fn.alert
   
$.fn.alert = function (option) { $.fn.alert = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
var data = $this.data('bs.alert') var data = $this.data('bs.alert')
   
if (!data) $this.data('bs.alert', (data = new Alert(this))) if (!data) $this.data('bs.alert', (data = new Alert(this)))
if (typeof option == 'string') data[option].call($this) if (typeof option == 'string') data[option].call($this)
}) })
} }
   
$.fn.alert.Constructor = Alert $.fn.alert.Constructor = Alert
   
   
// ALERT NO CONFLICT // ALERT NO CONFLICT
// ================= // =================
   
$.fn.alert.noConflict = function () { $.fn.alert.noConflict = function () {
$.fn.alert = old $.fn.alert = old
return this return this
} }
   
   
// ALERT DATA-API // ALERT DATA-API
// ============== // ==============
   
$(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
   
}(jQuery); }(jQuery);
   
/* ======================================================================== /* ========================================================================
* Bootstrap: button.js v3.0.3 * Bootstrap: button.js v3.0.3
* http://getbootstrap.com/javascript/#buttons * http://getbootstrap.com/javascript/#buttons
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
* ======================================================================== */ * ======================================================================== */
   
   
+function ($) { "use strict"; +function ($) { "use strict";
   
// BUTTON PUBLIC CLASS DEFINITION // BUTTON PUBLIC CLASS DEFINITION
// ============================== // ==============================
   
var Button = function (element, options) { var Button = function (element, options) {
this.$element = $(element) this.$element = $(element)
this.options = $.extend({}, Button.DEFAULTS, options) this.options = $.extend({}, Button.DEFAULTS, options)
} }
   
Button.DEFAULTS = { Button.DEFAULTS = {
loadingText: 'loading...' loadingText: 'loading...'
} }
   
Button.prototype.setState = function (state) { Button.prototype.setState = function (state) {
var d = 'disabled' var d = 'disabled'
var $el = this.$element var $el = this.$element
var val = $el.is('input') ? 'val' : 'html' var val = $el.is('input') ? 'val' : 'html'
var data = $el.data() var data = $el.data()
   
state = state + 'Text' state = state + 'Text'
   
if (!data.resetText) $el.data('resetText', $el[val]()) if (!data.resetText) $el.data('resetText', $el[val]())
   
$el[val](data[state] || this.options[state]) $el[val](data[state] || this.options[state])
   
// push to event loop to allow forms to submit // push to event loop to allow forms to submit
setTimeout(function () { setTimeout(function () {
state == 'loadingText' ? state == 'loadingText' ?
$el.addClass(d).attr(d, d) : $el.addClass(d).attr(d, d) :
$el.removeClass(d).removeAttr(d); $el.removeClass(d).removeAttr(d);
}, 0) }, 0)
} }
   
Button.prototype.toggle = function () { Button.prototype.toggle = function () {
var $parent = this.$element.closest('[data-toggle="buttons"]') var $parent = this.$element.closest('[data-toggle="buttons"]')
var changed = true var changed = true
   
if ($parent.length) { if ($parent.length) {
var $input = this.$element.find('input') var $input = this.$element.find('input')
if ($input.prop('type') === 'radio') { if ($input.prop('type') === 'radio') {
// see if clicking on current one // see if clicking on current one
if ($input.prop('checked') && this.$element.hasClass('active')) if ($input.prop('checked') && this.$element.hasClass('active'))
changed = false changed = false
else else
$parent.find('.active').removeClass('active') $parent.find('.active').removeClass('active')
} }
if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change') if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
} }
   
if (changed) this.$element.toggleClass('active') if (changed) this.$element.toggleClass('active')
} }
   
   
// BUTTON PLUGIN DEFINITION // BUTTON PLUGIN DEFINITION
// ======================== // ========================
   
var old = $.fn.button var old = $.fn.button
   
$.fn.button = function (option) { $.fn.button = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
var data = $this.data('bs.button') var data = $this.data('bs.button')
var options = typeof option == 'object' && option var options = typeof option == 'object' && option
   
if (!data) $this.data('bs.button', (data = new Button(this, options))) if (!data) $this.data('bs.button', (data = new Button(this, options)))
   
if (option == 'toggle') data.toggle() if (option == 'toggle') data.toggle()
else if (option) data.setState(option) else if (option) data.setState(option)
}) })
} }
   
$.fn.button.Constructor = Button $.fn.button.Constructor = Button
   
   
// BUTTON NO CONFLICT // BUTTON NO CONFLICT
// ================== // ==================
   
$.fn.button.noConflict = function () { $.fn.button.noConflict = function () {
$.fn.button = old $.fn.button = old
return this return this
} }
   
   
// BUTTON DATA-API // BUTTON DATA-API
// =============== // ===============
   
$(document).on('click.bs.button.data-api', '[data-toggle^=button]', function (e) { $(document).on('click.bs.button.data-api', '[data-toggle^=button]', function (e) {
var $btn = $(e.target) var $btn = $(e.target)
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
$btn.button('toggle') $btn.button('toggle')
e.preventDefault() e.preventDefault()
}) })
   
}(jQuery); }(jQuery);
   
/* ======================================================================== /* ========================================================================
* Bootstrap: carousel.js v3.0.3 * Bootstrap: carousel.js v3.0.3
* http://getbootstrap.com/javascript/#carousel * http://getbootstrap.com/javascript/#carousel
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
* ======================================================================== */ * ======================================================================== */
   
   
+function ($) { "use strict"; +function ($) { "use strict";
   
// CAROUSEL CLASS DEFINITION // CAROUSEL CLASS DEFINITION
// ========================= // =========================
   
var Carousel = function (element, options) { var Carousel = function (element, options) {
this.$element = $(element) this.$element = $(element)
this.$indicators = this.$element.find('.carousel-indicators') this.$indicators = this.$element.find('.carousel-indicators')
this.options = options this.options = options
this.paused = this.paused =
this.sliding = this.sliding =
this.interval = this.interval =
this.$active = this.$active =
this.$items = null this.$items = null
   
this.options.pause == 'hover' && this.$element this.options.pause == 'hover' && this.$element
.on('mouseenter', $.proxy(this.pause, this)) .on('mouseenter', $.proxy(this.pause, this))
.on('mouseleave', $.proxy(this.cycle, this)) .on('mouseleave', $.proxy(this.cycle, this))
} }
   
Carousel.DEFAULTS = { Carousel.DEFAULTS = {
interval: 5000 interval: 5000
, pause: 'hover' , pause: 'hover'
, wrap: true , wrap: true
} }
   
Carousel.prototype.cycle = function (e) { Carousel.prototype.cycle = function (e) {
e || (this.paused = false) e || (this.paused = false)
   
this.interval && clearInterval(this.interval) this.interval && clearInterval(this.interval)
   
this.options.interval this.options.interval
&& !this.paused && !this.paused
&& (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
   
return this return this
} }
   
Carousel.prototype.getActiveIndex = function () { Carousel.prototype.getActiveIndex = function () {
this.$active = this.$element.find('.item.active') this.$active = this.$element.find('.item.active')
this.$items = this.$active.parent().children() this.$items = this.$active.parent().children()
   
return this.$items.index(this.$active) return this.$items.index(this.$active)
} }
   
Carousel.prototype.to = function (pos) { Carousel.prototype.to = function (pos) {
var that = this var that = this
var activeIndex = this.getActiveIndex() var activeIndex = this.getActiveIndex()
   
if (pos > (this.$items.length - 1) || pos < 0) return if (pos > (this.$items.length - 1) || pos < 0) return
   
if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) })
if (activeIndex == pos) return this.pause().cycle() if (activeIndex == pos) return this.pause().cycle()
   
return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos])) return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
} }
   
Carousel.prototype.pause = function (e) { Carousel.prototype.pause = function (e) {
e || (this.paused = true) e || (this.paused = true)
   
if (this.$element.find('.next, .prev').length && $.support.transition.end) { if (this.$element.find('.next, .prev').length && $.support.transition.end) {
this.$element.trigger($.support.transition.end) this.$element.trigger($.support.transition.end)
this.cycle(true) this.cycle(true)
} }
   
this.interval = clearInterval(this.interval) this.interval = clearInterval(this.interval)
   
return this return this
} }
   
Carousel.prototype.next = function () { Carousel.prototype.next = function () {
if (this.sliding) return if (this.sliding) return
return this.slide('next') return this.slide('next')
} }
   
Carousel.prototype.prev = function () { Carousel.prototype.prev = function () {
if (thi