<?php
namespace App\Distributor\Actions;

use Dcat\Admin\Grid\BatchAction;
use Illuminate\Http\Request;
use App\Distributor\Forms\ImportProduct;
use Dcat\Admin\Widgets\Modal;


//批量复制导入,最终在form importProduct
class BatchCopy extends BatchAction
{
    protected $title = '产品导入';


    /**
     * 重写弹出的表单
     * @return Modal|string
     */
    public function render()
    {
        // 实例化表单类
        $form = ImportProduct::make();

        return Modal::make()
            ->lg()
            ->title($this->title)
            ->body($form)
            // 因为此处使用了表单异步加载功能,所以一定要用 onLoad 方法
            // 如果是非异步方式加载表单,则需要改成 onShow 方法
            ->onShow($this->getModalScript())
            ->button($this->title);
    }

    /**
     * 填充选择的产品ID
     * @return string
     */
    protected function getModalScript()
    {
        // 弹窗显示后往隐藏的id表单中写入批量选中的行ID
        return <<<JS
        // 获取选中的ID数组
        var key = {$this->getSelectedKeysScript()}
        $('#product_ids').val(key);
        JS;
    }

}