<?php

namespace App\Admin\Actions;

use Dcat\Admin\Actions\Action;
use Dcat\Admin\Actions\Response;
use Illuminate\Http\Request;

class CovenantReceivePaymentExcel extends Action
{
    protected $request_param = [];
    protected $request_filename = '';
    protected $title = '';

    public function __construct($param = [], $filename = '', $title = '')
    {
        $this->request_param = $param;
        $this->request_filename = $filename;
        parent::__construct($title);
        $this->title = $title;
    }

    public function title()
    {
        return '<button class="btn btn-primary"><i class="feather icon-download"></i> ' . $this->title . '</button>';
    }

    public function handle(Request $request)
    {
        $param = $request->get('param');
        $filename = $request->get('filename');
        return $this->response()->download('/covenant-receive-payment?filename=' . $filename . '&param=' . json_encode($param) . '&_export_=1');
    }

    public function parameters()
    {
        return [
            'mode' => '',
            'param' => $this->request_param,
            'filename' => $this->request_filename,
            'title' => $this->title,
        ];
    }
}