Current File : /home/n742ef5/royalanteam.com/wp-content/plugins/myhome-core/framework/app/Search/SearchField.php |
<?php
namespace Tangibledesign\Framework\Search;
use JsonSerializable;
use Tangibledesign\Framework\Core\Collection;
use Tangibledesign\Framework\Models\Term\CustomTerm;
abstract class SearchField implements JsonSerializable
{
/**
* @var array
*/
protected $config;
abstract public function getName(): string;
abstract public function getKey(): string;
abstract public function getType(): string;
/**
* @return string[]
*/
public function jsonSerialize(): array
{
return [
'key' => $this->getKey(),
];
}
public function displayAtStart(Collection $selectedDependencyTerms): bool
{
return true;
}
public function getIcon(): array
{
return $this->config['icon'] ?? [];
}
public function hasIcon(): bool
{
if (!isset($this->config['icon'])) {
return false;
}
if (empty($this->config['icon']['library'])) {
return false;
}
return true;
}
}