mirror of
https://github.com/Esri/offline-editor-js.git
synced 2025-12-15 15:20:05 +00:00
first step into refactoring attachmentsStore.js
This commit is contained in:
parent
02f913bb43
commit
d5c106fa14
@ -59,30 +59,31 @@ define([], function()
|
||||
|
||||
this.retrieve = function(attachmentId, callback)
|
||||
{
|
||||
if(this._db !== null)
|
||||
console.assert(this._db !== null, "indexeddb not initialized");
|
||||
|
||||
var objectStore = this._db.transaction([OBJECT_STORE_NAME]).objectStore(OBJECT_STORE_NAME);
|
||||
var request = objectStore.get(attachmentId);
|
||||
request.onsuccess = function(event)
|
||||
{
|
||||
var objectStore = this._db.transaction([OBJECT_STORE_NAME]).objectStore(OBJECT_STORE_NAME);
|
||||
var request = objectStore.get(attachmentId);
|
||||
request.onsuccess = function(event)
|
||||
{
|
||||
var result = event.target.result;
|
||||
if(!result){
|
||||
callback(false,"not found");
|
||||
}
|
||||
else{
|
||||
callback(true,result);
|
||||
}
|
||||
};
|
||||
request.onerror = function(err)
|
||||
{
|
||||
console.log(err);
|
||||
callback(false,err);
|
||||
};
|
||||
}
|
||||
var result = event.target.result;
|
||||
if(!result){
|
||||
callback(false,"not found");
|
||||
}
|
||||
else{
|
||||
callback(true,result);
|
||||
}
|
||||
};
|
||||
request.onerror = function(err)
|
||||
{
|
||||
console.log(err);
|
||||
callback(false,err);
|
||||
};
|
||||
};
|
||||
|
||||
this.getAttachmentsByFeatureId = function(featureLayerUrl,objectId,callback)
|
||||
{
|
||||
console.assert(this._db !== null, "indexeddb not initialized");
|
||||
|
||||
var featureId = featureLayerUrl + "/" + objectId;
|
||||
var attachments = [];
|
||||
|
||||
@ -106,6 +107,8 @@ define([], function()
|
||||
|
||||
this.getAttachmentsByFeatureLayer = function(featureLayerUrl,callback)
|
||||
{
|
||||
console.assert(this._db !== null, "indexeddb not initialized");
|
||||
|
||||
var attachments = [];
|
||||
|
||||
var objectStore = this._db.transaction([OBJECT_STORE_NAME]).objectStore(OBJECT_STORE_NAME);
|
||||
@ -128,6 +131,8 @@ define([], function()
|
||||
|
||||
this.getAllAttachments = function(callback)
|
||||
{
|
||||
console.assert(this._db !== null, "indexeddb not initialized");
|
||||
|
||||
var attachments = [];
|
||||
|
||||
var objectStore = this._db.transaction([OBJECT_STORE_NAME]).objectStore(OBJECT_STORE_NAME);
|
||||
@ -148,6 +153,8 @@ define([], function()
|
||||
|
||||
this.deleteAttachmentsByFeatureId = function(featureLayerUrl,objectId,callback)
|
||||
{
|
||||
console.assert(this._db !== null, "indexeddb not initialized");
|
||||
|
||||
var featureId = featureLayerUrl + "/" + objectId;
|
||||
|
||||
var objectStore = this._db.transaction([OBJECT_STORE_NAME],"readwrite").objectStore(OBJECT_STORE_NAME);
|
||||
@ -172,50 +179,42 @@ define([], function()
|
||||
|
||||
this.delete = function(attachmentId, callback)
|
||||
{
|
||||
if(this._db !== null)
|
||||
console.assert(this._db !== null, "indexeddb not initialized");
|
||||
|
||||
var request = this._db.transaction([OBJECT_STORE_NAME],"readwrite")
|
||||
.objectStore(OBJECT_STORE_NAME)
|
||||
.delete(attachmentId);
|
||||
request.onsuccess = function(event)
|
||||
{
|
||||
var request = this._db.transaction([OBJECT_STORE_NAME],"readwrite")
|
||||
.objectStore(OBJECT_STORE_NAME)
|
||||
.delete(attachmentId);
|
||||
request.onsuccess = function(event)
|
||||
{
|
||||
setTimeout(function(){callback(true);},1);
|
||||
};
|
||||
request.onerror = function(err)
|
||||
{
|
||||
callback(false,err);
|
||||
};
|
||||
}
|
||||
else
|
||||
setTimeout(function(){callback(true);},1);
|
||||
};
|
||||
request.onerror = function(err)
|
||||
{
|
||||
callback(false,null);
|
||||
}
|
||||
callback(false,err);
|
||||
};
|
||||
};
|
||||
|
||||
this.deleteAll = function(callback)
|
||||
{
|
||||
if(this._db !== null)
|
||||
console.assert(this._db !== null, "indexeddb not initialized");
|
||||
|
||||
var request = this._db.transaction([OBJECT_STORE_NAME],"readwrite")
|
||||
.objectStore(OBJECT_STORE_NAME)
|
||||
.clear();
|
||||
request.onsuccess = function(event)
|
||||
{
|
||||
var request = this._db.transaction([OBJECT_STORE_NAME],"readwrite")
|
||||
.objectStore(OBJECT_STORE_NAME)
|
||||
.clear();
|
||||
request.onsuccess = function(event)
|
||||
{
|
||||
callback(true);
|
||||
};
|
||||
request.onerror = function(err)
|
||||
{
|
||||
callback(false,err);
|
||||
};
|
||||
}
|
||||
else
|
||||
callback(true);
|
||||
};
|
||||
request.onerror = function(err)
|
||||
{
|
||||
callback(false,null);
|
||||
}
|
||||
callback(false,err);
|
||||
};
|
||||
};
|
||||
|
||||
this.replaceFeatureId = function(featureLayerUrl, oldId, newId, callback)
|
||||
{
|
||||
console.assert(this._db !== null, "indexeddb not initialized");
|
||||
|
||||
var featureId = featureLayerUrl + "/" + oldId;
|
||||
|
||||
var objectStore = this._db.transaction([OBJECT_STORE_NAME],"readwrite").objectStore(OBJECT_STORE_NAME);
|
||||
@ -245,41 +244,37 @@ define([], function()
|
||||
|
||||
this.getUsage = function(callback)
|
||||
{
|
||||
if(this._db !== null){
|
||||
var usage = { sizeBytes: 0, attachmentCount: 0 };
|
||||
console.assert(this._db !== null, "indexeddb not initialized");
|
||||
|
||||
var transaction = this._db.transaction([OBJECT_STORE_NAME])
|
||||
.objectStore(OBJECT_STORE_NAME)
|
||||
.openCursor();
|
||||
var usage = { sizeBytes: 0, attachmentCount: 0 };
|
||||
|
||||
console.log("dumping keys");
|
||||
var transaction = this._db.transaction([OBJECT_STORE_NAME])
|
||||
.objectStore(OBJECT_STORE_NAME)
|
||||
.openCursor();
|
||||
|
||||
transaction.onsuccess = function(event)
|
||||
{
|
||||
var cursor = event.target.result;
|
||||
if(cursor)
|
||||
{
|
||||
console.log(cursor.value.id, cursor.value.featureId, cursor.value.objectId);
|
||||
var storedObject = cursor.value;
|
||||
var json = JSON.stringify(storedObject);
|
||||
usage.sizeBytes += json.length;
|
||||
usage.attachmentCount += 1;
|
||||
cursor.continue();
|
||||
}
|
||||
else
|
||||
{
|
||||
callback(usage,null);
|
||||
}
|
||||
}.bind(this);
|
||||
transaction.onerror = function(err)
|
||||
{
|
||||
callback(null,err);
|
||||
};
|
||||
}
|
||||
else
|
||||
console.log("dumping keys");
|
||||
|
||||
transaction.onsuccess = function(event)
|
||||
{
|
||||
callback(null,null);
|
||||
}
|
||||
var cursor = event.target.result;
|
||||
if(cursor)
|
||||
{
|
||||
console.log(cursor.value.id, cursor.value.featureId, cursor.value.objectId);
|
||||
var storedObject = cursor.value;
|
||||
var json = JSON.stringify(storedObject);
|
||||
usage.sizeBytes += json.length;
|
||||
usage.attachmentCount += 1;
|
||||
cursor.continue();
|
||||
}
|
||||
else
|
||||
{
|
||||
callback(usage,null);
|
||||
}
|
||||
}.bind(this);
|
||||
transaction.onerror = function(err)
|
||||
{
|
||||
callback(null,err);
|
||||
};
|
||||
};
|
||||
|
||||
this.init = function(callback)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user