Line 1: |
Line 1: |
| console.log('+'); | | console.log('+'); |
| + | |
| + | /* |
| + | |
| var personal_data_id = 421; | | var personal_data_id = 421; |
| | | |
Line 49: |
Line 52: |
| return read.split('.').reduce(indexcheck, array); | | return read.split('.').reduce(indexcheck, array); |
| } | | } |
| + | */ |
| + | |
| + | |
| + | //|||||||||||||||||||||[ db objects ]||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
| + | |
| + | |
| + | var personalDB = {}; |
| + | var indexedDB = window.indexedDB ; |
| + | var indexedDBVersion = "2"; |
| + | var Pete = {id: '11345', name: {first: "Pete", last: "Rock"}, age: '52'}; |
| + | |
| + | personalDB.indexedDB = {}; |
| + | personalDB.indexedDB.db = null; |
| + | |
| + | |
| + | //|||||||||||||||||||||||||||[ Error ]||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
| + | |
| + | |
| + | personalDB.indexedDB.onerror = function(arr){ |
| + | console.log(arr); |
| + | } |
| + | |
| + | |
| + | //|||||||||||||||||||||||||||[ Open database ]||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
| + | |
| + | |
| + | personalDB.indexedDB.open = function(){ |
| + | // open database of |
| + | var request = indexedDB.open("personalDataIO"); |
| + | |
| + | request.onsuccess = function(e){ |
| + | // |
| + | personalDB.indexedDB.db = e.target.result; |
| + | var db = personalDB.indexedDB.db; |
| + | |
| + | //object stores are created in setVersion transactions |
| + | if(indexedDBVersion!=db.version){ |
| + | var setDBVersion = db.setVersion(indexedDBVersion); |
| + | |
| + | //object store is created onsuccess |
| + | setDBVersion.onerror = personalDB.indexedDB.onerror; |
| + | |
| + | setDBVersion.onsuccess = function(e){ |
| + | if(db.objectStoreNames.contains("personalDataIO")){ |
| + | // db.openObjectStore("personalDataIO"); |
| + | } else { |
| + | var store = db.createObjectStore("personalDataIO",{autoIncrement:true}); |
| + | } |
| + | store.createIndex("NameIndex", ["name.last", "name.first"]); |
| + | personalDB.indexedDB.recordAll(); |
| + | }; |
| + | }else{ |
| + | personalDB.indexedDB.recordAll(); |
| + | } |
| + | }; |
| + | request.onerror = personalDB.indexedDB.onerror; |
| + | };//end open |
| + | |
| + | |
| + | //|||||||||||||||||||||||||||||[ Add new record ]||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
| + | |
| + | |
| + | //add Items |
| + | personalDB.indexedDB.recordAdd = function(recordObject){ |
| + | console.log('Creating record: '+entryTxt); |
| + | var db = personalDB.indexedDB.db; |
| + | var trans = db.transaction(["personalDataIO"],IDBTransaction.READ_WRITE); |
| + | var store = trans.objectStore("personalDataIO"); |
| + | var request = store.put(recordObject); |
| + | |
| + | request.onsuccess = function(e){ |
| + | personalDB.indexedDB.recordAll(); |
| + | }; |
| + | request.onerror = function(e){ |
| + | console.log('Error adding: '+e); |
| + | }; |
| + | }; |
| + | |
| + | |
| + | //|||||||||||||||||||||||||||||[ Add new property to existing record ]||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
| + | |
| + | //get Items |
| + | personalDB.indexedDB.recordAppend = function(Uname, field, value){ |
| + | |
| + | var db = personalDB.indexedDB.db; |
| + | var trans = db.transaction("personalDataIO"); |
| + | var store = trans.objectStore("personalDataIO"); |
| + | |
| + | var index = store.index(uname); |
| + | index.get(uname).onsuccess = function(e){ |
| + | var nit = e.target.result; |
| + | nit.field = value; |
| + | recordAdd(nit); |
| + | }; |
| + | }; |
| + | |
| + | //|||||||||||||||||||||||||||||[ Init wrapper ]||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
| + | |
| + | function init() { |
| + | personalDB.indexedDB.open(); |
| + | } |
| + | |
| + | //||||||||||||||||||||||||||||||[ Get Record by name]|||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
| + | |
| + | personalDB.indexedDB.recordGet = function(uname) { |
| + | var db = personalDB.indexedDB.db; |
| + | var trans = db.transaction("personalDataIO"); |
| + | var store = trans.objectStore("personalDataIO"); |
| + | |
| + | var index = store.index(uname); |
| + | console.log(index); |
| + | |
| + | index.get(uname).onsuccess = function(e){ |
| + | console.log(e.target); |
| + | /*/ $('#results').append('<li>'+e.target.result+'</li>'); /*/// |
| + | }; |
| + | |
| + | } |
| + | |
| + | |
| + | //|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
| + | |
| + | |
| + | //|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
| + | |
| + | init(); |
| + | |
| + | personalDB.indexedDB.recordAdd(Pete); |
| + | personalDB.indexedDB.recordAppend(["Pete", "Rock"], 'telephone', '+123-XXX'); |
| + | personalDB.indexedDB.recordGet(["Pete", "Rock"]); |