51 lines
1.2 KiB
ReStructuredText
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
|