diff options
Diffstat (limited to 'admportal/public/javascripts/bootstrap-submenu.js')
-rw-r--r-- | admportal/public/javascripts/bootstrap-submenu.js | 185 |
1 files changed, 0 insertions, 185 deletions
diff --git a/admportal/public/javascripts/bootstrap-submenu.js b/admportal/public/javascripts/bootstrap-submenu.js deleted file mode 100644 index 7c8e411b..00000000 --- a/admportal/public/javascripts/bootstrap-submenu.js +++ /dev/null @@ -1,185 +0,0 @@ -/*! - * Bootstrap-submenu v2.0.3 (https://vsn4ik.github.io/bootstrap-submenu/) - * Copyright 2015 Vasily A. (https://github.com/vsn4ik) - * Licensed under the MIT license - */ - -/** - * $.inArray: friends with IE8. Use Array.prototype.indexOf in future. - * $.proxy: friends with IE8. Use Function.prototype.bind in future. - */ - -'use strict'; - -(function(factory) { - if (typeof define == 'function' && define.amd) { - // AMD. Register as an anonymous module - define(['jquery'], factory); - } - else if (typeof exports == 'object') { - // Node/CommonJS - module.exports = factory(require('jquery')); - } - else { - // Browser globals - factory(jQuery); - } -})(function($) { - function Item(element) { - this.$element = $(element); - this.$menu = this.$element.closest('.dropdown-menu'); - this.$main = this.$menu.parent(); - this.$items = this.$menu.children('.dropdown-submenu'); - - this.init(); - } - - Item.prototype = { - init: function() { - this.$element.on('keydown', $.proxy(this, 'keydown')); - }, - close: function() { - this.$main.removeClass('open'); - this.$items.trigger('hide.bs.submenu'); - }, - keydown: function(event) { - // 27: Esc - - if (event.keyCode == 27) { - event.stopPropagation(); - - this.close(); - this.$main.children('a, button').trigger('focus'); - } - } - }; - - function SubmenuItem(element) { - this.$element = $(element); - this.$main = this.$element.parent(); - this.$menu = this.$main.children('.dropdown-menu'); - this.$subs = this.$main.siblings('.dropdown-submenu'); - this.$items = this.$menu.children('.dropdown-submenu'); - - this.init(); - } - - $.extend(SubmenuItem.prototype, Item.prototype, { - init: function() { - this.$element.on({ - click: $.proxy(this, 'click'), - keydown: $.proxy(this, 'keydown') - }); - - this.$main.on('hide.bs.submenu', $.proxy(this, 'hide')); - }, - click: function(event) { - // Fix a[href="#"]. For community - event.preventDefault(); - - event.stopPropagation(); - - this.toggle(); - }, - hide: function(event) { - // Stop event bubbling - event.stopPropagation(); - - this.close(); - }, - open: function() { - this.$main.addClass('open'); - this.$subs.trigger('hide.bs.submenu'); - }, - toggle: function() { - if (this.$main.hasClass('open')) { - this.close(); - } - else { - this.open(); - } - }, - keydown: function(event) { - // 13: Return, 32: Spacebar - - if (event.keyCode == 32) { - // Off vertical scrolling - event.preventDefault(); - } - - if ($.inArray(event.keyCode, [13, 32]) != -1) { - this.toggle(); - } - } - }); - - function Submenupicker(element) { - this.$element = $(element); - this.$main = this.$element.parent(); - this.$menu = this.$main.children('.dropdown-menu'); - this.$items = this.$menu.children('.dropdown-submenu'); - - this.init(); - } - - Submenupicker.prototype = { - init: function() { - this.$menu.off('keydown.bs.dropdown.data-api'); - this.$menu.on('keydown', $.proxy(this, 'itemKeydown')); - - this.$menu.find('li > a').each(function() { - new Item(this); - }); - - this.$menu.find('.dropdown-submenu > a').each(function() { - new SubmenuItem(this); - }); - - this.$main.on('hidden.bs.dropdown', $.proxy(this, 'hidden')); - }, - hidden: function() { - this.$items.trigger('hide.bs.submenu'); - }, - itemKeydown: function(event) { - // 38: Arrow up, 40: Arrow down - - if ($.inArray(event.keyCode, [38, 40]) != -1) { - // Off vertical scrolling - event.preventDefault(); - - event.stopPropagation(); - - var $items = this.$menu.find('li:not(.disabled):visible > a'); - var index = $items.index(event.target); - - if (event.keyCode == 38 && index !== 0) { - index--; - } - else if (event.keyCode == 40 && index !== $items.length - 1) { - index++; - } - else { - return; - } - - $items.eq(index).trigger('focus'); - } - } - }; - - // For AMD/Node/CommonJS used elements (optional) - // http://learn.jquery.com/jquery-ui/environments/amd/ - return $.fn.submenupicker = function(elements) { - var $elements = this instanceof $ ? this : $(elements); - - return $elements.each(function() { - var data = $.data(this, 'bs.submenu'); - - if (!data) { - data = new Submenupicker(this); - - $.data(this, 'bs.submenu', data); - } - }); - }; -}); |