From a1e3f030c947cd156971deac79300074ec16834a Mon Sep 17 00:00:00 2001 From: Oh Martin Date: Wed, 4 Nov 2020 15:29:34 +0200 Subject: [PATCH] Added a Search method in src/api/idb.js --- src/api/idb.js | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/api/idb.js b/src/api/idb.js index 5dfe9eb..841b61f 100644 --- a/src/api/idb.js +++ b/src/api/idb.js @@ -134,5 +134,50 @@ export default { }); }, + async search(name, keyPath) { + + let db = await this.getDb(); + + return new Promise((resolve, reject) => { + + let trans = db.transaction([name],'readonly'); + trans.oncomplete = () => { + resolve(tr); + }; + + let store = trans.objectStore(name); + let tr = {}; + + store.openCursor().onsuccess = e => { + let cursor = e.target.result; + if (cursor) { + if (keyPath == cursor.value.keyPath){ + tr = cursor.value + for (const book in cursor.value.books) { + for (const chapters in book) { + for (const verses in chapters) { + for (const verse in verses) { + if(verse.text.includes(keyPath)){ + console.log("We found a row with value: " + JSON.stringify(verse.text)); + } + } + } + } + } + + } + cursor.continue(); + } + }; + trans.onerror = e => { + reject(e) + } + trans.onabort = e => { + reject(e) + } + trans.commit(); + + }); + }, } \ No newline at end of file