<?php

namespace App\View\Components\Charts;

use App\Http\Controllers\Cartograhie\CartographieController;
use App\Http\Controllers\Cartograhie\ChartsData\ChartsDataController;
use App\Http\Controllers\Cartograhie\DataChecker\DataCheckerController;
use Illuminate\View\Component;

class SuppliersOffMarketByDomainTab extends Component
{
    public $suppliersOffMarketByDomain;
    public $sortField;
    public $sortOrder;
    public $verif;
    public $name;

    public function __construct(ChartsDataController $controller, DataCheckerController $dataCheckerService, CartographieController $cartographieController)
    {
        $this->suppliersOffMarketByDomain = $controller->retrieveSuppliersOffMarketByDomain();
        $this->sortField = request()->input('sort_by', 'tiers_nom');
        $this->sortOrder = request()->input('sort_order', 'asc');
        $this->verif = $dataCheckerService->checkIfOneDataIsNull($this->suppliersOffMarketByDomain['allData']);
        $this->name = $cartographieController->getAllNameOfCharts()['suppliersOffMarketByDomainName'];
    }

    public function render()
    {
        $filters = request()->except('sort_by', 'sort_order', 'page');
        return view('components.charts.suppliersOffMarketByDomainTab', [
            'suppliersOffMarketByDomain' => $this->suppliersOffMarketByDomain,
            'sortField' => $this->sortField,
            'sortOrder' => $this->sortOrder,
            'filters' => $filters,
            'verif' => $this->verif,
            'name' => $this->name
        ]);
    }
}
