Store and load client settings

This commit is contained in:
Eike Kettner
2021-05-26 01:14:30 +02:00
parent 9f76357879
commit 9ccc3ce438
10 changed files with 309 additions and 245 deletions

View File

@ -51,42 +51,42 @@ elmApp.ports.removeAccount.subscribe(function() {
});
elmApp.ports.saveUiSettings.subscribe(function(args) {
if (Array.isArray(args) && args.length == 2) {
var authResult = args[0];
var settings = args[1];
if (authResult && settings) {
var key = authResult.collective + "/" + authResult.user + "/uiSettings";
console.log("Save ui settings to local storage");
localStorage.setItem(key, JSON.stringify(settings));
elmApp.ports.receiveUiSettings.send(settings);
elmApp.ports.uiSettingsSaved.send(null);
}
}
});
// elmApp.ports.saveUiSettings.subscribe(function(args) {
// if (Array.isArray(args) && args.length == 2) {
// var authResult = args[0];
// var settings = args[1];
// if (authResult && settings) {
// var key = authResult.collective + "/" + authResult.user + "/uiSettings";
// console.log("Save ui settings to local storage");
// localStorage.setItem(key, JSON.stringify(settings));
// elmApp.ports.receiveUiSettings.send(settings);
// elmApp.ports.uiSettingsSaved.send(null);
// }
// }
// });
elmApp.ports.requestUiSettings.subscribe(function(args) {
console.log("Requesting ui settings");
if (Array.isArray(args) && args.length == 2) {
var account = args[0];
var defaults = args[1];
var collective = account ? account.collective : null;
var user = account ? account.user : null;
if (collective && user) {
var key = collective + "/" + user + "/uiSettings";
var settings = localStorage.getItem(key);
var data = settings ? JSON.parse(settings) : null;
if (data && defaults) {
var defaults = extend(defaults, data);
elmApp.ports.receiveUiSettings.send(defaults);
} else if (defaults) {
elmApp.ports.receiveUiSettings.send(defaults);
}
} else if (defaults) {
elmApp.ports.receiveUiSettings.send(defaults);
}
}
});
// elmApp.ports.requestUiSettings.subscribe(function(args) {
// console.log("Requesting ui settings");
// if (Array.isArray(args) && args.length == 2) {
// var account = args[0];
// var defaults = args[1];
// var collective = account ? account.collective : null;
// var user = account ? account.user : null;
// if (collective && user) {
// var key = collective + "/" + user + "/uiSettings";
// var settings = localStorage.getItem(key);
// var data = settings ? JSON.parse(settings) : null;
// if (data && defaults) {
// var defaults = extend(defaults, data);
// elmApp.ports.receiveUiSettings.send(defaults);
// } else if (defaults) {
// elmApp.ports.receiveUiSettings.send(defaults);
// }
// } else if (defaults) {
// elmApp.ports.receiveUiSettings.send(defaults);
// }
// }
// });
var docspell_clipboards = {};