mirror of
https://github.com/Esri/offline-editor-js.git
synced 2025-12-15 15:20:05 +00:00
fixes #36
This commit is contained in:
parent
c9d69a8cc9
commit
dd896d167f
@ -251,6 +251,16 @@ var OfflineStore = function(/* Map */ map) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Directly implements the applyEdits() method for ADDS, UPDATES and DELETES
|
||||
* @param graphic
|
||||
* @param layer
|
||||
* @param value
|
||||
* @param localEnum
|
||||
* @param count
|
||||
* @param mCallback
|
||||
* @private
|
||||
*/
|
||||
this._layerEditManager = function(
|
||||
/* Graphic */ graphic,
|
||||
/* FeatureLayer */ layer,
|
||||
@ -263,17 +273,13 @@ var OfflineStore = function(/* Map */ map) {
|
||||
case localEnum.DELETE:
|
||||
layer.applyEdits(null,null,[graphic],function(addResult,updateResult,deleteResult){
|
||||
console.log("deleteResult ObjectId: " + deleteResult[0].objectId + ", Success: " + deleteResult[0].success);
|
||||
if(mCallback != null && count != null) {
|
||||
if(mCallback != null && count != null) { console.log("id " + deleteResult[0].objectId)
|
||||
mCallback(count,deleteResult[0].success,deleteResult[0].objectId,null);
|
||||
}
|
||||
else{
|
||||
this._setItemLocalStoreIndex(layer.layerId, deleteResult[0].objectId,value,true);
|
||||
}
|
||||
|
||||
}.bind(this),
|
||||
function(error){
|
||||
console.log("_layer: " + error.stack); mCallback(count,false,null,error);
|
||||
this._setItemLocalStoreIndex(layer.layerId, deleteResult[0].objectId,value,false);
|
||||
mCallback(count,deleteResult[0].success,deleteResult[0].objectId,false);
|
||||
}.bind(this)
|
||||
);
|
||||
break;
|
||||
@ -283,13 +289,10 @@ var OfflineStore = function(/* Map */ map) {
|
||||
if(mCallback != null && count != null) {
|
||||
mCallback(count,addResult[0].success,addResult[0].objectId,null);
|
||||
}
|
||||
else{
|
||||
this._setItemLocalStoreIndex(layer.layerId, addResult[0].objectId,value,true);
|
||||
}
|
||||
}.bind(this),
|
||||
function(error){
|
||||
console.log("_layer: " + error.stack); mCallback(count,false,null,error);
|
||||
this._setItemLocalStoreIndex(layer.layerId, addResult[0].objectId,value,false);
|
||||
mCallback(count,deleteResult[0].success,deleteResult[0].objectId,false);
|
||||
}.bind(this)
|
||||
);
|
||||
break;
|
||||
@ -299,13 +302,10 @@ var OfflineStore = function(/* Map */ map) {
|
||||
if(mCallback != null && count != null) {
|
||||
mCallback(count,deleteResult[0].success,updateResult[0].objectId,null);
|
||||
}
|
||||
else{
|
||||
this._setItemLocalStoreIndex(layer.layerId, updateResult[0].objectId,value,true);
|
||||
}
|
||||
}.bind(this),
|
||||
function(error){
|
||||
console.log("_layer: " + error.stack); mCallback(count,false,null,error)
|
||||
this._setItemLocalStoreIndex(layer.layerId, updateResult[0].objectId,value,false);
|
||||
mCallback(count,deleteResult[0].success,deleteResult[0].objectId,false);
|
||||
}.bind(this)
|
||||
);
|
||||
break;
|
||||
@ -451,32 +451,30 @@ console.log(localStore.toString());
|
||||
this._layerEditManager(obj1.graphic,layer,obj1.enumValue,this.enum(),i,function(/* Number */ num, /* boolean */ success, /* String */ id,error){
|
||||
check.push(num);
|
||||
|
||||
var objectId = obj1.graphic.attributes.objectid;
|
||||
|
||||
if(success == true && check.length == graphicsArr.length){
|
||||
if(errCnt == 0){
|
||||
this._setItemLocalStoreIndex(obj1.layer,objectId,obj1.enumValue,true);
|
||||
callback(true,true,obj1.enumValue,obj1.layer,objectId);
|
||||
this._setItemLocalStoreIndex(obj1.layer,id,obj1.enumValue,true);
|
||||
callback(true,true,obj1.enumValue,obj1.layer,id);
|
||||
}
|
||||
else{
|
||||
else{ //this could cause a bug since it doesn't set item in local store. Not verified!
|
||||
console.log("_reestablishedInternet: there were errors. LocalStore still available.");
|
||||
callback(false,true,obj1.enumValue,obj1.layer,objectId);
|
||||
callback(false,true,obj1.enumValue,obj1.layer,id);
|
||||
}
|
||||
}
|
||||
//Don't return anything yet
|
||||
else if(success == true && check.length < graphicsArr.length){
|
||||
this._setItemLocalStoreIndex(obj1.layer,objectId,obj1.enumValue,true);
|
||||
this._setItemLocalStoreIndex(obj1.layer,id,obj1.enumValue,true);
|
||||
}
|
||||
else if(success == false && check.length == graphicsArr.length){
|
||||
this._setItemLocalStoreIndex(obj1.layer,objectId,obj1.enumValue,false);
|
||||
console.log("_reestablishedInternet: error sending edit on " + objectId);
|
||||
callback(false,true,obj1.enumValue,obj1.layer,objectId,error);
|
||||
this._setItemLocalStoreIndex(obj1.layer,id,obj1.enumValue,false);
|
||||
console.log("_reestablishedInternet: error sending edit on " + id);
|
||||
callback(false,true,obj1.enumValue,obj1.layer,id,error);
|
||||
}
|
||||
//Don't return anything yet
|
||||
else if(success == false && check.length < graphicsArr.length){
|
||||
this._setItemLocalStoreIndex(obj1.layer,objectId,obj1.enumValue,false,error);
|
||||
this._setItemLocalStoreIndex(obj1.layer,id,obj1.enumValue,false,error);
|
||||
errCnt++;
|
||||
console.log("_reestablishedInternet: error sending edit on " + objectId);
|
||||
console.log("_reestablishedInternet: error sending edit on " + id);
|
||||
}
|
||||
}.bind(this));
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user