<?php

namespace App\Admin\Actions\User;


use App\Admin\Forms\User\AssignUserHandle;
use App\Admin\Forms\User\EditUserHandle;
use App\Models\Order as OrderModel;
use App\Models\User;
use Dcat\Admin\Grid;
use Dcat\Admin\Grid\BatchAction;
use Dcat\Admin\Grid\Tools\AbstractTool;
use Dcat\Admin\Widgets\Modal;
use Illuminate\Http\Request;
use Dcat\Admin\Grid\RowAction;


class UserEditAction extends AbstractTool
{
    protected $action;
    protected $htmlClasses = ['btn btn-sm btn-primary'];
    // 注意action的构造方法参数一定要给默认值
    public function __construct($title = null, $action = 1)
    {
        $this->title = $title;
        $this->action = $action;
    }

    public function render()
    {
        $form = EditUserHandle::make(['key'=>$this->getKey()]);
        $buttonName = trans('user.labels.handle');
        return Modal::make()->lg()->title($this->title)->body($form->payload(['key'=>$this->getKey()]))->onLoad
        ($this->getModalScript())->button('<button style="margin-right: 5px" class="btn btn-sm btn-primary">
        <i class="feather icon-check-circle"></i>  <span class="d-none d-sm-inline" style="margin-left: 5px">' .
            $buttonName . '</span>
    </button>');
    }


    protected function getModalScript()
    {
        return <<<JS
          var key = {$this->getKey()}
          $('#id').val(key);
JS;
    }
    public function html()
    {
        return parent::html(); // TODO: Change the autogenerated stub
    }

    // 设置请求参数
    public function parameters()
    {
        return [
            'action' => $this->action,
        ];
    }
}