Files
PyRIGS/RIGS/static/js/dropdown.js
2020-03-07 23:00:45 +00:00

1 line
2.3 KiB
JavaScript
Executable File

!function(d){"use strict";function n(t){d(t).on("click.bs.dropdown",this.toggle)}var i='[data-toggle="dropdown"]';function s(t){var e=t.attr("data-target"),o=(e=e||(e=t.attr("href"))&&/#[A-Za-z]/.test(e)&&e.replace(/.*(?=#[^\s]*$)/,""))&&d(e);return o&&o.length?o:t.parent()}function a(n){n&&3===n.which||(d(".dropdown-backdrop").remove(),d(i).each(function(){var t=d(this),e=s(t),o={relatedTarget:this};e.hasClass("open")&&(n&&"click"==n.type&&/input|textarea/i.test(n.target.tagName)&&d.contains(e[0],n.target)||(e.trigger(n=d.Event("hide.bs.dropdown",o)),n.isDefaultPrevented()||(t.attr("aria-expanded","false"),e.removeClass("open").trigger(d.Event("hidden.bs.dropdown",o)))))}))}n.VERSION="3.3.7",n.prototype.toggle=function(t){var e=d(this);if(!e.is(".disabled, :disabled")){var o=s(e),n=o.hasClass("open");if(a(),!n){"ontouchstart"in document.documentElement&&!o.closest(".navbar-nav").length&&d(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(d(this)).on("click",a);var r={relatedTarget:this};if(o.trigger(t=d.Event("show.bs.dropdown",r)),t.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),o.toggleClass("open").trigger(d.Event("shown.bs.dropdown",r))}return!1}},n.prototype.keydown=function(t){if(/(38|40|27|32)/.test(t.which)&&!/input|textarea/i.test(t.target.tagName)){var e=d(this);if(t.preventDefault(),t.stopPropagation(),!e.is(".disabled, :disabled")){var o=s(e),n=o.hasClass("open");if(!n&&27!=t.which||n&&27==t.which)return 27==t.which&&o.find(i).trigger("focus"),e.trigger("click");var r=o.find(".dropdown-menu li:not(.disabled):visible a");if(r.length){var a=r.index(t.target);38==t.which&&0<a&&a--,40==t.which&&a<r.length-1&&a++,~a||(a=0),r.eq(a).trigger("focus")}}}};var t=d.fn.dropdown;d.fn.dropdown=function(o){return this.each(function(){var t=d(this),e=t.data("bs.dropdown");e||t.data("bs.dropdown",e=new n(this)),"string"==typeof o&&e[o].call(t)})},d.fn.dropdown.Constructor=n,d.fn.dropdown.noConflict=function(){return d.fn.dropdown=t,this},d(document).on("click.bs.dropdown.data-api",a).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",i,n.prototype.toggle).on("keydown.bs.dropdown.data-api",i,n.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",n.prototype.keydown)}(jQuery);