Changes

Jump to navigation Jump to search
m
no edit summary
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"]);
530

edits

Navigation menu