Event Author API

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 object
    JSON 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.
Was this article helpful?