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)
|
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 result = event.target.result;
|
||||||
var request = objectStore.get(attachmentId);
|
if(!result){
|
||||||
request.onsuccess = function(event)
|
callback(false,"not found");
|
||||||
{
|
}
|
||||||
var result = event.target.result;
|
else{
|
||||||
if(!result){
|
callback(true,result);
|
||||||
callback(false,"not found");
|
}
|
||||||
}
|
};
|
||||||
else{
|
request.onerror = function(err)
|
||||||
callback(true,result);
|
{
|
||||||
}
|
console.log(err);
|
||||||
};
|
callback(false,err);
|
||||||
request.onerror = function(err)
|
};
|
||||||
{
|
|
||||||
console.log(err);
|
|
||||||
callback(false,err);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
this.getAttachmentsByFeatureId = function(featureLayerUrl,objectId,callback)
|
this.getAttachmentsByFeatureId = function(featureLayerUrl,objectId,callback)
|
||||||
{
|
{
|
||||||
|
console.assert(this._db !== null, "indexeddb not initialized");
|
||||||
|
|
||||||
var featureId = featureLayerUrl + "/" + objectId;
|
var featureId = featureLayerUrl + "/" + objectId;
|
||||||
var attachments = [];
|
var attachments = [];
|
||||||
|
|
||||||
@ -106,6 +107,8 @@ define([], function()
|
|||||||
|
|
||||||
this.getAttachmentsByFeatureLayer = function(featureLayerUrl,callback)
|
this.getAttachmentsByFeatureLayer = function(featureLayerUrl,callback)
|
||||||
{
|
{
|
||||||
|
console.assert(this._db !== null, "indexeddb not initialized");
|
||||||
|
|
||||||
var attachments = [];
|
var attachments = [];
|
||||||
|
|
||||||
var objectStore = this._db.transaction([OBJECT_STORE_NAME]).objectStore(OBJECT_STORE_NAME);
|
var objectStore = this._db.transaction([OBJECT_STORE_NAME]).objectStore(OBJECT_STORE_NAME);
|
||||||
@ -128,6 +131,8 @@ define([], function()
|
|||||||
|
|
||||||
this.getAllAttachments = function(callback)
|
this.getAllAttachments = function(callback)
|
||||||
{
|
{
|
||||||
|
console.assert(this._db !== null, "indexeddb not initialized");
|
||||||
|
|
||||||
var attachments = [];
|
var attachments = [];
|
||||||
|
|
||||||
var objectStore = this._db.transaction([OBJECT_STORE_NAME]).objectStore(OBJECT_STORE_NAME);
|
var objectStore = this._db.transaction([OBJECT_STORE_NAME]).objectStore(OBJECT_STORE_NAME);
|
||||||
@ -148,6 +153,8 @@ define([], function()
|
|||||||
|
|
||||||
this.deleteAttachmentsByFeatureId = function(featureLayerUrl,objectId,callback)
|
this.deleteAttachmentsByFeatureId = function(featureLayerUrl,objectId,callback)
|
||||||
{
|
{
|
||||||
|
console.assert(this._db !== null, "indexeddb not initialized");
|
||||||
|
|
||||||
var featureId = featureLayerUrl + "/" + objectId;
|
var featureId = featureLayerUrl + "/" + objectId;
|
||||||
|
|
||||||
var objectStore = this._db.transaction([OBJECT_STORE_NAME],"readwrite").objectStore(OBJECT_STORE_NAME);
|
var objectStore = this._db.transaction([OBJECT_STORE_NAME],"readwrite").objectStore(OBJECT_STORE_NAME);
|
||||||
@ -172,50 +179,42 @@ define([], function()
|
|||||||
|
|
||||||
this.delete = function(attachmentId, callback)
|
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")
|
setTimeout(function(){callback(true);},1);
|
||||||
.objectStore(OBJECT_STORE_NAME)
|
};
|
||||||
.delete(attachmentId);
|
request.onerror = function(err)
|
||||||
request.onsuccess = function(event)
|
|
||||||
{
|
|
||||||
setTimeout(function(){callback(true);},1);
|
|
||||||
};
|
|
||||||
request.onerror = function(err)
|
|
||||||
{
|
|
||||||
callback(false,err);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
callback(false,null);
|
callback(false,err);
|
||||||
}
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
this.deleteAll = function(callback)
|
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")
|
callback(true);
|
||||||
.objectStore(OBJECT_STORE_NAME)
|
};
|
||||||
.clear();
|
request.onerror = function(err)
|
||||||
request.onsuccess = function(event)
|
|
||||||
{
|
|
||||||
callback(true);
|
|
||||||
};
|
|
||||||
request.onerror = function(err)
|
|
||||||
{
|
|
||||||
callback(false,err);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
callback(false,null);
|
callback(false,err);
|
||||||
}
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
this.replaceFeatureId = function(featureLayerUrl, oldId, newId, callback)
|
this.replaceFeatureId = function(featureLayerUrl, oldId, newId, callback)
|
||||||
{
|
{
|
||||||
|
console.assert(this._db !== null, "indexeddb not initialized");
|
||||||
|
|
||||||
var featureId = featureLayerUrl + "/" + oldId;
|
var featureId = featureLayerUrl + "/" + oldId;
|
||||||
|
|
||||||
var objectStore = this._db.transaction([OBJECT_STORE_NAME],"readwrite").objectStore(OBJECT_STORE_NAME);
|
var objectStore = this._db.transaction([OBJECT_STORE_NAME],"readwrite").objectStore(OBJECT_STORE_NAME);
|
||||||
@ -245,41 +244,37 @@ define([], function()
|
|||||||
|
|
||||||
this.getUsage = function(callback)
|
this.getUsage = function(callback)
|
||||||
{
|
{
|
||||||
if(this._db !== null){
|
console.assert(this._db !== null, "indexeddb not initialized");
|
||||||
var usage = { sizeBytes: 0, attachmentCount: 0 };
|
|
||||||
|
|
||||||
var transaction = this._db.transaction([OBJECT_STORE_NAME])
|
var usage = { sizeBytes: 0, attachmentCount: 0 };
|
||||||
.objectStore(OBJECT_STORE_NAME)
|
|
||||||
.openCursor();
|
|
||||||
|
|
||||||
console.log("dumping keys");
|
var transaction = this._db.transaction([OBJECT_STORE_NAME])
|
||||||
|
.objectStore(OBJECT_STORE_NAME)
|
||||||
|
.openCursor();
|
||||||
|
|
||||||
transaction.onsuccess = function(event)
|
console.log("dumping keys");
|
||||||
{
|
|
||||||
var cursor = event.target.result;
|
transaction.onsuccess = function(event)
|
||||||
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
|
|
||||||
{
|
{
|
||||||
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)
|
this.init = function(callback)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user