Actions - landrisek/impala GitHub Wiki

Custom action method

Use build statement and overload _actions key to create custom action methods: final class MyBuild implements IBuild {     private $linkGenerator;     private $translatorRepository; public function __construct(Nette\Application\LinkGenerator $linkGenerator, Nette\Localization\ITranslator $translatorRepository) {     $this->linkGenerator = $linkGenerator;     $this->translatorRepository = $translatorRepository; } public function build(array $row): array {     $row['_actions'] = ['variants' => ['Attributes' => ['className' => 'fa-hover fa fa-edit',     'href' => $this->linkGenerator->link('Default:Default:edit', [$row['id']]),     'title' => $this->translatorRepository->translate('edit'),     'target' => '_blank'],     'Label' => '',     'Tag' => 'a']];     return $row; }

Enable default edit action method in controller

$this->grid->edit(new Impala\IEdit); or: $this->grid->edit(true);

Enable default delete action method in controller

$this->grid->remove(new Impala\IRemove);

Enable default image delete action method in controller

After adding addGallery statement in ReactForm and adding $this->grid->edit(new Impala\IEdit); you can implement: public function delete(array $image, array $row): array {     unlink($this->images . '/' . $image['keyOfYourGalleryComponent'] . '/' . $image['photo'] . self::SUFFIX);     $this->imagesRepository->delete($row['id']['Attributes']['value']);     return $row; } $this->grid->remove(new Impala\IRemove);

Enable default insert action method in controller

$this->grid->insert(new Impala\IAdd);