projects
/
outofuni
/
jsutils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mods not yet commited
[outofuni/jsutils.git]
/
idb.js
diff --git
a/idb.js
b/idb.js
index
20d5ea4
..
f574688
100644
(file)
--- a/
idb.js
+++ b/
idb.js
@@
-25,7
+25,8
@@
var idb = {
var store=idb.stores[sn]
var key={};
key[store['keytype']]=store['keyname'];
var store=idb.stores[sn]
var key={};
key[store['keytype']]=store['keyname'];
- cl("idb: creating store '"+sn+"'");
+ cl("idb: creating store '"+sn+"' ("+
+ store.keytype+": "+store.keyname+")");
store.os=idb.handle.createObjectStore(sn,key);
// indices
if(store.idx!==undefined) {
store.os=idb.handle.createObjectStore(sn,key);
// indices
if(store.idx!==undefined) {
@@
-87,12
+88,22
@@
var idb = {
idb.successcb=successcb;
if(upgradecb!==undefined)
idb.onupgradeneeded=upgradecb;
idb.successcb=successcb;
if(upgradecb!==undefined)
idb.onupgradeneeded=upgradecb;
+ cl("idb: init database '"+idb.name+"'");
var req=indexedDB.open(idb.name,idb.version);
req.onsuccess=idb.onsuccess;
req.onupgradeneeded=idb.onupgradeneeded;
req.onerror=idb.onerror;
req.onblocked=idb.onblocked;
},
var req=indexedDB.open(idb.name,idb.version);
req.onsuccess=idb.onsuccess;
req.onupgradeneeded=idb.onupgradeneeded;
req.onerror=idb.onerror;
req.onblocked=idb.onblocked;
},
+ 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();
+ };
+ },
add_store_item: function(store,item,callback) {
var tx=idb.handle.transaction(store,'readwrite');
var store=tx.objectStore(store);
add_store_item: function(store,item,callback) {
var tx=idb.handle.transaction(store,'readwrite');
var store=tx.objectStore(store);
@@
-104,15
+115,6
@@
var idb = {
cl("idb: add item error, "+error);
};
},
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(store,num,callback) {
var tx=db.handle.transaction(store,'readwrite');
var store=tx.objectStore(store);
@@
-165,7
+167,8
@@
var idb = {
var res=cursor.update(nitem);
res.onsuccess=function(event) {
cl("idb: updated cursor");
var res=cursor.update(nitem);
res.onsuccess=function(event) {
cl("idb: updated cursor");
- callback(event);
+ if(callback!==undefined)
+ callback(event);
};
res.onerror=function(error) {
cl("idb: cursor update error");
};
res.onerror=function(error) {
cl("idb: cursor update error");
@@
-177,7
+180,8
@@
var idb = {
var addreq=store.add(nitem,num);
addreq.onsuccess=function(event) {
cl("idb: added (update mode) key "+num);
var addreq=store.add(nitem,num);
addreq.onsuccess=function(event) {
cl("idb: added (update mode) key "+num);
- callback(event);
+ if(callback!==undefined)
+ callback(event);
}
addreq.onerror=function(error) {
cl("idb: error add (update mode)");
}
addreq.onerror=function(error) {
cl("idb: error add (update mode)");
@@
-299,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+"'");
var req=indexedDB.deleteDatabase(idb.name);
req.onsuccess=function() {
cl("idb: deleted database '"+idb.name+"'");
+ callback();
};
req.onblocked=function() {
cl("idb: database delete blocked");
};
req.onblocked=function() {
cl("idb: database delete blocked");