diff --git a/src/Traits/TButtonIcon.php b/src/Traits/TButtonIcon.php index bdcc9b881..24712b399 100644 --- a/src/Traits/TButtonIcon.php +++ b/src/Traits/TButtonIcon.php @@ -8,6 +8,8 @@ namespace Ublaboo\DataGrid\Traits; +use Ublaboo\DataGrid\Utils\IconData; + trait TButtonIcon { @@ -20,10 +22,11 @@ trait TButtonIcon /** * Set icon * @param string $icon + * @param string $content */ - public function setIcon($icon) + public function setIcon($icon, $content = '') { - $this->icon = $icon; + $this->icon = new IconData($icon, $content); return $this; } diff --git a/src/Traits/TButtonTryAddIcon.php b/src/Traits/TButtonTryAddIcon.php index 4db1bfedc..8aad062ff 100644 --- a/src/Traits/TButtonTryAddIcon.php +++ b/src/Traits/TButtonTryAddIcon.php @@ -10,21 +10,26 @@ use Nette\Utils\Html; use Ublaboo\DataGrid\DataGrid; +use Ublaboo\DataGrid\Utils\IconData; trait TButtonTryAddIcon { /** * Should the element has an icon? - * @param Html $el - * @param string|null $icon - * @param string $name + * @param Html $el + * @param string|IconData|null $icon + * @param string $name * @return void */ public function tryAddIcon(Html $el, $icon, $name) { if ($icon) { - $el->addHtml(Html::el('span')->class(DataGrid::$icon_prefix . $icon)); + if (is_object($icon)) { + $el->addHtml(Html::el('span')->class(DataGrid::$icon_prefix . $icon->iconClass)->setText($icon->content)); + } else { + $el->addHtml(Html::el('span')->class(DataGrid::$icon_prefix . $icon)); + } if (strlen($name)) { $el->addHtml(' '); diff --git a/src/Utils/IconData.php b/src/Utils/IconData.php new file mode 100644 index 000000000..dba12455a --- /dev/null +++ b/src/Utils/IconData.php @@ -0,0 +1,27 @@ +content = $content; + $this->iconClass = $iconClass; + } +}