mirror of
https://github.com/Esri/offline-editor-js.git
synced 2025-12-15 15:20:05 +00:00
still some issues pending
This commit is contained in:
parent
0bbf9ca83a
commit
6ca3dd28ee
@ -7,7 +7,9 @@
|
||||
- try and fill localStorage to see what happens... OK, localStorage.setItem() throws error
|
||||
- prevent attributeEditor to appear after replaying the stored edits, OK
|
||||
- be careful with updates for features added offline (replace tmp id by final id), ONGOING
|
||||
- updates/deletes of features added offline (not yet in the server) are not updated correctly in the local layer
|
||||
|
||||
- rename offlineFeatureService to offlineFeaturesManager
|
||||
- goOnline()/goOffline() automatically
|
||||
- unit tests
|
||||
- feedback graphics layer
|
||||
|
||||
@ -53,14 +53,16 @@ define([
|
||||
addResults.push({success:success, objectId: objectId});
|
||||
if(success)
|
||||
layer.add(addEdit);
|
||||
});
|
||||
},this);
|
||||
|
||||
updates = updates || [];
|
||||
updates.forEach(function(updateEdit)
|
||||
{
|
||||
var success = editsStore.pushEdit(editsStore.UPDATE, layer.url, updateEdit);
|
||||
updateResults.push({success:success, objectId: updateEdit.attributes[ layer.objectIdField ]});
|
||||
});
|
||||
if(success)
|
||||
layer.add(updateEdit);
|
||||
},this);
|
||||
|
||||
deletes = deletes || [];
|
||||
deletes.forEach(function(deleteEdit)
|
||||
@ -69,7 +71,7 @@ define([
|
||||
deleteResults.push({success:success, objectId: deleteEdit.attributes[ layer.objectIdField ]});
|
||||
if( success )
|
||||
layer.remove(deleteEdit);
|
||||
});
|
||||
},this);
|
||||
|
||||
deferred.resolve([addResults,updateResults,deleteResults])
|
||||
|
||||
@ -153,15 +155,24 @@ define([
|
||||
layer._applyEdits(adds,updates,deletes,
|
||||
function(addResults,updateResults,deleteResults) // success
|
||||
{
|
||||
// restore event handlers
|
||||
layer["onEditsComplete"] = onEditsComplete;
|
||||
layer["onBeforeApplyEdits"] = onBeforeApplyEdits;
|
||||
editsStore.popFirstEdit();
|
||||
if( addResults )
|
||||
try
|
||||
{
|
||||
editsStore.replaceTempId(tempId, addResults[0].objectId, layer.objectIdField);
|
||||
// restore event handlers
|
||||
layer["onEditsComplete"] = onEditsComplete;
|
||||
layer["onBeforeApplyEdits"] = onBeforeApplyEdits;
|
||||
editsStore.popFirstEdit();
|
||||
if( addResults && addResults.length > 0 )
|
||||
{
|
||||
console.log(arguments);
|
||||
editsStore.replaceTempId(tempId, addResults[0].objectId, layer.objectIdField);
|
||||
console.log("replaced!");
|
||||
}
|
||||
self.emit('edits-sent',arguments);
|
||||
}
|
||||
catch(err)
|
||||
{
|
||||
console.log(err);
|
||||
}
|
||||
self.emit('edits-sent',arguments);
|
||||
self.replayStoredEdits();
|
||||
},
|
||||
function(err)
|
||||
@ -173,6 +184,11 @@ define([
|
||||
}
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
console.log("'finished!");
|
||||
this.emit('all-edits-sent',{});
|
||||
}
|
||||
}, // replayStoredEdits()
|
||||
|
||||
}); // declare
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user