[DOCS] Expand developer Event documentation

This commit is contained in:
Hugo Sales 2022-04-03 22:05:19 +01:00
parent d4b7e990ce
commit a2aa45fb1f
No known key found for this signature in database
GPG Key ID: 7D0C7EAFC9D835A0

View File

@ -45,10 +45,10 @@ Example 1: Adding elements to the core UI
* @param array $vars Input from the caller/emitter * @param array $vars Input from the caller/emitter
* @param array $res I/O parameter used to accumulate or return values from the listener to the emitter * @param array $res I/O parameter used to accumulate or return values from the listener to the emitter
* *
* @return bool true if not handled or if the handling should be accumulated with other listeners, * @return \EventResult true if not handled or if the handling should be accumulated with other listeners,
* false if handled well enough and no other listeners are needed * false if handled well enough and no other listeners are needed
*/ */
public function onViewAttachmentImage(array $vars, array &$res): bool public function onViewAttachmentImage(array $vars, array &$res): \EventResult
{ {
$res[] = Formatting::twigRenderFile('imageEncoder/imageEncoderView.html.twig', ['attachment' => $vars['attachment'], 'thumbnail_parameters' => $vars['thumbnail_parameters']]); $res[] = Formatting::twigRenderFile('imageEncoder/imageEncoderView.html.twig', ['attachment' => $vars['attachment'], 'thumbnail_parameters' => $vars['thumbnail_parameters']]);
return Event::stop; return Event::stop;
@ -74,11 +74,25 @@ Event::handle('ResizerAvailable', [&$event_map]);
/** /**
* @param array $event_map output * @param array $event_map output
* *
* @return bool event hook * @return \EventResult event hook
*/ */
public function onResizerAvailable(array &$event_map): bool public function onResizerAvailable(array &$event_map): \EventResult
{ {
$event_map['image'] = 'ResizeImagePath'; $event_map['image'] = 'ResizeImagePath';
return Event::next; return Event::next;
} }
``` ```
Example 3: Default action
-----
An event can be emited to perform an action, but still have a fallback as such:
> Event emitter
```php
if (Event::handle('EventName', $args) !== Event::stop): \EventResult
{
// Do default action, as no-one claimed authority on handling this event
}
```