.. include:: /Includes.rst.txt .. _feature-90168: ========================================= Feature: #90168 - Introduce Modal Actions ========================================= See :issue:`90168` Description =========== Action buttons in modals created by the :js:`TYPO3/CMS/Backend/Modal` module may now make use of :js:`TYPO3/CMS/Backend/ActionButton/ImmediateAction` and :js:`TYPO3/CMS/Backend/ActionButton/DeferredAction`. As an alternative to the existing :js:`trigger` option, the new option :js:`action` may be used with an instance of the previously mentioned modules. Example: .. code-block:: js Modal.confirm('Header', 'Some content', Severity.error, [ { text: 'Based on trigger()', trigger: function () { console.log('Vintage!'); } }, { text: 'Based on action', action: new DeferredAction(() => { return new AjaxRequest('/any/endpoint').post({}); }) } ]); Impact ====== Activating any action disables all buttons in the modal. Once the action is done, the modal disappears automatically. Buttons of the type :js:`DeferredAction` render a spinner on activation into the button. .. index:: Backend, JavaScript, ext:backend