<?php

namespace App\Admin\Renderable;

use App\Admin\Actions\UserAddress\UserAddressDeleteAction;
use App\Admin\Actions\User\UserAssignAction;
use App\Admin\Actions\User\UserStatusAction;
use App\Admin\Actions\User\UserTransferAction;
use App\Admin\Actions\UserAddress\UserAddressCreateAction;
use App\Admin\Actions\UserAddress\UserAddressEditAction;
use App\Admin\Repositories\Inquiry;
use App\Admin\Repositories\User;
use App\Admin\Service\UserAddressService;
use App\Admin\Service\UserService;
use App\Models\InquiryItems;
use Dcat\Admin\Grid;
use Dcat\Admin\Grid\LazyRenderable;
use Dcat\Admin\Models\Administrator;
use Dcat\Admin\Show;
use Dcat\Admin\Widgets\Table;

class UserAddress extends \Dcat\Admin\Support\LazyRenderable
{
    public function render()
    {
        return Grid::make(new \App\Admin\Repositories\UserAddress(), function (Grid $grid) {
            $grid->model()->where('user_id', $this->key);
            $grid->title("address");
            $grid->disableFilterButton();
            $grid->disableRefreshButton();
            $grid->disableCreateButton();
            $grid->disableBatchDelete();
            $grid->disableEditButton();
            UserAddressService::listField($grid);

            $userAddressCreateAction = new UserAddressCreateAction();
            $userAddressCreateAction->setKey($this->key);
            $grid->tools([
                $userAddressCreateAction,
            ]);
            $grid->actions(function (Grid\Displayers\Actions $actions) {
                $actions->disableDelete();
                $actions->disableEdit();
                $actions->disableQuickEdit();
                $actions->disableView();
                // 当前行的数据数组
//            $rowArray = $actions->row->toArray();

                $editAction = new UserAddressEditAction();
                $editAction->setKey($actions->row);
                $editAction->setRow($actions->row);
                $actions->append($editAction);
                // 获取当前行主键值
                $deleteAction = new UserAddressDeleteAction();
                $deleteAction->setRow($actions->row);
                $deleteAction->setKey($actions->getKey());
                $actions->append($deleteAction);


            });
        });
    }
}