<?php

namespace App\Admin\Actions\User;


use App\Admin\Forms\User\AssignUserHandle;
use App\Admin\Forms\User\TransferUserHandle;
use App\Models\Order as OrderModel;
use App\Models\User;
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 UserTransferAction extends BatchAction
{
    protected $action;
    protected $htmlClasses = ['btn btn-primary btn-sm btn-mini'];

    // 注意action的构造方法参数一定要给默认值
    public function __construct()
    {
        $this->title = trans('user.labels.transfer');
        $this->action = 1;
    }

    public function render()
    {
        $form = TransferUserHandle::make();
        $buttonName = trans('user.labels.transfer');
        return Modal::make()->lg()->title($this->title)->body($form->payload([]))->onLoad($this->getModalScript())->button('<button class="btn 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()
    {
        // 弹窗显示后往隐藏的id表单中写入批量选中的行ID
        $warning = trans('global.labels.operate_must_select_data');
        return <<<JS
          var key = {$this->getSelectedKeysScript()}
          if (!key.length){
              Dcat.swal.error('$warning');
              Dcat.reload();
          }
          $('#id').val(key);
JS;
    }
    public function html()
    {
        return parent::html(); // TODO: Change the autogenerated stub
    }

    // 处理请求
    public function handle(Request $request)
    {
        $message = admin_trans("succeeded");
        return $this->response()->success($message)->refresh();
    }

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