iRec guias js - CGastrell/phonegap GitHub Wiki
guias.js
El archivo de guias que recien separamos tiene pocos cambios. Principalmente el metodo agregarGuia
que estaremos utilizando cuando implementemos la vista de nueva-guia:
var guias = {
lista: [],
ready: false,
initialize: function(){
guias.obtenerGuias(function(err, contents){
if(err) {
console.log('Error obteniendo el archivo de guias');
guias.lista = [];
}
if(contents) {
guias.lista = JSON.parse(contents);
}else{
guias.lista.push(crearGuia());
guias.guardarGuias();
}
guias.ready = true;
});
},
guardarGuias: function(callback){
var guiasEnTexto = JSON.stringify(guias.lista);
fileApi.writeTextFile('guias.json', guiasEnTexto, function(content){
callback && callback(content);
});
},
obtenerGuias: function(callback) {
var onError = function(err) {
callback && callback(err, null);
}
var onFile = function(fileEntry) {
//convierte el fileEntry en un fileObject
fileEntry.file(
function(fileObject){
var reader = new FileReader();
// reader.onerror = function(){
// console.log('reader error');
// console.log(arguments);
// }
reader.onloadend = function(){
// console.log(this.result);
callback && callback(null, this.result);
}
reader.readAsText(fileObject);
},
onError
);
}
fileApi.dir.getFile('guias.json', {create:true}, onFile, onError);
},
agregarGuia: function(guia, callback){
guias.lista.push(guia);
guias.guardarGuias(function(){
callback && callback();
});
}
}
Siguiente: entrevistas.js