FontTable.php 2.12 KB
<?php
/**
 * Created by PhpStorm.
 * User: lishuai
 * Date: 2022/1/10
 * Time: 5:57 PM
 */

namespace App\Admin\Renderable;

use App\Admin\Repositories\OnePoem;
use App\Models\Font;
use Dcat\Admin\Grid;
use Dcat\Admin\Grid\LazyRenderable;
use Illuminate\Support\Facades\Storage;

class FontTable extends LazyRenderable
{

    public function grid(): Grid
    {
        return Grid::make(new Font(), function (Grid $grid) {
            $grid->paginate(10);
            $grid->disableActions();
            $grid->quickSearch(['name']);
            $grid->column('id')->sortable();
            $grid->column('name');
            $grid->column('file','字体')->display(function ($item){
                $url = Storage::disk('public')->url($item);
                return "<style>
@font-face {
  font-family: 'ParlandoFont{$this->id}';
  src: url('{$url}') format('truetype');
  font-weight: normal;
  font-style: normal;
}
.mfont-{$this->id}{
    font-family: 'ParlandoFont{$this->id}';
    color: red;
   
}
</style><span class='mfont-{$this->id} fa-2x'>字体示例:这里是临境有感</span>";

            });
            $grid->column('created_at');
            $grid->column('updated_at')->sortable();

            $grid->filter(function (Grid\Filter $filter) {
                $filter->like('name','名称');
            });
        });
    }

//    public function grid(): Grid
//    {
//        return Grid::make(new OnePoem(), function (Grid $grid) {
//            $grid->column('id', 'ID')->sortable();
//            $grid->column('title');
//            $grid->column('author');
//            $grid->column('content');
//            $grid->column('annotate');
////            $grid->column('spelling');
////            $grid->column('en');
//
//            $grid->quickSearch(['title', 'author', 'content', 'annotate']);
//
//            $grid->paginate(10);
//            $grid->disableActions();
//
//            $grid->filter(function (Grid\Filter $filter) {
//                $filter->like('title')->width(3);
//                $filter->like('author')->width(3);
//                $filter->like('content')->width(3);
//            });
//        });


}