<?php
namespace App\Admin\Controllers;

use App\Http\Controllers\Controller;
use App\Model\Video;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Facades\Admin;
use Encore\Admin\Layout\Content;
use Encore\Admin\Controllers\ModelForm;
use function Clue\StreamFilter\fun;

class VideoController extends Controller
{
    use ModelForm;
    public function index()
    {
        return Admin::content(function (Content $content) {
            $content->header('视频');
            $content->description('列表');
            $content->body($this->grid());
        });
    }

    public function create()
    {
        return Admin::content(function (Content $content) {
            $content->header('视频');
            $content->description('新增');
            $content->body($this->form());
        });
    }

    public function edit($id)
    {
        return Admin::content(function (Content $content) use ($id) {
            $content->header('视频');
            $content->description('列表');
            $content->body($this->form($id)->edit($id));
        });
    }

    protected function form($id = '')
    {
        return Admin::form(Video::class, function (Form $form) {
            $form->display('id'       , '编号');
            $form->text('title'       , '标题')->required();
//            $form->file('cover_img'   , '封面图')->uniqueName();
//            $form->text('page_view'   , '页面浏览数');
            $form->file('video_url'   , '视频')->uniqueName();
            $form->select('status'    , '视频状态')->options([1 => '正常' , 2 => '隐藏']);
        });
    }

    // Grid
    protected function grid()
    {
        return Admin::grid(Video::class, function (Grid $grid) {
            $grid->id('编号')->sortable();
            $grid->model()->orderBy('id','desc');
            $grid->title('标题');
            $grid->video_url('视频')->display(function ($video_url) {
                $url = env('APP_URL').'/uploads/'.$video_url;
                return '<video width="200" height="150" controls><source src="' . $url . '"></video>';
            })->link();
            $grid->page_view('浏览数');
            $grid->created_at('创建时间');
            $grid->updated_at('更新时间');
            $grid->status('状态')->display(function ($status){
                if(1 == $status) {
                    return "<span class='btn btn-success'>正常</span>";
                } else {
                    return "<span class='btn btn-danger'>隐藏</span>";
                }
            });
            // 禁用导出数据按钮
            $grid->actions(function ($actions) {
                $actions->disableView();
                //$actions->disableEdit();
            });
        });
    }
}