src/app/device/data-storage.js
class DataStore {
constructor() {
}
save(data) {
data = 'SlacJsData = ' + JSON.stringify(data) + ';';
/*
global window
*/
window.resolveLocalFileSystemURL(this._storageDir(), function(dir) {
console.log("Got main dir " + dir.fullPath);
dir.getFile("slac_datafile_" + (new Date).getTime() + ".json", {create:true}, function(file) {
console.log("Got file object " + file);
file.createWriter(function(fileWriter) {
fileWriter.seek(fileWriter.length);
fileWriter.write(data);
console.log("Saved to " + fileWriter.fileName);
navigator.notification.alert(
'Data saved!',
null,
'Status',
'Ok'
);
}, function(error) {
navigator.notification.alert(
'Could not save data with error code: ' + error.code,
null,
'Status',
'Sorry!')
});
});
}, function(error) {
navigator.notification.alert(
'Could not save data with error code: ' + error.code,
null,
'Status',
'Sorry!')
});
}
/**
* Return the storage dir based on the platform
* @return {String}
*/
_storageDir() {
/*
global device, cordova
*/
switch(device.platform) {
case "iOS":
return cordova.file.documentsDirectory;
case "Android":
case "android":
return cordova.file.externalDataDirectory;
default:
navigator.notification.alert(
'Unsupported platform for data store: ' + device.platform,
null,
'Status',
'Sorry!')
console.error('[SLACjs] Unsupported platform for data store.');
}
}
}
export default DataStore;