<?php

namespace App\Http\Livewire;

use App\Models\Forum;
use App\Http\Livewire\Datatable;
use App\View\Datatable\Column;
use App\View\Datatable\BooleanColumn;

class ForumTable extends DataTable
{
    public $model = Forum::class;

   /* public function builder()
    {
        return Forum::query()
            //->leftJoin('participations', 'forums.id', 'participations.forum_id')
        ;
    }*/

    public function columns()
    {
        return [
            Column::name('annee')
                ->label('Année')
                ->searchable(),

            Column::name('thematique')
                ->label('Thematique')
                ->unsortable()
                ->searchable(),

            Column::name('enabled')
                ->label('Activé')
                ->callback(['id', 'annee', 'enabled'], function ($id, $annee, $enabled) {
                    return view('admin.forums.modal.button1', ['id' => $id, 'annee' => $annee, 'enabled' => $enabled]);
                })->unsortable(),

            Column::name('pending')
                ->label('Encours')
                ->callback(['id', 'annee', 'pending'], function ($id, $annee, $pending) {
                    return view('admin.forums.modal.button2', ['id' => $id, 'annee' => $annee, 'pending' => $pending]);
                })->unsortable(),

            //NumberColumn::name('participations.id')
            //    ->label('Communes'),

            Column::name('id')
                ->callback(['id'], function ($id) {
                    return view('components.table-actions', ['id' => $id, 'permissions' => ['forums.show', 'forums.edit']]);
                })->unsortable()
        ];
    }
}