2012-02-08 11:36:43 -05:00
|
|
|
/**
|
|
|
|
* Module for simplifying Indexed DB access
|
|
|
|
*/
|
|
|
|
(function() {
|
|
|
|
"use strict";
|
|
|
|
|
|
|
|
var db = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB,
|
|
|
|
indexedDB = {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Module for simplifying Indexed DB access
|
|
|
|
*
|
|
|
|
* @namespace
|
|
|
|
* @name indexedDB
|
|
|
|
* @memberOf $_
|
|
|
|
*/
|
|
|
|
indexedDB = {
|
|
|
|
current_db: null,
|
|
|
|
/**
|
|
|
|
* Connects to an indexedDB database
|
|
|
|
*
|
|
|
|
* @memberOf $_.indexedDB
|
|
|
|
* @name connect
|
|
|
|
* @function
|
|
|
|
* @param string dbname
|
|
|
|
* @param [int] version
|
|
|
|
* @param [function] onupgradeneeded
|
|
|
|
*/
|
|
|
|
connect: function(dbname, version, onupgradeneeded)
|
|
|
|
{
|
2012-02-08 11:54:46 -05:00
|
|
|
var request = {};
|
|
|
|
|
2012-02-08 11:36:43 -05:00
|
|
|
version = version || 0;
|
|
|
|
|
2012-02-08 11:54:46 -05:00
|
|
|
// Ask for permission to use db
|
|
|
|
request = db.open(dbname, version);
|
|
|
|
|
|
|
|
// Assign onupgradeneeded callback
|
2012-02-08 11:36:43 -05:00
|
|
|
if(typeof onupgradeneeded !== "undefined")
|
|
|
|
{
|
|
|
|
request.onupgradeneeded = onupgradeneeded;
|
|
|
|
}
|
2012-02-08 11:54:46 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @private
|
|
|
|
*/
|
|
|
|
request.onerror = function(event)
|
|
|
|
{
|
|
|
|
console.log("IndexedDB disallowed.");
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @private
|
|
|
|
*/
|
|
|
|
request.onsuccess = function(event)
|
|
|
|
{
|
|
|
|
// Connect to the specified db
|
|
|
|
indexedDB.current_db = request.result;
|
|
|
|
};
|
2012-02-08 11:36:43 -05:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
$_.ext('indexedDB', indexedDB);
|
|
|
|
|
|
|
|
}());
|