Grido\Components\Filters\Text::handleSuggest PHP Метод

handleSuggest() публичный Метод

public handleSuggest ( string $query )
$query string - value from input
    public function handleSuggest($query)
    {
        !empty($this->grid->onRegistered) && $this->grid->onRegistered($this->grid);
        $name = $this->getName();
        if (!$this->getPresenter()->isAjax() || !$this->suggestion || $query == '') {
            $this->getPresenter()->terminate();
        }
        $actualFilter = $this->grid->getActualFilter();
        if (isset($actualFilter[$name])) {
            unset($actualFilter[$name]);
        }
        $conditions = $this->grid->__getConditions($actualFilter);
        if ($this->suggestionCallback === NULL) {
            $conditions[] = $this->__getCondition($query);
            $column = $this->suggestionColumn ? $this->suggestionColumn : current($this->getColumn());
            $items = $this->grid->model->suggest($column, $conditions, $this->suggestionLimit);
        } else {
            $items = call_user_func_array($this->suggestionCallback, [$query, $actualFilter, $conditions, $this]);
            if (!is_array($items)) {
                throw new Exception('Items must be an array.');
            }
        }
        $this->getPresenter()->sendResponse(new \Nette\Application\Responses\JsonResponse($items));
    }