<?php

/**
 * Laravel-admin - admin builder based on Laravel.
 * @author z-song <https://github.com/z-song>
 *
 * Bootstraper for Admin.
 *
 * Here you can remove builtin form field:
 * Encore\Admin\Form::forget(['map', 'editor']);
 *
 * Or extend custom form field:
 * Encore\Admin\Form::extend('php', PHPEditor::class);
 *
 * Or require js and css assets:
 * Admin::css('/packages/prettydocs/css/styles.css');
 * Admin::js('/packages/prettydocs/js/main.js');
 *
 */

use App\Admin\Extensions\Displayers\AjaxExpand;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Show;

Form::forget('map');
Form::forget('editor');
Form::extend('syncFile', \App\Admin\Extensions\Field\SyncFile::class);
Grid\Column::extend('ajaxExpand', AjaxExpand::class);
//表格初始化
Grid::init(function (Grid $grid) {

    //$grid->disableActions();

    //$grid->disablePagination();

    $grid->disableCreateButton();

    //$grid->disableFilter();

    //$grid->disableRowSelector();

    //$grid->disableTools();

    $grid->disableExport();

    $grid->tools(function (Grid\Tools $tools) {
        $tools->batch(function (Grid\Tools\BatchActions $batch) {
            $batch->disableDeleteAndHodeSelectAll();
        });
    });


    $grid->actions(function (Grid\Displayers\Actions $actions) {
        $actions->disableView();
        $actions->disableEdit();
        $actions->disableDelete();
    });

    $grid->filter(function (Grid\Filter $filter) {
        // 去掉默认的id过滤器
        $filter->disableIdFilter();
        //筛选是展开的
        $filter->expand();
    });
});

//表单初始化
Form::init(function (Form $form) {

    $form->disableEditingCheck();

    $form->disableCreatingCheck();

    $form->disableViewCheck();

    $form->disableReset();

    $form->tools(function (Form\Tools $tools) {
        $tools->disableDelete();
        $tools->disableView();
        //$tools->disableList();
    });
});

Show::init(function (Show $show) {
    $show->panel()->tools(function (Show\Tools $tools) {
            $tools->disableEdit();
            $tools->disableDelete();
    });
});