Merge pull request #122 from radiorabe/feature/restore-datatable-settings-when-localstorage-is-empty
Restore datatables-library from server on login
This commit is contained in:
commit
42165f3fb3
|
@ -47,7 +47,9 @@ class UsersettingsController extends Zend_Controller_Action
|
||||||
{
|
{
|
||||||
$data = Application_Model_Preference::getCurrentLibraryTableSetting();
|
$data = Application_Model_Preference::getCurrentLibraryTableSetting();
|
||||||
if (!is_null($data)) {
|
if (!is_null($data)) {
|
||||||
$this->view->settings = $data;
|
$this->_helper->json($data);
|
||||||
|
} else {
|
||||||
|
$this->_helper->json(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -651,14 +651,26 @@ var AIRTIME = (function(AIRTIME) {
|
||||||
},
|
},
|
||||||
"fnStateLoad": function fnLibStateLoad(oSettings) {
|
"fnStateLoad": function fnLibStateLoad(oSettings) {
|
||||||
var settings = JSON.parse(localStorage.getItem('datatables-library'));
|
var settings = JSON.parse(localStorage.getItem('datatables-library'));
|
||||||
|
|
||||||
|
// local storage was empty lets get something from the backend
|
||||||
|
if (settings === null) {
|
||||||
|
// we have a datatables implementation that is so old we need to async:false ;(
|
||||||
|
// see http://legacy.datatables.net/usage/callbacks#fnStateLoad for info and
|
||||||
|
// feel free to start trying to port this to a modern version ;)
|
||||||
|
$.ajax({
|
||||||
|
'url': baseUrl + 'usersettings/get-library-datatable',
|
||||||
|
'async': false, // <<< every sane browser will warn that this is not nice
|
||||||
|
'dataType': 'json',
|
||||||
|
'success': function(oData) {
|
||||||
|
localStorage.setItem('datatables-library', JSON.stringify(oData));
|
||||||
|
settings = oData;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
// Hacky; always set the visibility of the last column (actions buttons) to true
|
// Hacky; always set the visibility of the last column (actions buttons) to true
|
||||||
if (settings && settings.abVisCols) settings.abVisCols[settings.abVisCols.length - 1] = true;
|
if (settings && settings.abVisCols) settings.abVisCols[settings.abVisCols.length - 1] = true;
|
||||||
|
|
||||||
try {
|
return settings;
|
||||||
return settings;
|
|
||||||
} catch (e) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"fnStateLoadParams": function (oSettings, oData) {
|
"fnStateLoadParams": function (oSettings, oData) {
|
||||||
var i,
|
var i,
|
||||||
|
|
Loading…
Reference in New Issue