<?php

namespace App\View\Components\Table\Filters;

use App\View\Components\DataTable;
use App\View\Components\Table\Filter;

class TextFilter extends Filter
{
    public function validate($value)
    {
        if ($this->hasConfig('maxlength')) {
            return strlen($value) <= $this->getConfig('maxlength') ? $value : false;
        }

        return strlen($value) ? $value : false;
    }

    public function isEmpty($value): bool
    {
        return $value === '';
    }

    public function render(DataTable $component)
    {
        return view('components.tools.filters.text-field', [
            'component' => $component,
            'filter' => $this,
        ]);
    }
}
