Theme: Side Menu updates.

This commit is contained in:
Nate 2020-05-27 21:24:07 -06:00
parent 71c90a59c8
commit 6f33204316
8 changed files with 168 additions and 73 deletions

View File

@ -611,8 +611,9 @@
}
elseif ($category == "theme" && $subcategory == "menu_side_state" && $name == "text" ) {
echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
echo " <option value='contracted'>".$text['option-contracted']."</option>\n";
echo " <option value='expanded' ".($default_setting_value == "expanded" ? "selected='selected'" : null).">".$text['option-expanded']."</option>\n";
echo " <option value='expanded'>".$text['option-expanded']."</option>\n";
echo " <option value='contracted' ".($default_setting_value == "contracted" ? "selected='selected'" : null).">".$text['option-contracted']."</option>\n";
echo " <option value='hidden' ".($default_setting_value == "hidden" ? "selected='selected'" : null).">".$text['option-hidden']."</option>\n";
echo " </select>\n";
}
elseif ($category == "theme" && $subcategory == "menu_side_toggle" && $name == "text" ) {

View File

@ -668,8 +668,9 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
}
elseif ($category == "theme" && $subcategory == "menu_side_state" && $name == "text" ) {
echo " <select class='formfld' id='domain_setting_value' name='domain_setting_value'>\n";
echo " <option value='contracted'>".$text['option-contracted']."</option>\n";
echo " <option value='expanded' ".($row['domain_setting_value'] == "expanded" ? "selected='selected'" : null).">".$text['option-expanded']."</option>\n";
echo " <option value='expanded'>".$text['option-expanded']."</option>\n";
echo " <option value='contracted' ".($row['domain_setting_value'] == "contracted" ? "selected='selected'" : null).">".$text['option-contracted']."</option>\n";
echo " <option value='hidden' ".($row['domain_setting_value'] == "hidden" ? "selected='selected'" : null).">".$text['option-hidden']."</option>\n";
echo " </select>\n";
}
elseif ($category == "theme" && $subcategory == "menu_side_toggle" && $name == "text" ) {

View File

@ -630,8 +630,9 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
}
elseif ($user_setting_category == "theme" && $user_setting_subcategory == "menu_side_state" && $user_setting_name == "text" ) {
echo " <select class='formfld' id='user_setting_value' name='user_setting_value'>\n";
echo " <option value='contracted'>".$text['option-contracted']."</option>\n";
echo " <option value='expanded' ".($user_setting_value == "expanded" ? "selected='selected'" : null).">".$text['option-expanded']."</option>\n";
echo " <option value='expanded'>".$text['option-expanded']."</option>\n";
echo " <option value='contracted' ".($user_setting_value == "contracted" ? "selected='selected'" : null).">".$text['option-contracted']."</option>\n";
echo " <option value='hidden' ".($user_setting_value == "hidden" ? "selected='selected'" : null).">".$text['option-hidden']."</option>\n";
echo " </select>\n";
}
elseif ($user_setting_category == "theme" && $user_setting_subcategory == "menu_side_toggle" && $user_setting_name == "text" ) {

View File

@ -4449,6 +4449,29 @@ $text['option-contracted']['sv-se'] = "Contracted";
$text['option-contracted']['uk-ua'] = "Contracted";
$text['option-contracted']['tr-tr'] = "Contracted";
$text['option-hidden']['en-us'] = "Hidden";
$text['option-hidden']['en-gb'] = "Hidden";
$text['option-hidden']['ar-eg'] = "Hidden";
$text['option-hidden']['de-at'] = "Hidden";
$text['option-hidden']['de-ch'] = "Hidden";
$text['option-hidden']['de-de'] = "Hidden";
$text['option-hidden']['el-gr'] = "Hidden";
$text['option-hidden']['es-cl'] = "Hidden";
$text['option-hidden']['es-mx'] = "Hidden";
$text['option-hidden']['fr-ca'] = "Hidden";
$text['option-hidden']['fr-fr'] = "Hidden";
$text['option-hidden']['he-il'] = "Hidden";
$text['option-hidden']['it-it'] = "Hidden";
$text['option-hidden']['nl-nl'] = "Hidden";
$text['option-hidden']['pl-pl'] = "Hidden";
$text['option-hidden']['pt-br'] = "Hidden";
$text['option-hidden']['pt-pt'] = "Hidden";
$text['option-hidden']['ro-ro'] = "Hidden";
$text['option-hidden']['ru-ru'] = "Hidden";
$text['option-hidden']['sv-se'] = "Hidden";
$text['option-hidden']['uk-ua'] = "Hidden";
$text['option-hidden']['tr-tr'] = "Hidden";
$text['option-hover']['en-us'] = "Hover";
$text['option-hover']['en-gb'] = "Hover";
$text['option-hover']['ar-eg'] = "Hover";

View File

@ -1085,7 +1085,7 @@ if (!class_exists('menu')) {
}
if ($_SESSION['theme']['menu_side_pin']['boolean'] == 'true') {
$html .= " <a class='menu_side_item_main' id='menu_side_state_set_expanded' onclick=\"menu_side_state_set('expanded');\" oncontextmenu=\"menu_side_state_set('delete'); return false;\" style='padding: 8px 14px 8px 16px !important; ".($_SESSION['theme']['menu_side_state']['text'] == 'expanded' ? 'display: none' : null)."' title=\"".$this->text['theme-label-pin_menu']."\"><i class='fas fa-toggle-off fa-sm fa-fw'></i></a>\n";
$html .= " <a class='menu_side_item_main' id='menu_side_state_set_contracted' onclick=\"menu_side_state_set('contracted'); menu_side_contract();\" oncontextmenu=\"menu_side_state_set('delete'); return false;\" style='padding: 8px 14px 8px 16px !important; ".($_SESSION['theme']['menu_side_state']['text'] != 'expanded' ? 'display: none' : null)."' title=\"".$this->text['theme-label-unpin_menu']."\"><i class='fas fa-toggle-on fa-sm fa-fw'></i></a>\n";
$html .= " <a class='menu_side_item_main' id='menu_side_state_set_contracted' onclick=\"menu_side_state_set('contracted');\" oncontextmenu=\"menu_side_state_set('delete'); return false;\" style='padding: 8px 14px 8px 16px !important; ".($_SESSION['theme']['menu_side_state']['text'] != 'expanded' ? 'display: none' : null)."' title=\"".$this->text['theme-label-unpin_menu']."\"><i class='fas fa-toggle-on fa-sm fa-fw'></i></a>\n";
}
$html .= " </div>\n";
if ($_SESSION['theme']['menu_brand_type']['text'] == 'none') {
@ -1134,11 +1134,14 @@ if (!class_exists('menu')) {
$html .= " <div style='height: 100px;'></div>\n";
}
$html .= "</div>\n";
$html .= "<div id='content_container' ".($_SESSION['theme']['menu_side_state']['text'] != 'expanded' ? "onclick=\"clearTimeout(menu_side_contract_timer); if ($(window).width() >= 576 && document.getElementById('menu_side_state_current').value != 'expanded') { menu_side_contract(); }\"" : null).">\n";
if ($_SESSION['theme']['menu_side_state']['text'] != 'expanded' && $_SESSION['theme']['menu_side_state']['text'] != 'hidden') {
$content_container_onclick = "onclick=\"clearTimeout(menu_side_contract_timer); if ($(window).width() >= 576) { menu_side_contract(); }\"";
}
$html .= "<div id='content_container' ".$content_container_onclick.">\n";
$html .= " <div id='content_header'>\n";
//header: left
$html .= "<div class='float-left'>\n";
$html .= button::create(['type'=>'button','title'=>$this->text['theme-label-expand_menu'],'icon'=>'bars','class'=>'default hide-sm-up float-left','onclick'=>'menu_side_expand();']);
$html .= button::create(['type'=>'button','id'=>'menu_side_state_hidden_button','title'=>$this->text['theme-label-expand_menu'],'icon'=>'bars','class'=>'default '.($_SESSION['theme']['menu_side_state']['text'] != 'hidden' ? 'hide-sm-up ' : null).'float-left','onclick'=>'menu_side_expand();']);
if ($_SESSION['theme']['menu_brand_type']['text'] == 'text' || $_SESSION['theme']['menu_brand_type']['text'] == 'image_text') {
$body_header_brand_text = $_SESSION['theme']['body_header_brand_text']['text'] != '' ? escape($_SESSION['theme']['body_header_brand_text']['text']) : "FusionPBX";
$html .= " <div id='body_header_brand_text'><a href='".PROJECT_PATH."/'>".$body_header_brand_text."</a></div>\n";

View File

@ -187,13 +187,15 @@
//build menu by style
switch ($_SESSION['theme']['menu_style']['text']) {
case 'side':
$menu_side_toggle = $_SESSION['theme']['menu_side_toggle']['text'] == 'hover' ? " onmouseenter=\"clearTimeout(menu_side_contract_timer); if ($('#menu_side_container').width() < 100) { menu_side_expand_start(); }\" onmouseleave=\"clearTimeout(menu_side_expand_timer); if ($('#menu_side_container').width() > 100 && $('#menu_side_state_current').val() != 'expanded') { menu_side_contract_start(); }\"" : null;
$container_open = "<div id='menu_side_container' class='hide-xs' ".$menu_side_toggle." >\n";
$view->assign('menu_side_state', (isset($_SESSION['theme']['menu_side_state']['text']) && $_SESSION['theme']['menu_side_state']['text'] != '' ? $_SESSION['theme']['menu_side_state']['text'] : 'expanded'));
if ($_SESSION['theme']['menu_side_state']['text'] != 'hidden') {
$menu_side_toggle = $_SESSION['theme']['menu_side_toggle']['text'] == 'hover' ? " onmouseenter=\"clearTimeout(menu_side_contract_timer); if ($('#menu_side_container').width() < 100) { menu_side_expand_start(); }\" onmouseleave=\"clearTimeout(menu_side_expand_timer); if ($('#menu_side_container').width() > 100 && $('#menu_side_state_current').val() != 'expanded') { menu_side_contract_start(); }\"" : null;
}
$container_open = "<div id='menu_side_container' ".($_SESSION['theme']['menu_side_state']['text'] == 'hidden' ? "style='display: none;'" : "class='hide-xs'").$menu_side_toggle." >\n";
$menu = new menu;
$menu->text = $text;
$menu_html = $menu->menu_vertical($_SESSION['menu']['array']);
unset($menu);
$view->assign('menu_side_state', (isset($_SESSION['theme']['menu_side_state']['text']) && $_SESSION['theme']['menu_side_state']['text'] != '' ? $_SESSION['theme']['menu_side_state']['text'] : 'contracted'));
break;
case 'inline':
$container_open = "<div class='container-fluid' style='padding: 0;' align='".($_SESSION['theme']['logo_align']['text'] != '' ? $_SESSION['theme']['logo_align']['text'] : 'left')."'>\n";

View File

@ -458,7 +458,7 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT');
top: 0;
left: 0;
<?php
if ($_SESSION['theme']['menu_side_state']['text'] == 'expanded') {
if ($_SESSION['theme']['menu_side_state']['text'] == 'expanded' || $_SESSION['theme']['menu_side_state']['text'] == 'hidden') {
echo "width: ".(is_numeric($_SESSION['theme']['menu_side_width_expanded']['text']) ? $_SESSION['theme']['menu_side_width_expanded']['text'] : '225')."px;\n";
}
else {
@ -660,6 +660,9 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT');
if ($_SESSION['theme']['menu_side_state']['text'] == 'expanded') {
$content_container_width = is_numeric($_SESSION['theme']['menu_side_width_expanded']['text']) ? $_SESSION['theme']['menu_side_width_expanded']['text'] : '225';
}
else if ($_SESSION['theme']['menu_side_state']['text'] == 'hidden') {
$content_container_width = 0;
}
else {
$content_container_width = is_numeric($_SESSION['theme']['menu_side_width_contracted']['text']) ? $_SESSION['theme']['menu_side_width_contracted']['text'] : '60';
}

View File

@ -84,7 +84,7 @@
//side menu visibility toggle
var menu_side_expand_timer;
var menu_side_contract_timer;
var menu_side_state_current = '{$menu_side_state}';
var menu_side_state_current = '{if $menu_side_state == 'hidden'}expanded{else}{$menu_side_state}{/if}';
{literal}
function menu_side_contract_start() {
@ -95,41 +95,51 @@
function menu_side_contract() {
if (menu_side_state_current == 'expanded') {
$('.menu_side_sub').slideUp(180);
$('.menu_side_item_title').hide();
{/literal}
{if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == 'image_text' || $settings.theme.menu_brand_type == ''}
{if $menu_side_state == 'hidden'}
{literal}
$('#menu_brand_image_expanded').fadeOut(180, function() {
$('#menu_brand_image_contracted').fadeIn(180);
$('#menu_side_container').hide();
{/literal}
{else}
{literal}
$('.menu_side_sub').slideUp(180);
$('.menu_side_item_title').hide();
{/literal}
{if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == 'image_text' || $settings.theme.menu_brand_type == ''}
{literal}
$('#menu_brand_image_expanded').fadeOut(180, function() {
$('#menu_brand_image_contracted').fadeIn(180);
});
{/literal}
{else if $settings.theme.menu_brand_type == 'text'}
{literal}
$('.menu_brand_text').hide();
{/literal}
{/if}
{literal}
$('.menu_side_control_state').hide();
$('.menu_side_item_main_sub_icons').hide();
$('.sub_arrows').removeClass('fa-{/literal}{$settings.theme.menu_side_item_main_sub_icon_contract}{literal}').addClass('fa-{/literal}{$settings.theme.menu_side_item_main_sub_icon_expand}{literal}');
$('#menu_side_container').animate({ width: '{/literal}{$settings.theme.menu_side_width_contracted}{literal}px' }, 180, function() {
menu_side_state_current = 'contracted';
});
{/literal}
{else if $settings.theme.menu_brand_type == 'text'}
{if $settings.theme.menu_side_toggle_body_width == 'shrink' || ($settings.theme.menu_side_state == 'expanded' && $settings.theme.menu_side_toggle_body_width == 'fixed')}
{literal}
if ($(window).width() >= 576) {
$('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_contracted}{literal} }, 250);
}
{/literal}
{/if}
{literal}
$('.menu_brand_text').hide();
{/literal}
{/if}
{literal}
$('.menu_side_control_state').hide();
$('.menu_side_item_main_sub_icons').hide();
$('.sub_arrows').removeClass('fa-{/literal}{$settings.theme.menu_side_item_main_sub_icon_contract}{literal}').addClass('fa-{/literal}{$settings.theme.menu_side_item_main_sub_icon_expand}{literal}');
$('#menu_side_container').animate({ width: '{/literal}{$settings.theme.menu_side_width_contracted}{literal}px' }, 180, function() {
menu_side_state_current = 'contracted';
});
{/literal}
{if $settings.theme.menu_side_toggle_body_width == 'shrink' || ($settings.theme.menu_side_state == 'expanded' && $settings.theme.menu_side_toggle_body_width == 'fixed')}
{literal}
if ($(window).width() >= 576) {
$('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_contracted}{literal} }, 250);
$('.menu_side_contract').hide();
$('.menu_side_expand').show();
if ($(window).width() < 576) {
$('#menu_side_container').hide();
}
{/literal}
{/if}
{literal}
$('.menu_side_contract').hide();
$('.menu_side_expand').show();
if ($(window).width() < 576) {
$('#menu_side_container').hide();
}
}
}
@ -141,38 +151,60 @@
function menu_side_expand() {
{/literal}
{if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == 'image_text' ||$settings.theme.menu_brand_type == ''}
{if $menu_side_state == 'hidden'}
{literal}
$('#menu_brand_image_contracted').fadeOut(180);
{/literal}
{/if}
{literal}
$('.menu_side_expand').hide();
$('.menu_side_contract').show();
$('#menu_side_container').show();
var menu_side_container_width = $(window).width() < 576 ? $(window).width() : '{/literal}{$settings.theme.menu_side_width_expanded}{literal}px';
$('#menu_side_container').animate({ width: menu_side_container_width }, 180, function() {
$('.menu_side_contract').show();
{/literal}
{if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == 'image_text' || $settings.theme.menu_brand_type == ''}
{literal}
$('#menu_brand_image_expanded').fadeIn(180);
$('#menu_brand_image_contracted').hide();
$('#menu_brand_image_expanded').show();
{/literal}
{/if}
{literal}
$('.menu_side_control_state').fadeIn(180);
$('.menu_brand_text').fadeIn(180);
$('.menu_side_item_main_sub_icons').fadeIn(180);
$('.menu_side_item_title').fadeIn(180, function() {
menu_side_state_current = 'expanded';
});
});
{/literal}
{if $settings.theme.menu_side_toggle_body_width == 'shrink' || ($settings.theme.menu_side_state == 'expanded' && $settings.theme.menu_side_toggle_body_width == 'fixed')}
{literal}
if ($(window).width() >= 576) {
$('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_expanded}{literal} }, 250);
$('.menu_side_control_state').show();
$('.menu_brand_text').show();
$('.menu_side_item_main_sub_icons').show();
$('.menu_side_item_title').show();
if ($(window).width() < 576) {
$('#menu_side_container').width($(window).width());
}
$('#menu_side_container').show();
{/literal}
{else}
{if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == 'image_text' ||$settings.theme.menu_brand_type == ''}
{literal}
$('#menu_brand_image_contracted').fadeOut(180);
{/literal}
{/if}
{literal}
$('.menu_side_expand').hide();
$('.menu_side_contract').show();
$('#menu_side_container').show();
var menu_side_container_width = $(window).width() < 576 ? $(window).width() : '{/literal}{$settings.theme.menu_side_width_expanded}{literal}px';
$('#menu_side_container').animate({ width: menu_side_container_width }, 180, function() {
{/literal}
{if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == 'image_text' || $settings.theme.menu_brand_type == ''}
{literal}
$('#menu_brand_image_expanded').fadeIn(180);
{/literal}
{/if}
{literal}
$('.menu_side_control_state').fadeIn(180);
$('.menu_brand_text').fadeIn(180);
$('.menu_side_item_main_sub_icons').fadeIn(180);
$('.menu_side_item_title').fadeIn(180, function() {
menu_side_state_current = 'expanded';
});
});
{/literal}
{if $settings.theme.menu_side_toggle_body_width == 'shrink' || ($settings.theme.menu_side_state == 'expanded' && $settings.theme.menu_side_toggle_body_width == 'fixed')}
{literal}
if ($(window).width() >= 576) {
$('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_expanded}{literal} }, 250);
}
{/literal}
{/if}
{/if}
{literal}
}
@ -200,17 +232,29 @@
if (setting_modified == 'true') {
document.getElementById('menu_side_state_set_expanded').style.display = state == 'expanded' ? 'none' : 'block';
document.getElementById('menu_side_state_set_contracted').style.display = state == 'contracted' ? 'none' : 'block';
{/literal}
{if $menu_side_state == 'hidden'}
{literal}
document.getElementById('menu_side_state_hidden_button').style.display='none';
{/literal}
{/if}
{literal}
if (state == 'expanded') {
if ($(window).width() >= 576) {
$('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_expanded}{literal} }, 250);
}
else {
$('#menu_side_container').animate({ width: $(window).width() }, 180);
}
document.getElementById('menu_side_state_current').value = 'expanded';
display_message("{/literal}{$text.theme_message_menu_expanded}{literal}", 'positive', 1000);
}
else {
menu_side_contract();
if ($(window).width() >= 576) {
$('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_contracted}{literal} }, 250);
}
menu_side_state_current = 'contracted';
document.getElementById('menu_side_state_current').value = 'contracted';
display_message("{/literal}{$text.theme_message_menu_contracted}{literal}", 'positive', 1000);
}
@ -615,21 +659,38 @@
$('#menu_side_container').hide();
}
if (menu_side_state_current == 'expanded') {
$('#menu_side_container').show();
{/literal}
{if $menu_side_state != 'hidden'}
{literal}
$('#menu_side_container').show();
{/literal}
{/if}
{literal}
$('#menu_side_container').animate({ width: $(window).width() }, 180);
}
$('#content_container').animate({ width: $(window).width() }, 100);
}
else {
$('#menu_side_container').show();
if (menu_side_state_current == 'expanded') {
$('#menu_side_container').animate({ width: '{/literal}{$settings.theme.menu_side_width_expanded}{literal}px' }, 180, function() {
{/literal}
{if $menu_side_state == 'hidden'}
{literal}
$('#menu_side_container').animate({ width: '{/literal}{$settings.theme.menu_side_width_expanded}{literal}px' }, 180);
$('#content_container').animate({ width: $(window).width() }, 100);
{/literal}
{else}
{literal}
$('#menu_side_container').show();
if (menu_side_state_current == 'expanded') {
$('#menu_side_container').animate({ width: '{/literal}{$settings.theme.menu_side_width_expanded}{literal}px' }, 180, function() {
$('#content_container').animate({ width: $(window).width() - $('#menu_side_container').width() }, 100);
});
}
else {
$('#content_container').animate({ width: $(window).width() - $('#menu_side_container').width() }, 100);
});
}
else {
$('#content_container').animate({ width: $(window).width() - $('#menu_side_container').width() }, 100);
}
}
{/literal}
{/if}
{literal}
}
});
{/literal}
@ -1002,7 +1063,7 @@
{if $settings.theme.menu_style == 'inline'}{$logo}{/if}
{$menu}
{if $settings.theme.menu_style == 'inline' || $settings.theme.menu_style == 'static'}<br />{/if}
{if $settings.theme.menu_style == 'side'}<input type='hidden' id='menu_side_state_current' value='{$menu_side_state}'>{/if}
{if $settings.theme.menu_style == 'side'}<input type='hidden' id='menu_side_state_current' value='{if $menu_side_state == 'hidden'}expanded{else}{$menu_side_state}{/if}'>{/if}
{else} {*//default: fixed *}
{$menu}
{$container_open}