Difference between revisions of "User:Abel/experimental.js"

From Wikibase Personal data
Jump to navigation Jump to search
m
m
Line 1: Line 1:
console.log("~");
 
 
console.log("~");
 
console.log("~");
  
Line 26: Line 25:
 
     // store.put(John);
 
     // store.put(John);
 
     // store.put(Bob);
 
     // store.put(Bob);
   
+
     var Pete = {id: 11345, name: {first: "Pete", last: "Rock"}, age: 42
 
+
     store.put(Pete);
    // Query the data
+
    recordUpdate(["Pete", "Rock"], phoneNumber, '+674316');
     var getJohn = store.get(12345);
+
    // Query the data 
    var getBob = index.get(["Smith", "Bob"]);
 
 
 
     getBob.onsuccess = function() {
 
      console.log("updating");
 
      getBob.result.phone = '+312';  // => "Bob"
 
      store.put(getBob.result);
 
 
 
      getBobAgain = index.get(["Smith", "Bob"]);
 
          getBobAgain.onsuccess = function() {
 
            console.log(getBobAgain.result.phone);  // => "Bob"
 
          };
 
 
 
 
  };
 
  };
 
      
 
      
 +
    // Close the db when the transaction is done
 +
    tx.oncomplete = function() {
 +
        db.close();
 +
    };
 +
}
  
 +
function recordUpdate(record, field, value){
  
 +
    var getRecord = index.get(record);
  
     // Close the db when the transaction is done
+
     getRecord.onsuccess = function() {
    tx.oncomplete = function() {
+
      console.log("updating");
        db.close();
+
      getRecord.result.field = value;  // => "Bob"
 +
      store.put(getRecord.result);
 +
      checkrecord(record, field)
 
     };
 
     };
 +
}
 +
 +
function checkRecord(record, field) {
 +
      checkRecord = index.get(record);
 +
      checkRecord.onsuccess = function() {
 +
        console.log(getRecordAgain.result.phone);  // => "Bob"
 +
      };
 
}
 
}

Revision as of 03:07, 25 April 2019

console.log("~");

var pddb = window.indexedDB.open("pdio", 1);

pddb.addEventListener('error', (event) => {
  console.log('Request error:', pddb.error);
}, false);

pddb.onupgradeneeded = function() {
    var db = pddb.result;
    var store = db.createObjectStore("MyObjectStore", {keyPath: "id"});
    var index = store.createIndex("NameIndex", ["name.last", "name.first"]);
};

pddb.onsuccess = function() {
    // Start a new transaction
    var db = pddb.result;
    var tx = db.transaction("MyObjectStore", "readwrite");
    var store = tx.objectStore("MyObjectStore");
    var index = store.index("NameIndex");

    // Add some data
    // var John = {id: 12345, name: {first: "John", last: "Doe"}, age: 42, phone: '+33123456789'};
    // var Bob = {id: 67890, name: {first: "Bob", last: "Smith"}, age: 35}
    // store.put(John);
    // store.put(Bob);
    var Pete = {id: 11345, name: {first: "Pete", last: "Rock"}, age: 42
    store.put(Pete);
    recordUpdate(["Pete", "Rock"], phoneNumber, '+674316');
    // Query the data   
 };
    
    // Close the db when the transaction is done
    tx.oncomplete = function() {
        db.close();
    };
}

function recordUpdate(record, field, value){

    var getRecord = index.get(record);

    getRecord.onsuccess = function() {
       console.log("updating");
       getRecord.result.field = value;   // => "Bob"
       store.put(getRecord.result);
       checkrecord(record, field)
    };
}

function checkRecord(record, field) {
       checkRecord = index.get(record);
       checkRecord.onsuccess = function() {
         console.log(getRecordAgain.result.phone);   // => "Bob"
       };
}