diff --git a/src/DataGrid.php b/src/DataGrid.php index 6f7b3fae..77e8906c 100644 --- a/src/DataGrid.php +++ b/src/DataGrid.php @@ -2857,16 +2857,6 @@ public function setCustomPaginatorTemplate(string $templateFile): void } - public function setGroupActionsConfirmDialog(string $confirmDialog): void - { - $this->groupActionsConfirmDialog = $confirmDialog; - } - - public function getGroupActionsConfirmDialog(): ?string - { - return $this->groupActionsConfirmDialog; - } - protected function createSorting(array $sort, ?callable $sortCallback = null): Sorting { foreach ($sort as $key => $order) { diff --git a/src/GroupAction/GroupActionCollection.php b/src/GroupAction/GroupActionCollection.php index 3efa1969..ce64bb47 100644 --- a/src/GroupAction/GroupActionCollection.php +++ b/src/GroupAction/GroupActionCollection.php @@ -20,6 +20,9 @@ class GroupActionCollection /** @var array */ protected array $groupActions = []; + protected ?string $groupActionsConfirmDialog = null; + + public function __construct(protected DataGrid $datagrid) { } @@ -137,9 +140,8 @@ public function addToFormContainer(Container $container): void strtolower($this->datagrid->getFullName()) . 'group_action_submit' ); - $confirmationDialog = $this->datagrid->getGroupActionsConfirmDialog(); - if ($confirmationDialog !== null && $confirmationDialog !== '') { - $submit->setHtmlAttribute('data-' . Action::$dataConfirmAttributeName, $confirmationDialog); + if ($this->groupActionsConfirmDialog !== null) { + $submit->setHtmlAttribute('data-' . Action::$dataConfirmAttributeName, $this->groupActionsConfirmDialog); $submit->setHtmlAttribute('data-group-action', 'true'); } } else { @@ -265,6 +267,11 @@ public function getGroupAction(string $title): GroupAction throw new DataGridGroupActionException(sprintf('Group action %s does not exist.', $title)); } + public function setGroupActionsConfirmDialog(string $confirmDialog): void + { + $this->groupActionsConfirmDialog = $confirmDialog; + } + private function getFormSubmitter(NetteForm $form): ?SubmitButton { $container = $form['group_action'];