This commit is contained in:
andygup 2014-01-08 10:48:25 -07:00
parent c9d69a8cc9
commit dd896d167f

View File

@ -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));
}