getButtons(); * $buttonBar = $event->getButtonBar(); * * $myButton = $this->componentFactory->createLinkButton() * ->setHref('/my-action') * ->setTitle('My Action') * ->setIcon($iconFactory->getIcon('actions-heart')); * * $buttons[ButtonBar::BUTTON_POSITION_RIGHT][1][] = clone $myButton; * * $event->setButtons($buttons); * } * } * ``` * * @phpstan-import-type Buttons from ButtonBar */ final class ModifyButtonBarEvent { /** * @param Buttons $buttons */ public function __construct(private array $buttons, private readonly ButtonBar $buttonBar, private readonly ServerRequestInterface $request) {} /** * @return Buttons */ public function getButtons(): array { return $this->buttons; } /** * @param Buttons $buttons */ public function setButtons(array $buttons): void { $this->buttons = $buttons; } public function getButtonBar(): ButtonBar { return $this->buttonBar; } public function getRequest(): ServerRequestInterface { return $this->request; } }