diff --git a/Documentation/ApiOverview/Events/Events/Form/BeforeRenderableIsRemovedFromFormEvent.rst b/Documentation/ApiOverview/Events/Events/Form/BeforeRenderableIsRemovedFromFormEvent.rst new file mode 100644 index 0000000000..5b27b193ee --- /dev/null +++ b/Documentation/ApiOverview/Events/Events/Form/BeforeRenderableIsRemovedFromFormEvent.rst @@ -0,0 +1,37 @@ +.. include:: /Includes.rst.txt +.. index:: Events; BeforeRenderableIsRemovedFromFormEvent + +.. _BeforeRenderableIsRemovedFromFormEvent: + +====================================== +BeforeRenderableIsRemovedFromFormEvent +====================================== + +.. versionadded:: 14.0 + The event :php-short:`TYPO3\CMS\Form\Event\BeforeRenderableIsRemovedFromFormEvent` + is an improved replacement for the removed hook + :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/form']['beforeRemoveFromParentRenderable']`. + +The event :php-short:`TYPO3\CMS\Form\Event\BeforeRenderableIsRemovedFromFormEvent` +is dispatched just before a renderable is deleted from a form. It is now +possible to prevent the deletion of a renderable and to add custom logic +based on the deletion. + +The event is stoppable. As soon as :php:`$preventRemoval` is set to +:php:`true`, no other listener is called. + + +.. _BeforeRenderableIsRemovedFromFormEvent-example: + +Example +======= + +.. literalinclude:: _BeforeRenderableIsRemovedFromFormEvent/_MyEventListener.php + :caption: EXT:my_extension/Classes/EventListener/MyEventListener.php + +.. _BeforeRenderableIsRemovedFromFormEvent-api: + +API +=== + +.. include:: /CodeSnippets/Events/Form/BeforeRenderableIsRemovedFromFormEvent.rst.txt diff --git a/Documentation/ApiOverview/Events/Events/Form/_BeforeRenderableIsRemovedFromFormEvent/_MyEventListener.php b/Documentation/ApiOverview/Events/Events/Form/_BeforeRenderableIsRemovedFromFormEvent/_MyEventListener.php new file mode 100644 index 0000000000..6522c8247c --- /dev/null +++ b/Documentation/ApiOverview/Events/Events/Form/_BeforeRenderableIsRemovedFromFormEvent/_MyEventListener.php @@ -0,0 +1,21 @@ +preventRemoval = true; + $renderable = $event->renderable; + // Do something with the renderable + } +} diff --git a/Documentation/CodeSnippets/Config/Api/Events/EventsForm.php b/Documentation/CodeSnippets/Config/Api/Events/EventsForm.php index f7281d8812..69d4bba285 100644 --- a/Documentation/CodeSnippets/Config/Api/Events/EventsForm.php +++ b/Documentation/CodeSnippets/Config/Api/Events/EventsForm.php @@ -33,8 +33,8 @@ ], [ 'action' => 'createPhpClassDocs', - 'class' => \TYPO3\CMS\Form\Event\BeforeRenderableIsRenderedEvent::class, - 'targetFileName' => 'CodeSnippets/Events/Form/BeforeRenderableIsRenderedEvent.rst.txt', + 'class' => \TYPO3\CMS\Form\Event\BeforeRenderableIsRemovedFromFormEvent::class, + 'targetFileName' => 'CodeSnippets/Events/Form/BeforeRenderableIsRemovedFromFormEvent.rst.txt', 'withCode' => false, ], [ diff --git a/Documentation/CodeSnippets/Events/Form/BeforeRenderableIsRemovedFromFormEvent.rst.txt b/Documentation/CodeSnippets/Events/Form/BeforeRenderableIsRemovedFromFormEvent.rst.txt new file mode 100644 index 0000000000..ddca8bbf8d --- /dev/null +++ b/Documentation/CodeSnippets/Events/Form/BeforeRenderableIsRemovedFromFormEvent.rst.txt @@ -0,0 +1,16 @@ +.. Generated by https://github.com/TYPO3-Documentation/t3docs-codesnippets +.. php:namespace:: TYPO3\CMS\Form\Event + +.. php:class:: BeforeRenderableIsRemovedFromFormEvent + + Listeners to this event will be able to prevent deletion of the renderable (form element) and to add custom logic based on the deletion. + + .. php:attr:: renderable + :public: + + The form element (readonly) + + .. php:attr:: preventRemoval + :public: + + A boolean flag that can be set to true to prevent removal of the renderable.