diff --git a/lib/edit/offlineFeaturesManager.js b/lib/edit/offlineFeaturesManager.js index 316c553..113e65d 100644 --- a/lib/edit/offlineFeaturesManager.js +++ b/lib/edit/offlineFeaturesManager.js @@ -1929,41 +1929,34 @@ define([ }); layer._replaceFeatureIds(tempObjectIds, newObjectIds, function (success) { - dfd.resolve({ - id: id, - layer: layer.url, - tempId: tempObjectIds, // let's us internally match an ADD to it's new ObjectId - addResults: addResults, - updateResults: updateResults, - deleteResults: deleteResults - }); // wrap three arguments in a single object - }); - } - else { - that._cleanDatabase(layer, tempObjectIds, addResults, updateResults, deleteResults).then(function(results){ - dfd.resolve({ - id: id, - layer: layer.url, - tempId: tempObjectIds, // let's us internally match an ADD to it's new ObjectId - addResults: addResults, - updateResults: updateResults, - deleteResults: deleteResults, - databaseResults: results, - databaseErrors: null - }); // wrap three arguments in a single object - }, function(error) { - dfd.resolve({ - id: id, - layer: layer.url, - tempId: tempObjectIds, // let's us internally match an ADD to it's new ObjectId - addResults: addResults, - updateResults: updateResults, - deleteResults: deleteResults, - databaseResults: null, - databaseErrors: error - }); // wrap three arguments in a single object + console.log("done replacing feature ids"); }); } + + that._cleanDatabase(layer, tempObjectIds, addResults, updateResults, deleteResults).then(function(results){ + dfd.resolve({ + id: id, + layer: layer.url, + tempId: tempObjectIds, // let's us internally match an ADD to it's new ObjectId + addResults: addResults, + updateResults: updateResults, + deleteResults: deleteResults, + databaseResults: results, + databaseErrors: null + }); // wrap three arguments in a single object + }, function(error) { + dfd.resolve({ + id: id, + layer: layer.url, + tempId: tempObjectIds, // let's us internally match an ADD to it's new ObjectId + addResults: addResults, + updateResults: updateResults, + deleteResults: deleteResults, + databaseResults: null, + databaseErrors: error + }); // wrap three arguments in a single object + }); + }, function (error) { layer.onEditsComplete = layer.__onEditsComplete; @@ -1993,18 +1986,20 @@ define([ * @private */ _internalApplyEditsFeatureCollection: function (layer, id, tempObjectIds, adds, updates, deletes) { + var that = this; var dfd = new Deferred(); this._makeEditRequest(layer.url, adds, updates, deletes, function (addResults, updateResults, deleteResults) { layer._phantomLayer.clear(); - var newObjectIds = addResults.map(function (r) { - return r.objectId; - }); - // We use a different pattern if the attachmentsStore is valid and the layer has attachments if (layer._attachmentsStore != null && layer.hasAttachments && tempObjectIds.length > 0) { + + var newObjectIds = addResults.map(function (r) { + return r.objectId; + }); + layer._replaceFeatureIds(tempObjectIds, newObjectIds, function (success) { dfd.resolve({ @@ -2017,31 +2012,31 @@ define([ }); // wrap three arguments in a single object }); } - else { - layer._cleanDatabase(layer, tempObjectIds, addResults, updateResults, deleteResults).then(function(results){ - dfd.resolve({ - id: id, - layer: layer.url, - tempId: tempObjectIds, // let's us internally match an ADD to it's new ObjectId - addResults: addResults, - updateResults: updateResults, - deleteResults: deleteResults, - databaseResults: results, - databaseErrors: null - }); // wrap three arguments in a single object - }, function(error) { - dfd.resolve({ - id: id, - layer: layer.url, - tempId: tempObjectIds, // let's us internally match an ADD to it's new ObjectId - addResults: addResults, - updateResults: updateResults, - deleteResults: deleteResults, - databaseResults: null, - databaseErrors: error - }); // wrap three arguments in a single object - }); - } + + that._cleanDatabase(layer, tempObjectIds, addResults, updateResults, deleteResults).then(function(results){ + dfd.resolve({ + id: id, + layer: layer.url, + tempId: tempObjectIds, // let's us internally match an ADD to it's new ObjectId + addResults: addResults, + updateResults: updateResults, + deleteResults: deleteResults, + databaseResults: results, + databaseErrors: null + }); // wrap three arguments in a single object + }, function(error) { + dfd.resolve({ + id: id, + layer: layer.url, + tempId: tempObjectIds, // let's us internally match an ADD to it's new ObjectId + addResults: addResults, + updateResults: updateResults, + deleteResults: deleteResults, + databaseResults: null, + databaseErrors: error + }); // wrap three arguments in a single object + }); + }, function (error) { layer.onEditsComplete = layer.__onEditsComplete;