FontController.php
2.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?php
namespace App\Admin\Controllers;
use App\Models\Font;
use Dcat\Admin\Form;
use Dcat\Admin\Grid;
use Dcat\Admin\Show;
use Dcat\Admin\Http\Controllers\AdminController;
use Illuminate\Support\Facades\Storage;
class FontController extends AdminController
{
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
return Grid::make(new Font(), function (Grid $grid) {
$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->equal('id');
});
});
}
/**
* Make a show builder.
*
* @param mixed $id
*
* @return Show
*/
protected function detail($id)
{
return Show::make($id, new Font(), function (Show $show) {
$show->field('id');
$show->field('id');
$show->field('name');
$show->field('file');
$show->field('created_at');
$show->field('updated_at');
});
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
return Form::make(new Font(), function (Form $form) {
$form->display('id');
$form->text('name','名称标识');
$form->file('file','上传字体')
->accept('ttf,woff,woff2,otf,eot')
->autoUpload()
->uniqueName()
->maxSize('128000');
$form->display('created_at');
$form->display('updated_at');
});
}
}