'outside']); } public function setUp(): array { $actions = []; $header = PowerGrid::header() ->withoutLoading() ->showToggleColumns(); $header->includeViewOnTop('livewire.forms.headers.room-status-log'); $actions[]=$header; $actions[]=PowerGrid::footer()->showPerPage()->showRecordCount(); return $actions; } public function datasource(): Builder { return RoomStatusLog::with(['room', 'branch'])->latest(); } public function relationSearch(): array { return [ 'branch' => ['name'], 'room' => ['name'], 'user' => ['name'], ]; } public function fields(): PowerGridFields { return PowerGrid::fields() ->add('id') ->add('branch_name', function (RoomStatusLog $model) { return $model->branch?->name; }) ->add('room_name', function (RoomStatusLog $model) { return $model->room?->type->labelPowergridFilter().$model->room?->name; }) ->add('user_name', function (RoomStatusLog $model){ return $model->user?->name; }) ->add('is_online') ->add('status_str',function (RoomStatusLog $model){ return $model->status->labelPowergridFilter(); }) ->add('started_at') ->add('ended_at') ->add('message') ->add('source') ->add('created_at'); } public function columns(): array { $column=[]; $column[]=Column::make(__('room-status-log.id'), 'id'); $column[]=Column::make(__('room-status-log.branch'), 'branch_name'); $column[]=Column::make(__('room-status-log.room'), 'room_name'); $column[]=Column::make(__('room-status-log.user'), 'user_name'); $column[]=Column::make(__('room-status-log.is_online'), 'is_online'); $column[]=Column::make(__('room-status-log.status'), 'status_str'); $column[]=Column::make(__('room-status-log.started_at'), 'started_at'); $column[]=Column::make(__('room-status-log.ended_at'), 'ended_at'); $column[]=Column::make(__('room-status-log.message'), 'message'); $column[]=Column::make(__('room-status-log.source'), 'source'); $column[]=Column::make(__('room-status-log.created_at'), 'created_at'); return $column; } public function filters(): array { return [ ]; } }