X-Git-Url: https://hackdaworld.org/gitweb/?p=outofuni%2Fjsutils.git;a=blobdiff_plain;f=idb.js;h=dcb7a84381a63d6c3769852a13051a7f03b794e6;hp=2e4c9e9ed3a2a15d71ebdaea2b74724bba0b7161;hb=940bad374392d3128509499fc8e6e855d0f37037;hpb=1395597e615dce174f454251ed4e462edd529659 diff --git a/idb.js b/idb.js index 2e4c9e9..dcb7a84 100644 --- a/idb.js +++ b/idb.js @@ -60,7 +60,7 @@ var idb = { } } } - cl("idb: upgrade success! ("+ov+"->"+nv+")"); + cl("idb: upgrade success! ("+ov+" -> "+nv+")"); }, onsuccess: function(event) { idb.handle=event.target.result; @@ -95,9 +95,18 @@ var idb = { req.onerror=idb.onerror; req.onblocked=idb.onblocked; }, - add_store_item: function(store,item,callback) { - var tx=idb.handle.transaction(store,'readwrite'); - var store=tx.objectStore(store); + del_store: function(sname,callback) { + var tx=db.handle.transaction(sname,'readwrite'); + var store=tx.objectStore(sname); + var req=store.clear(); + req.onsuccess=function() { + cl("db: store "+store.name+" deleted"); + callback(); + }; + }, + add_store_item: function(sname,item,callback) { + var tx=idb.handle.transaction(sname,'readwrite'); + var store=tx.objectStore(sname); var req=store.add(item); req.onsuccess=function(event) { callback(event); @@ -106,18 +115,9 @@ var idb = { cl("idb: add item error, "+error); }; }, - del_store: function(store,callback) { - var tx=db.handle.transaction(store,'readwrite'); - var store=tx.objectStore(store); - var req=store.clear(); - req.onsuccess=function() { - cl("db: store "+store.name+" deleted"); - callback(); - }; - }, - del_store_item: function(store,num,callback) { - var tx=db.handle.transaction(store,'readwrite'); - var store=tx.objectStore(store); + del_store_item: function(sname,num,callback) { + var tx=db.handle.transaction(sname,'readwrite'); + var store=tx.objectStore(sname); var kr=IDBKeyRange.bound(num,num,false,false); var req=store.openCursor(kr); @@ -141,9 +141,9 @@ var idb = { }; }, - update_store_item: function(store,num,nitem,callback) { - var tx=idb.handle.transaction(store,'readwrite'); - var store=tx.objectStore(store); + update_store_item: function(sname,num,nitem,callback) { + var tx=idb.handle.transaction(sname,'readwrite'); + var store=tx.objectStore(sname); var kr=IDBKeyRange.bound(num,num,false,false); var req=store.openCursor(kr); @@ -190,7 +190,7 @@ var idb = { }; }, - get_store_items: function(store,callback,low,up) { + get_store_items: function(sname,callback,low,up) { // if low and up are undefined, all items are considered var kr; var last=false; @@ -219,8 +219,8 @@ var idb = { kr=IDBKeyRange.upperBound(up,true); } - var tx=idb.handle.transaction(store,'readonly'); - var store=tx.objectStore(store); + var tx=idb.handle.transaction(sname,'readonly'); + var store=tx.objectStore(sname); var obj={}; obj.cnt_objs=0; @@ -251,9 +251,9 @@ var idb = { } }; }, - get_item_by_key: function(store,key,callback) { - var tx=idb.handle.transaction(store,'readonly') - var store=tx.objectStore(store); + get_item_by_key: function(sname,key,callback) { + var tx=idb.handle.transaction(sname,'readonly') + var store=tx.objectStore(sname); var req=store.get(key); req.onerror=function(event) { cl("idb: get key error - "+event.target.errorCode); @@ -264,9 +264,9 @@ var idb = { } } }, - get_item_by_index: function(store,index,val,callback) { - var tx=db.handle.transaction(store,'readonly') - var store=tx.objectStore(store); + get_item_by_index: function(sname,index,val,callback) { + var tx=db.handle.transaction(sname,'readonly') + var store=tx.objectStore(sname); var idx=store.index(index); var req=idx.get(val); req.onerror=function(event) { @@ -278,9 +278,9 @@ var idb = { } } }, - del_item_by_key: function(store,key,callback) { - var tx=idb.handle.transaction(store,'readwrite'); - var store=tx.objectStore(store); + del_item_by_key: function(sname,key,callback) { + var tx=idb.handle.transaction(sname,'readwrite'); + var store=tx.objectStore(sname); var kr=IDBKeyRange.bound(key,key,false,false); var req=store.openCursor(kr); @@ -303,10 +303,11 @@ var idb = { }; }, - del: function() { + del: function(callback) { var req=indexedDB.deleteDatabase(idb.name); req.onsuccess=function() { cl("idb: deleted database '"+idb.name+"'"); + callback(); }; req.onblocked=function() { cl("idb: database delete blocked");