Files
cms-core/Documentation/Changelog/10.3/Feature-90168-IntroduceModalActions.rst

51 lines
1.2 KiB
ReStructuredText

.. 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