Feature: #90168 - Introduce Modal Actions

See forge#90168


Action buttons in modals created by the TYPO3/CMS/Backend/Modal module may now make use of TYPO3/CMS/Backend/ActionButton/ImmediateAction and TYPO3/CMS/Backend/ActionButton/DeferredAction.

As an alternative to the existing trigger option, the new option action may be used with an instance of the previously mentioned modules.


Modal.confirm('Header', 'Some content', Severity.error, [
    text: 'Based on trigger()',
    trigger: function () {
    text: 'Based on action',
    action: new DeferredAction(() => {
      return new AjaxRequest('/any/endpoint').post({});


Activating any action disables all buttons in the modal. Once the action is done, the modal disappears automatically.

Buttons of the type DeferredAction render a spinner on activation into the button.