Skip to content

Instantly share code, notes, and snippets.

@glynrob
glynrob / gist:5025644
Created February 24, 2013 21:12
Indexed DB display all rows
function displayRows(store) {
if (typeof store == 'undefined')
store = getObjectStore(DB_TABLE_NAME, 'readonly'); // no table passed so use the default one
var listcontainer = $('.listcontainer');
listcontainer.empty(); // clear existing data in the container
var req;
req = store.count();
req.onsuccess = function(evt) {
@glynrob
glynrob / gist:5025634
Created February 24, 2013 21:10
Indexed DB delete row
function deleteRow(key) {
key = Number(key); // set as number - required to work
store = getObjectStore(DB_TABLE_NAME, 'readwrite'); // get the object store allowing read and write
var req = store.get(key); // get row from table
req.onsuccess = function(evt) { // success - able to get the row from the table
var record = evt.target.result;
if (typeof record == 'undefined') { // row is empty
displayActionFailure("No record found");
return;
}
@glynrob
glynrob / gist:5025626
Created February 24, 2013 21:08
Indexed DB add row
function addRow(title) {
var obj = { title: title }; // structure of the object to save
var store = getObjectStore(DB_TABLE_NAME, 'readwrite');// get the object store allowing read and write
var req;
try {
req = store.add(obj); // add row
} catch (e) {
throw e;
}
@glynrob
glynrob / gist:5025607
Created February 24, 2013 21:03
Indexed DB API connect
function openDb() {
var req = indexedDB.open(DB_NAME, DB_VERSION);
req.onsuccess = function (evt) { // success connection to the database so display rows
db = this.result;
displayRows();
};
req.onerror = function (evt) { // error - display error
displayActionFailure("DB error: "+ evt.target.errorCode);
};
req.onupgradeneeded = function (evt) { // upgrade version has changed so upgrade
@glynrob
glynrob / gist:5021170
Created February 23, 2013 20:16
filesystem api get all files and folders
function displayDirectory(){
var dirReader = fs.root.createReader(); // create reader
var entries = [];
var readEntries = function() { // new function so you can loop on itself
dirReader.readEntries(function(results) { // read all entries saved
if (!results.length) {
displayFilesAndFolders(entries.sort()); // display all entries saved
} else {
entries = entries.concat(toArray(results));
readEntries();
@glynrob
glynrob / gist:5021129
Created February 23, 2013 20:07
filesystem api add content to file
// add content to a file
function addContent(existFileName){
fs.root.getFile(existFileName, {}, function(fileEntry) {
fileEntry.file(function(file) {
var reader = new FileReader();
reader.onloadend = function(e) {
var sentContent=prompt("Add contents to the file "+existFileName,this.result);
if (sentContent!=null && sentContent!=""){
fileEntry.createWriter(function(fileWriter) {
fileWriter.onwriteend = function(trunc) {
@glynrob
glynrob / gist:5021118
Created February 23, 2013 20:04
filesystem api delete file or folder
// delete file
function deleteFile(fileName){
fs.root.getFile(fileName, {create: false}, function(fileEntry) {
fileEntry.remove(function() {
displayDirectory();
}, errorHandler);
}, function(e) {
if (e.code == FileError.INVALID_MODIFICATION_ERR){
alert('Filename does not exists');
}
@glynrob
glynrob / gist:5021101
Created February 23, 2013 19:59
filesystem api create file or folder
// create a new file
function createFile(fileName){
fs.root.getFile(fileName+'.txt', {create: true, exclusive: true}, function(fileEntry) {
displayDirectory(); // reload files and folders
}, function(e) { // file was not created for some reason
if (e.code == FileError.INVALID_MODIFICATION_ERR){ // alert most common reason for failure
alert('Filename already exists');
}
});
}
@glynrob
glynrob / gist:5021087
Last active December 14, 2015 03:29
filesystem api start
function kickUpFileSystem(){
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
try{
window.webkitStorageInfo.requestQuota(typeFileSystem, 5*1024*1024 /*5MB*/, function(grantedBytes) {
window.requestFileSystem(typeFileSystem, grantedBytes, function(filesystem) {
fs = filesystem;
fileSystemLoaded();
}, errorHandler);
}, function(e) {
console.log('Error', e);
@glynrob
glynrob / gist:5021077
Created February 23, 2013 19:51
filesystem api html code
<!DOCTYPE html>
<html manifest="filedemo.manifest">
<head>
<meta name="viewport" content="width=device-width">
<title>Filesystem API</title>
<link rel="stylesheet" type="text/css" href="default.css" media="all" />
<script src="jquery-1.7.2.min.js"></script>
<script src="custom.js"></script>
</head>
<body>