diff options
author | Asbjørn Sloth Tønnesen <asbjorn@asbjorn.biz> | 2012-07-10 19:51:16 +0000 |
---|---|---|
committer | Asbjørn Sloth Tønnesen <asbjorn@asbjorn.biz> | 2012-07-10 19:51:16 +0000 |
commit | cf7ed2625456a5e619f68408f8ebfe78f443a672 (patch) | |
tree | ae6787275ea9b9b8bd29e320c55bb3dbcbb62d30 /web/pub/bootstrap/js/bootstrap-dropdown.js | |
parent | 5e54ba7aa27b95d1e0568693915e735ab8058ff7 (diff) | |
download | labitrack-cf7ed2625456a5e619f68408f8ebfe78f443a672.tar.gz labitrack-cf7ed2625456a5e619f68408f8ebfe78f443a672.tar.xz labitrack-cf7ed2625456a5e619f68408f8ebfe78f443a672.zip |
upgrade to bootstrap 2
Signed-off-by: Asbjørn Sloth Tønnesen <asbjorn@asbjorn.biz>
Diffstat (limited to 'web/pub/bootstrap/js/bootstrap-dropdown.js')
-rw-r--r-- | web/pub/bootstrap/js/bootstrap-dropdown.js | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/web/pub/bootstrap/js/bootstrap-dropdown.js b/web/pub/bootstrap/js/bootstrap-dropdown.js new file mode 100644 index 0000000..454a968 --- /dev/null +++ b/web/pub/bootstrap/js/bootstrap-dropdown.js @@ -0,0 +1,100 @@ +/* ============================================================ + * bootstrap-dropdown.js v2.0.4 + * http://twitter.github.com/bootstrap/javascript.html#dropdowns + * ============================================================ + * Copyright 2012 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 ($) { + + "use strict"; // jshint ;_; + + + /* DROPDOWN CLASS DEFINITION + * ========================= */ + + var toggle = '[data-toggle="dropdown"]' + , Dropdown = function (element) { + var $el = $(element).on('click.dropdown.data-api', this.toggle) + $('html').on('click.dropdown.data-api', function () { + $el.parent().removeClass('open') + }) + } + + Dropdown.prototype = { + + constructor: Dropdown + + , toggle: function (e) { + var $this = $(this) + , $parent + , selector + , isActive + + if ($this.is('.disabled, :disabled')) return + + selector = $this.attr('data-target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + $parent.length || ($parent = $this.parent()) + + isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) $parent.toggleClass('open') + + return false + } + + } + + function clearMenus() { + $(toggle).parent().removeClass('open') + } + + + /* DROPDOWN PLUGIN DEFINITION + * ========================== */ + + $.fn.dropdown = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('dropdown') + if (!data) $this.data('dropdown', (data = new Dropdown(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.dropdown.Constructor = Dropdown + + + /* APPLY TO STANDARD DROPDOWN ELEMENTS + * =================================== */ + + $(function () { + $('html').on('click.dropdown.data-api', clearMenus) + $('body') + .on('click.dropdown', '.dropdown form', function (e) { e.stopPropagation() }) + .on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle) + }) + +}(window.jQuery);
\ No newline at end of file |