. */ namespace SP\Html\Assets; defined('APP_ROOT') || die(); /** * Class DataGridIconBase para crear los iconos de la matriz * * @package SP\Html\DataGrid */ abstract class IconBase implements IconInterface { /** * El nombre del icono o imagen a utilizar */ protected string $icon; /** * Título del icono */ protected ?string $title = null; /** * Clases CSS del icono */ protected ?array $class = null; public function __construct( string $icon, ?string $class = null, ?string $title = null ) { $this->setIcon($icon); $this->setClass($class); $this->setTitle($title); } public function getTitle(): ?string { if ($this->title) { return __($this->title); } return null; } public function setTitle(?string $title): IconBase { $this->title = $title; return $this; } public function getClass(): ?string { if ($this->class) { return implode(' ', $this->class); } return null; } public function setClass(?string $class): IconBase { if ($class) { $this->class[] = $class; } return $this; } public function getIcon(): string { return $this->icon; } public function setIcon(string $icon): IconBase { $this->icon = $icon; return $this; } }