src/pyams_skin/resources/js/myams-menus.js
changeset 566 a1707c607eec
parent 565 318533413200
child 567 bca1726b1d85
--- a/src/pyams_skin/resources/js/myams-menus.js	Sun Jul 19 02:02:20 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,163 +0,0 @@
-/**
- * MyAMS menus management
- */
-(function($, globals) {
-
-	var ams = globals.MyAMS;
-
-	$.fn.extend({
-
-		/**
-		 * Context menu handler
-		 */
-		contextMenu: function(settings) {
-
-			function getMenuPosition(mouse, direction, scrollDir) {
-				var win = $(window)[direction](),
-					menu = $(settings.menuSelector)[direction](),
-					position = mouse;
-				// opening menu would pass the side of the page
-				if (mouse + menu > win && menu < mouse) {
-					position -= menu;
-				}
-				return position;
-			}
-
-			return this.each(function () {
-
-				// Open context menu
-				$('a', $(settings.menuSelector)).each(function() {
-					$(this).data('ams-context-menu', true);
-				});
-				$(this).on("contextmenu", function (e) {
-					// return native menu if pressing control
-					if (e.ctrlKey) {
-						return;
-					}
-					// open menu
-					$(settings.menuSelector).data("invokedOn", $(e.target))
-											.show()
-											.css({
-												position: 'fixed',
-												left: getMenuPosition(e.clientX, 'width', 'scrollLeft') - 10,
-												top: getMenuPosition(e.clientY, 'height', 'scrollTop') - 10
-											})
-											.off('click')
-											.on('click', function (e) {
-												$(this).hide();
-												var invokedOn = $(this).data("invokedOn");
-												var selectedMenu = $(e.target);
-												settings.menuSelected.call(this, invokedOn, selectedMenu);
-												ams.event && ams.event.stop(e);
-											});
-					return false;
-				});
-
-				// make sure menu closes on any click
-				$(document).click(function () {
-					$(settings.menuSelector).hide();
-				});
-			});
-		},
-
-		/*
-		 * Main menus manager
-		 */
-		myams_menu: function(options) {
-			// Extend our default options with those provided
-			var defaults = {
-				accordion : true,
-				speed : 200,
-				closedSign : '<em class="fa fa-angle-down"></em>',
-				openedSign : '<em class="fa fa-angle-up"></em>'
-			};
-			var settings = $.extend({}, defaults, options);
-
-			// Assign current element to variable, in this case is UL element
-			var menu = $(this);
-
-			// Add a mark [+] to a multilevel menu
-			menu.find("LI").each(function() {
-				var menuItem = $(this);
-				if (menuItem.find("UL").size() > 0) {
-
-					// add the multilevel sign next to the link
-					menuItem.find("A:first")
-							 .append("<b class='collapse-sign'>" + settings.closedSign + "</b>");
-
-					// avoid jumping to the top of the page when the href is an #
-					var firstLink = menuItem.find("A:first");
-					if (firstLink.attr('href') === "#") {
-						firstLink.click(function() {
-							return false;
-						});
-					}
-				}
-			});
-
-			// Open active level
-			menu.find("LI.active").each(function() {
-				var activeParent = $(this).parents('UL');
-				var activeItem = activeParent.parent('LI');
-				activeParent.slideDown(settings.speed);
-				activeItem.find("b:first").html(settings.openedSign);
-				activeItem.addClass("open");
-			});
-
-			menu.find("LI A").on('click', function() {
-				var link = $(this);
-				if (link.hasClass('active')) {
-					return;
-				}
-				var href = link.attr('href').replace(/^#/,'');
-				var parentUL = link.parent().find("UL");
-				if (settings.accordion) {
-					var parents = link.parent().parents("UL");
-					var visible = menu.find("UL:visible");
-					visible.each(function(visibleIndex) {
-						var close = true;
-						parents.each(function(parentIndex) {
-							if (parents[parentIndex] === visible[visibleIndex]) {
-								close = false;
-								return false;
-							}
-						});
-						if (close) {
-							if (parentUL !== visible[visibleIndex]) {
-								var visibleItem = $(visible[visibleIndex]);
-								if (href || !visibleItem.hasClass('active')) {
-									visibleItem.slideUp(settings.speed, function () {
-										$(this).parent("LI")
-											   .removeClass('open')
-											   .find("B:first")
-											   .delay(settings.speed)
-											   .html(settings.closedSign);
-									});
-								}
-							}
-						}
-					});
-				}
-				var firstUL = link.parent().find("UL:first");
-				if (!href && firstUL.is(":visible") && !firstUL.hasClass("active")) {
-					firstUL.slideUp(settings.speed, function() {
-						link.parent("LI")
-							.removeClass("open")
-							.find("B:first")
-							.delay(settings.speed)
-							.html(settings.closedSign);
-					});
-				} else /*if (link.attr('href') !== location.hash)*/ {
-					firstUL.slideDown(settings.speed, function() {
-						link.parent("LI")
-							.addClass("open")
-							.find("B:first")
-							.delay(settings.speed)
-							.html(settings.openedSign);
-					});
-				}
-			});
-		}
-	});
-
-})(jQuery, this);