1
0
mirror of https://github.com/pkimpel/retro-b5500.git synced 2026-02-12 03:07:30 +00:00
Files
pkimpel.retro-b5500/tools/B5500FixStorageNames.html

83 lines
2.3 KiB
HTML

<!DOCTYPE html>
<head>
<title>B5500 Emulator Fix StorageNames</title>
<meta name="Author" content="Nigel Williams & Paul Kimpel">
<!--
2014-08-30 Original version
2015-04-17 Add "db=" URL parameter
-->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<script>
var configName = "retro-B5500-Config";
var storageName = "B5500DiskUnit";
window.addEventListener("load", function(ev) {
var req;
/**************************************/
function getDBName(defaultName) {
/* Parses the URL query string for a "db=name" parameter. If "db" is
found, returns the corresponding name; if not found, returns "defaultName" */
var args;
var i;
var name;
var search = location.search.substring(1); // drop the "?"
var value = defaultName;
var x;
args = search.split("&");
for (x=args.length-1; x>=0; --x) {
i = args[x].indexOf("=");
if (i > 0 ) {
name = decodeURIComponent(args[x].substring(0, i));
if (name.toLowerCase() == "db") {
value = decodeURIComponent(args[x].substring(i+1));
break; // out of for loop
}
}
}
return value;
}
/***************************************/
storageName = getDBName(storageName);
req = window.indexedDB.open(configName);
req.onerror = function(ev) {
alert("Cannot open \"" + configName + "\" database:\n" + ev.target.error);
};
req.onblocked = function(ev) {
alert("Database open is BLOCKED");
};
req.onsuccess = function(ev) {
var db = ev.target.result;
var req;
var txn = db.transaction("StorageNames", "readwrite");
db.onerror = function(ev) {
alert("Database error: " + ev.target.error);
};
req = txn.objectStore("StorageNames").put(storageName);
txn.oncomplete = function(ev) {
alert("Disk Storage name \"" + storageName + "\"\n successfully added.");
};
};
});
</script>
</head>
<body>
<h2>Fix System Config StorageNames Store!</h2>
</body>
</html>