<?php

namespace App\Admin\Controllers\Content;

use App\Http\Controllers\Controller;
use App\Models\RecuperateCategory;
use Encore\Admin\Controllers\HasResourceActions;
use Encore\Admin\Grid;
use Encore\Admin\Layout\Content;
use Encore\Admin\Facades\Admin;
use Encore\Admin\Form;
class RecuperateCategoryController extends Controller
{
    use HasResourceActions;

    /**
     * Index interface.
     *
     * @param Content $content
     * @return Content
     */
    public function index(Content $content)
    {
        return $content
            ->header('活动分类')
            ->description('活动列表')
            ->body($this->grid());
    }

    public function show($id, Content $content)
    {
        return $content
            ->header('活动分类')
            ->description('活动详情')
            ->body($this->detail($id));
    }

    public function edit($id, Content $content)
    {
        return $content
            ->header('活动分类')
            ->description('分类修改')
            ->body($this->form()->edit($id));
    }

    public function create(Content $content)
    {
        return $content
            ->header('活动分类')
            ->description('新增分类')
            ->body($this->form());
    }

    /**
     * Make a grid builder.
     *
     * @return Grid
     */
    protected function grid()
    {
        $grid = new Grid(new RecuperateCategory());
        $grid->name('分类名称');
        $grid->created_at('操作时间');

        //新增按钮
        if (Admin::user()->can('content_recuperate_list_category_create')) {
            $grid->disableCreateButton(false);
        }

        $grid->actions(function ($actions) {
            if (Admin::user()->can('content_recuperate_list_category_delete')) {
                $actions->disableEdit(false);
            }
            if (Admin::user()->can('content_recuperate_list_category_edit')) {
                $actions->disableDelete(false);
            }
        });

        $grid->filter(function ($filter) {
            $filter->group('搜索', function ($group) {
                $group->where('分类名称', function ($query) {
                    $query->where('name', 'like','%'.request()->搜索.'%');
                });


            })->placeholder('请输入关键字');



        });
        return $grid;
    }
    protected function form()
    {
        $form = new Form(new RecuperateCategory());
        $form->text('name', '分类名称')->rules('required', ['required'=>'请填写分类名称'])->setMustMark();
        return $form;
    }

}