Theme: Side Menu default state controls.

This commit is contained in:
Nate
2020-05-20 21:24:19 -06:00
parent 113b9d15d1
commit f5bfc2199a
14 changed files with 498 additions and 82 deletions

View File

@@ -1703,6 +1703,14 @@
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the expanded brand image path for the Side menu.";
$y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "66d37950-15db-4dd0-888a-17ded7b5c0dc";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "theme";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "menu_side_state";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "contracted";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the default state of the Side Menu: expanded (pinned) or contracted (unpinned).";
$y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "97a620e1-d7b2-4550-8648-726c3029143d";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "theme";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "action_bar_border_top";

View File

@@ -231,4 +231,142 @@ $text['theme-label-domain']['sv-se'] = "Domän";
$text['theme-label-domain']['uk-ua'] = "Домен";
$text['theme-label-domain']['tr-tr'] = "Alan Adı";
?>
$text['theme-label-expand_menu']['en-us'] = "Expand Menu";
$text['theme-label-expand_menu']['en-gb'] = "Expand Menu";
$text['theme-label-expand_menu']['ar-eg'] = "Expand Menu";
$text['theme-label-expand_menu']['de-at'] = "Expand Menu";
$text['theme-label-expand_menu']['de-ch'] = "Expand Menu";
$text['theme-label-expand_menu']['de-de'] = "Expand Menu";
$text['theme-label-expand_menu']['el-gr'] = "Expand Menu";
$text['theme-label-expand_menu']['es-cl'] = "Expand Menu";
$text['theme-label-expand_menu']['es-mx'] = "Expand Menu";
$text['theme-label-expand_menu']['fr-ca'] = "Expand Menu";
$text['theme-label-expand_menu']['fr-fr'] = "Expand Menu";
$text['theme-label-expand_menu']['he-il'] = "Expand Menu";
$text['theme-label-expand_menu']['it-it'] = "Expand Menu";
$text['theme-label-expand_menu']['nl-nl'] = "Expand Menu";
$text['theme-label-expand_menu']['pl-pl'] = "Expand Menu";
$text['theme-label-expand_menu']['pt-br'] = "Expand Menu";
$text['theme-label-expand_menu']['pt-pt'] = "Expand Menu";
$text['theme-label-expand_menu']['ro-ro'] = "Expand Menu";
$text['theme-label-expand_menu']['ru-ru'] = "Expand Menu";
$text['theme-label-expand_menu']['sv-se'] = "Expand Menu";
$text['theme-label-expand_menu']['uk-ua'] = "Expand Menu";
$text['theme-label-expand_menu']['tr-tr'] = "Expand Menu";
$text['theme-label-contract_menu']['en-us'] = "Contract Menu";
$text['theme-label-contract_menu']['en-gb'] = "Contract Menu";
$text['theme-label-contract_menu']['ar-eg'] = "Contract Menu";
$text['theme-label-contract_menu']['de-at'] = "Contract Menu";
$text['theme-label-contract_menu']['de-ch'] = "Contract Menu";
$text['theme-label-contract_menu']['de-de'] = "Contract Menu";
$text['theme-label-contract_menu']['el-gr'] = "Contract Menu";
$text['theme-label-contract_menu']['es-cl'] = "Contract Menu";
$text['theme-label-contract_menu']['es-mx'] = "Contract Menu";
$text['theme-label-contract_menu']['fr-ca'] = "Contract Menu";
$text['theme-label-contract_menu']['fr-fr'] = "Contract Menu";
$text['theme-label-contract_menu']['he-il'] = "Contract Menu";
$text['theme-label-contract_menu']['it-it'] = "Contract Menu";
$text['theme-label-contract_menu']['nl-nl'] = "Contract Menu";
$text['theme-label-contract_menu']['pl-pl'] = "Contract Menu";
$text['theme-label-contract_menu']['pt-br'] = "Contract Menu";
$text['theme-label-contract_menu']['pt-pt'] = "Contract Menu";
$text['theme-label-contract_menu']['ro-ro'] = "Contract Menu";
$text['theme-label-contract_menu']['ru-ru'] = "Contract Menu";
$text['theme-label-contract_menu']['sv-se'] = "Contract Menu";
$text['theme-label-contract_menu']['uk-ua'] = "Contract Menu";
$text['theme-label-contract_menu']['tr-tr'] = "Contract Menu";
$text['theme-label-pin_menu']['en-us'] = "Pin Menu";
$text['theme-label-pin_menu']['en-gb'] = "Pin Menu";
$text['theme-label-pin_menu']['ar-eg'] = "Pin Menu";
$text['theme-label-pin_menu']['de-at'] = "Pin Menu";
$text['theme-label-pin_menu']['de-ch'] = "Pin Menu";
$text['theme-label-pin_menu']['de-de'] = "Pin Menu";
$text['theme-label-pin_menu']['el-gr'] = "Pin Menu";
$text['theme-label-pin_menu']['es-cl'] = "Pin Menu";
$text['theme-label-pin_menu']['es-mx'] = "Pin Menu";
$text['theme-label-pin_menu']['fr-ca'] = "Pin Menu";
$text['theme-label-pin_menu']['fr-fr'] = "Pin Menu";
$text['theme-label-pin_menu']['he-il'] = "Pin Menu";
$text['theme-label-pin_menu']['it-it'] = "Pin Menu";
$text['theme-label-pin_menu']['nl-nl'] = "Pin Menu";
$text['theme-label-pin_menu']['pl-pl'] = "Pin Menu";
$text['theme-label-pin_menu']['pt-br'] = "Pin Menu";
$text['theme-label-pin_menu']['pt-pt'] = "Pin Menu";
$text['theme-label-pin_menu']['ro-ro'] = "Pin Menu";
$text['theme-label-pin_menu']['ru-ru'] = "Pin Menu";
$text['theme-label-pin_menu']['sv-se'] = "Pin Menu";
$text['theme-label-pin_menu']['uk-ua'] = "Pin Menu";
$text['theme-label-pin_menu']['tr-tr'] = "Pin Menu";
$text['theme-label-unpin_menu']['en-us'] = "Unpin Menu";
$text['theme-label-unpin_menu']['en-gb'] = "Unpin Menu";
$text['theme-label-unpin_menu']['ar-eg'] = "Unpin Menu";
$text['theme-label-unpin_menu']['de-at'] = "Unpin Menu";
$text['theme-label-unpin_menu']['de-ch'] = "Unpin Menu";
$text['theme-label-unpin_menu']['de-de'] = "Unpin Menu";
$text['theme-label-unpin_menu']['el-gr'] = "Unpin Menu";
$text['theme-label-unpin_menu']['es-cl'] = "Unpin Menu";
$text['theme-label-unpin_menu']['es-mx'] = "Unpin Menu";
$text['theme-label-unpin_menu']['fr-ca'] = "Unpin Menu";
$text['theme-label-unpin_menu']['fr-fr'] = "Unpin Menu";
$text['theme-label-unpin_menu']['he-il'] = "Unpin Menu";
$text['theme-label-unpin_menu']['it-it'] = "Unpin Menu";
$text['theme-label-unpin_menu']['nl-nl'] = "Unpin Menu";
$text['theme-label-unpin_menu']['pl-pl'] = "Unpin Menu";
$text['theme-label-unpin_menu']['pt-br'] = "Unpin Menu";
$text['theme-label-unpin_menu']['pt-pt'] = "Unpin Menu";
$text['theme-label-unpin_menu']['ro-ro'] = "Unpin Menu";
$text['theme-label-unpin_menu']['ru-ru'] = "Unpin Menu";
$text['theme-label-unpin_menu']['sv-se'] = "Unpin Menu";
$text['theme-label-unpin_menu']['uk-ua'] = "Unpin Menu";
$text['theme-label-unpin_menu']['tr-tr'] = "Unpin Menu";
$text['theme-message-menu_expanded']['en-us'] = "Menu Pinned";
$text['theme-message-menu_expanded']['en-gb'] = "Menu Pinned";
$text['theme-message-menu_expanded']['ar-eg'] = "Menu Pinned";
$text['theme-message-menu_expanded']['de-at'] = "Menu Pinned";
$text['theme-message-menu_expanded']['de-ch'] = "Menu Pinned";
$text['theme-message-menu_expanded']['de-de'] = "Menu Pinned";
$text['theme-message-menu_expanded']['el-gr'] = "Menu Pinned";
$text['theme-message-menu_expanded']['es-cl'] = "Menu Pinned";
$text['theme-message-menu_expanded']['es-mx'] = "Menu Pinned";
$text['theme-message-menu_expanded']['fr-ca'] = "Menu Pinned";
$text['theme-message-menu_expanded']['fr-fr'] = "Menu Pinned";
$text['theme-message-menu_expanded']['he-il'] = "Menu Pinned";
$text['theme-message-menu_expanded']['it-it'] = "Menu Pinned";
$text['theme-message-menu_expanded']['nl-nl'] = "Menu Pinned";
$text['theme-message-menu_expanded']['pl-pl'] = "Menu Pinned";
$text['theme-message-menu_expanded']['pt-br'] = "Menu Pinned";
$text['theme-message-menu_expanded']['pt-pt'] = "Menu Pinned";
$text['theme-message-menu_expanded']['ro-ro'] = "Menu Pinned";
$text['theme-message-menu_expanded']['ru-ru'] = "Menu Pinned";
$text['theme-message-menu_expanded']['sv-se'] = "Menu Pinned";
$text['theme-message-menu_expanded']['uk-ua'] = "Menu Pinned";
$text['theme-message-menu_expanded']['tr-tr'] = "Menu Pinned";
$text['theme-message-menu_contracted']['en-us'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['en-gb'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['ar-eg'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['de-at'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['de-ch'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['de-de'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['el-gr'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['es-cl'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['es-mx'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['fr-ca'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['fr-fr'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['he-il'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['it-it'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['nl-nl'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['pl-pl'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['pt-br'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['pt-pt'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['ro-ro'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['ru-ru'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['sv-se'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['uk-ua'] = "Menu Unpinned";
$text['theme-message-menu_contracted']['tr-tr'] = "Menu Unpinned";
?>

View File

@@ -457,7 +457,14 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT');
position: fixed;
top: 0;
left: 0;
width: <?php echo is_numeric($_SESSION['theme']['menu_side_width_contracted']['text']) ? $_SESSION['theme']['menu_side_width_contracted']['text'] : '60'; ?>px;
<?php
if ($_SESSION['theme']['menu_side_state']['text'] == 'expanded') {
echo "width: ".(is_numeric($_SESSION['theme']['menu_side_width_expanded']['text']) ? $_SESSION['theme']['menu_side_width_expanded']['text'] : '225')."px;\n";
}
else {
echo "width: ".(is_numeric($_SESSION['theme']['menu_side_width_contracted']['text']) ? $_SESSION['theme']['menu_side_width_contracted']['text'] : '60')."px;\n";
}
?>
height: 100%;
overflow: auto;
<?php if ($_SESSION['theme']['menu_main_background_image']['text'] != '') { ?>
@@ -538,9 +545,37 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT');
text-decoration: none;
}
/* menu side control container */
div#menu_side_control_container {
position: -webkit-sticky;
position: sticky;
z-index: 99901;
top: 0;
padding: 0;
min-height: 75px;
text-align: left;
<?php if ($_SESSION['theme']['menu_main_background_image']['text'] != '') { ?>
background-image: url("<?php echo $_SESSION['theme']['menu_main_background_image']['text']; ?>");
background-position: 0px 0px;
background-repeat: repeat-y;
<?php } else {?>
background: <?php echo ($_SESSION['theme']['menu_main_background_color']['text'] != '') ? $_SESSION['theme']['menu_main_background_color']['text'] : 'rgba(0,0,0,0.90)'; ?>;
<?php } ?>
<?php
echo ($_SESSION['theme']['menu_main_border_color']['text'] == '' && $_SESSION['theme']['menu_main_border_size']['text'] == '') ? "border: 0;\n" : null;
echo ($_SESSION['theme']['menu_main_border_color']['text'] != '') ? 'border-color: '.$_SESSION['theme']['menu_main_border_color']['text'].";\n" : null;
echo ($_SESSION['theme']['menu_main_border_size']['text'] != '') ? 'border-width: '.$_SESSION['theme']['menu_main_border_size']['text'].";\n" : null;
?>
-moz-border-radius: <?php echo ($_SESSION['theme']['menu_main_border_radius']['text'] != '') ? $_SESSION['theme']['menu_main_border_radius']['text'] : '0'; ?>;
-webkit-border-radius: <?php echo ($_SESSION['theme']['menu_main_border_radius']['text'] != '') ? $_SESSION['theme']['menu_main_border_radius']['text'] : '0'; ?>;
-khtml-border-radius: <?php echo ($_SESSION['theme']['menu_main_border_radius']['text'] != '') ? $_SESSION['theme']['menu_main_border_radius']['text'] : '0'; ?>;
border-radius: <?php echo ($_SESSION['theme']['menu_main_border_radius']['text'] != '') ? $_SESSION['theme']['menu_main_border_radius']['text'] : '0'; ?>;
}
div#menu_side_container > a.menu_side_item_main,
div#menu_side_container > div > a.menu_side_item_main,
div#menu_side_container > div#menu_side_brand_container > div > a.menu_side_item_main {
div#menu_side_container > div#menu_side_brand_container a.menu_side_item_main,
div#menu_side_container > div#menu_side_control_container a.menu_side_item_main {
display: block;
width: 100%;
padding: 10px 20px;
@@ -552,14 +587,17 @@ header('Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT');
}
div#menu_side_container > a.menu_side_item_main:hover,
div#menu_side_container a.menu_side_item_main:focus,
div#menu_side_container a.menu_side_item_main:active,
div#menu_side_container > a.menu_side_item_main:focus,
div#menu_side_container > a.menu_side_item_main:active,
div#menu_side_container > div > a.menu_side_item_main:hover,
div#menu_side_container > div > a.menu_side_item_main:focus,
div#menu_side_container > div > a.menu_side_item_main:active,
div#menu_side_container > div#menu_side_brand_container > div > a.menu_side_item_main:hover,
div#menu_side_container > div#menu_side_brand_container > div > a.menu_side_item_main:focus,
div#menu_side_container > div#menu_side_brand_container > div > a.menu_side_item_main:active {
div#menu_side_container > div#menu_side_control_container > div a.menu_side_item_main:hover,
div#menu_side_container > div#menu_side_control_container > div a.menu_side_item_main:focus,
div#menu_side_container > div#menu_side_control_container > div a.menu_side_item_main:active,
div#menu_side_container > div#menu_side_brand_container > div a.menu_side_item_main:hover,
div#menu_side_container > div#menu_side_brand_container > div a.menu_side_item_main:focus,
div#menu_side_container > div#menu_side_brand_container > div a.menu_side_item_main:active {
color: <?php echo ($_SESSION['theme']['menu_main_text_color_hover']['text'] != '') ? $_SESSION['theme']['menu_main_text_color_hover']['text'] : '#fd9c03'; ?>;
background: <?php echo ($_SESSION['theme']['menu_main_background_color_hover']['text'] != '') ? $_SESSION['theme']['menu_main_background_color_hover']['text'] : 'rgba(0,0,0,1.0)'; ?>;
text-decoration: none;

View File

@@ -82,76 +82,97 @@
{if $settings.theme.menu_style == 'side'}
//side menu visibility toggle
var menu_side_state_current = '{$menu_side_state}';
{literal}
var menu_side_state = 'contracted';
function menu_side_contract() {
$('.menu_side_sub').slideUp(180);
$('.menu_side_item_title').hide();
{/literal}
{if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == ''}
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 == ''}
{literal}
$('#menu_brand_image_expanded').fadeOut(180, function() {
$('#menu_brand_image_contracted').fadeIn(180);
});
{/literal}
{elseif $settings.theme.menu_brand_type == 'image_text'}
{literal}
$('.menu_brand_text').hide();
$('#menu_brand_image_contracted').animate({ width: '20px', 'margin-left': '-2px' }, 250);
{/literal}
{else if $settings.theme.menu_brand_type == 'text'}
{literal}
$('.menu_brand_text').fadeOut(180);
{/literal}
{/if}
{literal}
$('#menu_brand_image_expanded').fadeOut(180, function() {
$('#menu_brand_image_contracted').fadeIn(180);
$('#menu_side_container').animate({ width: '{/literal}{$settings.theme.menu_side_width_contracted}{literal}px' }, 250);
$('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_contracted}{literal} }, 250, function() {
menu_side_state_current = 'contracted';
});
{/literal}
{elseif $settings.theme.menu_brand_type == 'image_text'}
{literal}
$('.menu_brand_text').hide();
$('#menu_brand_image_contracted').animate({ width: '20px', 'margin-left': '-2px' }, 250);
{/literal}
{else if $settings.theme.menu_brand_type == 'text'}
{literal}
$('.menu_brand_text').fadeOut(180);
{/literal}
{/if}
{literal}
$('#menu_side_container').animate({ width: '{/literal}{$settings.theme.menu_side_width_contracted}{literal}px' }, 250);
$('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_contracted}{literal} }, 250, function() {
menu_side_state = 'contracted';
});
$('.menu_side_contract').hide();
$('.menu_side_expand').show();
$('.menu_side_contract').hide();
$('.menu_side_expand').show();
}
}
function menu_side_expand() {
{/literal}
{if $settings.theme.menu_brand_type == 'image_text'}
{literal}
$('#menu_brand_image_contracted').animate({ width: '30px', 'margin-left': '0' }, 250);
if (menu_side_state_current == 'contracted') {
{/literal}
{elseif $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == ''}
{literal}
$('#menu_brand_image_contracted').fadeOut(180);
{/literal}
{/if}
{literal}
$('#menu_side_container').animate({ width: '{/literal}{$settings.theme.menu_side_width_expanded}{literal}px' }, 250);
$('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_expanded}{literal} }, 250, function() {
$('.menu_brand_text').fadeIn(180);
$('.menu_side_item_title').fadeIn(180);
{/literal}
{if $settings.theme.menu_brand_type != 'none'}
{if $settings.theme.menu_brand_type == 'image_text'}
{literal}
$('#menu_brand_image_contracted').animate({ width: '30px', 'margin-left': '0' }, 250);
{/literal}
{elseif $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == ''}
{literal}
$('#menu_brand_image_contracted').fadeOut(180);
{/literal}
{/if}
{literal}
$('#menu_side_container').animate({ width: '{/literal}{$settings.theme.menu_side_width_expanded}{literal}px' }, 250, function() {
$('.menu_side_contract').fadeIn(180);
});
$('#content_container').animate({ width: $(window).width() - {/literal}{$settings.theme.menu_side_width_expanded}{literal} }, 250, function() {
$('.menu_brand_text').fadeIn(180);
$('.menu_side_item_title').fadeIn(180);
{/literal}
{/if}
{if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == ''}
{if $settings.theme.menu_brand_type == 'image' || $settings.theme.menu_brand_type == ''}
{literal}
$('#menu_brand_image_expanded').fadeIn(180);
{/literal}
{/if}
{literal}
$('#menu_brand_image_expanded').fadeIn(180);
{/literal}
{/if}
{literal}
menu_side_state = 'expanded';
});
{/literal}
{if $settings.theme.menu_brand_type == 'none'}
{literal}
$('.menu_side_contract').show();
{/literal}
{/if}
{literal}
$('.menu_side_expand').hide();
menu_side_state_current = 'expanded';
});
$('.menu_side_expand').hide();
}
}
function menu_side_state_set(state) {
var user_setting_set_path = '{/literal}{$project_path}{literal}/core/user_settings/user_setting_set.php?category=theme&subcategory=menu_side_state&name=text&value='+state;
var xhr = new XMLHttpRequest();
xhr.open('GET', user_setting_set_path);
xhr.send(null);
xhr.onreadystatechange = function () {
var setting_modified;
if (xhr.readyState === 4) {
if (xhr.status === 200) {
setting_modified = xhr.responseText;
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';
if (state == 'expanded') {
document.getElementById('menu_side_state_current').value = 'expanded';
display_message("{/literal}{$text.theme_message_menu_expanded}{literal}", 'positive', 1000);
}
else {
document.getElementById('menu_side_state_current').value = 'contracted';
display_message("{/literal}{$text.theme_message_menu_contracted}{literal}", 'positive', 1000);
}
}
}
}
}
}
{/literal}
{/if}
@@ -912,6 +933,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=''>{/if}
{else} {*//default: fixed *}
{$menu}
{$container_open}