new version

This commit is contained in:
silas
2018-11-04 23:36:18 +01:00
parent 612aa8168f
commit 71bde38da4
9 changed files with 123 additions and 7733 deletions

View File

@@ -3403,16 +3403,41 @@ class GapiHandler {
}
class MyDb {
constructor(dbName, version, indexedDB) {
indexedDB = indexedDB || window["myIndexedDB"] || window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB || window.shimIndexedDB;
console.log("MyDB", indexedDB);
this._conn = indexedDB.open(dbName, version);
constructor(dbName, version) {
this.queryPromise = new Promise(async (resolve, reject) => {
let indexedDB = null;
if (window["sqlite"]){
indexedDB = new Promise(sqliteResolve => {
function testSqlLiteResolve(){
if (window["sqliteIndexedDB"]){
sqliteResolve(window["sqliteIndexedDB"]);
}
else {
setTimeout(testSqlLiteResolve, 200);
}
console.log("t");
}
testSqlLiteResolve();
});
}
else {
indexedDB = Promise.resolve(window["myIndexedDB"] || window["indexedDB"] || window["mozIndexedDB"]|| window["webkitIndexedDB"]|| window["msIndexedDB"] || window["shimIndexedDB"]);
}
console.log("indexeddb 1");
this.indexeddb = (await indexedDB);
console.log("indexeddb 2");
this._conn = this.indexeddb.open(dbName, version);
let myDB = this;
this._conn.onupgradeneeded = function (upgradeEvent) {
myDB.upgrade(myDB._conn.result, upgradeEvent.oldVersion, upgradeEvent.newVersion, upgradeEvent);
};
this.queryPromise = new Promise(function (resolve) {
let myDB = this;
this._conn.onupgradeneeded = function (upgradeEvent) {
try {
myDB.upgrade(myDB._conn.result, upgradeEvent.oldVersion, upgradeEvent.newVersion, upgradeEvent);
}
catch(e){
reject(e);
throw e;
}
};
myDB._conn.onsuccess = function (e) {
myDB._db = myDB._conn.result;
resolve(e);
@@ -3446,7 +3471,6 @@ class MyDb {
transactionMode = "readonly";
}
return this.openTransaction(name, transactionMode, function (t) {
console.log("openStore", name, t);
callback(t.objectStore(name));
});
}
@@ -3491,13 +3515,10 @@ class MyDb {
load(key, objectStore) {
let self = this;
return new Promise( (resolve, reject) => {
console.log("load 1");
return new Promise((resolve, reject) => {
self.openStore(objectStore, function (store) {
console.log("load 2");
let request = store.get(key);
request.onsuccess = function (e) {
console.log("load 3");
resolve(e.currentTarget.result);
};
request.onerror = function (e) {
@@ -3513,11 +3534,10 @@ class MyDb {
});
});
}
loadAll(objectStore, query, count)
{
loadAll(objectStore, query, count) {
let self = this;
return new Promise((resolve, reject) => {
return new Promise((resolve, reject) => {
self.openStore(objectStore, function (store) {
let request = store.getAll(query, count);
request.onsuccess = function (e) {
@@ -3647,13 +3667,13 @@ class MyDb {
});
}
removeAll(objectStore){
removeAll(objectStore) {
return new Promise((resolve) => {
this.openStore(objectStore, "readwrite", (store) => {
let req = store.clear();
req.onerror = (e) => {
throw {
"type":"indexed-db-index-error",
"type": "indexed-db-index-error",
"event": e
}
};