'outside']); } public function setUp(): array { //$this->showCheckBox(); return [ //PowerGrid::header() // ->showSearchInput(), //PowerGrid::footer() // ->showPerPage() // ->showRecordCount(), ]; } public function datasource(): Builder { //dd(Role::with('permissions')); return Role::with('permissions'); } public function relationSearch(): array { return []; } public function fields(): PowerGridFields { return PowerGrid::fields() ->add('id') ->add('name') ->add('created_at_formatted', fn (Role $model) => Carbon::parse($model->created_at)->format('d/m/Y H:i:s')); } public function columns(): array { return [ Column::make('ID', 'id')->sortable()->searchable(), Column::make('名稱', 'name')->sortable()->searchable(), //Column::make('權限', 'permissions_list', function ($role) { // return $role->permissions->pluck('name')->implode(', '); //}), Column::make('Created at', 'created_at_formatted', 'created_at')->sortable(), Column::action('Action') ]; } public function filters(): array { return [ Filter::datetimepicker('created_at'), ]; } public function actions(Role $row): array { return [ Button::add('edit') ->slot('編輯') ->icon('solid-pencil-square') ->class('inline-flex items-center gap-1 px-3 py-1 rounded ') ->dispatchTo('admin.role-form', 'openEditRoleModal', ['id' => $row->id]), Button::add('delete') ->slot('刪除') ->icon('solid-trash') ->class('inline-flex items-center gap-1 px-3 py-1 rounded ') ->dispatchTo('admin.role-form', 'deleteRole', ['id' => $row->id]), ]; } /* public function actionRules($row): array { return [ // Hide button edit for ID 1 Rule::button('edit') ->when(fn($row) => $row->id === 1) ->hide(), ]; } */ }