<?php
namespace App\Admin\Controllers;
use App\Model\Page;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Facades\Admin;
use Encore\Admin\Layout\Content;
use App\Http\Controllers\Controller;
use Encore\Admin\Controllers\ModelForm;
class PageController extends Controller
{
use ModelForm;
public function index()
{
return Admin::content(function (Content $content) {
$content->header('header');
$content->description('description');
$content->body($this->grid());
});
}
public function edit($id)
{
return Admin::content(function (Content $content) use ($id) {
$content->header('header');
$content->description('description');
$content->body($this->form()->edit($id));
});
}
public function create()
{
return Admin::content(function (Content $content) {
$content->header('header');
$content->description('description');
$content->body($this->form());
});
}
protected function grid()
{
return Admin::grid(Page::class, function (Grid $grid) {
$grid->id('ID')->sortable();
$grid->name('名称');
$grid->created_at();
$grid->updated_at();
$grid->actions(function ($actions) {
if ($actions->getKey() == 1) {
$actions->disableDelete();
}
});
});
}
protected function form()
{
return Admin::form(Page::class, function (Form $form) {
$form->display('id', 'ID');
$form->display('created_at', 'Created At');
$form->display('updated_at', 'Updated At');
$form->text('name', '页面名称');
$form->editor('content', '内容');
});
}
}