Files
seweb/client/jsFiles/SEAWebClientLocalStorage.js
2024-09-05 13:45:05 +02:00

31 lines
1.2 KiB
JavaScript

function getUserConfiguration(){
let userConfiguration = [];
for(let i = 0; i < localStorage.length; i++){
userConfiguration.push(JSON.parse(localStorage.getItem(localStorage.key(i))));
}
return userConfiguration;
}
function saveUserConfiguration(userConfiguration){
for(let i = 0; i < userConfiguration.length; i++){
localStorage.setItem(i, JSON.stringify(userConfiguration[i]));
}
}
function getFormattedUserConfigurationFromLocalStorage(){
let formatedUserConfiguration = {};
for(let configurationLineObject of getUserConfiguration()){
// Every entry in the localStorage has a variable field and at least one field cat, color or unit,
// so there is no need to check their presence
let key = configurationLineObject["variable"];
delete configurationLineObject["variable"];
if(configurationLineObject.hasOwnProperty("parameter")){
key += (configurationLineObject["parameter"] != "value") ? "." + configurationLineObject["parameter"] : "";
delete configurationLineObject["parameter"];
}
formatedUserConfiguration[key] = configurationLineObject;
}
return formatedUserConfiguration;
}