Save DataTable states server side

This commit is contained in:
Bernd Bestel
2020-11-15 14:58:35 +01:00
parent 6866109b97
commit dd8fa5ff66
3 changed files with 25 additions and 5 deletions

View File

@@ -698,13 +698,32 @@ $.extend(true, $.fn.dataTable.defaults, {
},
'stateSaveCallback': function(settings, data)
{
// TODO: Save/load this server side
localStorage.setItem('datatables_state_' + settings.sTableId, JSON.stringify(data));
var settingKey = 'datatables_state_' + settings.sTableId;
var stateData = JSON.stringify(data);
Grocy.UserSettings[settingKey] = stateData;
jsonData = {};
jsonData.value = stateData;
Grocy.Api.Put('user/settings/' + settingKey, jsonData,
function(result)
{
// Nothing to do...
},
function(xhr)
{
if (!xhr.statusText.isEmpty())
{
Grocy.FrontendHelpers.ShowGenericError('Error while saving, probably this item already exists', xhr.response)
}
}
);
},
'stateLoadCallback': function(settings, data)
{
// TODO: Save/load this server side
return JSON.parse(localStorage.getItem('datatables_state_' + settings.sTableId));
var settingKey = 'datatables_state_' + settings.sTableId;
return JSON.parse(Grocy.UserSettings[settingKey]);
}
});