mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2025-12-17 09:41:24 +01:00
hotfix: auto-load to be ignore if no data
This commit is contained in:
parent
4a6ac9a7e7
commit
4a5d2c0378
3 changed files with 42 additions and 74 deletions
|
|
@ -7841,7 +7841,7 @@
|
||||||
<script src="libs/d3.min.js"></script>
|
<script src="libs/d3.min.js"></script>
|
||||||
<script src="libs/priority-queue.min.js"></script>
|
<script src="libs/priority-queue.min.js"></script>
|
||||||
<script src="libs/delaunator.min.js"></script>
|
<script src="libs/delaunator.min.js"></script>
|
||||||
<script src="libs/indexedDB.js"></script>
|
<script src="libs/indexedDB.js?v=1.89.31"></script>
|
||||||
|
|
||||||
<script src="utils/shorthands.js"></script>
|
<script src="utils/shorthands.js"></script>
|
||||||
<script src="utils/commonUtils.js?v=1.89.29"></script>
|
<script src="utils/commonUtils.js?v=1.89.29"></script>
|
||||||
|
|
|
||||||
|
|
@ -1,82 +1,50 @@
|
||||||
function waitForIndexedDB() {
|
|
||||||
return new Promise(resolve => {
|
|
||||||
const timer = setInterval(() => {
|
|
||||||
if (window.indexedDB) {
|
|
||||||
clearInterval(timer);
|
|
||||||
resolve();
|
|
||||||
}
|
|
||||||
}, 100);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function getValue(key) {
|
function getValue(key) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise(function (resolve) {
|
||||||
if (!window.indexedDB) {
|
if (db) {
|
||||||
reject(new Error("indexedDB not supported"));
|
var transaction = db.transaction("store", "readonly");
|
||||||
return;
|
var objectStore = transaction.objectStore("store");
|
||||||
|
var getRequest = objectStore.get(key);
|
||||||
|
getRequest.onsuccess = function (event) {
|
||||||
|
var result = event.target.result ? event.target.result.value : null;
|
||||||
|
resolve(result);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
setTimeout(function () {
|
||||||
|
getValue(key).then(resolve);
|
||||||
|
}, 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
waitForIndexedDB().then(() => {
|
|
||||||
const request = window.indexedDB.open("d2", 1);
|
|
||||||
|
|
||||||
request.onsuccess = event => {
|
|
||||||
const db = event.target.result;
|
|
||||||
const transaction = db.transaction("s", "readonly");
|
|
||||||
const objectStore = transaction.objectStore("s");
|
|
||||||
const getRequest = objectStore.get(key);
|
|
||||||
|
|
||||||
getRequest.onsuccess = event => {
|
|
||||||
const value = (event.target.result && event.target.result.v) || null;
|
|
||||||
resolve(value);
|
|
||||||
};
|
|
||||||
|
|
||||||
getRequest.onerror = event => {
|
|
||||||
reject(new Error("indexedDB request error"));
|
|
||||||
console.error(event);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
request.onerror = event => {
|
|
||||||
reject(new Error("indexedDB request error"));
|
|
||||||
console.error(event);
|
|
||||||
};
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function setValue(key, value) {
|
var indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
|
||||||
return new Promise((resolve, reject) => {
|
if (!indexedDB) console.error("indexedDB not supported");
|
||||||
if (!window.indexedDB) {
|
|
||||||
reject(new Error("indexedDB not supported"));
|
var db;
|
||||||
return;
|
var request = indexedDB.open("myDatabase", 1);
|
||||||
|
|
||||||
|
request.onsuccess = function (event) {
|
||||||
|
db = event.target.result;
|
||||||
|
};
|
||||||
|
|
||||||
|
request.onerror = function (event) {
|
||||||
|
console.error("indexedDB request error");
|
||||||
|
console.log(event);
|
||||||
|
};
|
||||||
|
|
||||||
|
request.onupgradeneeded = function (event) {
|
||||||
|
db = null;
|
||||||
|
var dbRequest = event.target.result;
|
||||||
|
var objectStore = dbRequest.createObjectStore("store", {keyPath: "key"});
|
||||||
|
objectStore.transaction.oncomplete = function () {
|
||||||
|
db = dbRequest;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
window.ldb = {
|
||||||
|
get: getValue,
|
||||||
|
set: function (key, value) {
|
||||||
|
var transaction = db.transaction("store", "readwrite");
|
||||||
|
var objectStore = transaction.objectStore("store");
|
||||||
|
objectStore.put({key: key, value: value});
|
||||||
}
|
}
|
||||||
|
|
||||||
waitForIndexedDB().then(() => {
|
|
||||||
const request = window.indexedDB.open("d2", 1);
|
|
||||||
|
|
||||||
request.onsuccess = event => {
|
|
||||||
const db = event.target.result;
|
|
||||||
const transaction = db.transaction("s", "readwrite");
|
|
||||||
const objectStore = transaction.objectStore("s");
|
|
||||||
|
|
||||||
objectStore.put({k: key, v: value});
|
|
||||||
|
|
||||||
transaction.oncomplete = () => {
|
|
||||||
resolve();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
transaction.onerror = event => {
|
|
||||||
reject(new Error("indexedDB request error"));
|
|
||||||
console.error(event);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
request.onerror = event => {
|
|
||||||
reject(new Error("indexedDB request error"));
|
|
||||||
console.error(event);
|
|
||||||
};
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
window.ldb = {get: getValue, set: setValue};
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
// version and caching control
|
// version and caching control
|
||||||
const version = "1.89.30"; // generator version, update each time
|
const version = "1.89.31"; // generator version, update each time
|
||||||
|
|
||||||
{
|
{
|
||||||
document.title += " v" + version;
|
document.title += " v" + version;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue