Introduce ui settings and let user set page size for item search

This commit is contained in:
Eike Kettner
2020-06-07 00:51:11 +02:00
parent 6abdb95f02
commit 79fc5a30a1
13 changed files with 530 additions and 66 deletions

View File

@ -5,6 +5,7 @@ var elmApp = Elm.Main.init({
flags: elmFlags
});
elmApp.ports.setAccount.subscribe(function(authResult) {
console.log("Add account from local storage");
localStorage.setItem("account", JSON.stringify(authResult));
@ -45,3 +46,40 @@ elmApp.ports.scrollToElem.subscribe(function(id) {
}, 20);
}
});
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) {
$.extend(defaults, data);
elmApp.ports.receiveUiSettings.send(defaults);
} else if (defaults) {
elmApp.ports.receiveUiSettings.send(defaults);
}
} else if (defaults) {
elmApp.ports.receiveUiSettings.send(defaults);
}
}
});