new version
This commit is contained in:
@@ -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
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user