'$refresh']; public function configure(): void { $this->setPrimaryKey('id'); $this->setDefaultSort('created_at', 'asc'); $this->setPerPageAccepted([50, 100, 250, 500, 1000, -1]); $this->setColumnSelectEnabled(); $attributes = [ 'default' => false, 'default-colors' => true, 'default-styling' => false, ]; $this->setTableAttributes(['class' => 'table table-striped']); $this->setTrAttributes(fn($row, $index) => $attributes); $this->setTheadAttributes($attributes); $this->setTbodyAttributes($attributes); $this->setTrAttributes(fn($row, $index) => $attributes); } public function rendered() { $this->dispatch('table-loaded'); } public function columns(): array { return [ Column::make(__('messages.ID'), "id") ->sortable() ->searchable(), Column::make(__('messages.Name'), "name") ->sortable() ->searchable(), Column::make(__('messages.E-Mail'), "email") ->sortable() ->searchable(), Column::make(__('messages.Page'), "littlelink_name") ->sortable() ->searchable() ->format(function ($value, $row, Column $column) { if (!$row->littlelink_name == NULL) { return "littlelink_name) . "' target='_blank' class='text-info'> " . htmlspecialchars($row->littlelink_name) . " "; } else { return 'N/A'; } }) ->html(), Column::make(__('messages.Role'), "role") ->sortable() ->searchable(), Column::make(__('messages.Links'), "id") ->format(function ($value, $row) { $linkCount = Link::where('user_id', $row->id)->count(); return $linkCount; }), Column::make(__('messages.Clicks'), "id") ->format(function ($value, $row) { $clicksSum = Link::where('user_id', $row->id)->sum('click_number'); return $clicksSum; }), Column::make(__('messages.E-Mail'), "email_verified_at") ->hideIf(env('REGISTER_AUTH') === 'auth') ->sortable() ->format(function ($value, $row, Column $column) { if ($row->role == 'admin' && $row->email_verified_at != '') { return '