portal agent: make it possible to create publik menu from pages (#47550)

This commit is contained in:
Frédéric Péters 2020-07-27 21:42:48 +02:00
parent 2cf101ad03
commit 5b5c2ae7e7
1 changed files with 28 additions and 1 deletions

View File

@ -68,7 +68,34 @@ $(function() {
$(document).trigger('publik:menu-loaded');
}
if (window.sessionStorage.hobo_environment &&
if (typeof PUBLIK_EXPLICIT_MENU !== 'undefined' && PUBLIK_EXPLICIT_MENU) {
var $sidepage_menu = $('#sidepage-menu');
var has_menu = ($sidepage_menu.length > 0);
if (has_menu) {
$sidepage_menu.empty();
} else {
$sidepage_menu = $('<ul id="sidepage-menu">');
}
$(PUBLIK_MENU_ITEMS).each(function(index, element) {
var li = $('<li><a href="#">' + element.label + '</a></li>').appendTo($sidepage_menu);
$(li).find('a').attr('href', element.url);
$(li).find('a').attr('title', element.label);
if (element.icon) {
$(li).find('a').css('background-image', 'url(' + element.icon + ')');
}
$(li).find('a').addClass('icon-' + element.slug);
if (element.sub === true) {
$(li).addClass('sub');
}
if (window.location.href.indexOf(element.url) == 0) {
$(li).addClass('active');
}
});
if (!has_menu) {
$sidepage_menu.appendTo('#sidepage');
}
$(document).trigger('publik:menu-loaded');
} else if (window.sessionStorage.hobo_environment &&
parseInt(window.sessionStorage.hobo_environment_timestamp) > Date.now()-600000) {
COMBO_KNOWN_SERVICES = JSON.parse(window.sessionStorage.hobo_environment);
$(document).trigger('publik:environment-loaded', {services: COMBO_KNOWN_SERVICES});