Added option to BulkActionEvent to prevent redirect

This commit is contained in:
Matthew Barbour 2020-06-16 18:30:31 -05:00 committed by Shish
parent c171e98591
commit 8fe7038e73

View File

@ -39,6 +39,8 @@ class BulkActionEvent extends Event
public $action; public $action;
/** @var array */ /** @var array */
public $items; public $items;
/** @var bool */
public $redirect = true;
public function __construct(String $action, Generator $items) public function __construct(String $action, Generator $items)
{ {
@ -177,14 +179,18 @@ class BulkActions extends Extension
} }
} }
$bae = new BulkActionEvent($action, $items);
if (is_iterable($items)) { if (is_iterable($items)) {
send_event(new BulkActionEvent($action, $items)); send_event($bae);
} }
if ($bae->redirect) {
$page->set_mode(PageMode::REDIRECT); $page->set_mode(PageMode::REDIRECT);
$page->set_redirect(referer_or(make_link())); $page->set_redirect(referer_or(make_link()));
} }
} }
}
private function yield_items(array $data): Generator private function yield_items(array $data): Generator
{ {