<?php

use App\Admin\Extensions\Show\Textarea;
use Dcat\Admin\Admin;
use Dcat\Admin\Grid;
use Dcat\Admin\Form;
use Dcat\Admin\Grid\Filter;
use Dcat\Admin\Layout\Menu;
use Dcat\Admin\Layout\Navbar;
use Dcat\Admin\Show;
use Dcat\Admin\Show\Field;

/**
 * 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');
 *
 */

// 覆盖默认配置
config(['admin' => user_admin_config()]);
config(['app.locale' =>  config('admin.lang') ?: config('app.locale')]);

setcookie('app_lang', config('admin.lang') ?: config('app.locale'));

$primaryColor = Admin::color()->primary();
$primaryColor = '#009688';

Admin::style(
    <<<CSS
body {
    font-size: 12px;!important;
}

/*.content-body {*/
/*  margin-top: -15px;*/
/*}*/

.filter-box {
    padding: 0;
    padding-top: 1.8rem;
}

.table-main {
 max-height: 720px!important;
}

[class*=sidebar-dark-] {
    background-image: linear-gradient(0deg, #191A23, #191A23);
}

.nav-link {
    color: #B7B7B3;
    font-weight: 200;
    font-size:14px!important;
}

.nav-item {
    margin-top:3px;
    margin-bottom:3px;
}

a.nav-link.active {
    background-color: $primaryColor!important;
}

body:not(.dark-mode).custom-data-table tbody tr {
    height:30px !important;
}

body:not(.dark-mode) .custom-data-table tbody td {
    height:30px;
}

body.dark-mode .custom-data-table tbody td {
    height:30px;
}

.form-group .box-body {
 height: 30px;
 padding-top: 7px;!important;
 padding-bottom: 10px;!important;
}

.col-sm-2 .control-label span{
font-size: 12px;!important;
}

thead tr th{
background: #f2f2f2;
}

.modal-xl {
   min-width: 1600px;
}

.modal-body {
 padding-left: 20px;
 padding-right: 20px;
}

.form-group {
    margin-bottom:5px;
}

.content-header {
    display:none;
}

.datetime-range-fix {

}

/* .input-group {
    max-height:30px;
} */

.table-main{
  table-layout: fixed;
  width: 100%;
}

.table-main table.custom-data-table td,
.table-main table.custom-data-table th{
  z-index: 0;
}

.content-wrapper{
  background: white;
}

body:not(.dark-mode) .app-content {
  background: white;
}

body:not(.dark-mode) .table-main table.custom-data-table thead,
body:not(.dark-mode) .table-fixed table.custom-data-table thead tr th{
    position: sticky;
    top: 0;
    background-color: #ececf1;
}
body:not(.dark-mode) .table-fixed table.custom-data-table thead tr th {
  z-index: 99;
}

.table .default-table td{
  height: 30px;!important;
}


CSS
);


Dcat\Admin\Color::extend('layui-green', [
    'primary' => '#009688',
    'primary-darker' => '#009688',
    'link' => '#009688',
]);


// 追加菜单
Admin::menu()->add(include __DIR__ . '/menu.php', 0);

Admin::navbar(function (Navbar $navbar) {
    $method = config('admin.layout.horizontal_menu') ? 'left' : 'right';

    $navbar->$method(
        <<<HTML
<ul class="nav navbar-nav">
</ul>
HTML
    );
    // ajax请求不执行
    if (!Dcat\Admin\Support\Helper::isAjaxRequest()) {
        $navbar->$method(App\Admin\Actions\AdminSetting::make()->render());
    }
//    $navbar->right('');
});

admin_inject_section(Admin::SECTION['NAVBAR_USER_PANEL'], function () {
    return view('admin.navbar-user-panel', ['user' => request()->user]);
});


Admin::menu(function (Menu $menu) {
    //权限系统的菜单
    $permMenus = request()->menus;
    $permMenus = (array)$permMenus;
    $addMenus = [];
    foreach ($permMenus as $key => &$permMenu) {
        $permMenu = (array)$permMenu;
        //为了区分本系统手动添加的菜单
        $key = $key + 1000;
        $permMenu['id'] = $key + 1;
        $permMenu['icon'] = $permMenu['class'];
        $permMenu['uri'] = $permMenu['href'];
        $permMenu['parent_id'] = 0;
        $addMenus[] = $permMenu;
        if (!empty($permMenu['childs'])) {
            foreach ($permMenu['childs'] as $k => &$child) {
                $child = (array)$child;
                //为了让字菜单的id不和父菜单的id冲突
                $child['id'] = $k + ($key + 1) * 100;
                $child['parent_id'] = $key + 1;
                $child['icon'] = $child['class'];
                $child['uri'] = $child['href'];
                $addMenus[] = $child;
            }
        }
    }
    unset($permMenu, $child);
    $menu->add($addMenus);
});

Grid::resolving(function (Grid $grid) {
    $grid->tableCollapse(true);
    $grid->withBorder();
//    $grid->disableViewButton();
    $grid->disableEditButton();
    $grid->toolsWithOutline(false);
    $grid->paginate(10);
    $grid->setDialogFormDimensions('80%', '90%');
    $grid->showQuickEditButton();
    $grid->fixColumns(1);
    $grid->addTableClass(['table-text-center']);
    $grid->filter(function (Grid\Filter $filter) {
        $filter->panel();
    });
});

//拓展组件
Field::extend('textarea', Textarea::class);