Use standardjs
This commit is contained in:
@@ -1,137 +1,116 @@
|
||||
var PurpleMine = PurpleMine || {};
|
||||
var PurpleMine = PurpleMine || {}
|
||||
|
||||
PurpleMine.MenuCollapse = (function()
|
||||
{
|
||||
"use strict";
|
||||
PurpleMine.MenuCollapse = (function () {
|
||||
'use strict'
|
||||
|
||||
var self;
|
||||
var instance
|
||||
var translations = {
|
||||
en: {
|
||||
topMenuToggler : "Expand/collapse top menu"
|
||||
topMenuToggler: 'Expand/collapse top menu'
|
||||
},
|
||||
pl: {
|
||||
topMenuToggler : "Zwiń/rozwiń górne menu"
|
||||
topMenuToggler: 'Zwiń/rozwiń górne menu'
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function MenuCollapse()
|
||||
{
|
||||
if (self)
|
||||
{
|
||||
return self;
|
||||
function MenuCollapse () {
|
||||
if (instance) {
|
||||
return instance
|
||||
}
|
||||
|
||||
self = this;
|
||||
instance = this
|
||||
|
||||
this.lang = document.documentElement.lang;
|
||||
this.lang = document.documentElement.lang
|
||||
|
||||
if (typeof translations[this.lang] === "undefined")
|
||||
{
|
||||
this.lang = "en";
|
||||
if (typeof translations[this.lang] === 'undefined') {
|
||||
this.lang = 'en'
|
||||
}
|
||||
|
||||
this._ = translations[this.lang];
|
||||
this._ = translations[this.lang]
|
||||
|
||||
this.menus = {
|
||||
top: {
|
||||
$el: $("#top-menu")
|
||||
$el: $('#top-menu')
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
for (var menu in this.menus)
|
||||
{
|
||||
if (this.menus.hasOwnProperty(menu) &&
|
||||
this.menus[menu].$el.length > 0)
|
||||
{
|
||||
handleMenu(menu);
|
||||
for (var menu in this.menus) {
|
||||
if (this.menus.hasOwnProperty(menu) && this.menus[menu].$el.length > 0) {
|
||||
handleMenu(menu)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function handleMenu(menu)
|
||||
{
|
||||
if ("none" === self.menus[menu].$el.css("maxHeight"))
|
||||
{
|
||||
return false;
|
||||
function handleMenu (menu) {
|
||||
if (instance.menus[menu].$el.css('maxHeight') === 'none') {
|
||||
return false
|
||||
}
|
||||
|
||||
self.menus[menu].collapsed = true;
|
||||
instance.menus[menu].collapsed = true
|
||||
|
||||
if (window.localStorage)
|
||||
{
|
||||
self.menus[menu].collapsed =
|
||||
null === localStorage.getItem(getMenuStorageKey(menu));
|
||||
if (window.localStorage) {
|
||||
instance.menus[menu].collapsed =
|
||||
localStorage.getItem(getMenuStorageKey(menu)) === null
|
||||
}
|
||||
|
||||
buildToggleButton(menu);
|
||||
buildToggleButton(menu)
|
||||
|
||||
if (false === self.isCollapsed(menu))
|
||||
{
|
||||
self.expandMenu(menu);
|
||||
if (instance.isCollapsed(menu) === false) {
|
||||
instance.expandMenu(menu)
|
||||
}
|
||||
}
|
||||
|
||||
function getMenuStorageKey(menu)
|
||||
{
|
||||
return "PurpleMine:" + menu + "MenuExpanded";
|
||||
function getMenuStorageKey (menu) {
|
||||
return 'PurpleMine:' + menu + 'MenuExpanded'
|
||||
}
|
||||
|
||||
function buildToggleButton(menu)
|
||||
{
|
||||
var togglerClass = menu + "-menu-toggler",
|
||||
togglerLabel = self._[menu + "MenuToggler"],
|
||||
togglerHtml;
|
||||
function buildToggleButton (menu) {
|
||||
var togglerClass = menu + '-menu-toggler'
|
||||
var togglerLabel = instance._[menu + 'MenuToggler']
|
||||
var togglerHtml = '<a href="javascript:;" class="' +
|
||||
togglerClass +
|
||||
'" title="' +
|
||||
togglerLabel +
|
||||
'"></a>'
|
||||
instance.menus[menu].$toggler = $(togglerHtml)
|
||||
|
||||
togglerHtml = "<a href=\"javascript:;\" class=\"" + togglerClass +
|
||||
"\" title=\"" + togglerLabel + "\"></a>";
|
||||
self.menus[menu].$toggler = $(togglerHtml);
|
||||
|
||||
self.menus[menu].$el.prepend(self.menus[menu].$toggler);
|
||||
self.menus[menu].$toggler.on("click", { menu: menu }, self.toggleMenu);
|
||||
instance.menus[menu].$el.prepend(instance.menus[menu].$toggler)
|
||||
instance.menus[menu].$toggler.on('click', { menu: menu }, instance.toggleMenu)
|
||||
}
|
||||
|
||||
MenuCollapse.prototype.toggleMenu = function(event)
|
||||
{
|
||||
var menu = event.data.menu || "";
|
||||
MenuCollapse.prototype.toggleMenu = function (event) {
|
||||
var menu = event.data.menu || ''
|
||||
|
||||
if (self.isCollapsed(menu))
|
||||
{
|
||||
self.expandMenu(menu);
|
||||
if (instance.isCollapsed(menu)) {
|
||||
instance.expandMenu(menu)
|
||||
} else {
|
||||
instance.collapseMenu(menu)
|
||||
}
|
||||
else
|
||||
{
|
||||
self.collapseMenu(menu);
|
||||
}
|
||||
|
||||
MenuCollapse.prototype.isCollapsed = function (menu) {
|
||||
return this.menus[menu].collapsed
|
||||
}
|
||||
|
||||
MenuCollapse.prototype.expandMenu = function (menu) {
|
||||
this.menus[menu].$el.addClass('expanded')
|
||||
this.menus[menu].$toggler.addClass('expanded')
|
||||
this.menus[menu].collapsed = false
|
||||
|
||||
if (window.localStorage) {
|
||||
localStorage.setItem(getMenuStorageKey(menu), 'x')
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
MenuCollapse.prototype.isCollapsed = function(menu)
|
||||
{
|
||||
return this.menus[menu].collapsed;
|
||||
};
|
||||
MenuCollapse.prototype.collapseMenu = function (menu) {
|
||||
this.menus[menu].$el.removeClass('expanded')
|
||||
this.menus[menu].$toggler.removeClass('expanded')
|
||||
this.menus[menu].collapsed = true
|
||||
|
||||
MenuCollapse.prototype.expandMenu = function(menu)
|
||||
{
|
||||
this.menus[menu].$el.addClass("expanded");
|
||||
this.menus[menu].$toggler.addClass("expanded");
|
||||
this.menus[menu].collapsed = false;
|
||||
|
||||
if (window.localStorage)
|
||||
{
|
||||
localStorage.setItem(getMenuStorageKey(menu), "x");
|
||||
if (window.localStorage) {
|
||||
localStorage.removeItem(getMenuStorageKey(menu))
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
MenuCollapse.prototype.collapseMenu = function(menu)
|
||||
{
|
||||
this.menus[menu].$el.removeClass("expanded");
|
||||
this.menus[menu].$toggler.removeClass("expanded");
|
||||
this.menus[menu].collapsed = true;
|
||||
|
||||
if (window.localStorage)
|
||||
{
|
||||
localStorage.removeItem(getMenuStorageKey(menu));
|
||||
}
|
||||
};
|
||||
|
||||
return MenuCollapse;
|
||||
}());
|
||||
return MenuCollapse
|
||||
}())
|
||||
|
||||
Reference in New Issue
Block a user