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
+79 -57
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}