mirror of
https://github.com/kkapsner/CanvasBlocker
synced 2025-07-03 12:06:31 +02:00
Enabled import of older storage versions.
This commit is contained in:
parent
5f74f13de3
commit
f565b8c32e
5 changed files with 29 additions and 2 deletions
|
@ -6,6 +6,7 @@
|
|||
|
||||
const settings = require("./settings");
|
||||
const logging = require("./logging");
|
||||
const settingsMigration = require("./settingsMigration");
|
||||
const input = document.getElementById("settings");
|
||||
settings.onloaded(function(){
|
||||
var data = {};
|
||||
|
@ -18,7 +19,14 @@
|
|||
try {
|
||||
var newSettings = JSON.parse(this.value);
|
||||
var isValid = true;
|
||||
|
||||
|
||||
while (settingsMigration.transitions.hasOwnProperty(newSettings.storageVersion)){
|
||||
let oldVersion = newSettings.storageVersion;
|
||||
newSettings = settingsMigration.transitions[newSettings.storageVersion](newSettings);
|
||||
if (oldVersion === newSettings.storageVersion){
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Object.entries(newSettings).forEach(function(entry){
|
||||
const [name, value] = entry;
|
||||
|
@ -53,5 +61,14 @@
|
|||
this.classList.add("invalid");
|
||||
}
|
||||
});
|
||||
input.addEventListener("blur", function(){
|
||||
if (!this.classList.contains("invalid")){
|
||||
var data = {};
|
||||
settings.forEach(function(def){
|
||||
data[def.name] = def.get();
|
||||
});
|
||||
input.value = JSON.stringify(data, null, "\t");
|
||||
}
|
||||
});
|
||||
});
|
||||
}());
|
Loading…
Add table
Add a link
Reference in a new issue