Store sidebar state in localstorage

This commit is contained in:
Hillel Coren 2016-10-25 17:07:56 +03:00
parent 5e5f15667c
commit c0a3971ca5
2 changed files with 27 additions and 13 deletions

View File

@ -129,7 +129,7 @@ Route::group(['middleware' => 'auth:user'], function() {
Route::get('force_inline_pdf', 'UserController@forcePDFJS'); Route::get('force_inline_pdf', 'UserController@forcePDFJS');
Route::get('account/get_search_data', ['as' => 'get_search_data', 'uses' => 'AccountController@getSearchData']); Route::get('account/get_search_data', ['as' => 'get_search_data', 'uses' => 'AccountController@getSearchData']);
Route::get('check_invoice_number/{invoice_id?}', 'InvoiceController@checkInvoiceNumber'); Route::get('check_invoice_number/{invoice_id?}', 'InvoiceController@checkInvoiceNumber');
Route::get('save_sidebar_state', 'UserController@saveSidebarState'); Route::post('save_sidebar_state', 'UserController@saveSidebarState');
Route::get('settings/user_details', 'AccountController@showUserDetails'); Route::get('settings/user_details', 'AccountController@showUserDetails');
Route::post('settings/user_details', 'AccountController@saveUserDetails'); Route::post('settings/user_details', 'AccountController@saveUserDetails');

View File

@ -328,22 +328,36 @@
}); });
// manage sidebar state // manage sidebar state
$("#left-menu-toggle").click(function(e) { function setupSidebar(side) {
$("#" + side + "-menu-toggle").click(function(e) {
e.preventDefault(); e.preventDefault();
$("#wrapper").toggleClass("toggled-left"); $("#wrapper").toggleClass("toggled-" + side);
var toggled = $("#wrapper").hasClass("toggled-left") ? '1' : '0'; var toggled = $("#wrapper").hasClass("toggled-" + side) ? '1' : '0';
$.get('{{ url('save_sidebar_state') }}?show_left=' + toggled); $.post('{{ url('save_sidebar_state') }}?show_' + side + '=' + toggled);
if (isStorageSupported()) {
localStorage.setItem('show_' + side + '_sidebar', toggled);
}
}); });
$("#right-menu-toggle").click(function(e) { if (isStorageSupported()) {
e.preventDefault(); var storage = localStorage.getItem('show_' + side + '_sidebar');
$("#wrapper").toggleClass("toggled-right"); var toggled = $("#wrapper").hasClass("toggled-" + side) ? '1' : '0';
var toggled = $("#wrapper").hasClass("toggled-right") ? '1' : '0'; if (storage != toggled) {
$.get('{{ url('save_sidebar_state') }}?show_right=' + toggled); setTimeout(function() {
}); $("#wrapper").toggleClass("toggled-" + side);
$.post('{{ url('save_sidebar_state') }}?show_' + side + '=' + storage);
}, 100);
}
}
}
setupSidebar('left');
setupSidebar('right');
// auto select focused nav-tab
if (window.location.hash) { if (window.location.hash) {
setTimeout(function() { setTimeout(function() {
$('.nav-tabs a[href="' + window.location.hash + '"]').tab('show'); $('.nav-tabs a[href="' + window.location.hash + '"]').tab('show');