save
Fires before an Item is to be saved.
You would want to be notified about this event firing, because you might want to display your own custom save dialog or you might want to run additional validation on the current Item before saving, for example.
When the event has been fired, you can use event.preventDefault()
to prevent the Item from being saved. If the save
event is fired when editing a Question or Feature, the preventDefault
function accepts an optional boolean argument discardWidgetChanges
. If set to true
, the modifications of the Question/Feature are discarded. The default value for discardWidgetChanges
is false
.
Examples
// Standard usage
authorApp.on('save', function () {
console.log('This code executes before an Item is to be saved.');
});
// Prevent the save operation and discard changes
authorApp.on('save', function (event) {
if (shouldNotSave) {
event.preventDefault({ discardWidgetChanges: true });
}
});
Callback arguments
The event callback function will be called with an AuthorEvent instance as an argument (unless indicated otherwise). The AuthorEvent object provides further information for the event that has been fired. Additional data attributes listed below can be accessed from the event.data
object. The AuthorEvent object will look like the example below:
authorApp.on('[name of the fired event]', function (event) {
console.log(event);
/*
{
"name": "[name of the fired event]",
"data": {
// additional data attributes
}
}
*/
});
-
itemJson objectJSON of the Item to be saved.
Related articles
- The
save()
method, which saves the current Item being edited. - The
save:error
event, which fires when an Item has failed to save. - The
save:success
event, which fires when an Item has successfully saved.