summaryrefslogtreecommitdiffstats
path: root/web/pub/bootstrap/js/bootstrap-dropdown.js
diff options
context:
space:
mode:
authorAsbjørn Sloth Tønnesen <asbjorn@asbjorn.biz>2012-07-10 19:51:16 +0000
committerAsbjørn Sloth Tønnesen <asbjorn@asbjorn.biz>2012-07-10 19:51:16 +0000
commitcf7ed2625456a5e619f68408f8ebfe78f443a672 (patch)
treeae6787275ea9b9b8bd29e320c55bb3dbcbb62d30 /web/pub/bootstrap/js/bootstrap-dropdown.js
parent5e54ba7aa27b95d1e0568693915e735ab8058ff7 (diff)
downloadlabitrack-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.js100
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