Add a way to migrate settings stored at the browser to the server

This commit is contained in:
Eike Kettner
2021-05-27 01:07:36 +02:00
parent 5a4f6c0595
commit e406718cb7
9 changed files with 338 additions and 85 deletions

View File

@ -50,43 +50,25 @@ elmApp.ports.removeAccount.subscribe(function() {
localStorage.removeItem("account");
});
// 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");
var account = args;
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);
try {
var data = settings ? JSON.parse(settings) : null;
if (data) {
console.log("Sending browser ui settings");
elmApp.ports.receiveUiSettings.send(data);
}
} catch (error) {
console.log(error);
}
}
});
var docspell_clipboards = {};