Breaking: #101822 - Change callback interruption in @typo3/backend/document-save-actions

See forge#101822

Description

The JavaScript module @typo3/backend/document-save-actions is used in FormEngine and Scheduler context mainly to disable the submit button in the according forms, where also a spinner is rendered within the button to visualize a running action.

Over the time, the module took over some tasks that logically belong to FormEngine, which lead to slimming down the module. In a further effort, jQuery has been removed from said module, leading to a change in behavior how the callback chain can be aborted.

Native JavaScript events cannot get asked whether event propagation has been stopped, making changes in the callbacks necessary. All callbacks registered via DocumentSaveActions.getInstance().addPreSubmitCallback() now need to return a boolean value.

Impact

Using stop[Immediate]Propagation() on events passed into registered callbacks is now unsupported and may lead to undefined behavior.

Affected installations

All extensions using DocumentSaveActions.getInstance().addPreSubmitCallback() are affected.

Migration

Callbacks now need to return a boolean value, where returning false will abort the callback execution chain.