src/Http/Datatables/Roles.php
protected function getActionsColumn($roleId, $canEditRole, $canDeleteRole)
    {

        return function ($row) use($roleId, $canEditRole, $canDeleteRole) {

            $btns = [];
            $html = app('html');
            if ($canEditRole) {
                array_push($btns, $html->create('li', $html->link(handles("antares::acl/index/roles/{$row->id}/edit"), trans('antares/acl::title.edit_details'), ['data-icon' => 'edit'])));
                array_push($btns, $html->create('li', $html->link(handles("antares::acl/index/roles/{$row->id}/acl"), trans('antares/acl::title.acl_rules'), ['data-icon' => 'accounts-alt'])));
            }
            if ($row->id !== $roleId and $canDeleteRole) {

                $url = handles("antares::acl/index/roles/{$row->id}/delete", ['csrf' => true]);

                $class           = 'triggerable confirm';
                $dataTitle       = trans('Are you sure?');
                $dataDescription = trans('antares/acl::global.deleteing_role', ['name' => $row->name]);

                if ($row->users->count()) {
                    publish('acl', ['js/delete-group-denied.js']);
                    $url             = '#';
                    $class           = 'bindable delete-group-denied';
                    $dataTitle       = trans('This action is not allowed');
                    $dataDescription = trans('There are users attached to this group. Only empty groups can be removed.');
                }


                array_push($btns, $html->create('li', $html->link($url, trans('Delete'), [
                                    'class'            => $class,
                                    'data-icon'        => 'delete',
                                    'data-title'       => $dataTitle,
                                    'data-description' => $dataDescription
                ])));
            }
            if (empty($btns)) {
                return '';
            }
            $section = $html->create('div', $html->create('section', $html->create('ul', $html->raw(implode('', $btns)))), ['class' => 'mass-actions-menu'])->get();
            return '<i class="zmdi zmdi-more"></i>' . $html->raw($section)->get();
        };
    }
protected function getActionsColumn($roleId, $canEditRole, $canDeleteRole)
    {

        return function ($row) use($roleId, $canEditRole, $canDeleteRole) {

            $btns = [];
            $html = app('html');
            if ($canEditRole) {
                array_push($btns, $html->create('li', $html->link(handles("antares::acl/index/roles/{$row->id}/edit"), trans('antares/acl::title.edit_details'), ['data-icon' => 'edit'])));
                array_push($btns, $html->create('li', $html->link(handles("antares::acl/index/roles/{$row->id}/acl"), trans('antares/acl::title.acl_rules'), ['data-icon' => 'accounts-alt'])));
            }
            if ($row->id !== $roleId and $canDeleteRole) {

                $url = handles("antares::acl/index/roles/{$row->id}/delete", ['csrf' => true]);

                $class           = 'triggerable confirm';
                $dataTitle       = trans('Are you sure?');
                $dataDescription = trans('antares/acl::global.deleteing_role', ['name' => $row->name]);

                if ($row->users->count()) {
                    publish('acl', ['js/delete-group-denied.js']);
                    $url             = '#';
                    $class           = 'bindable delete-group-denied';
                    $dataTitle       = trans('This action is not allowed');
                    $dataDescription = trans('There are users attached to this group. Only empty groups can be removed.');
                }


                array_push($btns, $html->create('li', $html->link($url, trans('Delete'), [
                                    'class'            => $class,
                                    'data-icon'        => 'delete',
                                    'data-title'       => $dataTitle,
                                    'data-description' => $dataDescription
                ])));
            }
            if (empty($btns)) {
                return '';
            }
            $section = $html->create('div', $html->create('section', $html->create('ul', $html->raw(implode('', $btns)))), ['class' => 'mass-actions-menu'])->get();
            return '<i class="zmdi zmdi-more"></i>' . $html->raw($section)->get();
        };
    }
prepare datatable row actions

@param mixed $roleId
@param boolean $canEditRole
@param boolean $canDeleteRole
@return callable