6
0
Fork 0
jiqu-library-server/app/Admin/bootstrap.php

98 lines
2.5 KiB
PHP

<?php
use App\Admin\Extensions\Column\CircleDot;
use App\Admin\Extensions\Column\Modal;
use App\Admin\Extensions\Form\Product\SelectAttr;
use App\Admin\Extensions\Form\Product\SelectSpec;
use App\Admin\Extensions\Show\Label;
use Dcat\Admin\Admin;
use Dcat\Admin\Form;
use Dcat\Admin\Form\Field\Editor;
use Dcat\Admin\Grid;
use Dcat\Admin\Grid\Column;
use Dcat\Admin\Show\Field as ShowField;
use Illuminate\Support\Arr;
/**
* Dcat-admin - admin builder based on Laravel.
* @author jqh <https://github.com/jqhph>
*
* Bootstraper for Admin.
*
* Here you can remove builtin form field:
*
* extend custom field:
* Dcat\Admin\Form::extend('php', PHPEditor::class);
* Dcat\Admin\Grid\Column::extend('php', PHPEditor::class);
* Dcat\Admin\Grid\Filter::extend('php', PHPEditor::class);
*
* Or require js and css assets:
* Admin::css('/packages/prettydocs/css/styles.css');
* Admin::js('/packages/prettydocs/js/main.js');
*
*/
Admin::css('/dist/admin/css/app.css');
Column::extend('modal', Modal::class);
Column::extend('circleDot', CircleDot::class);
Grid::resolving(function (Grid $grid) {
$grid->disableRowSelector();
$grid->disableCreateButton();
$grid->disableViewButton();
$grid->disableEditButton();
$grid->disableDeleteButton();
$grid->filter(function (Grid\Filter $filter) {
$filter->expand();
});
});
Form::resolving(function (Form $form) {
$form->disableViewButton();
$form->disableViewCheck();
});
Form::extend('selectAttr', SelectAttr::class);
Form::extend('selectSpec', SelectSpec::class);
Editor::resolving(function (Editor $editor) {
// 设置默认配置
$editor->options([
'branding'=> false,
]);
});
ShowField::extend('showLabel', Label::class);
ShowField::macro('circleDot', function ($options = [], $default = 'default') {
return $this->unescape()->prepend(function ($_, $original) use ($options, $default) {
if (is_null($original)) {
return;
}
$style = Arr::get(
$options,
$original instanceof UnitEnum
? $original->value
: $original,
$default
);
$style = $style === 'default' ? 'dark70' : $style;
$background = Admin::color()->get($style, $style);
return "<i class='fa fa-circle' style='font-size: 13px;color: {$background}'></i>&nbsp;&nbsp;";
});
});
Admin::style(
<<<'CSS'
.main-footer {
display: none;
}
.layui-layer-nobg{
max-width: 800px;
max-height: 1100px;
}
CSS);