src/pyams_skin/resources/js/myams-menus.min.js
changeset 474 7bb070e90138
equal deleted inserted replaced
-1:000000000000 474:7bb070e90138
       
     1 !function(d,e){var t=e.MyAMS;d.fn.extend({contextMenu:function(c){function n(e,n,i){var t=d(window)[n](),a=d(c.menuSelector)[n](),s=e;return t<e+a&&a<e&&(s-=a),s}return this.each(function(){d("a",d(c.menuSelector)).each(function(){d(this).data("ams-context-menu",!0)}),d(this).on("contextmenu",function(e){if(!e.ctrlKey)return d(c.menuSelector).data("invokedOn",d(e.target)).show().css({position:"fixed",left:n(e.clientX,"width")-10,top:n(e.clientY,"height")-10}).off("click").on("click",function(e){d(this).hide();var n=d(this).data("invokedOn"),i=d(e.target);c.menuSelected.call(this,n,i),t.event.stop(e)}),!1}),d(document).click(function(){d(c.menuSelector).hide()})})},myams_menu:function(e){var o=d.extend({},{accordion:!0,speed:200,closedSign:'<em class="fa fa-angle-down"></em>',openedSign:'<em class="fa fa-angle-up"></em>'},e),i=d(this);i.find("LI").each(function(){var e=d(this);if(0<e.find("UL").size()){e.find("A:first").append("<b class='collapse-sign'>"+o.closedSign+"</b>");var n=e.find("A:first");"#"===n.attr("href")&&n.click(function(){return!1})}}),i.find("LI.active").each(function(){var e=d(this).parents("UL"),n=e.parent("LI");e.slideDown(o.speed),n.find("b:first").html(o.openedSign),n.addClass("open")}),i.find("LI A").on("click",function(){var e=d(this);if(!e.hasClass("active")){var t=e.attr("href").replace(/^#/,""),a=e.parent().find("UL");if(o.accordion){var s=e.parent().parents("UL"),c=i.find("UL:visible");c.each(function(n){var i=!0;if(s.each(function(e){if(s[e]===c[n])return i=!1}),i&&a!==c[n]){var e=d(c[n]);!t&&e.hasClass("active")||e.slideUp(o.speed,function(){d(this).parent("LI").removeClass("open").find("B:first").delay(o.speed).html(o.closedSign)})}})}var n=e.parent().find("UL:first");t||!n.is(":visible")||n.hasClass("active")?n.slideDown(o.speed,function(){e.parent("LI").addClass("open").find("B:first").delay(o.speed).html(o.openedSign)}):n.slideUp(o.speed,function(){e.parent("LI").removeClass("open").find("B:first").delay(o.speed).html(o.closedSign)})}})}})}(jQuery,this);