window.indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB;
if ('webkitIndexedDB' in window) {
window.IDBTransaction = window.webkitIDBTransaction;
window.IDBKeyRange = window.webkitIDBKeyRange;
}
var GDev={}
GDev.IDB={}
GDev.IDB.db=null
GDev.IDB.open=function(){
var AccesoAPI=indexedDB.open("PruebaGDev", 1);
AccesoAPI.onsuccess=function(e){
GDev.IDB.db=e.target.result
GDev.IDB.versiones()
}
AccesoAPI.onfailure=GDev.IDB.error
}
GDev.IDB.versiones=function(){
var base_datos=GDev.IDB.db
var Version=1
if(Version!=base_datos.version){
var rVersion=base_datos.setVersion(Version)
rVersion.onfailure=GDev.IDB.error
rVersion.onsuccess=function(e){
if(base_datos.objectStoreNames.contains("Productos ")) {
base_datos.deleteObjectStore("Productos")
}
base_datos.createObjectStore("Productos",{keyPath: "ID"})
e.target.transaction.oncomplete=GDev.IDB.anadirPro ductos
}
}else{
GDev.IDB.anadirProductos()
}
}
GDev.IDB.anadirProductos=function(){
var base_datos=GDev.IDB.db
var trans=base_datos.transaction("Productos",'readwrit e')
var Almacen=trans.objectStore("Productos")
var AJAX=[
{id:21992,name:"Pantalon Adidas "},
{id:21261,name:"Pantaon largo Adidas"},
{id:21390,name:"Camiseta deportiva"},
{id:22082,name:"Camiseta adidas"},
{id:21992,name:"Camiseta Nike Mujer"},
{id:21261,name:"Camiseta Estandar"},
{id:21390,name:"Balon futbol 11 "},
{id:22082,name:"Raqueta Paddel"},
{id:22082,name:"Botas futbol 11"},
{id:22082,name:"Camiseta Rayo Vallecano"},
]
GDev.IDB.nProducto=AJAX.length
GDev.IDB.contProducto=0
for(var i=0;i<AJAX.length;i++){
var RespNuevo=Almacen.put({
"ID":AJAX[i].id,
name:AJAX[i].name
})
RespNuevo.onfailure=GDev.IDB.error
RespNuevo.onsuccess=GDev.IDB.mostrarProductos
}
}
GDev.IDB.mostrarProductos=function(){
GDev.IDB.contProducto++
if(GDev.IDB.contProducto>=GDev.IDB.nProducto){
var base_datos=GDev.IDB.db
var trans=base_datos.transaction("Productos",'readwrit e')
var Almacen=trans.objectStore("Productos")
var rangoSel = IDBKeyRange.lowerBound(0)
var Busqueda = Almacen.openCursor(rangoSel)
Busqueda.onfailure=GDev.IDB.error
document.body.innerHTML=''
Busqueda.onsuccess = function(e) {
var resultado = e.target.result
if(!!resultado == false) return false
GDev.IDB.escribir(resultado.value)
resultado.continue()
}
}
}
GDev.IDB.escribir=function(elemento){
document.body.innerHTML+=
'<b>ID</b>: '+elemento.ID+' '+
'<b>Producto</b>: '+elemento.name+'<br>'
}
GDev.IDB.error=function(){alert("Ha ocurrido un error")}
GDev.IDB.open()