Setelah kita belajar membuat tabel dalam indexedDB maka kita melanjutkan dengan memasukkan data ke dalam tabel indexedDB.

Langkah-langkah memasukkan data ke indexedDB dengan menggunakan library idb adalah sebagai berikut

  1. Membuat function untuk object_storenya pada file 101-tbl_item.js:
    var nama_tabel='tbl_item';
    const objitem = idb.open('erpku', 1, db => {
        db.createObjectStore(nama_tabel);
      });
     
    const tbl_item = {
        get(key) {
          return objitem.then(db => {
            return db.transaction(nama_tabel)
              .objectStore(nama_tabel).get(key);
          });
        },
        set(key, val) {
          return objitem.then(db => {
            const tx = db.transaction(nama_tabel, 'readwrite');
            tx.objectStore(nama_tabel).put(val, key);
            return tx.complete;
          });
        },
        delete(key) {
          return objitem.then(db => {
            const tx = db.transaction(nama_tabel, 'readwrite');
            tx.objectStore(nama_tabel).delete(key);
            return tx.complete;
          });
        },
        clear() {
          return objitem.then(db => {
            const tx = db.transaction(nama_tabel, 'readwrite');
            tx.objectStore(nama_tabel).clear();
            return tx.complete;
          });
        },
        keys() {
          return objitem.then(db => {
            const tx = db.transaction(nama_tabel);
            const keys = [];
            const store = tx.objectStore(nama_tabel);
      
            // This would be store.getAllKeys(), but it isn't supported by Edge or Safari.
            // openKeyCursor isn't supported by Safari, so we fall back
            (store.iterateKeyCursor || store.iterateCursor).call(store, cursor => {
              if (!cursor) return;
              keys.push(cursor.key);
              cursor.continue();
            });
      
            return tx.complete.then(() => keys);
          });
        }
      };
    

  2. Membuat htmlnya:
    <html>
    <body>
    Item Id :<input type=”text” id=”item_id”>
    <br/> Item Name :<input type=”text” id=”item_name”>
    <br/> Satuan :<input type=”text” id=”item_unit”>
    <input type=”button” id=”btn_isikan” value=”Isikan”>
    <script>
        document.querySelector("#btn_isikan").addEventListener('click',function(){
            item_id = document.querySelector("#item_id").value;
            item_name = document.querySelector("#item_name").value;
            item_unit = document.querySelector("#item_unit").value;
            tbl_item.set(item_id,{'item_name':item_name,'item_unit':item_unit});
        });
    
    
    </script>
    <script src=”/idb.js”></script>
    <script src=”/101-tbl_item.js”></script>
    </body>
    </html>
  3. Melihat hasilnya di https://pwa00.aris.proweb.asia/101-isi-tabel.html dengan menggunaka browser Chrome:
  4. Kita menggunakan idb.js yang bisa didowload di https://github.com/jakearchibald/idb .

Informasi lebih lanjut silahkan mengunjungi https://github.com/jakearchibald/idb .

Kunjungi www.proweb.co.id untuk menambah wawasan anda.

Memasukkan data ke indexedDB

One thought on “Memasukkan data ke indexedDB

Comments are closed.